首页 > 其他分享 >ArcObjects SDK开发 019 SpatialReference

ArcObjects SDK开发 019 SpatialReference

时间:2022-12-22 09:45:55浏览次数:56  
标签:WGS84 参考 投影 ArcObjects SpatialReference 地理 空间 019 坐标系

1、SpatialReference的结构

ArcObjects SDK帮助中Esri.ArcGIS.Geometry命名空间帮助中的Object Model Diagram共两页,第一页就是Geometry的结构,第二页就是SpatialReference的结构。如下图所示。

image1.png

如果想深入了解空间参考网上有很多介绍这方面的文章,作为Arcobjects SDK开发,我们主要还是从开发的角度来说SpatialReference部分。

上面的图看起来还是挺复杂的,我们可以做一个简化版的图,来更简单的说明问题。

image2.png

空间参考主要包括两类,地理空间参考和投影空间参考,加上未知坐标系,共3个类继承了空间参考接口。

2、地理坐标系

地理坐标系就经纬度为单位的坐标系,经度-180到180,纬度-90到90。我们常用的就是WGS84。在ArcMap中,地理坐标系的参数设置界面如下图所示。

image3.png

地理坐标系只要是我们常用的差别都不是太大,不同的地方只是椭球体的看SDK的话,可变化的地方主要椭球体的长短轴长度,其他的例如中央经线以及坐标单位等基本上不会变化。我在平常处理数据的时候,只要碰到经纬度这样的值,都可以默认为WGS84进行处理。

3、投影坐标系

投影坐标系包含一个地理坐标系,是在这个地理坐标系的基础上进行的平面投影。包含了三个重要的参数,一是基于的地理坐标系,二是其投影参数,三是其坐标单位。我们投影后,用的大部分数据单位都是米,也就是通过坐标单位设置的。一个典型的投影坐标系的ArcMap属性界面如下图所示。

image4.png

4、ISpatialReferenceFactory

该接口可以创建和空间参考相关的一些对象,其定义如下图所示。

image5.png

这些函数中,我们会经常用的CreateESRISpatialReferenceFromPRJ以及FromPRJFile,这两个函数是通过Prj字符串以及Prj文件创建空间参考。

CreateGeographicCoordinateSystem函数是创建地理坐标系函数,传入的参数为int类型。我们看下这个函数的定义。

image6.png

如果我们不知道这个函数的int型参数传什么值得话,那么这个函数的帮助页面给了我们非常清晰的解答,并且给出了创建WGS84的例子代码。

CreateProjectedCoordinateSystem函数是用来创建投影坐标系,使用方法和创建地理坐标系的方法类似,具体可参考该函数的帮助页面。

ExportESRISpatialReferenceToPRJFile函数是把一个空间参考对象保存成prj文件,一般我们会用prj文件存储空间参考。

5、常用的空间参考

WGS84,最常用的额地理空间参考。

基于WGS84的6度带UTM空间参考,一般用这个空间参考计算小范围的精确长度和面积。

WGS_1984_Web_Mercator,一般在线地图,例如谷歌、百度等使用的是该空间参考。

WGS_1984_Plate_Carree,如果把一个WGS84的数据直接拖到空白地图的ArcMap上,ArcMap会自动投影成该空间参考进行展示。

其他的,具体数据是什么空间参考,或者项目、系统要求是什么空间参考就直接使用,在开发过程中,很少出现需要自己去造空间参考的情况,基本上都是确定好的。

 

标签:WGS84,参考,投影,ArcObjects,SpatialReference,地理,空间,019,坐标系
From: https://www.cnblogs.com/mytudousi/p/16997679.html

相关文章

  • 洛谷 P5401 [CTS 2019] 珍珠 题解
    题目链接令\(c_i\)表示第i种颜色的珍珠的数量,显然我们最多能装的瓶数是\(\sum\lfloor\frac{c_i}2\rfloor\)。也就是说,\(c_i\)为奇数的\(i\)的数量不能太多,这个数量要......
  • buuoj-pwn-starctf_2019_babyshell
    buuoj-pwn-starctf_2019_babyshell逆向分析GLIBCubuntu16,不涉及内存管理也没啥需要讲的关键函数主函数__int64__fastcallmain(__int64a1,char**a2,char**a3......
  • SQL Server 2019性能测试
    SQLServer2019性能测试测试环境:❤客户端操作系统:windows10x64❤ODBC驱动:MicrosoftODBCDriver17forSQLServer❤IDE:VisualStudio2017一、速度测试......
  • ArcObjects SDK开发 018 Geometry
    1、Geometry体系结构如果要看完整的Geometry体系结构,那么可以去查看帮助中的类结构图,非常完整和严谨。可以通过下图方式打开。点击打开后,会发现里面的结构非常复杂。但......
  • 2019年诺奖得主大翻车!被曝54篇论文涉嫌造假,刚撤回4篇PNAS
     视学算法报道  编辑:Aeneas桃子【导读】曾被曝出学术造假的2019诺奖得主GreggL.Semenza如今又在一天内撤回4篇顶刊。​每届的诺奖得主,都是当代的科学巨人。谁曾想,学......
  • 2019 TRIUMPH ROCKET III ROADSTER SERVICE LAMP RESET
    Background:A2019TRIUMPHROCKETIIIROADSTER,itsmaintenancetimeisup,thedashboardshowsawrenchformaintenancetips.PreparationPreparation: OBDS......
  • SQL Server 2019的触发器-trigger
    SQLServer2019的触发器-trigger一、trigger的介绍触发器是特殊的存储过程,它在特定的数据库活动发生时自动执行。触发器可以与特定表上的INSERT、DELETE、UPDATE......
  • 2019 年 stackoverflow 网站最受欢迎的 20 个 Python 问题
    在最新一期的“Python开发者周刊”(Pycoder'sweekly)里,我看到一则有意思的分享,故转出来分享给大家。该分享来自是一份”pythonweeklyreports“,统计了2019年里stackoverf......
  • 我的 2019 年 Python 文章榜单
    现在是2020年的第一天,我相信从昨天开始,各位的信息流里肯定充斥了各式各样的年度盘点/回顾/总结/记录之类的内容。虽然来得稍晚了,但我还是想给诸位送上这一篇文章。我将在......
  • WPS Office 2019 专业版最新终身授权序列号,彻底告别广告
    之前已经和大家分享了WPS2019的专业版,专业版的除了功能上比普通版多之外,最大的特点就是无弹窗、无广告、界面简洁,没有免费版那么多花里胡哨的东西。详情可以点之前的文章......