基于他们的成果,本文将ArcGIS中网络分析功能进行算法提取,利用Python语言与ArcGIS的结合实现网络分析功能,既保留网络分析的现有功能,同时拥有程序语言的优势,即批量操作,可根据需求更改拓展,还能改善实际应用中面临的分析处理量大、要素杂多、变更频繁等情况,希望能够为江苏省区域交通分析提供一些方法借鉴。
2 研究区概况
江苏省地处中国大陆东部沿海地区中部,长江、淮河下游,东濒黄海,北接山东,西连安徽,东南与上海、浙江接壤,是长江三角洲地区的重要组成部分。江苏省交通非常发达,公路、铁路是主要的交通形式,截至2015年10月底,江苏实现县县通高速,高速公路通车里程4600公里,密度中国居首。首轮规划的“四纵四横四联”高速公路网主骨架全面建成,包括京沪高速公路、沈海高速公路、沪宁高速公路、苏嘉杭高速公路、连徐高速公路、盐靖高速公路、宁宿徐高速公路、宁杭高速公路、沿江高速公路、徐济高速公路、宁连高速公路等。江苏铁路交通发达,现已覆盖全省,京沪铁路、陇海铁路两条铁路干线经过境内,京沪铁路主要呈东西向穿越江苏的南部,陇海铁路也呈东西向经过江苏的最北部,徐州则为两大干线交汇的枢纽。京沪铁路南京至上海段为中国最繁忙的铁路之一,高峰时段平均每5分钟就有列车通过。除此之外,还有新长铁路、宁芜铁路、宁启铁路、宁西铁路、宁杭城际和宁安城际客运专线。截至2013年,江苏全省2718公里铁路总里程中,高铁里程达1228公里。江苏省新一轮铁路建设12个项目中有11个列入国家计划,10个主体位于苏北,分别是沪通铁路、连淮扬镇铁路、徐宿淮盐铁路、新长铁路盐城至海安段改造、宁启铁路二期、青连铁路、符夹铁路改造工程7个新开工项目,宁启铁路复线电气化改造工程、郑徐高铁、连盐铁路3个在建项目。
3 算法及其Python实现
最短路径问题是图论研究中的一个经典算法问题,旨在寻找图中两结点之间的最短路径。而区域间的最短路径在某种意义上可以被定义为一个区域的固有属性,通俗了讲就是区域间的最省钱、最省力、最划算的路线。它是地理信息系统网络分析中最基本、最关键的问题,在交通网络结构的分析、交通运输线路的选择、通讯线路的建造和维护、运输货流的最小成本分析、城市公共交通网络规划等方面,都有直接应用的价值。而影响最短路径确定的因素可以包括很多,如现有道路网、路口,还有道路等级等等因素。本文所用人口、GDP等统计数据,均来自历年《江苏省统计年鉴》,交通网数据来自中国地图出版社出版的2016版《江苏省交通地图》,基于以上数据来研究区域内各地级市间的最短路径。
3。1 轴线拟合
首先在城市点之间进行拟合:画一条线,根据阈值(如10km),然后让线自动snap到最近的城市点上去,形成了一条连接城市点的连续曲线(图1)。如画一条徐州市到盐城市的直线,那么宿迁市和淮安市可能就自动被snap到该线上,然后这条轴线的组成就是“徐州市-宿迁市-淮安市-盐城市”。实现代码为:
import arcpy
import os
from Weights import distance2SWM
#设置阈值
def MakeAxis(inPoint,inPolyline,threshold,outPolyline):
#创建点图层
loc = []
arcpy。MakeFeatureLayer_management(inPoint, "point")
#对点要素进行10KM距离选择
distance = str(threshold) + " " + "Kilometers"