参考文章
https://blog.csdn.net/weixin_42632778/article/details/115164518 TAZ生成
https://zhuanlan.zhihu.com/p/343576683 使用ArcGIS实现线转栅格
https://pro.arcgis.com/zh-cn/pro-app/latest/tool-reference/conversion/polyline-to-raster.htm ArcGIS Pro 折线转栅格 (转换)
https://pro.arcgis.com/zh-cn/pro-app/latest/tool-reference/spatial-analyst/raster-calculator.htm ArcGIS Pro 栅格计算器
需要用到make-taz的代码https://github.com/zhuang-hao-ming/make-taz,可以提前装好环境,尝试运行代码中的test.py验证是否安装成功。python requirement环境我会贴到下面。
1. 第一步 获取路网
TAZ是根据路网生成过来的,因此需要一张路网数据,去OSM官网、各种地理数据的公众号或者找自己的师兄师姐要吧。
2. 第二步 用ArcGIS折线转栅格
- 首先点击工具栏的“分析-工具”调出右边的工具面板,然后搜索“折线转栅格”
- 然后设置参数,值字段必填,像元大小可以设置小一点
3. 第三步 用栅格计算器生成01二值栅格
参考https://blog.csdn.net/weixin_42632778/article/details/115164518
使用 raster calculator栅格计算器工具,将背景设置为0,前景(道路)设置为1,公式为:
Con( IsNull("%第三步生成的栅格名称%"),0,1)
输出结果
4. 第四步 代码运行(如果数据很大,这一步非常非常非常久)
按照github文档pip install make-taz
之后,还需要安装以下依赖。跑的时间确实很久,截止到文章发布,我的已经跑1小时了…
affine==2.3.1
attrs==22.2.0
certifi==2022.12.7
click==8.1.3
click-plugins==1.1.1
cligj==0.7.2
Fiona==1.8.22
imageio==2.24.0
importlib-metadata==6.0.0
munch==2.5.0
networkx==2.6.3
numpy==1.21.6
packaging==23.0
Pillow==9.4.0
pyparsing==3.0.9
PyWavelets==1.3.0
rasterio==1.2.10
scikit-image==0.19.3
scipy==1.7.3
shapely==2.0.0
six==1.16.0
snuggs==1.4.7
tifffile==2021.11.2
typing_extensions==4.4.0
zipp==3.11.0