TE如何创建一个新的矢量图层

这篇文章将为大家详细讲解有关TE如何创建一个新的矢量图层,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

我们提供的服务有:成都网站设计、做网站、微信公众号开发、网站优化、网站认证、鄱阳ssl等。为上1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的鄱阳网站制作公司

在TE二次开发中,可以加载一个shp或者spatialite文件,作为矢量图层进行加载,同时TE也可以根据一组空间信息,保存成一个shp或者spatialite数据,并且保存在默认的TE临时文件下(C:\Users\当前用户名\AppData\Roaming\Skyline\TerraExplorer\FeatureLayers),可以从这个目录中,将数据拷贝出来进行使用。

在TE中创建一个新的矢量图层的步骤如下:

1、使用TE中Creator接口的CreateNewFeatureLayer方法,其中的4个参数说明layerName是在fly的信息树中显示的名称,LayerGeomType是图层的空间几何类型(点、线、面或者混合),sConnectionString图层的连接字符串,TEPlugName=OGR;FileName=NameOfShapeFile.shp 是shp文件的连接字符串,NameOfShapeFile是shp的文件名;TEPlugName=OGR;FileName=NameOfSQLiteFile.sqlite;LayerName=newlayername是spatialite的连接字符串,其中NameOfSQLiteFile是spatialite的名称,LayerName是spatialite中的图层名称,GroupID是在信息树中的父层级id;

2、创建完图层后,如果坐标系和当前的fly工程坐标系不同,要设置图层的坐标系IFeatureLayer.CoordinateSystem.WellKnownText = wkt字符串;

3、图层中要创建的属性信息,需要在DataSourceInfo的Attributes中使用CreateAttribute进行创建,4个参数分别是属性名称、属性类型、长度和精度;属性的个数和类型要确定好,在之后添加属性的时候,需要按顺序一个个进行添加;

4、属性创建完成后,需要往图层里添加要素,要素是有空间信息和属性字符串组成的,比如说,以上添加了4个属性,那属性字符要包含4个元素,中间使用分号(;)隔开,空间信息使用SGWorld.Creator.GeometryCreator.CreateGeometryFromWKT(wkt字符)进行创建,使用 var pIFeatureGroup= pLayer.FeatureGroups[0] as IFeatureGroup;获取图层的pIFeatureGroup,pIFeatureGroup.CreateFeature(空间信息, 属性信息),这样就能创建一个矢量对象了;

5、循环创建完成对象后,可以设置图层的一些常用属性,  pLayer.Visibility.MaxVisibilityDistance = 1000000,可视度等等,之后保存图层, pLayer.Save(),即完成图层的创建;不同坐标系的图层, pLayer.Reproject = true,还需要转换坐标系并且进行刷新操作。

关于“TE如何创建一个新的矢量图层”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


本文题目:TE如何创建一个新的矢量图层
当前链接:http://azwzsj.com/article/jscegs.html