一文解决ArcGIS生成点和管段 含案例讲解

2024-05-01 05:04

本文主要是介绍一文解决ArcGIS生成点和管段 含案例讲解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

在工作中,我们经常遇到要将坐标数据导入 GIS,生成点位,若是地理坐标系(经纬度),那么直接用 arcgis或者QGIS 导入数据就行了,可实际中总会遇到各种问题:

  1. 坐标数据集为大地 2000 平面坐标系,导入位置偏移或者直接不成功?
  2. 如何通过点对,生成线段?
  3. 如何识别坐标系?

准备工作

  1. 确认坐标系。X,Y 为平面坐标系。一般收集到的基本都是大地 2000 坐标系。如果是老资料,确定好坐标系,以下步骤基本相同。
  2. 确定中央经线或者分带
    以重庆为例,通常是:CGCS 2000_3_Degree_GK_Zone_35( EPSG: 4523)和 CGCS2000_3_Degree_GK_CM_105 E( EPSG: 4544)

两者的差异如下:
CGCS2000_3_Degree_GK_CM_105E 和 CGCS2000_3_Degree_GK_Zone_35 都是中国大地坐标系2000(China Geodetic Coordinate System 2000,简称 CGCS2000)下的投影坐标系统,但它们代表了该坐标系中不同的投影带。

  1. CGCS2000_3_Degree_GK_CM_105E:这个坐标系是基于高斯-克吕格(Gauss-Krüger)投影方法的一个特定投影带,其中“CM”通常表示“Central Meridian”,即中央子午线。这里的“105E”指的是该投影带的中央子午线位于东经105度。这意味着所有在这个投影带内的坐标都是以东经105度为基准进行投影的,适用于中国西部地区的一部分。
  2. CGCS2000_3_Degree_GK_Zone_35:这也是一个基于高斯-克吕格投影的坐标系统,但它是按照国际上常用的6度带或3度带划分法中的一个3度带。"Zone 35"表明这是第35带,按照高斯-克吕格投影的通用划分规则,从格林尼治零度开始向东每3度划分为一个带,因此第35带的中央子午线应该是东经105度(因为35 * 3 = 105)。这实际上意味着CGCS2000_3_Degree_GK_Zone_35与CGCS2000_3_Degree_GK_CM_105E在中央子午线上是重合的,它们覆盖的是地理空间上的相同区域,只是命名方式略有不同。

CoordToolsPro 检验坐标系

在转换前可以通过软件测试一下,推荐使用 CoordToolsPro,通过高斯反算测试选择的坐标系是否正确。软件链接如下:
链接:https://pan.baidu.com/s/13zDy2cDwrGEvoO_yHrmqDQ
提取码:l244
Coord MG 也可以用,但是最好用CoordToolsPro,界面更又好,而且直接有大地2000坐标系的参数不需要额外设置 。image.png软件步骤:

  1. 选择坐标
  2. 确定最近中央子午线
  3. 选择高斯反算
  4. 输入坐标
  5. 选择单位,点击转换
  6. 复制坐标,核实是否正确
  7. 注意纬度与 X 对应,经度与 Y 对应,这很关键,在 arcgis 中经度在前。
    该软件即使未注册版也能使用,目前好像不在更新了,但是已经够用了。
    可以看到,当选择好正确的参数后,可以转换为正确的地理坐标系,即经纬度。
    确定好坐标系基本成功一般。

gis excel 数据转点

导入数据

  1. 点击加载数据按钮
  2. 选择点位信息表
    image.png

观察数据结构

先看一下表的结构,包括 X Y H 等坐标信息,代表平面坐标和高程。

image.png

显示 XY 数据

  1. 右键选择显示 XY 数据
  2. 选择对用字段,注意 X 表示经度对应的数据,那么这里应该是 Y。
  3. 选择正确的投影坐标系。前文已重点描述。
  4. 点击确定。

image.png
会弹出一个提示,可以直接忽略,它的意思是没有一个系统唯一编码,用 excel 做的文件是没有的,但是不要紧张,生成后导出的图层文件会带有这个编码。
image.png

数据转 shp

确认后,会生成一个事件,这时因为没有唯一编码,虽然生成了点,但是没有属性的,这也是我们不希望看到的,通过右键数据-导出数据,转换为图层文件,那么这个文件就包含了前面的所有属性表。转换就成功了。
image.png

CAD 转 shp

当然很多时候,我们是没有空间数据表的,只有 CAD 文件。但逻辑都是一致的,关键是确定 CAD 文件的平面坐标系是正确的。
让后将文件导入 GIS,选择图层转 shp。此前的文章有描述,不再赘述。

XY 转线

当我们解决了 xy 转点后,再来处理 XY 转线就很好理解了。他的应用场景是绘制管段、交通、物流航线等。

数据结构预览

image.png

XY 转线

可见需要有起点和终点的坐标,就能生成管段,或者航线。
具体步骤

  1. 点击搜索 XY 转线(qgis 没有这个功能)
  2. 选择带有起点、终点的 shp,这个文件需要按照上面的步骤生成。
  3. 选择对应的 XY 字段(注意是否需要换位)
  4. 选择对应的坐标系

image.png

效果展示

基本管线结构出来了,但是由于数据质量问题,部分管线的起始点输入数据有误,因此需要修改后再生成。
主要是每个管段都是独立的,保留了对应的属性。
这个功能还是非常有用的。
image.png

相关文章

重庆规资局用途管制红线智检服务查询红线占地_重庆用途管制网-CSDN博客
地图转换|用arcgis 将cad转kmz_arcgisdxf转kmz-CSDN博客
CAD文件转奥维 转shapefile-CSDN博客

这篇关于一文解决ArcGIS生成点和管段 含案例讲解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/950772

相关文章

一文详解MySQL索引(六张图彻底搞懂)

《一文详解MySQL索引(六张图彻底搞懂)》MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度,:本文主要介绍MySQL索引的相关资料,文中通过代码介绍的... 目录一、什么是索引?为什么需要索引?二、索引该用哪种数据结构?1. 哈希表2. 跳表3. 二叉排序树4.

Java中实现对象的拷贝案例讲解

《Java中实现对象的拷贝案例讲解》Java对象拷贝分为浅拷贝(复制值及引用地址)和深拷贝(递归复制所有引用对象),常用方法包括Object.clone()、序列化及JSON转换,需处理循环引用问题,... 目录对象的拷贝简介浅拷贝和深拷贝浅拷贝深拷贝深拷贝和循环引用总结对象的拷贝简介对象的拷贝,把一个

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

Java中字符编码问题的解决方法详解

《Java中字符编码问题的解决方法详解》在日常Java开发中,字符编码问题是一个非常常见却又特别容易踩坑的地方,这篇文章就带你一步一步看清楚字符编码的来龙去脉,并结合可运行的代码,看看如何在Java项... 目录前言背景:为什么会出现编码问题常见场景分析控制台输出乱码文件读写乱码数据库存取乱码解决方案统一使

C++右移运算符的一个小坑及解决

《C++右移运算符的一个小坑及解决》文章指出右移运算符处理负数时左侧补1导致死循环,与除法行为不同,强调需注意补码机制以正确统计二进制1的个数... 目录我遇到了这么一个www.chinasem.cn函数由此可以看到也很好理解总结我遇到了这么一个函数template<typename T>unsigned

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

504 Gateway Timeout网关超时的根源及完美解决方法

《504GatewayTimeout网关超时的根源及完美解决方法》在日常开发和运维过程中,504GatewayTimeout错误是常见的网络问题之一,尤其是在使用反向代理(如Nginx)或... 目录引言为什么会出现 504 错误?1. 探索 504 Gateway Timeout 错误的根源 1.1 后端