在te的开发中,存在点、线、面的图层,图层中的空间表示的基本类型都为Geometry,详细的分为IPoint、ILineString、ILinearRing、IMultiLineString、IGeometryCollection和IPolygon。
IPoint是点图层中的基本类型,表示一个点,te中比较特殊的地方,单个点对象的坐标并不是用IPoint来表征,而是用IPosition,这是因为单个点对象的表示需要设置yaw、pitch、roll等三维的属性,而在图层中,这些参数可以通过图层进行统一的设置,在点图层中,获得到最基本的IFeature对象,其中有Geometry的属性,在js的开发中,获得到Geometry的对象后,可以直接使用IPoint中的属性和方法,在c#的开发中,就需要使用as进行强制转换,将Geometry转换成IPoint,再进行属性和方法的操作。
ILineString和IMultiLineString是表征线和线图层的基本类型,IMultiLineString中可能包含多条ILineString,在te的单个对象和图层中,线的类型是统一的,在线的操作中,得到Geometry属性,要明确是multi还是单体线,其中涉及到的属性不是相同的,可以通过GeometryType进行判断,js的开发中,直接可以按照属性和方法进行操作,在c#的开发中,就需要使用as进行强制转换,将Geometry转换成ILineString或者IMultiLineString,再进行属性和方法的操作。
IPolygon是表征面和面图层的基本类型,IPolygon可能包含一个或者多个ILinearRing,根据IPolygon中的属性即可获得,首先得到Geometry的属性后,要转换成IPolygon,从其中获得ILinearRing,在js和C#的开发中,和以上点和线的转换同理。
在te的帮助手册中,有一个例子是:“Editing a Geometry Object“详细的表述了如何编辑一个面的对象,可以进行学习。
IGeometryCollection是点、线和面的集合同层,这种图层是混合的,使用的要对其中的图层分别进行处理,这个比较少用。
技术交流群:665060698
技术公众号: