交通分析小区TAZ生成——以武汉市为例
针对git上一个make-taz的项目,写了个手把手教学的使用手册,感谢up主的耐心解答~ 如果觉得本教程有用,记得给大佬的项目点个star~步骤1. 获取OSM路网数据2. 选择合适规模的路网3. 要素转栅格4. 计算栅格5. 导出栅格6. 自动生成7. 栅格转面8. 计算wkt1. 获取OSM路网数据OSM数据是开源的,这里进入OSM网站直接导出:由于我们需要的武汉市的数据过大,所以这里没有直
针对git上一个make-taz的项目,写了个手把手教学的使用手册,感谢up主的耐心解答~ 如果觉得本教程有用,记得给大佬的项目点个star~
1. 获取OSM路网数据
OSM数据是开源的,这里进入OSM网站直接导出:
由于我们需要的武汉市的数据过大,所以这里没有直接在地图上进行框选,而是选择了Geofabrik下载,依次选择Asia -> China -> china-latest-free.shp.zip,数据的属性在Format description PDF 中可以查看。
接下来打开ArcGIS Pro添加路网文件gis_osm_roads_free_1.shp,根据所需区域的边界剪裁出需要的部分:
2. 选择合适规模的路网
根据具体的需求选取合适level、数量的路网,本项目中选取了code<=5115的Major roads,下图为Format description PDF中对roads的描述:
记得要将选好的路网和城市边界(面转线)合并成一个shp文件!!
3. 要素转栅格
使用 feature to raster要素转栅格工具,字段这里我选了osm_id(GIS小白不太懂要是选别的会怎么样),需要注意的是输出像元要设置的小一点,默认的像元太大导致靠近的两条路会挤到一起,生成的小区数会很少,例如像武汉市800+平方公里的面积只能生成一百多个小区,输出像元我目前使用的是2e-04,能生成4000+个小区(后面会调)
4. 计算栅格
使用 raster calculator栅格计算器工具,将背景设置为0,前景(道路)设置为1,公式为:
Con( IsNull("%第三步生成的栅格名称%"),0,1)
5. 导出栅格
右击栅格图层,选择数据 -> 导出栅格,输出tif格式文件
6. 自动生成
环境:python 3.7
将第五步中生成的tif文件作为输入,修改test中输入输出路径,得到分割后的tif文件
7. 栅格转面
将第6步得到的输出放入ArcGIS中,使用raster to polygon栅格转面工具转换为shp文件
8. 计算wkt
为后续的需求计算小区们的边界,使用数据管理工具下的计算字段工具,计算Geometry字段的公式如下:
Geometry = !Shape!.wkt
由于很多边界是极度不规则的,需要很多坐标点,所以可能会有写不进去的问题。(这里也许可以使用大佬项目里的simplify功能,待实验后来更新~)
为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。
更多推荐
所有评论(0)