版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARCGIS坐标1ArcGIS坐标系定义和转换
网上有关坐标系和坐标转换的文章很多,大家可搜索了学习一下,我推荐下面两篇文章供参考:
《坐标系统和投影变换在桌面产品中的应用》介绍了坐标系的一些基本概念,并结合ArcGIS进行了说明。
《ArcGIS坐标系统文件》介绍了ArcGIS坐标系名称的解析方法。
ArcGIS中的坐标系有两套:Geographicscoordinatesystem(地理坐标系、大地坐标系,经纬度表达)和Projectedcoordinatesystem(投影坐标系,直角坐标系)。
通过在ArcCatalog中右键点击一个Featureclass、Featuredataset、Rasterdataset和RasterCatalog,在“Property”的“XYCoordinateSytstem”中设置其坐标系。如果要进行转换,需通过ArcToolBox的“DataManagementTools”的“ProjectionsandTransformations”系列工具进行。
在同一个Datum(大地基准面)内的坐标转换是严密的,如在北京54的经纬度和直角坐标之间的转换是可在ArcGIS中设置源坐标系和目标坐标系来直接转换。如果要在不同Datum间进行转换,则需要设置转换参数,通常高精度的转换需要7参数,也即设置GeographicsTransformation。比如将北京54坐标转换成WGS84坐标,需要设置转换参数。
虽然我国没有公布北京54、西安80与WGS84之间的转换7参数,但ArcGIS可以在导入数据的时候通过设置目标坐标系,从而实现坐标转换,而且不用输入7参数,试验了一下,应该时默认参数为0。但根据网上的文章/blog.asp?ID=125,《ArcGIS坐标转换到底有多准?》,这些转换误差比较大。真正的坐标转换精度还需要进一步验证。
在用ArcToolBox中的转换工具进行坐标转换时,如果跨datum,则必须输入Transformation参数,从而保证转换精度。
2坐标系开发相关ArcEngine定义了北京54六度带和WGS84坐标系,可进行之间的坐标转换,但没有定义西安坐标系和北京54的三度带。所以不能直接使用ArcEngine预定义的坐标系。
安装ArcGISDesktop后,ArcGIS根目录下会有CoordinateSystems目录,是一系列prj文件定义的坐标系。ArcGISDesktop使用的就是这些坐标系,所以如果要支持足够多的坐标系,需要在ArcEngine中读取这些文件,而不要用预定义的坐标系枚举变量。
ArcEngine中坐标系的创建通过ISpatialReferenceFactory,比如:
ISpatialReferenceFactorysrFactory=newSpatialReferenceEnvironmentClass();
//创建WGS1984地理坐标系
IGeographicCoordinateSystemgcs=
srFactory.CreateGeographicCoordinateSystem((int)esriSRGeoCSType.esriSRGeoCS_WGS1984);
//创建Xian1980地理坐标系
ISpatialReferencesr=
srFactory.CreateESRISpatialReferenceFromPRJFile(@"D:\ArcGIS\CoordinateSystems\GeographicCoordinateSystems\Asia\Xian1980.prj");
//创建北京1954GK_18N投影坐标系
IProjectedCoordinateSystempcs=
srFactory.CreateProjectedCoordinateSystem((int)esriSRProjCSType.esriSRProjCS_Beijing1954GK_18N);
进行GeographicsTransformation则通过IGeoTransformation接口,该接口可以指定源坐标系和目标坐标系,然后基于点进行datum不同时的转换,实现该接口的类包括:
AbridgedMolodenskyTransformation
CompositeGeoTransformation
CoordinateFrameTransformation
CoordinateTransformation
GeocentricTranslation
HARNTransformation
LongitudeRotationTransformation
MolodenskyBadekasTransformation
MolodenskyTransformation
NADCONTransformation
NTv2Transformation
PositionVectorTransformation
等,其中CoordinateFrameTransformation就是常用的布尔莎7参数转换类。
具体转换坐标,可通过IGeometry的Project和ProjectEx函数,分别对应不需要IGeoTransformation和需要IGeoTransformation。Project也可实现不同datum的坐标系的转换,但需要设置IGeoTransformationOperationSet。
geometry.SpatialReference=srcSR;
if(geoTrans!=null)
geometry.ProjectEx(dstSR,esriTransformDirection.esriTransformForward,geoTrans,false,0,0);
else
geometry.Project(dstSR);
也可通过IGeoTransformation的TransformPointsFF函数来进行datum之间的转换,不过要注意的是,这个函数不支持投影,也就是只能在经纬度之间转换,如果在数据参考系时输入的是投影坐标系,函数只会取出其地理坐标系(我试验的结果,不知是否正确)。
geoTrans.PutSpatialReferences(srcSR,dstSR);
double[]inPoints=newdouble[2];
inPoints[0]=100;inPoints[1]=100;
double[]utPoints=newdouble[2];
geoTrans.TransformPointsFF(esriTransformDirection.esriTransformForward,1,refinPoints[0],refoutPoints[0]);
ArcToolBox中可以定义自定义的GeoTransformation,保存成*.gtf文件,置于目录...\\DocumentsandSettings\<user>\ApplicationData\ESRI\ArcToolbox\MyGeoTransformations.下,但ArcEngine中没找到可以从gft文件创建GeoTransformation的函数。但该文件还是比较容易解析的,可以自己写一个。如果转换模型确定,则可完全可自定义一个简单的文件来存储转换参数。
在使用IGeometry.Project时,有一个特别的类可以关注,IGeoTransformationOperationSet。这个类适用于要批量转换的Geometries中的SpatialReference不一样。在利用IGeometry.Project进行坐标转换时,如果两个坐标系之间的datum不一样,系统会搜索GeoTranformationOperationSet,找一个匹配的geotransformation,如果找不到,则GeoTranformation会不成功。
IGeoTransformationOperationSet就是缓存了系统环境中的GeoTranformation。通常spatialReferenceFactory.GeoTransformationDefaults中的IGeoTransformationOperationSet个数为0,每往里Set一次,则添加一个。可参考其例子。
3用ArcGIS维护坐标系转换思路
1)矢量数据
如果创建FeatureDataset,设置其坐标系为WGS84经纬度,导入矢量数据,ArcGIS会自动将所有数据转换为WGS84经纬度。
对于没有导入FeatureDataset,而是直接导入Geodatabase中的数据,可利用在导入时,设置Environment中的“输出坐标系”和“转换参数(如果有准确的参数,则设置,否则缺省为0)”来实现边导入边进行坐标转换。
2)栅格数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Windows Server网络管理项目教程(Windows Server 2022)(微课版)3.7 DHCP 拓展案例(一)DHCP中继代理的配置
- 高中语文第4课词语万花筒第3节每年一部“新词典”-新词语课件新人教版选修语言文字应用
- 信息技术(第2版)(拓展模块)教案 拓展模块5 5.3常用核心技术3
- 2024年江西省中考英语试题含解析
- 校园展美 课件 2024-2025学年人美版(2024)初中美术七年级上册
- 高中物理第一章运动的描述2时间和位移课件新人教版必修
- 【中考考点基础练】第10章 温度与物态变化 2025年物理中考总复习(福建)(含答案)
- 2024至2030年中国圆柱石英晶体谐振器数据监测研究报告
- 2024至2030年中国发音板数据监测研究报告
- 2024至2030年中国八爪鱼数据监测研究报告
- 小学英语人教PEP版6年级(上)期中考试复习
- 评茶员(高级)复习题含参考答案
- 2019年4月高等教育自学考试资产评估真题
- 《北京市社会保险单位信息变更登记表》
- 环保监测设备接入与管理服务协议书
- 教育局学校食品安全事故应急预案
- 职业健康安全培训课件(共32张课件)
- 2024年全国统考“营养师或营养指导员”相关知识考前试题库与参考答案
- 2023年学习兴税(网络信息)知识考试复习题库(含答案)
- 北京大兴国际机场工程策划
- 社工志愿者考评表
评论
0/150
提交评论