(整理)ArcGIS空间参考_第1页
(整理)ArcGIS空间参考_第2页
(整理)ArcGIS空间参考_第3页
(整理)ArcGIS空间参考_第4页
(整理)ArcGIS空间参考_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.1 空间参考空间参考(Spatial Referenee )是GIS数据的骨骼框架,能够将我们的数据定位到相 应的位置,为地图中的每一点提供准确的坐标。 在同一个地图上显示的地图数据的空间参 考必须是一致的,如果两个图层的空间参考不一致,往往会导致两幅地图无法正确拼合,因 此开发一个GIS系统时,为数据选择正确的空间参考非常重要。在 AreGIS 中,每个数据集都具有一个坐标系,该坐标系用于将数据集与通用坐标框 架(如地图)内的其他地理数据图层集成。通过坐标系可在地图中集成数据集,以及执行各 种集成的分析操作,例如叠加不同的源和坐标系中的数据图层。RoadsLand useBoundari

2、esHydrographyElevationImage base相关知识大地水准面大地水准面是由静止海水面并向大陆延伸所形成的不规则的封闭曲面。它是重力等位面, 即物体沿该面运动时,重力不做功(如水在这个面上是不会流动的)。因为地球的质量并非 在各个点均匀分布,因此重力的方向也会相应发生变化,所以大地水准面的形状是不规则的,地球椭球体由定义可以知大地水准面的形状也是不规则的,仍不能用简单的数学公式表示,为了测 量成果的计算和制图的需要,人们选用一个同大地水准面相近的可以用数学方法来表达的椭 球体来代替,简称地球椭球体,它是一个规则的曲面,是测量和制图的基础,因地球椭球体 是人们选定的跟大地水准

3、面很接近的规则的曲面,所以地球椭球体就可以有多个,地球椭球 体是用长半轴、短半轴和扁率来表示的。下表列出了一些最常见的参考椭球:椭球名称长半轴(米)短半轴(m)扁率的倒数,1/克拉克(Clarke )18666 378 206.46 356 583.8294.978 698 2白塞尔(Bessel 1556356078.965299.152 843 4In ter natio nal 19246 378 3886 356 911.9296.999 362 1克拉索夫斯基19406 378 2456 356 863298.299 738 1GRS 19806 378 1

4、376356752.3141298.257222101WGS 19846 378 1376356752.3142298.25722356 基准面基准面是在特定区域内与地球表面极为吻合的椭球体。椭球体表面上的点与地球表面上 的特定位置相匹配,也就是对椭球体进行定位,该点也被称作基准面的原点。原点的坐标是 固定的,所有其他点由其计算获得。基准面的坐标系原点往往距地心有一定偏移(有的也在地心,如WGS1984),如西安80 的基准面和北京54的基准面.因为椭球体通过定位以便能更好的拟合不同的地区,所以同一 个椭球体可以拟合好几个基准面.因为原点不同,所以不同的基准面上,同一个点的坐标是 不相同的,这

5、点我们应该清楚 .下面以华盛顿州贝灵厄姆市为例来说明。使用 NAD27、NAD83和WGS84以十进制为单位比较贝灵厄姆的坐标。显而易见JNAD83和WGS84 表示的坐标几乎相同,但 NAD27 表示的坐标则大不相同,这是因为所使用的基准面和旋 转椭球体对地球基本形状的表示方式不同。基准面经度纬度NAD 1927-122.4669036865248.7440490722656NAD 1983-122.4681835379348.7438798543649WGS 1984-122.4681835379348.74387985342993个不同基准面时华盛顿州贝灵厄姆市的地理坐标图来自 ArcG

6、IS 说明了基准面是基于椭球体的: 地图投影 简单的说地图投影就是把地球表面的任意点,利用一定数学法则,转换到地图平面上的理论和方法。两种坐标系 地理坐标系地理坐标系也可称为真实世界的坐标系,是用于确定地物在地球上位置的坐标系,它用经纬度来表示地物的位置,经度和纬度是从地心到地球表面上某点的测量角,通常以度或百分度为单位来测量该角度。下图将地球显示为具有经度和纬度值的地球。地理坐标系 (GCS) 是基于基准面的使用三维球面来定义地球上的位置, GCS往往被误称为基准面,而基准面仅是GCS的一部分,GCS包括角度测量单位、本初子午线和基准面。下图来自ArcGIS说明了了地理坐标系的组成:常规3基

7、准贡33确定角度不初子二线经度名称:D WGS 199463781376356752.314245V93C反扁至298.25722356300003每单位弧度:0.017453292519943299经度:取消|地理坐标系屈性GCS WGS 1 西基准面常规3基准贡33确定角度不初子二线经度名称:D WGS 199463781376356752.314245V93C反扁至298.25722356300003每单位弧度:0.017453292519943299经度:取消|地理坐标系屈性GCS WGS 1 西基准面名称:本初子午绒 容称:甬度单位名称:| Degree橢球体容称:|WGS_1984

8、长半轴:/衙球体 炸短半樹 I 01I II G r&enwich 投影坐标系投影坐标系是基于地理坐标系的,它使用基于X , Y值的坐标系统来描述地球上某个点 所处的位置,可以这样认为投影坐标系二地理坐标系(如:北京54、西安80、WGS84)+投 影方法(如:高斯-克吕格、Lambert投影、Mercator投影)+线性单位。下图来自ArcGIS 说明了投影坐标系的组成:常规31設影zJ3卩11取消5:名称:1950 J Degree GK Zane 3i投劃塞标系屋性丿线性单位每单位米救:Nama:GCS_ 1380血常规31設影zJ3卩11取消5:名称:1950 J Degree GK

9、Zane 3i投劃塞标系屋性丿线性单位每单位米救:Nama:GCS_ 1380血Angulo Unii 口咗13 |0l01 ?4S32925l 9943293 一Prims Mwidiin: G tefiwiich IOlOOCOOO0000 0000 Datum;一JSphered! Xian 1 剜丽 A)血 63?Bl4ft(WiaOO0OOOOQOOOfen.1Falser ssting365000 00.00000000 0000 0000Falsehiortbing0.000000000000000000CenrralMeritiafi103.000000000000000000

10、ScaleFact-or|1 BtXWOOOflOOOOOOOOOOLartitudejOtjOuiginO.QOOOOOOOODOOOOOOOO倉称:ArcGIS Engine 对空间参考的支持ArcGIS Engine提供了一系列对象供开发者管理GIS系统的坐标系统。对大部分开发 者而言了解 ProjectedCoordinateSystem, GeographicCoordinateSystem, SpatialRefere nee En vir onment这三个组件类是非常有必要的,对于高级开发者而言,可 能需要自定义坐标系统可以使用这些对象Projection ,Datum ,An

11、gularUnit ,Spheriod, PrimeMeridian和GeoTra nsformatio n等。在ArcGIS中除了我们上面介绍的两种坐标系, 还有一种称之为Un known的坐标系,这种坐标系是当我们的数据没有坐标(jpg等文件) 或者坐标文件丢失的时候ArcMap不能识别数据的投影信息而赋予的,在ArcGIS Engine 中下面三个类分别对应了三个坐标系:ClassesDescriptionG 巳口口 ra Dhi cCoord in ateSvstemCreates a gsographic coordinate systemProiectedCoordinateSys

12、temCreates a projected coordinate systemU n kn own Coc-rd in ate SystemCreates an unknown coordinate system利 用 ArcGIS Engine 创 建 一 个 坐 标 系 或 者 基 准 面 用 的 是SpatialRefere nceE nvir onmen tClass 类,该类实现了 ISpatialRefere nceFactory 接口,该接口定义了创建坐标系,基准面等方法和属性,如下图:1DB&crlfrtloflC-EateDaturnCre-sLes 曰 predefine

13、d datum.Cr-tBteESR.9 ntdRiFesneme:Creat a spatial rtfertnet svsterri and 日占irw t fr-oni the speerhed FSftESpatialRefcrcnce bufferC-Eate ESR.ES 口 hIjisIR芒陡 wrT“FDm 口 RJCre-sLes 曰 spatial reference from 曰 PftJ trng.匸r亡 BtsESH9 口亡i*eat a spatial reference frorri a PRJ files.CrEiteGeoaraE-hitCnordiriBt.

14、e5w5tErnCreaLes a 口redefined gezgra口h匚 EGrdnaie system.Cr e ate G e oT ransfErm a ti ehCrsstes a predefined iransfijFmahDn hetween g皀cigp閃it 8w*diriat已 srrtsni5.4Cre-teP-5rflrriete-Creates a 口redefined psrHrneterCFEBftePedEfinediUnqularUnits匚rcates a listcif predefined ianqular unrts.C-ettPiedeiFire

15、-dOiLimiCreates a hst oF a list oF predefined d-sturnsiCrEaffcePedefiredLineEirUritsLrsates s list af pnedefinsd linsar urits.:l EPric 日昌 F1 r 日 M p r i E 訴 st 口F prcdlnad prime maridansiCreate PTedEfiredPn&iecticns匚r-stes a list at pnedefinsd prajecticns.C-flrtflPriedBfirE ds口h吃ruiiT已CrMbtw 曰 list

16、oF predrfinfld aphanjids-OeatsP?inneMeridianiZr-sres s predefined prime meridian.CeaTePoiectcdCciiriareivstflm匚阴dm a predefined projaaiad cordin svDarrLCreate PraiertiDriCrsst-ss a predefined prajectian.C9TeS&rCdCreacafi a predefined fipharom,CreBteUnitCrsstes a 口 redefined unit of ms a sure.ExDortF

17、SRTSMtiaiRefefenc&cPRjFileExports 3 spabai nefenanca to a PRJ在利用ISpatialRefere nceFactory创建坐标系的时候往往需要一个int类型的参数这个int其实就是这些坐标系的代号如我们熟悉的4326就是WGS1984下面为部分截图:erlSliGtC_Voir*olUuifiie:L9C43Q5Ynird Ufifie LSfifl.ri 雪 IR Ge o CS % rcl U i fi 员 11 勺Om e 日10*305VniraJ UriFia i960 DerfleCriSRGeC5 Vcirange tr

18、ansfarmatinn.着每一个接口对应了一种转换方法,比如 GeocentricTranslationClass 类就实现了三 参数,而CoordinateFrameTransformationClass类实现了 7参数,要实现3参数或者7 参数需要IGeometry2或更新接口的ProjectEx方法下面我们用代码实现一个不同基准面 之间的坐标转换。publicvoid ProjectExExample()ISpatialReferenceFactory pSpatialReferenceFactory = new SpatialReferenceEnvironmentClass();/

19、ISpatialReferencepFromCustom=pSpatialReferenceFactory.CreateESRISpatialReferenceFromPRJFile(E:arcgisEng inezidingyi.prj);IPoint pFromPoint =new PointClass();pFromPoint.X = 518950.788;pFromPoint.Y = 4335923.97;IZAware pZAware = pFromPoint as IZAware;pZAware.ZAware = true;pFromPoint.Z = 958.4791;/ (IG

20、eometry)pFromPoint).SpatialReference = pFromCustom;自定义投影WGS84下的北京6度19带。(IGeometry)pFromPoint).SpatialReference=CreateCustomProjectedCoordinateSystem();/目标投影IProjectedCoordinateSystem projectedCoordinateSystem = pSpatialReferenceFactory.CreateProjectedCoordinateSystem(int)esriSRProjCS4Typ e.esriSRPro

21、jCS_Xian1980_GK_Zone_19);/因为目标基准面和原始基准面不在同一个上,所以牵扯到参数转换,我用7参数转换ICoordinateFrameTransformation pCoordinateFrameTransformation =new CoordinateFrameTransformationClass();pCoordinateFrameTransformation.PutParameters(-112.117, 4.530 ,21.89, -0.00058702, -0.00476421, 0.00009358, 0.99998006411);pCoordinate

22、FrameTransformation.PutSpatialReferences(CreateCustomProjectedCoordinateSystem(), projectedCoordinateSystem as ISpatialReference);/投影转换IGeometry2 pGeometry = pFromPoint as IGeometry2;pGeometry.ProjectEx(projectedCoordinateSystem as ISpatialReference, esriTransformDirection.esriTransformForward, pCoo

23、rdinateFrameTransformation, false, 0, 0);private IProjectedCoordinateSystem CreateCustomProjectedCoordinateSystem()ISpatialReferenceFactory2 pSpatialReferenceFactory = new SpatialReferenceEnvironmentClass();IProjectionGEN pProjection = pSpatialReferenceFactory.CreateProjection(int) esriSRProjectionT

24、ype.esriSRProjection_GaussKruger) as IProjectionGEN;IGeographicCoordinateSystem pGeographicCoordinateSystem = pSpatialReferenceFactory.CreateGeographicCoordinateSystem( int)esriSRGeoCSTy pe.esriSRGeoCS_WGS1984);ILinearUnit pUnit = pSpatialReferenceFactory.CreateUnit(int)esriSRUnitType.esriSRUnit_Met

25、er) as ILinearUnit;IParameter pParameters = pProjection.GetDefaultParameters();IProjectedCoordinateSystemEdit pProjectedCoordinateSystemEdit = new ProjectedCoordinateSystemClass();object pName = WGS-BeiJing1954;object pAlias = WGS-BeiJing1954;object pAbbreviation = WGS-BeiJing1954;object pRemarks = WGS-BeiJing1954;object pUsage = Calculate Me

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论