免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 2809|回复: 9
收起左侧

2020FME博客大赛——解放大脑 经纬度坐标自动重投影至常用投影坐标系

[复制链接]

665

主题

2万

铜板

34

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
20649

精华勋章爱心勋章地信专家组贡献勋章冰雪节勋章

发表于 2020-12-30 14:29 | 显示全部楼层 |阅读模式

作者:崔欣

单位:中国石油天然气管道工程有限公司

摘要:非测绘专业以及学艺不精的测绘人员对经纬度、投影带、带号、假东、假北、比例因子、高斯克吕格3度分带投影、高斯克吕格6度分带投影、墨卡托投影、通用横轴墨卡托投影等专业名词通常不大熟悉,而现在工程数据来源丰富,坐标系也不统一,经常需要从经纬度数据转换到投影坐标系,这就让人越发不知所措。即使有专业GIS软件,也不知道如何选取参数,更不了解参数的影响,只能求助专业人员,而这个工作本身技术含量并不高,仅需要少数容易理解的参数便可以实现自动转换,从而解放很多人的大脑,将时间和精力放在更需要的地方。


1 背景

在设计院这样专业众多,根据设计需求和用途,又需要采用不同坐标系的单位,其实只有长期从事测绘工作的专业人员才会对坐标系信息的相关知识信手拈来,轻松容易的进行坐标转换,大多数工程勘察设计人员虽然用了坐标,但对于所谓的投影方式、分带、假东、假北一概不明白,在独自需要将经纬度坐标的数据转换到工程项目使用的投影坐标系时感到棘手,看不懂专业软件的参数设置,不明白坐标系名称命名的含义。可能只是一个坐标点的转换,就需要跨专业找人帮忙,一来一回,许多时间和精力都耽搁了。还有许多工程设计人员在踏勘现场习惯采用奥维等软件提示目的地、标注现场调绘信息,在从手机中提取出来时不知道怎么才能将数据转换到工程项目的那个投影坐标系中。更棘手的是,长输管道通常上千公里,一个项目跨几个投影带都是常有的事,虽然采用的投影方式相同,但投影坐标系涉及好几个,一个不留神数据就放错位置了。

考虑到非测绘专业人员对坐标系专业词汇的了解有限,有些甚至可以用更直白的方式表达,而国内外工程项目常用的投影方式有限,针对这部分情况,可以根据经纬度下数据本身的信息加上目标投影坐标系的投影方式、假东是否含带号等三两个关键信息,编制对数据进行自动裁切和重投影的FME工具,节约人力成本,解放非测绘专业人员。

2 原理

长输管道国内项目常用CGCS2000高斯克吕格3度投影坐标系,偶尔用6度投影坐标系,而国外项目常用WGS84 UTM投影坐标系,因此这些地心坐标系是可以利用地理坐标的经纬度信息、目标坐标系的大地基准和投影方式,自动计算坐标点所在投影带的中央经线,获取投影坐标系参数,实施二维坐标转换。对于坐标范围跨带的数据,在获取投影坐标系参数后,构建每个投影带的范围,对数据进行裁切,裁切后的数据按照所处位置自动投影,实现坐标转换。

本工具仅需要支持国际标准坐标系中WGS84(EPSG:4326)和CGCS2000(EPSG:4490)两种地理坐标系自动转换到WGS 84 UTM投影坐标系、CGCS2000高斯3度和6度投影坐标系即可满足绝大多数工程项目的需求。而WGS84和CGCS2000大地基准面都属于地心参考系,因此可以自动实现高精度的转换。

通过纬度值确认南北半球,北半球为正值,南半球为负值。通过经度值确定东西经,西经为负,东经为正。

3 转换流程3.1 总体思路

数据格式可能有多种,但自动重投影的操作是相同的。考虑到工程项目中搜集了不少Shapefile格式的数据,因此制作了shapefile格式到shapefile的自动重投影工具。具体FME流程如下图所示。

3.2 生成投影带范围

自动转换的关键是需要自动获得需要向哪个坐标系进行转换以及该投影坐标系的范围。

3.2.1 初步信息

根据数据的最小外界矩形和目标坐标系的投影方式推算数据涉及的南北半球、投影带范围和带宽。

通过源数据可以获得数据最小外界矩形,由此可知道数据的范围。最小外界矩形信息用Xmin、Xmax、Ymin、Ymax、Zmin、Zmax这六个参数描述,因此按照公式(3)、(6)、(9)可以获得在目标投影方式下涉及到的投影带范围:


目标投影方式的带宽:

南北半球信息:

上述四个属性值的创建和计算使用AttributeCreator即可完成,赋值采用条件赋值方式即可。

3.2.2 构建投影带要素

根据投影带带号范围和南北半球信息为每个投影带新建一个不含几何结构的要素,初始属性信息包括带号、南北半球。

对于数据范围全部在北半球或者南半球的源数据,对应生成的投影带要素数量为(ZoneMax-ZoneMin)+1。对于数据范围横跨南北两个半球的源数据,对应生成的投影带要素数量则为(ZoneMax-ZoneMin)+1的两倍。因为同一条经线在南北两个半球分别为两个投影带的中央经线,且分属南北半球的这两个投影带的带号数字也相同,需要南北半球信息确定投影坐标系统,因此构建投影带要素时初始信息需要带号(仅包含数字部分)和南北半球两个信息来唯一确定。

在FME中创建投影带要素需要从无到有,因此在自定义转换器中利用循环进行创建,从ZoneMin到ZoneMax,步长为1。当数据横跨南北半球时,需要复制一份投影带要素并将两组相同要素的南北半球信息分别设置为南半球和北半球。

3.2.3 计算中央经线

根据投影带号和投影方式计算中央经线。使用转换器AttributeCreator创建每个投影带要素的中央经线属性,并按照公式(2)、(5)、(8) 赋值:

3.2.4 绘制投影带范围

根据中央经线、投影带宽度、最大y值和最小y值绘制每个投影带的经纬度矩形。使用VertexCreator转换器依次创建四个角点(ZoneXmin,ZoneYmin)、(ZoneXmin,ZoneYmax)、(ZoneXmax,ZoneYmax)、(ZoneXmax,ZoneYmin)。为了使创建的图形闭合,需再多使用一次VertexCreator转换器,坐标为(ZoneXmin,ZoneYmin),最终得到闭合的图形范围。

3.3 计算EPSG编号

EPSG全称为European Petroleum Survey Group,成立于1986年,在2005年重组为OGP(Internation Association of Oil & Gas Producers),负责维护并发布坐标参考系统的数据集参数以及坐标转换描述。目前绝大多数椭球体、投影坐标系统等都在EPSG进行了注册,分配了相应的ID,这个ID便是EPSG编号。而OGC标准中空间参考系统的SRID(Spatial Reference System Identifier)与EPSG编号相一致,因此符合OGC标准的数据其坐标系统都具有对应EPSG编号,通过EPSG编号可以确定唯一的坐标系统。

在FME中,坐标系变量可以通过字符串“EPSG:<EPSG Code>”直接确定对应的坐标系统,即在Reprojector转换器中目标坐标系参数可以直接填写对应的EPSG编号。而对于多个要素需要转换到不同坐标系,只需要将每个要素的目标坐标系的EPSG编号存储在属性中,在Reprojector转换器的Destination Coordinate System参数中选择对应的属性名称即可实现批量自动转换。因此,对于自动重投影工作来说,另一个要点是确定每个投影带要素的EPSG编号。

幸运的是,在EPSG数据库中,CGCS2000高斯克吕格三度分带投影坐标系和六度分带投影坐标系、WGS84 UTM投影坐标系的编号都是连续且有序的(根据带号从小到大依次编号),即:

  • EPSG:4491~4501,对应CGCS2000高斯克吕格六度分带投影坐标系,东坐标有带号,北半球坐标系;
  • EPSG:4502~4512,对应CGCS2000高斯克吕格六度分带投影坐标系,东坐标无带号,北半球坐标系;
  • EPSG:4513~4533,对应CGCS2000高斯克吕格三度分带投影坐标系,东坐标有带号,北半球坐标系;
  • EPSG:4534~4554,对应CGCS2000高斯克吕格六度分带投影坐标系,东坐标无带号,北半球坐标系;
  • EPSG:32601~32660,对应WGS84 UTM投影坐标系,东坐标无带号,北半球坐标系;
  • EPSG:32701~32760,对应WGS84 UTM投影坐标系,东坐标无带号,南半球坐标系;

这也是为什么投影带要素的初始信息中包含了带号、南北半球信息,加上工具运行之初要求给出的投影方式有无投影带号两个参数,便可计算得到投影坐标系的EPSG编号:

在计算出来的编号前加上字符串“EPSG:”即得到所需要的属性值。

3.4 裁切数据

裁切数据使用Clipper转换器,源数据是其Clippee,而投影带要素是其Clipper。Clipper Type选择“Multiple Clippers”。Inside端口输出的要素是在每个Clipper范围内的Clippees,即为在每个投影带中的要素集合。利用Clipper属性合并参数即可获得每个要素的目标投影坐标系信息,因此需要勾选Merge Attributes,在Clipper的属性前加上前缀字段“CSInfo_”以防止冲突。。

由于裁切数据可能会使数据的几何结构由原来简单的单线、单面要素变为多线、多面要素。在FME中Mulit-几何结构和对应单个几何结构的FME type是相同的,当输出文件是Shapefile等一个文件只能存储一种类型的单图层文件时,为了保证所有要素都能输出,可利用FME type属性指导输出路径,而不是利用Geometry type属性。FME type是FME内置属性,因此需要使用Attribute Exposer转换器进行暴露后方可在数据流中调用。

3.5 批量重投影

由于原坐标系和目标坐标系均为地心坐标系,因此使用Reprojector转换器即可满足需求。前述流程已经确定了每个要素的目标投影坐标系,在Reprojector转换器的设置对话框中将Destination Coordinate System参数选择为“CSInfo_EPSG”属性即可进行批量自动的重投影转换了。

4 应用

长输管道工程项目线路设计工作以行政区划的县界划分设计段,而管道设计院的工程项目遍布全国,因此数据库中行政区划图层为全国范围数据,存储在CGCS2000地理坐标系中。对于在投影坐标系中进行设计工作的设计人员来说,需要将所需行政区划数据转换到投影坐标系中,而长输管道通常上千公里长,跨多个投影带,此部分工作将花费不少精力进行选择和投影,甚至需要安装平时都用不到的专业GIS软件。经纬度坐标自动重投影工具转换全国省级行政区划数据到CGCS2000高斯克吕格三度投影坐标仅需4秒钟,既不需要专业的人员操作,也不需要安装庞大复杂且昂贵的GIS软件。

对于从互联网获取的POI管道敏感兴趣点信息,一般都存储在WGS84经纬度坐标中,对于只习惯于使用CAD的设计人员来说,本工具自动重投影后的数据增加其CAD样式便可输出到CAD格式中,便于设计人员使用。

对于不懂坐标的设计人员,探勘时也会在手机地图(奥维地图或踏勘数据采集终端)上标注一些信息,这些信息也均是在WGS84经纬度坐标中的,而工程项目数据资料和最终成果的坐标系均要求在投影坐标系中,经纬度坐标自动重投影工具可大大减轻设计人员在上述问题上花费的时间和精力。


本文转载来自CSDN作者:fmechina    版权归作者所有

原文链接:https://blog.csdn.net/fmechina/article/details/105513589

43

主题

5万

铜板

19

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
3485

精华勋章12周年纪念勋章

发表于 2020-12-30 15:04 | 显示全部楼层
谢谢分享
回复

使用道具 举报

10

主题

2万

铜板

34

好友

黄金会员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
4394

精华勋章灌水勋章活跃勋章贡献勋章

发表于 2020-12-30 15:49 | 显示全部楼层
谢谢分享
回复

使用道具 举报

43

主题

5万

铜板

19

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
3485

精华勋章12周年纪念勋章

发表于 2021-1-11 22:04 | 显示全部楼层
谢谢分享
回复

使用道具 举报

2

主题

3万

铜板

6

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
5686
发表于 2021-12-5 21:56 | 显示全部楼层
谢谢分享
回复

使用道具 举报

0

主题

1万

铜板

3

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3270
发表于 2022-11-27 19:49 | 显示全部楼层
好资料,正在学习中....
回复 支持 反对

使用道具 举报

1

主题

1万

铜板

2

好友

黄金会员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
4845
发表于 2022-12-31 17:25 | 显示全部楼层
感谢分享
回复

使用道具 举报

2

主题

1万

铜板

7

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
6419
发表于 2023-1-6 15:50 | 显示全部楼层
没事来逛逛
回复 支持 反对

使用道具 举报

33

主题

3万

铜板

19

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
7335

活跃勋章

发表于 2023-1-30 12:47 手机频道 | 显示全部楼层
谢谢分享
回复

使用道具 举报

33

主题

3万

铜板

19

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
7335

活跃勋章

发表于 2023-1-30 12:48 手机频道 | 显示全部楼层
学习了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表