日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AE学习笔记之地图符号化

發布時間:2023/12/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AE学习笔记之地图符号化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

???????? 地圖符號化就是對ArcGIS Engine中加載的地圖圖層進行渲染,地圖圖層可以分為點、線、面、三種形式。根據每個圖層的圖層類型可以分別對點、線、面要素,即MarkerSymbol、LineSymbol、和FillSymbol 進行渲染。

??????? 1、點對象

??????? MarkerSymbol對于修飾點對象符號擁有五個子類:SimpleMarkerSymbol、ArrowMarkerSymbol、CharacterMarkerSymbol、PictureMarkerSymbol 和 MultilayerMarkerSymbol。一下以SimpleMarkerSymbol為例實現點對象的修飾:

try{//獲得點圖層IFeatureLayer layer;layer = axMapControl1.get_Layer(0) as IFeatureLayer;for (int i = 0; i < axMapControl1.Map.LayerCount; ++i) //尋找點圖層{layer = axMapControl1.get_Layer(i) as IFeatureLayer;if (layer.FeatureClass.ShapeType == esriGeometryType.esriGeometryPoint)break;}if (layer.FeatureClass.ShapeType != esriGeometryType.esriGeometryPoint)return;//QI到IGeoFeatureLayer接口IGeoFeatureLayer geoFeatureLayer = layer as IGeoFeatureLayer;//新建SimpleRendererClass對象SimpleRenderer simpleRender = new SimpleRendererClass();ISimpleMarkerSymbol pMarkerSymbol;//創建顏色IColor color;color = new RgbColorClass();color.RGB = 225;//創建SimpleMarkerSymbolClasspMarkerSymbol = new SimpleMarkerSymbolClass();pMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSCircle;pMarkerSymbol.Color = color;pMarkerSymbol.Angle = 60;pMarkerSymbol.Size = 6;//將MarkerSymbol 賦予simpleRender的SymbolsimpleRender.Symbol = pMarkerSymbol as ISymbol;geoFeatureLayer.Renderer = simpleRender as IFeatureRenderer;axMapControl1.Refresh();}catch (Exception ex){MessageBox.Show(ex.Message);}

??????? 具體流程為:首先,新建一個要素圖層的接口,并將mapControl中的第一個圖層賦予該圖層。

????????????????????????????? 然后,將要素圖層轉化為地理要素圖層。

??????????????????????????????接著,新建一個SimpleRendererClass對象,和ISimpleMarkerSymbol接口。設置SimpleMarkerSymbol 的顏色、類型、尺寸等信息。

//將MarkerSymbol 賦予simpleRender的Symbol
??????????????? simpleRender.Symbol = pMarkerSymbol as ISymbol;
??????????????? geoFeatureLayer.Renderer = simpleRender as IFeatureRenderer;

????????????????????????????? 最后,設置地理要素的Render。

???????? 2、線要素

???????? 線要素與點要素相似,不過線要素的子類有8個,分別是:CartographicLineSymbol、HashLineSymbol、MarkLineSymbol、MultiLayerLineSymbol、SimpleLineSymbol、PictureLineSymbol、SimpleLine3DSymbol和TextureLineSymbol。以SimleLineSymbol為例:

private void simpleLineSymbolToolStripMenuItem_Click(object sender, EventArgs e){IGeoFeatureLayer geoFeatureLayer;geoFeatureLayer = axMapControl1.get_Layer(0) as IGeoFeatureLayer;ISimpleRenderer simpleRender;simpleRender = new SimpleRendererClass();IRgbColor HC = new RgbColor();HC.Red = 225;HC.Green = 0;HC.Blue = 0;ISimpleLineSymbol simpleLineSymbol = new SimpleLineSymbolClass();simpleLineSymbol.Color = HC;simpleLineSymbol.Width = 5;simpleLineSymbol.Style = esriSimpleLineStyle.esriSLSDashDot;simpleRender.Symbol = simpleLineSymbol as ISymbol;geoFeatureLayer.Renderer = simpleRender as IFeatureRenderer;axMapControl1.Refresh();axTOCControl1.Update();}

結果如下圖: 3、FillSymbol與以上兩個類似,有七種填充方式。 -----------------------------------------------------------------------------------------end-------------------------------------------------------------------





總結

以上是生活随笔為你收集整理的AE学习笔记之地图符号化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。