arcgis+openstreetmap实践(需要注意的地方)

作者:WenWu_Both
出处:http://blog.csdn.net/wenwu_both/article/
版权:本文版权归作者和CSDN博客共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文链接;否则必究法律责任

1. 数据的获取

数据获取方面,主要包括3种途径:
(1)python的osmnx包;
安装osmnx包,可以获取相应的shp文件,具体可以看osmnx的相关介绍:osmnx的GitHub

conda install -c conda-forge osmnx
or
pip install osmnx

注意的是,osmnx依赖于其他包,所以安装的时候可能会报错,根据报错原因将其他几个包安装好即可。
包的玩法可以参考:
http://blog.csdn.net/wywywywywywy123456/article/details/71367664
http://www.chinacloud.cn/show.aspx?id=24693&cid=16

(2)openstreetmap.org 网站本身提供地图数据的下载服务
注意的是:范围不能过大,否则会报错,大区域的地图数据需要切片下载,然后拼接。
优点:数据格式为.osm,本质上就是xml文档,所以可以将其解析,制作自定义的arcgis文件,可操作性较强,且获取的信息最丰富;
缺点:需要一定的编程基础,有门槛。

(3)第三方网站打包下载
全球范围:
主站:http://planet.openstreetmap.org/ 一周左右更新一次,一般是在周二。
其他下载点:http://wiki.openstreetmap.org/wiki/Planet.osm#Mirrors

非全球范围:
对于不需要全球范围数据的用户,可使用Planet extracts找到需要的部分然后下载。
比较好的一个:http://downloads.cloudmade.com/

优点:简单方便,数据批量下载,易于管理;
缺点:需要自行切割,数据信息缺失等。

3种数据获取方式各有优缺点,实际应用时看具体项目的要求。

2. 数据的处理
(1)对于第二种数据获取方式,需要解析下载的osm文档,提取地图相应的拓扑信息。
推荐使用python的xml.dom.*包;

import xml.dom.minidom 

(2)点、线、面的shp文件生成
具体可以参见博客:百度地图API+ArcGIS软件—城市出行时空数据可视化

3. 网络分析

建立好路网拓扑后,可以运用arcgis的网络分析模块进行数据的挖掘分析,如最短路径、服务区、最近设置点、OD成本矩阵等,具体分析的过程就不多说了,网上非常多的教程,主要记录一下自己在实践的过程中遇到的问题:

(1)OD成本矩阵的距离是行驶距离,而非直线距离,其大小与最短路径是一致的。
在建立OD成本矩阵时,虽然图上的线型是直线,但其距离是行驶距离,所以可以用其求解1到n,n到n之间的行驶距离矩阵。

(2)线要素一定要有类型为文本类型的属性,即道路的Name
这样才能够在构建网络数据集的时候添加方向设置,否则构建的网络数据集中将不包含方向指南。因此这里我们添加了道路的名称,目的用于之后生成方向指南。

(3)各要素要指定空间参考,否则无法设置方向属性
API调用网络分析服务时,directions方向数据为null,这个也是当初困扰笔者很久的问题,明明属性字段里有name道路名称,调用得到了Route数据,为什么directions数据为空呢。direction数据是我们网络分析结果必须要用到的,指示了整个Route怎么走的。后面网上查了下,是因为原始道路网数据必须设置空间参考

方法:ArcToolbox-数据管理工具-投影和变换-定义投影
一般投影选择“WGS 1984”,跟具体坐标系一致即可。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值