针对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功能,待实验后来更新~)

Logo

为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。

更多推荐