arcgis投影转换与 坐标转换

上传人:小** 文档编号:89122193 上传时间:2019-05-18 格式:DOC 页数:6 大小:23KB
返回 下载 相关 举报
arcgis投影转换与 坐标转换_第1页
第1页 / 共6页
arcgis投影转换与 坐标转换_第2页
第2页 / 共6页
arcgis投影转换与 坐标转换_第3页
第3页 / 共6页
arcgis投影转换与 坐标转换_第4页
第4页 / 共6页
arcgis投影转换与 坐标转换_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《arcgis投影转换与 坐标转换》由会员分享,可在线阅读,更多相关《arcgis投影转换与 坐标转换(6页珍藏版)》请在金锄头文库上搜索。

1、【转】ArcGIS投影转换与坐标转换引用风一样的男子的【转】ArcGIS投影转换与坐标转换【转】ArcGIS投影转换与坐标转换ArcGIS2009-01-1823:59阅读405评论0字号:大大中中小小1ArcGIS中的投影方法(从一种投影转换成另一种投影;在已有投影的情况才能用;有些转换限制)投影的方法可以使带某种坐标信息数据源进行向另一坐标系统做转换,并对源数据中的X和Y值进行修改。我们生产实践中一个典型的例子是利用该方法修正某些旧地图数据中X,Y值前加了带数和分带方法的数值。操作方法:运行ArcGIS9中的ArcMap,打开ArcToolBox,打开DataManagementTools

2、-ProjectionsandTransformations-Feature-Project项打开投影对话框。在InputDataSetorFeatureClass栏中输入或点击旁边的按钮选择相应的DataSet或FeatureClass(带有空间参考),OutputDataSetorFeatureClass栏中输入或点击旁边的按钮选择目标DataSet或FeatureClass,在OutputCoordinateSystem栏中输入或点击旁边的按钮选择目标数据的坐标系统。最后点OK键即可。例如某点状shape文件中某点P的坐标为X40705012Y3478021,且该shape文件坐标系统为

3、中央为东经120度的高斯克吕格投影,在数据使用过程中为了将点P的值改为真实值X705012Y478021,首先将源数据的投影参数中False_Easting和False_Northing值分别加上40000000和3000000作为源坐标系统,修改参数前的坐标系统作为投影操作的目标坐标系统,然后通过投影操作后生成一新的Shape文件,且与源文件中点P对应的点的坐标为X705012Y478021。2ArcGIS中坐标系统的定义(在没有投影的图层中定义投影系统)一般情况下地理数据库(如PersonalGeoDatabase的FeatureDataSet、ShapeFile等)在创建时都具有空间参考

4、的属性,空间参考定义了该数据集的地理坐标系统或投影坐标系统,没有坐标系统的地理数据在生产应用过程中是毫无意义的,但由于在数据格式转换、转库过程中可能造成坐标系统信息丢失,或创建数据库时忽略了坐标系统的定义,因此需要对没有坐标系统信息的数据集进行坐标系统定义。坐标系统的定义是在不改变当前数据集中特征XY值的情况下对该数据集指定坐标系统信息。操作方法:运行ArcGIS9中的ArcMap,打开ArcToolBox,打开DataManagementTools-ProjectionsandTransformations-DefineProjection项打开坐标定义对话框。介下来在InputDataSe

5、torFeatureClass栏中输入或点击旁边的按钮选择相应的DataSet或FeatureClass;在CoordinateSystem栏中输入或点击旁边的按钮选择需要为上述DataSet或Feature定义的坐标系统。最后点OK键即可。例如某点状shape文件中某点P的坐标为X112.2Y43.3,且该shape文件没有带有相应的Prj文件,即没有空间参考信息,也不知道XY的单位。通过坐标系统定义的操作定义其为Beijing1954坐标,那么点P的信息是东经112.2度北纬43.3度。3编程实现坐标转换和投影3.1矢量数据投影和坐标转换相关接口3.1.1IGeometry.Project

6、方法该方法声明如下publicvoidProject(ISpatialReferencenewReferenceSystem);该方法对实现Igeoemtry的对象进行投影操作,参数为目标空间参考.以下代码中实现了对Point对象从一个空间参考到另一个空间参考的投影操作:/CreateSpatialReferenceFactoryISpatialReferenceFactorysrFactory=newSpatialReferenceEnvironmentClass();字串9ISpatialReferencesr1;/GCStoprojectfromIGeographicCoordinate

7、Systemgcs=srFactory.CreateGeographicCoordinateSystem(int)esriSRGeoCSType.esriSRGeoCS_NAD1983);sr1=gcs;sr1.SetFalseOriginAndUnits(-180,-90,1000000);/ProjectedCoordinateSystemtoprojectintoIProjectedCoordinateSystempcs=srFactory.CreateProjectedCoordinateSystem(int)esriSRProjCSType.esriSRProjCS_NAD1983N

8、_AmericaLambert);pcs.SetFalseOriginAndUnits(0,0,1000);ISpatialReferencesr2;sr2=pcs;/PointtoprojectIPointpoint=newPointClass()asIPoint;point.PutCoords(-117.17,34.06);/GeometryInterfacetodoactualprojectIGeometrygeometry;geometry=point;geometry.SpatialReference=sr1;geometry.Project(sr2);point=geometrya

9、sIPoint;doublex;doubley;point.QueryCoords(outx,outy);Debug.Print(X:+x.ToString();Debug.Print(Y:+y.ToString();IGeometry接口的Project方法提供的投影操作实现了最基本的坐标转换功能.实际数据处理过程中,比较明确数据转换前后空间参考信息情况下一般用此方法作坐标转换,不同投影带之间的坐标转换就是一个典型.字串93.1.2ITransform2D接口ITransform2D接口不仅提供了图形平移,旋转和缩放,还提供了更加强大的坐标转换方法Transform.其定义如下:(C#语法)

10、publicvoidTransform(esriTransformDirectiondirection,ITransformationtransformation字串2);在该方法中,参数direction是转换方向,transformation是一个Itransformation接口,而Itransformation接口由很多类实现,这意味着不同的实现类,所包含的坐标转换数学公式是不一的,这里面包括二次多项式转换(AffineTransformation2D),AbridgedMolodensky转换(AbridgedMolodenskyTransformation)等。每一种实现类的转换方

11、法这里不再赘述,可参照ArcObjects联机帮助获得更详细的信息,下面举例来说明该方法的使用:(Delphi代码)procedureTransform_(FromPtColl,ToPtColl:IPointCollection;pGeoasIGeometry);字串3varpAffineTransformation2D:IAffineTransformation2D;ControlPtCnt:integer;FormPtArray:arrayofIPoint;ToPtArray:arrayofIPoint;i:integer;pTransform2D:ITransform2D;begin/判

12、断给定的控制点是否合法字串5ifFromPtColl.PointCountToPtColl.PointCountthenbegin/控制点不成对错误exit;end;ifFromPtColl.PointCount4thenbegin/控制点不能少于4个exit;end;ControlPtCnt:=FromPtColl.PointCount;字串6SetLength(FormPtArray,ControlPtCnt);SetLength(ToPtArray,ControlPtCnt);字串8fori:=0toControlPtCnt-1dobeginFormPtArrayi:=CoPoint.C

13、reateasIPoint;字串9FormPtArrayi.PutCoords(FromPtColl.Pointi.X,FromPtColl.Pointi.Y);字串9ToPtArrayi:=CoPoint.CreateasIPoint;ToPtArrayi.PutCoords(ToPtColl.Pointi.X,ToPtColl.Pointi.Y);字串4end;/创建AffineTransformation2D对象pAffineTransformation2D:=CoAffineTransformation2D.CreateasIAffineTransformation2D;字串8/设置控

14、制点信息pAffineTransformation2D.DefineFromControlPoints(ControlPtCnt,FormPtArray0,ToPtArray0);字串1/转到ITransform2D接口pTransform2D:=pGeoasITransform2D;字串1/坐标转换pTransform2d.Transform(esriTransformForward,pAffineTransformation2D);end;ITransform接口较Igeoemtry提供了更加丰富的坐标转换方法。3.2影像数据纠正。影像数据纠正可以通过IrasterGeometryProc

15、接口实现。该接口提供了影像Clip,Filp,Merge,Mirror以及Mosaic等操作。如果通过控制点的方式对影像进行纠正处理可以通过该接口的wrap方法。该方法声明如下:(C#语法)publicvoidWarp(IPointCollectionsourceControlPoints,IPointCollectiontargetControlPoints,esriGeoTransTypeEnumtransformType,IRasteripRaster);参数sourceControlPoints和targetControlPoint定义了控制点信息,transformType定义了坐标转换方法,ipRaster是需要转换的Raster对象.以下代码是该接口使用的例子:publicstaticvoidGeoreferenceRaster(IRasterDataset2rasterDataset,IPointCollectionsourcePoints,IPointCollectiontargetPoints)/thissampleshowhowtogeoreferencearasterusingcontrolpoints/sourcePoints:representssourcecontrolpoints/targetP

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号