本文主要是介绍【gis技术】地下管线数据mdb数据库转为shp,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景:
接触了某城市的地下管网数据,原始的普查数据都是以mdb数据库格式的形式提供的,本以为arcgis可以直接打开里面的管线矢量,没成想里面只有管点 管线的信息表,没有矢量数据,但是地图服务等得需要shp,因此需要找到一个方法转化一下。
思路:
首先看到数据里面的数据属性结构–将管点信息可以直接用arcgis转为xy展点就可以–管线需要写程序匹配一下管线两端的管点坐标形成geojson文件–将geojson转为shp–搞定
具体操作
- 查看mdb,两种方式,如果大家对管线标准不太熟悉可以看看该网站https://wenku.baidu.com/view/3888661c4873f242336c1eb91a37f111f0850d78.html?wkts=1683343191245
excel导入打开
arcgis打开,选择相应的表拖进去就行
- 管点信息展点
设置好相应坐标系 xy坐标字段就行了,然后导出shp。 - 管线需要写程序匹配
对于程序编写可以采用入数据库或者直接读取mdb的形式,这里只讲思路
污水表示例
管点:
管线
最后输出geojson数据格式
{"type": "FeatureCollection","features": [{"type": "Feature","geometry": {"type": "LineString","coordinates": [[502847.384761, 4142225.568719][502834.497419,4142213.881936]]},"properties": {"startPointNum":"WH13EN001C","endPointNum":"WH13EN001B",…其他管线表里的属性,改成英文字段名称}}……其他管线数据]
}
注意在转换过程中管线可能匹配不到相关点,注意排查
- 将geojson转为shp
使用https://mapshaper.org/转为shp,为了防止属性值中文乱码,可以将geojson用notepad++设置一下ansi或者utf8格式,然后导出的时候设置一下encoding=gbk。 - 完美解决一个小问题,哈哈
大家如果对程序转换这块不太知道怎么弄,可以私信我。
这篇关于【gis技术】地下管线数据mdb数据库转为shp的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!