【gis技术】地下管线数据mdb数据库转为shp

2024-01-28 16:40

本文主要是介绍【gis技术】地下管线数据mdb数据库转为shp,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景:
接触了某城市的地下管网数据,原始的普查数据都是以mdb数据库格式的形式提供的,本以为arcgis可以直接打开里面的管线矢量,没成想里面只有管点 管线的信息表,没有矢量数据,但是地图服务等得需要shp,因此需要找到一个方法转化一下。
思路:
首先看到数据里面的数据属性结构–将管点信息可以直接用arcgis转为xy展点就可以–管线需要写程序匹配一下管线两端的管点坐标形成geojson文件–将geojson转为shp–搞定
具体操作

  1. 查看mdb,两种方式,如果大家对管线标准不太熟悉可以看看该网站https://wenku.baidu.com/view/3888661c4873f242336c1eb91a37f111f0850d78.html?wkts=1683343191245
    excel导入打开
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
    arcgis打开,选择相应的表拖进去就行
    在这里插入图片描述
  2. 管点信息展点
    在这里插入图片描述
    设置好相应坐标系 xy坐标字段就行了,然后导出shp。
  3. 管线需要写程序匹配
    对于程序编写可以采用入数据库或者直接读取mdb的形式,这里只讲思路
    污水表示例
    管点:
    在这里插入图片描述
    管线
    在这里插入图片描述

最后输出geojson数据格式

{"type": "FeatureCollection","features": [{"type": "Feature","geometry": {"type": "LineString","coordinates": [[502847.384761, 4142225.568719][502834.497419,4142213.881936]]},"properties": {"startPointNum":"WH13EN001C","endPointNum":"WH13EN001B",…其他管线表里的属性,改成英文字段名称}}……其他管线数据]
}

注意在转换过程中管线可能匹配不到相关点,注意排查

  1. 将geojson转为shp
    使用https://mapshaper.org/转为shp,为了防止属性值中文乱码,可以将geojson用notepad++设置一下ansi或者utf8格式,然后导出的时候设置一下encoding=gbk。
  2. 完美解决一个小问题,哈哈
    在这里插入图片描述

大家如果对程序转换这块不太知道怎么弄,可以私信我。

这篇关于【gis技术】地下管线数据mdb数据库转为shp的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热

MySQL数据脱敏的实现方法

《MySQL数据脱敏的实现方法》本文主要介绍了MySQL数据脱敏的实现方法,包括字符替换、加密等方法,通过工具类和数据库服务整合,确保敏感信息在查询结果中被掩码处理,感兴趣的可以了解一下... 目录一. 数据脱敏的方法二. 字符替换脱敏1. 创建数据脱敏工具类三. 整合到数据库操作1. 创建服务类进行数据库

MySQL中处理数据的并发一致性的实现示例

《MySQL中处理数据的并发一致性的实现示例》在MySQL中处理数据的并发一致性是确保多个用户或应用程序同时访问和修改数据库时,不会导致数据冲突、数据丢失或数据不一致,MySQL通过事务和锁机制来管理... 目录一、事务(Transactions)1. 事务控制语句二、锁(Locks)1. 锁类型2. 锁粒

MybatisPlus中removeById删除数据库未变解决方案

《MybatisPlus中removeById删除数据库未变解决方案》MyBatisPlus中,removeById需实体类标注@TableId注解以识别数据库主键,若字段名不一致,应通过value属... 目录MyBATisPlus中removeBypythonId删除数据库未变removeById(Se

在 Spring Boot 中连接 MySQL 数据库的详细步骤

《在SpringBoot中连接MySQL数据库的详细步骤》本文介绍了SpringBoot连接MySQL数据库的流程,添加依赖、配置连接信息、创建实体类与仓库接口,通过自动配置实现数据库操作,... 目录一、添加依赖二、配置数据库连接三、创建实体类四、创建仓库接口五、创建服务类六、创建控制器七、运行应用程序八