ArcGIS坐标系定义和转换(2)

2018-12-19 21:03

else

geometry.Project(dstSR);

也可通过IGeoTransformation的TransformPointsFF函数来进行datum之间的转换,不过要注意的是,这个函数不支持投影,也就是只能在经纬度之间转换,如果在数据参考系时输入的是投影坐标系,函数只会取出其地理坐标系(我试验的结果,不知是否正确)。

geoTrans.PutSpatialReferences(srcSR, dstSR);

double[] inPoints = new double[2];

inPoints[0] = 100; inPoints[1] = 100;

double[] utPoints = new double[2];

geoTrans.TransformPointsFF(esriTransformDirection.esriTransformForward, 1, ref inPoints[0], ref outPoints[0]);

ArcToolBox中可以定义自定义的GeoTransformation,保存成*.gtf文件,置于目录...\\\\Documents and Settings\\\\Application Data\\ESRI\\ArcToolbox\\My GeoTransformations.下,但ArcEngine中没找到可以从gft文件创建

GeoTransformation的函数。但该文件还是比较容易解析的,可以自己写一个。如果转换模型确定,则可完全可自定义一个简单的文件来存储转换参数。

在使用IGeometry.Project时,有一个特别的类可以关注,

IGeoTransformationOperationSet。这个类适用于要批量转换的Geometries中的SpatialReference不一样。在利用IGeometry.Project进行坐标转换时,如果两个坐标系之间的datum不一样,系统会搜索GeoTranformationOperationSet,找一个匹配的geotransformation,如果找不到,则GeoTranformation会不成功。

IGeoTransformationOperationSet就是缓存了系统环境中的GeoTranformation。通常spatialReferenceFactory.GeoTransformationDefaults中的

IGeoTransformationOperationSet个数为0,每往里Set一次,则添加一个。可参考其例子。

3用ArcGIS维护坐标系转换思路 1)矢量数据

如果创建Feature Dataset,设置其坐标系为WGS84经纬度,导入矢量数据,ArcGIS会自动将所有数据转换为WGS84经纬度。

对于没有导入Feature Dataset,而是直接导入Geodatabase中的数据,可利用在导入时,设置Environment中的“输出坐标系”和“转换参数(如果有准确的参数,则设置,否则缺省为0)”来实现边导入边进行坐标转换。

2)栅格数据

不论时将Raster Dataset至于Geodatabase还是RasterCatalog中,都可在导入时,设置Environment中的“输出坐标系”和“转换参数(如果有准确的参数,则设置,否则缺省为0)”来实现边导入边进行坐标转换。

3)转换

对于导入到系统中的数据,如果要转换坐标系,可通过ArcToolBox进行坐标转换功能实现,这必须要先自定义Transformation。


ArcGIS坐标系定义和转换(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数字电子技术基础期末试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: