【城事数说】时空圈—大城市之间的比较
读研的时候写的
基于导航数据的
「新一线城市」公交优先度研究
的一篇水文的草稿
本来想水一水发一发
最后也就作罢了
内容还是以前的==
可能现在已经不这样了
随便看看吧~
什么是导航数据
◆ ◆ ◆
一言以蔽之,就是大家平常用的地图导航软件中的导航功能。
大家平时用的时候,是不是要先设置一个起点和一个终点,然后导航会告诉你走哪条路线以及花费的时间以及行驶的路程?
对,今天用的就是这个数据。大概的思路就是设置一个起点,然后按照一定的距离把市域划分成很多个终点,计算起点到每一个终点的距离时间。
具体的百度API接口参数如下图所示。
首先要在ArcGIS里构建渔网,获取中心点的经纬度作为起点(或终点),然后参考以下代码:
import xlwt
import requests
import urllib
import math
import re
import json
#通过request获取返回时间
def get_time(coordinate,mode):
api_addr="http://api.map.baidu.com/direction/v1?mode="+mode+"&origin="+coordinate+"&destination=39.905556,116.424722&origin_region=%E5%8C%97%E4%BA%AC&destination_region=%E5%8C%97%E4%BA%AC&output=json&coord_type=wgs84&ak=你的密匙"
req=requests.get(api_addr)
content=req.content
sjson=json.loads(content)
if sjson.has_key("result"):
#print sjson["status"]
if sjson["status"]==0:
if mode=="transit":
if sjson["result"].has_key("routes"):
if sjson["result"]["routes"][0].has_key("scheme"):
time=sjson["result"]["routes"][0]["scheme"][0]["duration"]
else:
time=sjson["result"]["routes"][0]["duration"]
else:
time=0
else:
if sjson["result"].has_key("routes"):
if sjson["result"]["routes"]==None:
time=0
else:
time=sjson["result"]["routes"][0]["duration"]
else:
time=0
else:
time=0
else:
time=0
print coordinate,time
return time
def run():
#mode是模式driving(驾车)、walking(步行)、transit(公交)、riding(骑行)
mode="driving"
#data 是输入的表格
data=xlrd.open_workbook('data0428.xlsx')
rtable=data.sheets()[0]
nrows=rtable.nrows
values=rtable.col_values(0)
workbook=xlwt.Workbook()
#新建输出表格
wtable=workbook.add_sheet('driving_zxd_p',cell_overwrite_ok=True)
row=0
for i in range(nrows):
s1=str(rtable.row_values(i)[2])+","+str(rtable.row_values(i)[1])
time=get_time(s1,mode)
wtable.write(row,0,rtable.row_values(i)[0])
wtable.write(row,1,rtable.row_values(i)[1])
wtable.write(row,2,rtable.row_values(i)[2])
wtable.write(row,3,time)
row=row+1
#保存输出表格
workbook.save('driving_zxd_p.xls')
if __name__=='__main__':
run()
有关代码的问题不要问我,我的水平大概就是,只会用复制代码改一改参数直接用。(很多时候是在失败后直接放弃==)
请参考博客文章:利用百度地图API制作城中心交通时空圈
https://blog.csdn.net/taijiedi13/article/details/51279959
选取城市
数据获取与可视化制图
指标选取
下面来看一下最后可视化的结果(没错,只有小图)
结论
这一部分只有数据,还没啥结论哈哈哈哈哈==
说一下这次重读这篇旧文的一些想法:
1.城市形态不同,不管是1小时自驾等时圈还是1小时公交等时圈都不能直接比较。平原城市(类圆形)肯定会比沿海沿江沿山城市(类条带形)范围大,毕竟没有地理阻隔,当然或许也可以换一个论证主题说不同形态城市的之间的等时圈比较。
2.多中心和单中心的影响差异很大,不仔细考虑是不科学的。
3.结合上述两点,1小时公交等时圈与1小时自驾等时圈的比值(即我所谓的公交优先度)物理意义应该是比较清晰便于理解的,直到现在我都觉得这个指标有价值。
4.比起这些宏观的比较,使用等时圈的方法测度城市中某类设施的分布会是更好的研究方向。
谨以此文,纪念我当初那些只有idea却没有发表在水刊上的文章。
那今天就到这里结束啦,顺便说一句,文中的图片未经许可不要随便“引用”
如果可以的话,希望能够转发分享,点个在看,给个赞赏~~也欢迎规范转载~
END>
如需全文转载文章、投稿或者合作
可添加微信
(回复超慢!!!)
(不要添加我问各种问题,我大概率不会的==)
(添加后会在晚上非工作时间通过,请稍安勿躁)
使用关键词搜索历史文章请点击【阅读原文】