arcgis路网密度计算
公共交通线网密度δ网
δ网=L/F
式中:L—有公交线路的道路中心线总长度,km;
F—有公共交通服务的城市用地面积,k㎡。
1.爬取城市公交线路信息、区域边界坐标。爬取的数据写入**.csv文件
*这里注意坐标转换问题
lines = find("lines")
# 1. 创建文件对象
file = open('./长沙公交路线.csv', 'w', encoding='utf-8', newline="")
# 2. 基于文件对象构建 csv写入对象
csv_writer = csv.writer(file)
# 3. 构建列表头
csv_writer.writerow(["序号", "lon", "lat", "name"])
p = 0
for line in lines:
list = line.get('polyline').split(';')
name = line.get('name').split("(")
for i in range(len(list)):
point = list[i].split(',')
lonlat = transform.gcj2wgs(float(point[0]), float(point[1]))
# 4. 写入csv文件内容
csv_writer.writerow([p, lonlat[0], lonlat[1], name[0]])
p += 1
# 5. 关闭文件
file.close()
```
- 使用arcmap添加.csv文件 2.1显示XY数据
xy字段填CSV文件里面自己写入的经纬度字段,坐标系我是wgs 1984的
须统一坐标系
2.2导出数据为要素
2.3点集转线
2.4添加缓冲区
注意统一坐标系,没统一坐标系缓冲区会报错无法生成
2.5导出地图
采用tiff方式记录坐标,格式设置为1位单色阈值(非常重要)。如果不选这项,默认出来是RGB三个通道的栅格数据,加载任何一个通道都没法实现栅格数据二值化,意味着无法使用ArcScan功能,所以此处必须要设置。
根据实际需要设置好dpi,这个是直接影响图形识别的因素。Dpi是根据具体的地图图幅进行设置,因此,可能需要尝试多次,找一个比较合适的值,这样图像才能清晰保存下来。
3.导出的栅格地图加载到arcmap
3.1新建一个线要素图层
统一坐标系
3.2加载arcscan工具条
3.3对栅格数据进行充分类,设置为两类,0和1 ,这就是二值化处理。如果不做分类,ArcScan同样不能识别栅格数据。
4.打开编辑器,开始编辑,选中新建的折线。
4.1在arcscan工具条中可以显示预览
预览效果如下图
4.2蓝色部分为没有捕捉到,可以设置一下工具条
将栅格捕捉适当调整一下
4.3调整完毕后可以点击生成按钮生成最终的效果
5.停止编辑并保存数据即可完成中心线路网提取。
6.区域面积
重复2.1 - 2.2 - 2.3
6.1 要素转面
6.2计算面积
投影坐标系 = 经度 / 6 + 31
6.3 打开属性表添加字段