arcgis转换坐标

合集下载

ArcGIS坐标系定义和转换

ArcGIS坐标系定义和转换

ARCGIS坐标1 ArcGIS坐标系定义和转换网上有关坐标系和坐标转换的文章很多,大家可搜索了学习一下,我推荐下面两篇文章供参考:《坐标系统和投影变换在桌面产品中的应用》介绍了坐标系的一些基本概念,并结合ArcGIS进行了说明。

《ArcGIS坐标系统文件》介绍了ArcGIS坐标系名称的解析方法。

ArcGIS中的坐标系有两套:Geographies coordinate system (地理坐标系、大地坐标系,经纬度表达)和Projected coordinate system (投影坐标系,直角坐标系)。

通过在ArcCatalog 中右键点击一个Feature class Feature dataset、Rasterdataset和Raster Catalog 在“Property的”XY Coordinate Sytster中设置其坐标系。

如果要进行转换,需通过ArcToolBox的“Data Management Tool的”“ Projecti ons and Tran sformatio n系列工具进行。

在同一个Datum (大地基准面)内的坐标转换是严密的,如在北京54的经纬度和直角坐标之间的转换是可在ArcGIS中设置源坐标系和目标坐标系来直接转换。

如果要在不同Datum 间进行转换,则需要设置转换参数,通常高精度的转换需要7参数,也即设置Geographics Transformatior。

比如将北京54坐标转换成WGS84坐标,需要设置转换参数。

虽然我国没有公布北京54、西安80与WGS84之间的转换7参数,但ArcGIS可以在导入数据的时候通过设置目标坐标系,从而实现坐标转换,而且不用输入7 参数,试验了一下,应该时默认参数为0。

但根据网上的文章http:在用ArcToolBox中的转换工具进行坐标转换时,如果跨datum,则必须输入Transformation 参数,从而保证转换精度。

arcgis坐标系转换步骤

arcgis坐标系转换步骤

arcgis坐标系转换步骤ArcGIS是一种常用的地理信息系统软件,可以用于地图制作、空间分析等工作。

在使用ArcGIS进行地图制作时,经常需要进行坐标系的转换。

本文将详细介绍ArcGIS坐标系转换的步骤。

一、了解坐标系的概念在进行坐标系转换之前,首先需要了解什么是坐标系。

坐标系是地理空间数据的基础,它是由坐标系统和投影系统组成的。

坐标系统定义了地理实体在地球上的位置,而投影系统则是将地球上的经纬度坐标投影到平面上的方法。

二、选择需要进行转换的坐标系在进行转换之前,需要明确需要将哪种坐标系进行转换。

通常情况下,我们会选择将经纬度坐标(如WGS84)转换为平面坐标(如UTM投影坐标系)。

三、打开ArcGIS软件并加载数据在进行坐标系转换之前,需要先打开ArcGIS软件,并加载需要进行转换的数据。

可以通过“添加数据”功能将需要转换的数据导入到ArcGIS中。

四、创建新的数据框架在进行坐标系转换之前,需要创建一个新的数据框架。

可以通过点击“文件”菜单中的“新建”按钮来创建新的数据框架。

五、设置数据框架的坐标系在创建新的数据框架之后,需要设置数据框架的坐标系。

可以通过“数据框架属性”菜单来设置数据框架的坐标系。

在弹出的对话框中,选择需要转换的坐标系,并点击“确定”按钮。

六、进行坐标系转换设置好数据框架的坐标系之后,就可以进行坐标系转换了。

可以通过“工具箱”中的“数据管理工具”来进行坐标系转换。

在弹出的对话框中,选择需要进行转换的数据,并选择目标坐标系。

然后点击“运行”按钮,等待转换完成。

七、验证转换结果进行坐标系转换之后,需要验证转换的结果是否正确。

可以通过在ArcGIS中显示转换后的数据来进行验证。

如果转换的结果与预期一致,则说明转换成功;如果转换的结果与预期不符,则需要检查转换参数是否设置正确。

八、保存转换结果在验证转换结果无误之后,可以将转换后的数据保存下来。

可以通过“另存为”功能将转换后的数据保存为新的文件,以便后续使用。

ArcGIS坐标与转换介绍

ArcGIS坐标与转换介绍

高斯-克吕格投影
高斯-克吕格(GAUSS-KRUGER)是等角横切椭圆柱投影,是横轴墨卡托
投影的变种,简称高斯投影。
该投影以中央经线和赤道投影后为坐标轴,中央经线和赤道交点为坐 标原点,纵坐标由坐标原点向北为正,向南为负,规定为X轴,横坐标从
中央经线起算,向东为正,向西为负,规定为Y轴。所以,高斯-克吕格坐
Linear Unit: Meter (1.000000) //线性单位
Geographic Coordinate System: Name: GCS_Beijing_1954 Alias: //别称
投影坐标系统
Abbreviation: Remarks: //缩写
//附注
Angular Unit: Degree (0.017453292519943299) //角度单位 Prime Meridian: Greenwich (0.00000000000000000) //本初子午线(0度经线) Datum: D_Beijing_1954 Spheroid: Krasovsky_1940 //大地基准面 //参考椭球体
平面直角坐标系统
ቤተ መጻሕፍቲ ባይዱ
地理坐标系
投影坐标系
垂直坐标系 1 、地理坐标系 在此目录中存放着已定义的许多坐标系信息,里面描述了地理坐标 系的名称、大地基准面等。 2 、投影坐标系 在此目录中同样存在许多已定义的投影坐标系,如北京54和西安80 坐标系。 3 、垂直坐标系 定义了测量海拔或深度值的原点
ArcGIS坐标系统文件说明
坐标系介绍
西安80坐标系: 1978年,我国决定建立新的国家大地坐标系统,并且在新的大地坐标 系统中进行全国天文大地网的整体平差,这个坐标系统定名为1980年西安 坐标系,属参心大地坐标系。 1980年西安坐标系采用1975国际椭球, 大地原点设在陕西省泾阳县永 乐镇,采用多点定位所建立的大地坐标系。其椭球参数采用1975年国际大 地测量与地球物理联合会推荐值。 长半轴a=6378140m 短半轴b=6356755m 扁率f=1/298.25

ARCGIS中坐标转换及地理坐标、投影坐标定义

ARCGIS中坐标转换及地理坐标、投影坐标定义

ARCGIS中坐标转换及地理坐标、投影坐标定义1、动态投影(ArcMap)所谓动态投影指,ArcMap中的Data 的空间参考或是说坐标系统是默认为第一加载到当前工作区的那个文件的坐标系统,后加入的数据,如果和当前工作区坐标系统不相同,则ArcMap会自动做投影变换,把后加入的数据投影变换到当前坐标系统下显示!但此时数据文件所存储的数据并没有改变,只是显示形态上的变化!因此叫动态投影!表现这一点最明显的例子就是,在Export Data 时,会让你选择是按this layer's source data(数据源的坐标系统导出),还是按照the Data (当前数据框架的坐标系统)导出数据!2、坐标系统描述(ArcCatalog)大家都知道在ArcCatalog中可以一个数据的坐标系统说明!即在数据上鼠标右键->Properties->XY Coordinate System选项卡,这里可以通过modify,Select、Import方式来为数据选择坐标系统!但有许多人认为在这里改完了,数据本身就发生改变了!但不是这样的!这里缩写的信息都对应到该数据的.aux 文件!如果你去把该文件删除了,重新查看该文件属性时,照样会显示Unknown!这里改的仅仅是对数据的一个描述而已,就好比你入学时填写的基本资料登记卡,我改了说明但并没有改变你这个人本身!因此数据文件中所存储的数据的坐标值并没有真正的投影变换到你想要更改到的坐标系统下!但数据的这个描述也是非常重要的,如果你拿到一个数据,从ArcMap下所显示的坐标来看,像是投影坐标系统下的平面坐标,但不知道是基于什么投影的!因此你就无法在做对数据的进一不处理!比如:投影变换操作!因为你不知道要从哪个投影开始变换!因此大家要更正一下对 ArcCatalog中数据属性中关于坐标系统描述的认识!3、投影变换(ArcToolBox)上面说了这么多,要真正的改变数据怎么办,也就是做投影变换!在ArcToolBox->Data Management Tools->Projections and Transformations下做!在这个工具集下有这么几个工具最常用:1、Define Projection2、Feature->Project3、Raster->Project Raster4、Create Custom Geographic Transformation当数据没有任何空间参考时,显示为Unknown!时就要先利用Define Projection来给数据定义一个Coordinate System,然后在利用Feature->Project或Raster->Project Raster工具来对数据进行投影变换!由于我国经常使用的投影坐标系统为北京54,西安80!由这两个坐标系统变换到其他坐标系统下时,通常需要提供一个Geographic Transformation,因为Datum 已经改变了!这里就用到我们说常说的转换3参数、转换7参数了!而我们国家的转换参数是保密的!因此可以自己计算或在购买数据时向国家测绘部门索要!知道转换参数后,可以利用Create Custom Geographic Transformation工具定义一个地理变换方法,变换方法可以根据3参数或7参数选择基于GEOCENTRIC_TRANSLATION和 COORDINATE_方法!这样就完成了数据的投影变换!数据本身坐标发生了变化!当然这种投影变换工作也可以在ArcMap中通过改变Data 的Coordinate System来实现,只是要在做完之后在按照Data 的坐标系统导出数据即可!方法一:在Arcmap中转换:1、加载要转换的数据,右下角为经纬度2、点击视图——数据框属性——坐标系统3、导入或选择正确的坐标系,确定。

arcgis 变换坐标系

arcgis 变换坐标系

arcgis 变换坐标系
ArcGIS是一款广泛应用于地理信息系统(GIS)的软件,它可以用于
地图制作、数据分析和空间数据管理等方面。

在使用ArcGIS进行地图制作时,我们经常需要将数据从一个坐标系转换到另一个坐标系。


文将介绍如何在ArcGIS中进行坐标系变换。

1. 打开ArcMap软件,选择需要进行坐标系变换的数据图层。

2. 在图层属性中,选择“坐标系”选项卡,可以看到当前数据图层的
坐标系信息。

3. 点击“转换”按钮,弹出“坐标系转换”对话框。

4. 在“坐标系转换”对话框中,选择需要将数据图层转换到的坐标系。

可以通过输入坐标系名称或者选择坐标系列表中的坐标系来进行选择。

5. 点击“确定”按钮,系统将自动进行坐标系转换。

转换完成后,可
以在图层属性中查看新的坐标系信息。

6. 如果需要对多个数据图层进行坐标系转换,可以通过批量处理的方
式进行。

选择“批量转换”选项卡,选择需要进行坐标系转换的数据
图层,选择目标坐标系,点击“确定”按钮即可。

7. 在进行坐标系转换时,需要注意选择正确的坐标系。

如果选择错误的坐标系,将会导致数据位置偏移或者变形等问题。

总之,ArcGIS提供了方便快捷的坐标系转换功能,可以帮助我们在地图制作过程中更好地管理和处理空间数据。

在使用时,需要注意选择正确的坐标系,以确保数据的准确性和可靠性。

ArcGIS中的投影和坐标转换

ArcGIS中的投影和坐标转换

ArcGIS中的投影和坐标转换1 ArcGIS中坐标系统的定义一般情况下地理数据库(如Personal GeoDatabase的Feature DataSet 、Shape File等)在创建时都具有空间参考的属性,空间参考定义了该数据集的地理坐标系统或投影坐标系统,没有坐标系统的地理数据在生产应用过程中是毫无意义的,但由于在数据格式转换、转库过程中可能造成坐标系统信息丢失,或创建数据库时忽略了坐标系统的定义,因此需要对没有坐标系统信息的数据集进行坐标系统定义。

坐标系统的定义是在不改变当前数据集中特征X Y值的情况下对该数据集指定坐标系统信息。

操作方法:运行ArcGIS9中的ArcMap,打开ArcToolBox,打开Data Management Tools->Projections and Transformations->Define Projection 项打开坐标定义对话框。

介下来在Input DataSet or Feature Class栏中输入或点击旁边的按钮选择相应的DataSet或Feature Class;在Coordinate System栏中输入或点击旁边的按钮选择需要为上述DataSet或Feature定义的坐标系统。

最后点OK键即可。

例如某点状shape文件中某点P的坐标为X 112.2 Y 43.3 ,且该shape文件没有带有相应的Prj文件,即没有空间参考信息,也不知道X Y 的单位。

通过坐标系统定义的操作定义其为Beijing1954坐标,那么点P的信息是东经112.2度北纬43.3度。

2 ArcGIS中的投影方法投影的方法可以使带某种坐标信息数据源进行向另一坐标系统做转换,并对源数据中的X和Y 值进行修改。

我们生产实践中一个典型的例子是利用该方法修正某些旧地图数据中X,Y值前加了带数和分带方法的数值。

操作方法:运行ArcGIS9中的ArcMap,打开ArcToolBox,打开Data Management Tools->Projections and Transformations->Feature->Project 项打开投影对话框。

arcgis参数转换坐标系

arcgis参数转换坐标系摘要:1.引言2.ArcGIS 简介3.参数转换坐标系的概念4.参数转换坐标系的方法5.坐标转换的注意事项6.结论正文:1.引言地理信息系统(GIS)是一种通过捕捉、存储、分析和显示地理数据的技术。

在GIS 中,数据以特定的坐标系表示,以反映地球表面的特定区域。

然而,在不同的GIS 项目中,数据可能以不同的坐标系表示。

因此,在将数据从一个项目转移到另一个项目时,必须进行坐标系转换。

本文将介绍如何在ArcGIS 中进行参数转换坐标系。

2.ArcGIS 简介ArcGIS 是一种功能强大的GIS 软件,可以用于数据采集、管理、分析和可视化。

它提供了许多地理处理工具,可以帮助用户完成各种复杂的空间分析任务。

在ArcGIS 中,坐标系转换可以通过“参数转换坐标系”工具来实现。

3.参数转换坐标系的概念参数转换坐标系是指在GIS 中,将数据从一个坐标系转换为另一个坐标系的过程。

这个过程通常涉及到坐标轴的旋转、缩放和偏移。

在ArcGIS 中,参数转换坐标系可以应用于点、线和面等不同类型的地理数据。

4.参数转换坐标系的方法在ArcGIS 中,可以使用“参数转换坐标系”工具来完成坐标系转换。

以下是具体的操作步骤:(1)打开ArcGIS 软件,加载需要转换坐标系的数据图层。

(2)在“地理处理”工具箱中,找到“转换”工具组,点击“参数转换坐标系”。

(3)在弹出的“参数转换坐标系”对话框中,设置输入图层、输出图层和坐标系参数。

(4)点击“确定”,开始进行坐标系转换。

5.坐标转换的注意事项在进行坐标系转换时,需要注意以下几点:(1)确保输入数据和目标数据具有相同的投影类型,否则转换可能无法完成。

(2)在进行坐标系转换之前,应确保数据处于正确的地理坐标系。

(3)坐标系转换可能对数据的精度产生影响,因此在转换过程中应尽量保持数据的完整性。

6.结论总之,在ArcGIS 中进行参数转换坐标系是一个相对简单的过程。

ArcGIS坐标转换操作实战(反算七参数)

ArcGIS坐标转换操作实战(反算七参数)坐标转换⼀直是空间数据处理⾥⾯⼀个⾮常重要的内容,特别是⽬前我国已经全⾯启⽤了CGCS2000坐标系统,以往那些54和80的坐标,未来都要统⼀转换到2000上⾯,所以很多数据处理的单位和同学,都⾮常关⼼坐标转换的问题。

虾神曾经听说地理所的⼀个⼤⽜有过这样的论点——GIS⼤部分东西,都能在计算机专业⾥⾯找到影⼦,只有空间参考和投影是属于GIS⾃⼰所特有的东西。

所以这个东西从来就是⾮地理专业与地理专业在学习和使⽤GIS中的⼀个分⽔岭(话说虾神作为⼀个纯粹的计算机专业出⾝的码农,当年学的时候也很痛苦……地图学原理看了好多遍,才明⽩了个⼤概)。

ArcGIS作为世界上应⽤最⼴的GIS软件,在投影转换⽅⾯的技术已经⾮常成熟了,但是因为中国特有的国情,导致很多国内特有的东西,他不具备——⽐如没有内置各种坐标系转换到CGCS2000的转换参数(⼀些国际特别是北美通⽤的转换参数,是内置的了),当然,还有国内特有的标准图幅号这种东西……下⾯我们来看看,如何进⾏转换。

⾸先,转换的原理就不在这⾥掉书袋了,⽹络上很多,贴⼀张图意思⼀下:实际上两个不同坐标系之间的转换,就是平移、旋转和⽐例尺度的的变化。

那么转换的⽅法,通常在⼤范围下,都是通过布尔沙沃尔夫七参数来进⾏转换的,数学原理(此处省略⼀万字和若⼲数学公式)……理论研究的同学请去查阅《地图学原理》⼀书相关章节,下⾯进⼊⼯程实践操作:ArcGIS⾥⾯,对于同椭球体下⾯的转换,是不需要任何参数的,⽐如我⽤WGS84(wkid:4326)转WGS84 Web Mercator(wkid: 3857),是不需要任何参数的:但是要是换⼀个椭球体的话,⽐如换成cgcs2000,那么就需要定义地理转换参数了,如下:当然,在新版本(10.4之后)的ArcGIS中,如果你不设定转换参数,也可以强转,只是转完之后,不保证精确度⽽已,⽽在⽐较⽼的版本⾥⾯,不设置转换参数,就直接不允许执⾏的。

【技术】ArcGIS之经纬度坐标系转CGCS2000坐标系步骤

【技术】ArcGIS之经纬度坐标系转CGCS2000坐标系步骤
1.打开ArcGIS——ArcMap软件。

2.打开刚才下载的地图
步骤:(1)添加数据-------(2)找到刚才下载地图的存放位置,加载进来。

3.ArcT oolbox————数据管理工具————投影和变化————投影
4.WGS84坐标转换为地理坐标系world-ITRF2000步骤:
5.打开目录文件夹,找到上一步中已经成ITRF2000坐标系的shp 文件,单击右键-属性,将图层坐标重新定义成GCGS2000地理坐标系步骤演示:
(现在已经是CGCS2000)6.重新打开arcmap,重新打开已经重新定义坐标系的shp文件,arctoolbox-数据管理工具-投影和变换--投影
知识科普
7.上一步将GCGS2000地理坐标系转换为GCGS2000投影坐标系后,打开上一步转换成投影坐标系后的shp文件,单击图层,右键属性,常规里,将十进制单位改成米。

再右键单击shp图层,打开属性表,添加字段,添加x,y坐标字段
8.在新建的x、y字段上面右击,计算几何
这里需要注意一个事项,如果带带号,那么计算出来的y(对应经度)是8位,如果不带带号,对应的y(对应经度)是6位;x(对应纬度)是7位,不变。

来源:自然资源频道。

arcgis转换坐标记法

ArcGIS转换坐标记法1. 引言ArcGIS是一款功能强大的地理信息系统软件,广泛应用于地理空间数据的管理、分析和可视化。

在使用ArcGIS进行地理空间数据处理时,经常需要进行坐标系统的转换。

本文将介绍如何使用ArcGIS进行坐标系的转换。

2. 坐标系概述坐标系是用来描述地理空间位置的一组规则和参数。

常见的坐标系包括经纬度坐标系、UTM投影坐标系等。

不同的坐标系适用于不同的地理区域和应用需求。

2.1 经纬度坐标系经纬度是最常见的地理位置表示方法之一,也称为地理坐标。

它由纬度和经度两个角度值组成,分别表示某个点在纬线和经线上的位置。

2.2 UTM投影坐标系UTM(Universal Transverse Mercator)投影是一种常用的平面直角坐标系统,主要适用于中小尺度地图制图。

UTM投影将地球表面划分为多个投影带,并采用横轴为东西方向、纵轴为南北方向的笛卡尔直角坐标系统来表示位置。

3. ArcGIS坐标系转换工具ArcGIS提供了多种工具和方法来进行坐标系的转换。

下面将介绍几种常用的方法。

3.1 工具栏中的坐标系工具ArcGIS的工具栏中包含了一些常用的坐标系转换工具,如”投影”、“转换”等。

通过选择合适的工具,用户可以方便地进行坐标系转换操作。

3.2 数据框和图层的坐标系设置在ArcGIS中,每个数据框和图层都有自己的坐标系设置。

用户可以通过修改数据框或图层的属性来更改其坐标系。

在进行数据分析或制图时,系统会自动将不同坐标系的数据进行转换。

3.3 批量处理工具ArcGIS还提供了一些批量处理工具,可以同时对多个文件或图层进行坐标系转换。

用户只需选择待处理文件或图层,并指定目标坐标系,系统会自动完成转换操作。

4. ArcPy模块实现坐标系转换除了上述GUI方式外,ArcGIS还提供了Python编程接口(ArcPy)来实现更灵活和自动化的坐标系统转换。

4.1 ArcPy模块介绍ArcPy是一个Python模块,为开发者提供了访问和控制ArcGIS功能的接口。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ArcGIS中的投影和坐标转换及编程实现摘要:一般情况下地理数据库(如Personal GeoDatabase的Feature DataSet 、Shape File等)在创建时都具有空间参考的属性,空间参考定义了该数据集的地理坐标系统或投影坐标系统,但由于在数据格式转换、转库过程中可能造成坐标系统信息丢失,或创建数据库时忽略了坐标系统的定义,因此需要对没有坐标系统信息的数据集进行坐标系统定义。

ArcGIS中的投影和坐标转换1 ArcGIS中坐标系统的定义一般情况下地理数据库(如Personal GeoDatabase的Feature DataSet 、Shape File等)在创建时都具有空间参考的属性,空间参考定义了该数据集的地理坐标系统或投影坐标系统,没有坐标系统的地理数据在生产应用过程中是毫无意义的,但由于在数据格式转换、转库过程中可能造成坐标系统信息丢失,或创建数据库时忽略了坐标系统的定义,因此需要对没有坐标系统信息的数据集进行坐标系统定义。

坐标系统的定义是在不改变当前数据集中特征X Y值的情况下对该数据集指定坐标系统信息。

操作方法:运行ArcGIS9中的ArcMap,打开ArcToolBox,打开Data Management Tools ->Projections and Transformations->Define Projection 项打开坐标定义对话框。

介下来在Input DataSet or Feature Class栏中输入或点击旁边的按钮选择相应的DataSet或Feature Class;在Coordinate System栏中输入或点击旁边的按钮选择需要为上述DataSet或Feature定义的坐标系统。

最后点OK键即可。

例如某点状shape文件中某点P的坐标为X 112.2 Y 43.3 ,且该shape文件没有带有相应的Prj文件,即没有空间参考信息,也不知道X Y 的单位。

通过坐标系统定义的操作定义其为Beijing1954坐标,那么点P的信息是东经112.2度北纬43.3度。

2 ArcGIS中的投影方法投影的方法可以使带某种坐标信息数据源进行向另一坐标系统做转换,并对源数据中的X 和Y值进行修改。

我们生产实践中一个典型的例子是利用该方法修正某些旧地图数据中X,Y 值前加了带数和分带方法的数值。

操作方法:运行ArcGIS9中的ArcMap,打开ArcToolBox,打开Data Management Tools ->Projections and Transformations->Feature->Project 项打开投影对话框。

在Input DataSet or Feature Class栏中输入或点击旁边的按钮选择相应的DataSet或Feature Class(带有空间参考),Output DataSet or Feature Class栏中输入或点击旁边的按钮选择目标DataSet或Feature Class,在Output Coordinate System 栏中输入或点击旁边的按钮选择目标数据的坐标系统。

最后点OK键即可。

例如某点状shape文件中某点P的坐标为X 40705012 Y 3478021 ,且该shape文件坐标系统为中央为东经120度的高斯克吕格投影,在数据使用过程中为了将点P的值改为真实值X 705012 Y478021,首先将源数据的投影参数中False_Easting和False_Northing值分别加上40000000和3000000作为源坐标系统,修改参数前的坐标系统作为投影操作的目标坐标系统,然后通过投影操作后生成一新的Shape文件,且与源文件中点P对应的点的坐标为X 705012 Y478021。

3 编程实现坐标转换和投影3.1 矢量数据投影和坐标转换相关接口3.1.1 IGeometry.Project方法该方法声明如下: (C#语法)public void Project (ISpatialReference newReferenceSystem);该方法对实现Igeoemtry的对象进行投影操作, 参数为目标空间参考.以下代码中实现了对Point对象从一个空间参考到另一个空间参考的投影操作://Create Spatial Reference FactoryISpatialReferenceFactory srFactory = new SpatialReferenceEnvironmentClass();ISpatialReference sr1;//GCS to project fromIGeographicCoordinateSystem gcs = srFactory.CreateGeographicCoordinateSystem((int)esriSRGeoCSType.esriSRGeoCS_NAD1983);sr1 = gcs;sr1.SetFalseOriginAndUnits(-180, -90, 1000000);//Projected Coordinate System to project intoIProjectedCoordinateSystem pcs = srFactory.CreateProjectedCoordinateSystem((int)esriSRProjCSType.esriSRProjCS_NAD1983N_ AmericaLambert);pcs.SetFalseOriginAndUnits(0, 0, 1000);ISpatialReference sr2;sr2 = pcs;//Point to projectIPoint point = new PointClass() as IPoint;point.PutCoords(-117.17, 34.06);//Geometry Interface to do actual projectIGeometry geometry;geometry = point;geometry.SpatialReference = sr1;geometry.Project(sr2);point = geometry as IPoint;double x;double y;point.QueryCoords(out x, out y);Debug.Print("X: " + x.ToString());Debug.Print("Y: " + y.ToString());IGeometry接口的Project方法提供的投影操作实现了最基本的坐标转换功能. 实际数据处理过程中, 比较明确数据转换前后空间参考信息情况下一般用此方法作坐标转换,不同投影带之间的坐标转换就是一个典型.3.1.2 ITransform2D接口ITransform2D接口不仅提供了图形平移, 旋转和缩放,还提供了更加强大的坐标转换方法Transform. 其定义如下:(C#语法)public void Transform (esriTransformDirection direction,ITransformation transformation);在该方法中, 参数direction是转换方向, transformation是一个Itransformation接口, 而Itransformation接口由很多类实现,这意味着不同的实现类,所包含的坐标转换数学公式是不一的, 这里面包括二次多项式转换(AffineTransformation2D), AbridgedMolodensky转换(AbridgedMolodenskyTransformation)等。

每一种实现类的转换方法这里不再赘述,可参照ArcObjects联机帮助获得更详细的信息,下面举例来说明该方法的使用:(Delphi 代码)procedure Transform_(FromPtColl, ToPtColl: IPointCollection; pGeo as IGeometry);varpAffineTransformation2D: IAffineTransformation2D;ControlPtCnt: integer;FormPtArray: array of IPoint;ToPtArray: array of IPoint;i: integer;pTransform2D: ITransform2D;begin//判断给定的控制点是否合法if FromPtColl.PointCount <> ToPtColl.PointCount thenbegin//控制点不成对错误exit;end;if FromPtColl.PointCount < 4 thenbegin//控制点不能少于4个exit;end;ControlPtCnt := FromPtColl.PointCount;SetLength(FormPtArray, ControlPtCnt);SetLength(ToPtArray, ControlPtCnt);for i := 0 to ControlPtCnt -1 dobeginFormPtArray[i] := CoPoint.Create as IPoint;FormPtArray[i].PutCoords(FromPtColl.Point[i].X, FromPtColl.Point[i].Y);ToPtArray[i] := CoPoint.Create as IPoint;ToPtArray[i].PutCoords(ToPtColl.Point[i].X, ToPtColl.Point[i].Y);end;//创建AffineTransformation2D 对象pAffineTransformation2D := CoAffineTransformation2D.Create as IAffineTransformation2D; //设置控制点信息pAffineTransformation2D.DefineFromControlPoints(ControlPtCnt, FormPtArray[0], ToPtArray[0]);//转到ITransform2D接口pTransform2D := pGeo as ITransform2D;//坐标转换pTransform2d.Transform(esriTransformForward, pAffineTransformation2D);end;ITransform接口较Igeoemtry提供了更加丰富的坐标转换方法。

相关文档
最新文档