将面生成经纬度数组并读取显示(Arcgis版)
来源:互联网 发布:淘宝互联是假的 编辑:程序博客网 时间:2024/06/04 19:35
下面是源代码
<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:supportClasses="com.esri.ags.skins.supportClasses.*" width="100%" height="100%" xmlns:esri="http://www.esri.com/2008/ags"><s:layout><supportClasses:AttachmentLayout/></s:layout><fx:Declarations><!-- 将非可视元素(例如服务、值对象)放在此处 --><esri:SimpleFillSymbol id="sym" alpha="0.7" color="0x009933"/></fx:Declarations><fx:Script><![CDATA[import com.esri.ags.FeatureSet;import com.esri.ags.Graphic;import com.esri.ags.SpatialReference;import com.esri.ags.geometry.MapPoint;import com.esri.ags.geometry.Polygon;import com.esri.ags.geometry.Polyline;import com.esri.ags.layers.GraphicsLayer;import com.esri.ags.symbols.PictureMarkerSymbol;import com.esri.ags.symbols.Symbol;import com.esri.ags.tasks.QueryTask;import com.esri.ags.tasks.supportClasses.Query;import mx.collections.ArrayCollection;import mx.controls.Alert;import mx.rpc.AsyncResponder;[Bindable]private var AC:ArrayCollection=new ArrayCollection();private function getxy():void{var query:Query=new Query(); //定义新的查询query.where="PNAME IS NOT NULL"; //这里是查询条件var queryTask:QueryTask=new QueryTask("http://192.168.1.200:6080/arcgis/rest/services/CLfb/MapServer/2"); //定义查询实时信息的任务query.returnGeometry=true;query.spatialRelationship="esriSpatialRelIntersects";query.outSpatialReference=new SpatialReference(102113); //这里定义投影系统query.outFields=['PNAME']; //查询字体queryTask.useAMF=false;queryTask.execute(query, new AsyncResponder(OnR, OnF));function OnR(featureSet:FeatureSet, token:Object=null):void{var i:int=0;var txtXY:String="";//----------------写入过程---------------for each (var gra:Graphic in featureSet.features){AC=new ArrayCollection();var po:Polygon=gra.geometry as Polygon;var z:int=0;txtXY="";for (z=0; z < po.rings.length; z++){var pArr:Array=po.rings[z];for (var k:int=0; k < pArr.length; k++){var p:MapPoint=pArr[k] as MapPoint;var o:Object=new Object();o.x=p.x;o.y=p.y;txtXY+=p.x + "," + p.y + ";";}txtXY+="/";}xylabel.text=xylabel.text + txtXY;lb.text=i / featureSet.features.length * 100 + "%";i++;}ok.text="成功"//----------------写入过程---------------}function OnF(info:Object, token:Object=null):void{ok.text="失败";}}private function getSym(i:int):SimpleFillSymbol{var sym:SimpleFillSymbol=new SimpleFillSymbol();sym.alpha=0.7;switch (i){case 0:{sym.color=0x009933;break;}case 1:{sym.color=0x0033DD;break;}case 2:{sym.color=0xddb100;break;}case 3:{sym.color=0xdd4400;break;}case 4:{sym.color=0x00dd1a;break;}case 5:{sym.color=0xdd0068;break;}default:{sym.color=0x009939;break;}}return sym;}protected function button1_clickHandler(event:MouseEvent):void{var arr:Array=xylabel.text.split("/"); //开始解析坐标点var pl:Polygon;var arrP:Array;var centerP:MapPoint;var sp:SpatialReference=new SpatialReference(102113);var arrPALL:Array;for (var n:int=0; n < arr.length; n++){arrPALL=new Array();if (arr[n] != null && arr[n] != ""){arrP=new Array();var arr2:Array=arr[n].toString().split(";");for (var k:int=0; k < arr2.length; k++) //分别读取坐标组{if (arr2[k] != null && arr2[k] != null){var arr3:Array=arr2[k].toString().split(",");if (arr3[0] != null && arr3[0] != "" && arr3[1] != null && arr3[1] != ""){var _Point:MapPoint=new MapPoint(Number(arr3[0]), Number(arr3[1]), sp);centerP=new MapPoint(Number(arr3[0]), Number(arr3[1]), sp);arrP.push(_Point); //存放坐标组}}}arrPALL.push(arrP);}pl=new Polygon(arrPALL, sp);var g:Graphic=new Graphic(pl, getSym(n));gl.add(g);}}]]></fx:Script><s:HGroup width="100%" height="100%"><s:VGroup width="100%" height="100%"><s:Label text="这个页面生成xy数组"/><s:TextArea id="xylabel"width="624"height="422"/><s:Label id="lb"/><mx:Text id="ok"/><s:Button label="生成XY" click="getxy()"/></s:VGroup><s:VGroup width="100%" height="100%"><esri:Map id="map" height="508" width="638"><esri:ArcGISDynamicMapServiceLayer url="http://192.168.1.200:6080/arcgis/rest/services/CLfb/MapServer"/><esri:GraphicsLayer id="gl"/></esri:Map><s:Button label="加载" click="button1_clickHandler(event)"/></s:VGroup></s:HGroup></s:Application>
0 0
- 将面生成经纬度数组并读取显示(Arcgis版)
- Android 读取文件并将内容生成XML文件
- 将数据库中的电话号码读取出来并生成图片
- php将数据库中的电话号码读取出来并生成图片
- 将图片存入sqlserver中并读取显示的方法
- VC++读取文件内容并将其存入二维数组
- C# 读取arcgis导出的栅格txt文档,并将没有值的像元插值
- 利用arcgis实现经纬度和平面坐标互转
- 利用ArcGIS将经纬度数据转化成平面坐标数据
- arcgis导入Excel经纬度坐标并转换xian坐标系
- ArcGIS教程:已知经纬度坐标导入ArcMap生成shp格式文件
- Android定位获取经纬度并显示位置
- 读取并显示图像
- JAVA操作XML(3)--读取XML文档的内容,并将内容显示在浏览器上
- STC89C58串口接收GPS信号(GPRMC)读取经纬度,时间。1604液晶(HD44780)显示
- php数组——将服务端的文件载入数组并显示成web页面
- 将随机产生10个数的集合转成数组,并以数组的形式显示出来
- 将实体生成面域
- wpf如何为自定义控件发布事件
- MFC计算器总结
- taskkill
- Can't connect to MySQL server on 'localhost' (10048)
- ACE相关资料收集
- 将面生成经纬度数组并读取显示(Arcgis版)
- 如何学习linux
- Android GUI的一些个人研究
- json理解
- Struts2 标签 使用心得
- Json概述以及python对json的相关操作
- How to train models of Object Detection with Discriminatively Trained Part Based Models
- cocos2dx2.2.4-多点触屏和单点触屏事件
- MongoDB启动与停止以及Mongodump备份数据文件