MapX开发疑问之坐标问题讲解
对于GIS系统,坐标系是和每个对象对应的,也就是说,任何一个空间对象(Feature)都必须有一个空间参考,但在实现中,一般是一个图层对应一个空间 参考,也就是坐标系。而整个地图也有一个空间参考,并且有的系统,这个参考还分为实际内部数据的和显示的(例如MapX)。
MapX的空间参考可以通过CoordSys object来设置。设置的类型包括平面坐标(笛卡尔坐标,Non-Earth),经纬度以及各类投影坐标系统。然后这个CoordSys对象可以和图 层、Map对象关联,或者说,每个Layer对象和Map对象都有自己的空间参考。
我们知道,一个GIS开发包或者GIS平台,和一般的图形系统的差别就在于其管理的对象都是有空间参考(或者叫地理参考)的,简而言之,空间参考就是坐标系,但坐标系不是简单的笛卡尔坐标系,因为地球是圆的。有关的文献可以参考一般的地图学教材。
在MapX中,图层的空间参考可以通过Layer.CoordSys属性来获取或者设置。
MapX 的Map对象的空间参考则可以通过Map.DisplayCoordSys和Map.NumericCoordSys属性来设置,前者是显示的坐标,后者 是实际的坐标。如果你把前者设置为经纬度,后者设置为投影坐标,那么通过Map的工具量测得到就是前者的坐标单位,而通过FeatureFactory对 象添加属性,使用的坐标就是后者。 字串1
那么对应层和Map对象空间参考不一致的情况,显示的时候就要实时(onfly)变换。
在我们使用FeatureFactory添加坐标的时候,一定要清楚当前地图的NumericCoordSys属性的设置。
而创建一个Point的对象的时候,使用的也是NumericCoordSys这个坐标体系。
对于一个没有添加任何数据的MapX控件,其Map的NumericCoordSys属性为平面坐标,如果使用Layers.Add添加图层,这个属性就自动变为添加的第一个图层的空间参考。
如果加载GeoSet,则坐标体系通过GeoSet创建。
通过MapX的Layers.Add方法新建图层,一般不需要指定图层的空间参考,也无法在LayerInfo对象中指定文件图层对象的空间参考,这时,创建的图层的空间参考为MapX的空间参考(NumericCoordSys)。
另外,使用平面坐标(Non-Earth)时,需要指定其范围,缺省好像是-100到100,太小,但也不能太大,不确定的情况下,使用int.max就合适,太大数据溢出,就等于很小了。
坐标是GIS开发一个比较头疼的问题,遇到类似的问题的朋友,希望这篇东西会有益处。
最新文章
- 教你利用Google Earth API自动化谷 [03-08]
- ArcGIS Engine实现添加图名比例尺指 [03-03]
- Google Earth客户端 基于Servlet的 [06-04]
- ArcObjects 3D开发简介 ArcScene构 [03-25]
- ArcIMS二次开发介绍 ArcMap服务 Ar [04-24]
- GIS的开发模式以及分析比较 宿主型 [04-24]
- 如何进行ArcIMS的二次开发 基于IMS [04-24]
- 什么是组件式GIS及组件式GIS开发平 [04-02]
- 地理信息系统软件开发OpenSource的 [03-31]
- SuperMap IS Java ——基于Java EE [03-30]
推荐文章


热点文章
用VC读取DXF格式文件的原理及代码
GIS二次开发各种方式对比和Activ
ArcEngine中使用上下左右键移动地
C#中调用MapX方法实例及代码剖析
矢量地图缩放、旋转、平移操作的
MapX在VC++中实现军用标图系统的
MapX应用程序发布和打包过程及注
ARC命令说用说明及详细讲解
MapX教程及基本编程应用实例
如何在MapObject下把ActiveX控件
MapX教程之数据库绑定方法过程及
用C#根据经纬度求两点间距离的函
基于.NET平台的MapX开发方法及实
MapInfo
基于MapX的GIS系统动态操作原理及
用VB和MapX实现各种专题图的示例
如何在VB下用MapObject实现流场显
MapX如何在图层上添加一个点的代
用VB实现MapX移屏测距功能原理及
AO的Display对象简介及应用代码实
VC下用MapX实现任何比例尺打印功
MapX开发疑问之坐标问题讲解
组件开发之MapXtreme for window
MapX图层样式替换的VB源代码
在VC++中嵌入MapX集成二次开发的
教你利用Google Earth API自动化
ArcGIS Engine实现添加图名比例尺
Google Earth客户端 基于Servlet
ArcObjects 3D开发简介 ArcScene
ArcIMS二次开发介绍 ArcMap服务

