osm数据下载 python_GIS Experience (十):OSM数据获取

参考资料 1 OSM OpenStreetMap 获取城市路网数据及转为ESRI shp数据的方法 2 OSM获取路网数据 (数据转换方法对比)

1 前言

OpenStreetMap(OSM)意在创造一个内容自由且能让所有人编辑的世界地图,详见官网。

2 数据获取

2.1 官网下载

1)搜索区域

4f6f95362f5d4dca1b4bbcace4c4cb21.png

2)查看详情

67d148c584355bab0baeacc926069538.png

3)将图层放大至一定比例,即可直接将矩形区域导出为xml格式文件。备注:也可选择许可协议下的Overpass API直接镜像下载

33878e001fb2af2596f47e1880e0d2fb.png

2.2 Overpass API下载

Overpass API提供沿地理边界获取数据的功能,较矩形数据更有实用性。

580c1809b58cf4163a34af0d8effccaa.png

a5cb19d2c25ec2e9ca152f99a172d5e2.png

1)查询地区代码(可通过官网查看详情直接复制替代

<osm-script><query type="relation"><has-kv k="boundary" v="administrative"/><has-kv k="name:zh" v="成都市"/></query># 两种输出任选其一# 保存为xml<print/></osm-script># 保存为json<print/><osm-script output="json">

8a021ded858c2b3003720b09f58c1a13.png

2)获取路网数据 根据地区代码可以确定ref=36000000000 + citycode,最终得到OSM标准格式的interprept文件。

<osm-script timeout="1800" element-limit="100000000"><union><area-query ref="3602782246"/><recurse type="node-relation" into="rels"/><recurse type="node-way"/><recurse type="way-relation"/></union><union><item/><recurse type="way-node"/></union><print mode="body"/>
</osm-script>

68f9a9a50d8ed3c8e6ae0733aa265ad5.png

2.3 Geofabrik下载

Geofabrik数据优点在于属性信息较多,下载数据格式为shp,无需二次格式转换。缺点为china-latest.shp.zip数据文件过大,对网络质量不佳的朋友较痛苦,且裁剪工作需要底图

abaa66d1104281f85cb7fce824d7c3a9.png

3 OSM标准格式转SHP

| 工具 | 推荐指数 | 耗时程度 | 缺点 | |--|--|--|--| | QGIS | ★★★ | ★ | 无法直接显示时,先将图层另存为(不需要坐标转换) | | geoconverter | ★★ | ★★ | 中文属性数据乱码,且受制于网络状况 | | ArcGIS Editor for OpenStreetMap | ★★ | ★★★ | 流程略繁琐,但数据质量高 |

3.1 QGIS转换

注意:若出现加载OSM不显示地图的情形,这是因当前QGIS界面展示位置没有定位到OSM实际数据位置所致,对OSM数据应用缩放到图层范围无效,可先将其中一个图层直接导出为shp,重新加载此OSM数据即可

1)直接加载OSM数据

963a51b0e530a9b8b23dacac4a84a4a3.png

2)格式转换,转换结束后自动加载shp

43c7533dd8d030576dfb6c3ce2d0fb0f.png

21170f73ba7051406911ebd583b37a25.png

6d6a9073fbd245021ab0bd0bf1695b8e.png

3.2 网页转换

geoconverter方便快捷,支持导出多种格式。

1)导入数据

d999933baa6f971499e14d76be7f21ba.png

2)输出格式

77c6f6e5b8e10601edd7bc8b7fd787a4.png

3)存储结果

54d68d5e0532356253d495219f197adf.png

4)数据展示——乱码

67b24fd2b9d4578d449d58827c063961.png

10813f30004d50ab6193e2193d5aa356.png

5)针对网页转换乱码,可将输出格式转为gpkg(本地地理数据库)

5e5852f1140e77b4272a54698749f162.png

3.2 ArcGIS Editor for OpenStreetMap

ArcGIS Editor for OpenStreetMap不同版本下载地址,详见https://github.com/Esri/arcgis-osm-editor

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561407.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

两个字符串的最长公共子序列长度_程序员编程算法,解决文本相似度问题的最长公共子序列算法!...

在前面我讲解了如何通过最长公共子串来求解两个文本的相似度问题&#xff0c;但它有一定缺陷&#xff0c;举个例子&#xff0c;看下面的两个字符串我爱吃小青菜和各种鲜水果。我很爱吃青菜与各样水果。上面两个字符串&#xff0c;如果通过计算子串来求相似度&#xff0c;会发现…

VOC2007xml转YOLO的txt格式代码

使用方法&#xff08;二选一即可&#xff09;&#xff1a; python 这个文件名.py --xml_dir xml文件路径 --image_dir 图片所在路径 --out_dir 输出文件夹放在和VOC2007同级路径下运行即可 import os import xml.etree.ElementTree as ET import cv2 import argparse from tqd…

ctf up怎么写 write_??零基础写网络爬虫的思路??

网络爬虫&#xff0c;用一句话简单总结&#xff0c;就是一种按照一定的规则&#xff0c;自动的抓取万维网信息的程序或者脚本。写这篇文章的初衷是有个知友私信我说&#xff0c;模仿了很多网上用Python写爬虫的例子&#xff0c;但到了需要自己动手写爬虫的时候又不知道怎么写了…

VMwarestation环境下的centos7(Minimal)静态ip配置(桥接模式)

笔者本来是为了用三台centos7&#xff08;最小化安装版本&#xff09;的虚拟机搭建一个Zookeeper的环境&#xff0c;但是在搭建的过程中遇到了一些问题&#xff0c;遂记录之。 为了便捷&#xff0c;除了希望三台配置了静态ip的虚拟机可以和宿主机之间互相ping通之外&#xff0…

技术系统进化法则包括_技术系统进化论,模式五、技术集成以增加系统功能

阿奇舒勒TRIZ理论三个核心思想&#xff1a;1、无论是一个简单产品还是复杂的技术系统&#xff0c;其核心技术的发展都是遵循着客观的规律发展演变的&#xff0c;即具有客观的进化规律和模式&#xff1b;2、各种技术难题和矛盾的不断解决是推动这种进化过程的动力&#xff1b;3、…

zookeeper一键启动关闭JAVA_HOME在PATH中找不到报错踩坑记

最近看了尚硅谷的zookeeper教程&#xff0c;在集群环境搭建中&#xff0c; 有这么一个脚本zk.sh用来一键启动和查询 #!/bin/bash case $1 in "start"){ for i in zknode2 zknode3 zknode4 doecho ---------- zookeeper $i 启动 ------------ ssh $i "/opt/modu…

里面怎么使用import引用_谈谈模块化的 require 和 import

一、区别require是commonjs的规范&#xff0c;在node中实现的api&#xff0c;import是es的语法&#xff0c;由编译器处理。所以import可以做模块依赖的静态分析&#xff0c;配合webpack、rollup等可以做treeshaking。commonjs导出的值会复制一份&#xff0c;require引入的是复制…

HJ107 求解立方根

https://www.nowcoder.com/practice/caf35ae421194a1090c22fe223357dca 强行二分&#xff0c;这是一种不好的解法&#xff0c;缝缝补补&#xff0c;又臭又长 import java.util.Scanner; import java.math.BigDecimal;public class Main{public static void main(String[] arg…

mysql if exists用法_MySQL中EXISTS的用法

比如在Northwind数据库中有一个查询为SELECT c.CustomerId,CompanyName FROM Customers cWHERE EXISTS(SELECT OrderID FROM Orders o WHERE o.CustomerIDc.CustomerID)这里面的EXISTS是如何运作呢&#xff1f;子查询返回的是OrderId字段&#xff0c;可是外面的查询要找的是Cus…

二叉搜索树的建立和排序

二叉搜索树的建立和排序今天面了一家自研&#xff0c;有一道二叉搜索树的题目&#xff0c;但是自己做的不好 就是有几个学生和成绩&#xff0c;使用树来存储 左子树大于等于root&#xff0c;右节点小于root package org.example;public class Main {public static void main(S…

python绘图矩阵散点图_Python实践:seaborn的散点图矩阵(Pairs Plots)可视化数据

如何快速创建强大的可视化探索性数据分析&#xff0c;这对于现在的商业社会来说&#xff0c;变得至关重要。今天我们就来&#xff0c;谈一谈如何使用python来进行数据的可视化&#xff01;一旦你有了一个很好的被清理过的数据集&#xff0c;下一步就是探索性数据分析(EDA)。EDA…

项目入口_新进展!石家庄地铁项目长安公园站出入口全部封顶

(通讯员 韩静娟)5月3日&#xff0c;伴随着长安公园站C出入口最后一方混凝土的浇筑到位&#xff0c;由中铁隧道局路桥公司承建的石家庄地铁2号线06标长安公园站出入口全部封顶&#xff0c;为石家庄地铁二号线顺利开通打下了坚实的基础。石家庄地铁2号线作为石家庄市南北向骨干线…

echo怎么把日志清空_shell脚本清空系统message日志

1 #/bin/bash2 #此脚本用来清空系统message日志文件3 #author:wyf date:16/10/304 LOG_DIR/var/log5 ROOT_UID06 #必须系统管理员权限才能执行7 if [ "$UID" -ne "${ROOT_UID}" ]8 then9 echo "Must be root to run this script"10 …

一直显示数据格式错误_Excel数据分析,新手最容易犯的10个建表错误

在使用Excel 建立数据表时&#xff0c;养成规范、良好的制表习惯至关重要&#xff0c;这不仅有益于后期数据分析的顺利进行&#xff0c;而且能体现专业素质。下面介绍一些新手容易犯的规范上的错误。1.随意插入空格很多新手在制表时容易随意插入空格&#xff0c;认为这样可以更…

python编程中的运算_Python编程中的四大运算法则

接触过编程的人都知道&#xff0c;编程中的数学知识无处不在&#xff0c;通过数学建模能够解决我们实际生活中的很多问题。当然这并不是说必须要成为一名数学大神才能学编程&#xff0c;但掌握数学知识在编程中的表达方法却是很有必要的&#xff0c;今天南京小码王Python培训班…

python selenium 怎么查找modal悬浮窗的内容_python教程:五分钟从pubmed down几万篇文献...

小编有话说&#xff1a;hello guys!昨天推送的stata做图教程您学会了吗&#xff1f;有任何疑问欢迎后台咨询我们热心的罗仔。今天换个口味&#xff0c;学学python自动化。作为科研小达人&#xff0c;不学一些旁门左道傍身怎么行&#xff01;今天我们扒一扒pubmed&#xff0c;如…

安装git安装路径在哪_Atom插件安装与git的安装配置

一、Atom 插件在线安装1. 安装插件language-asciidoc 》语法高亮asciidoc-preview 》实时预览在dos 下通过cmd命令安装插件打开dos窗口 window可用快捷键 winr 再输入cmd安装language-asciidoc 输入 apm install language-asciidoc 如果apm不能识别请用 npm install language-…

如何让小程序页面更顺滑_小程序怎样让wx.navigateBack更好用的方法实现

相信只要开发过小程序&#xff0c;对wx.navigateBack 这个 api都不会陌生。在摩拜单车的小程序中&#xff0c;它也被改造的更方便满足复杂的业务需求&#xff0c;可谓之 增强型的 wx.navigateBack。先来看看官方文档中的用法&#xff1a;wx.navigateBack({delta: 2})delta 表示…

编制一个c语言成绩记录簿_C语言基础知识点模拟试题

一、单选题(每题2分&#xff0c;共25题&#xff0c;共50分)执行以下程序后&#xff0c;输出结果是( )int a 255;char c;ca;printf("%d",c);A)255 B)0 C)-3 D)-1有以下程序#include void main( ){ FILE *fp; int i,k0,n0; fpfopen("d1.dat&…

opencv方框内图像保存_opencv::将两幅图像合并后,在同一个窗口显示;并将合并的图像流保存成视频文件...

/*** file main-opencv.cpp* date July 2014* brief An exemplative main file for the use of ViBe and OpenCV*///#include #include "vibe-background-sequential.h"using namespacecv;using namespacestd;const int minArea 2; //舍去面积极小的方框const doubl…