• 提取SHP格式文件折点(拐点)地理坐标(经纬度)


    一、任务概况

            在实际工作中,我们拿到的是SHP矢量数据,但会遇到有些文本需要填写范围线的拐点坐标值,有些系统需要经度坐标值,不能直接导入SHP文件的情况,具体涉及各种领域都有,其中我遇到的就有需要地理坐标的。

    二、问题分析

            如果我们拿到一个规范的SHP文件,一般是有定义好坐标系的,是投影坐标系或者地理坐标系。如果没有可以定义坐标系,那么可以在ArcMap中加载SHP文件,查看属性里的范围的上、下、左、右来判断是地理坐标还是投影坐标。可以明显看到左右是100+的、上下是几十的那种就是地理坐标了(如图2.1);如果左右的整数部分是8位数,上下的整数部分是7位数,那么就是投影坐标了(如图2.2)。确定坐标类型后做个定义投影即可。

    图 2.1
    图 2.2

     三、解决方案

            (一)、ArcGIS方法

            至于怎么提取拐点坐标,在ArcGIS里的做法也是很简单,就是要素折点转点,然后在【添加XY坐标】,最终的效果如下

     完了再表转XLS或者直接复制出去编辑成TXT文本或者其他想要的格式即可。水平高的话再做个模型,后期可以重复利用。


    (二)、FME模板方法

    具体思路如下:

    1. 把读入shp文件的坐标系统暴露到属性里去(前提是shp文件一定已经有定义坐标系)
    2. 如果过是投影坐标先做个投影转换成地理坐标,如果是地理坐标就直接进入下一步。(因为本次模板的目标是生成拐点的地理坐标)。
    3. 暴露坐标到列表,再暴露列表到属性。
    4. 把XY合并到一个属性中去。
    5. 重命名存有XY坐标的属性名称,以便写入TXT文本(因为TXT只接收属性名称为text_line_data的内容)。

    四、任务小结

            本文介绍了ArcGIS的方法和FME的方法,习惯哪个用哪个。FME可以结合workspaceruner转换器实现批量处理,ArcGIS的批量处理我还不会,我对ArcPY一无所知。FME的门槛低很多,不需要写代码就能实现批处理。

    本文FME模板整体

            

  • 相关阅读:
    论文复现【DualMap: Online Open-Vocabulary Semantic Mapping for Natural Language Navigation in Dynamic Changing Scenes】
    Win11一键重装系统后如何使用自带的故障检测修复功能
    【C++基础】类与对象(上):访问限定符、类作用域、类实例化、类对象模型、this指针
    MongoDB故障转移案例详细操作
    C++在HotSpot VM中一种巧妙的内存管理方式
    【Redis】
    【我的百度实习总结】百度网盘——一刻相册实习
    Arthas实操-Web Console
    HashMap源码
    k8s docker 中部署think php 并搭建php websocket
  • 原文地址:https://blog.csdn.net/seattle2009/article/details/126776241