新普金娱乐网址


地理一个人数的冬季既这样冷了,哪种火锅才会救你的孤独

新部件编码的生成流程

Python爬虫——城市公交、地铁站点和路数量收集

  • 九月 17, 2018
  • 地理
  • 没有评论

  爬虫采集原始数据如下:

文章版权由作者李晓晖与博客园共有,若转载请让大庭广众处于标明出处:http://www.cnblogs.com/naaoveGIS/。

 图片 1

4.瓦片拼接流程

         图片 2

由此流程图可以见到,瓦片的拼接需要经过遍历X轴和Y轴。依次获得瓦片屏幕坐标后拼接。这里涉及到X轴和Y轴时之遍历个数,其实就算是伸手到之拥有瓦片,在X轴上的个数与Y轴上之个数。同样,在第三章节里我本着这个个数的折算出比详细的教学,这里不再累述。

图片 3

3.任意瓦片屏幕坐标的计量

一致,我先是让闹有关的公式:

coord.x = offSetX + ( clipX – fixedTileLeftTopNumX)* tileSize;

coord.y = offSetY + ( clipY – fixedTileLeftTopNumY)* tileSize;      

英文代表如下意思:

offSetX、offSetY:最左上角瓦片的屏幕坐标

clipX、clipY:目前瓦片的班号

fixedTileLeftTopNumY、fixedTileLeftTopNumY:最左上角瓦片的阵号

tileSize:瓦片大小(一摆设瓦片的像素)

coord:目前瓦片的屏幕坐标

这里的fixedTileLeftTopNumY和fixedTileLeftTopNumY,在第三章里我同样介绍了安赢得。

  附上博主的解析函数:

1.前言

每当头里的五只章节中,我们当首先章节里介绍了WebGIS的骨干框架和技术,第二章节节里介绍了哟是瓦片行列号以及计算其的原因,第三节节里介绍了什么通过地理范围计算出这个限制外瓦的行列号,第四及第五节节里介绍了当获瓦片行列号晚安得到离线和在线地图的URL,这个节里,我们拿介绍于经过URL得到瓦片后,如何以那个形在浏览器相对应之地方,拼接出整块地图。

图片 4

2.左达标比瓦片起始点屏幕坐标的计

在第三章节被,我介绍了于左上角瓦片起始点屏幕坐标的折算原理与法,这里我更被闹这公式:

offSetX = ((realMinX- minX )/resolution);

offSetY = ((maxY – realMaxY )/resolution);

英文代表如下意思:

realMinX、realMaxY:请求的左上角瓦片对应的真地理坐标(geoX,geoY)。

minX、maxY:屏幕可视范围之左上角对应之实在地理坐标(geoScreenX,geoScreenY)。

resolution:当前地图级别里屏幕一像素代表的其实地理单位长度。

因可视范围里,左上角屏幕坐标为(0,0)。

因而offSetX和offSetY便也左上角瓦片的起始点屏幕坐标(offSetX,offSetY)。

此间而大家对以上参数的折算出免了解之处,请查看这系列中之老三节——通过地理范围换算出行列号。

图片 5

5.前端地图显示整体流程

          图片 6

收获的地图效果图如下:

               图片 7

 1 def main():
 2     df = pd.read_excel("线路名称.xlsx",)
 3     BaseUrl = "https://ditu.amap.com/service/poiInfo?query_type=TQUERY&pagesize=20&pagenum=1&qii=true&cluster_state=5&need_utd=true&utd_sceneid=1000&div=PC1000&addr_poi_merge=true&is_classify=true&"
 4     for bus in df[u"线路"]:
 5         params = {
 6             'keywords':'11路',
 7             'zoom': '11',
 8             'city':'610100',
 9             'geoobj':'107.623|33.696|109.817|34.745'
10         }
11         print(bus)
12         paramMerge = urllib.parse.urlencode(params) 
13         #print(paramMerge)
14         targetUrl = BaseUrl + paramMerge
15         stationFile = "./busStation/" + bus + ".csv"
16         lineFile = "./busLine/" + bus + ".csv"
17         
18         req = urllib.request.Request(targetUrl)
19         res = urllib.request.urlopen(req)
20         content = res.read()
21         jsonData = json.loads(content)
22         if (jsonData["data"]["message"]) and jsonData["data"]["busline_list"]:
23             busList = jsonData["data"]["busline_list"] ##busline 列表
24             busListSlt = busList[0] ## busList共包含两条线,方向不同的同一趟公交,任选一趟爬取
25             
26             busStations = extratStations(busListSlt)
27             busLine = extractLine(busListSlt)
28             writeStation(busStations, stationFile)
29             writeLine(busLine, lineFile)
30             
31             sleep(random.random() * random.randint(0,7) + random.randint(0,5)) #设置随机休眠
32         else:
33             continue

6.总结

由来,WebGIS中前端地图显示系列就是停了。我深信不疑大家在这个系列里,或多或少都针对WebGIS有矣初的认。我们掌握图像分为栅格图像及矢量图像,这里我仅仅只是介绍了栅格图像在WebGIS中之加载,那么矢量图像怎么加载呢?同样,有矣这些规律知识,我们欠如何计划栅格图像类,以及随后的矢量图像类等等也?在产一个层层里,我们以开始探索WebGIS中核心类的筹划。希望大家不断关注。

 

 

高中时,看别人吧,总以为是为了伪装
高校时,室友有时候躲在平台及压缩闷烟,那时候看吸烟的人或心里面有点故事
上研时,一个研友经常夜深人静里一边敲代码一边抽烟,开始看用吧来提神是可以理解的
办事到现,看到身边的爱侣吧,不再想着即是以驱散苦、释放乐、缓解困乏、扮深沉。抽烟只是一个粗略的事情如果都

                                                         
—–欢迎转载,但保留版权,请吃大庭广众处于标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                 
如果你认为本文确实帮了公,可以微信扫一扫,进行小额的打赏和鞭策,谢谢
^_^

                                    图片 8

 

图片 9

  因祈求吧公交为例,点击某一样公交后,出现该路公交的事无巨细站点信息和地图信息。博主顿感兴奋,觉得这将打响了,各种抓包,发现并无克分析。可能博主技术所界定,如产生大神能从中抓到站点及线路的坐标信息,请不宁赐教。这TM就受人到底了哟,到嘴的肥肉吃不了。

  主要爬取代码如下,其实也够呛简单,主函数如下。首先要构建传入的参数,主要的统揽路线名称,城市编码,地理范围,缩放尺度。地理范围可经坐标拾取器获取,参数经url编码后,发送请求,判断返回数据是否符合要求(注:可能该线地图上停运或者未有,也说不定是访问速度过快,反爬虫机制亟待人工验证,博主爬取的时候遇到了,所以后面设置了任性休眠)。接下来,就是解析json数据了。代码中之extratStations和extractLine,就是取需要的字段,怎么样,是勿是蛮简短。最后,就是保存了,站点以及途径分别存储。

 

 1 def extratStations(busListSlt):
 2     busName = busListSlt["name"]
 3     stationSet = []
 4     stations = busListSlt["stations"]
 5     for bs in stations:
 6         tmp = []
 7         tmp.append(bs["station_id"])
 8         tmp.append(busName)
 9         tmp.append(bs["name"])
10         cor = bs["xy_coords"].split(";")
11         tmp.append(cor[0])
12         tmp.append(cor[1])
13         wgs84cor1 = gcj02towgs84(float(cor[0]),float(cor[1]))
14         tmp.append(wgs84cor1[0])
15         tmp.append(wgs84cor1[1])
16         stationSet.append(tmp)
17     return stationSet
18 
19 def extractLine(busListSlt):
20     ## busList共包含两条线,备注名称
21     keyName = busListSlt["key_name"]
22     busName = busListSlt["name"] 
23     fromName = busListSlt["front_name"]
24     toName = busListSlt["terminal_name"]
25     lineSet = []
26     Xstr = busListSlt["xs"]
27     Ystr = busListSlt["ys"]
28     Xset = Xstr.split(",")
29     Yset = Ystr.split(",")
30     length = len(Xset)
31     for i in range(length):
32         tmp = []
33         tmp.append(keyName)
34         tmp.append(busName)
35         tmp.append(fromName)
36         tmp.append(toName)
37         tmp.append(Xset[i])
38         tmp.append(Yset[i])
39         wgs84cor2 = gcj02towgs84(float(Xset[i]),float(Yset[i]))
40         tmp.append(wgs84cor2[0])
41         tmp.append(wgs84cor2[1])
42         lineSet.append(tmp)
43     return lineSet

  城市公交、地铁数量反映了城市的公共交通,研究该数据可挖掘城市的通结构、路网规划、公交选址等。但是,这类似数据往往控制在特定机构中,很麻烦得到。互联网地图上发出恢宏的信息,包含公交、地铁等数码,解析其数据反映方式,可以透过Python爬虫采集。闲言少叙,接下去将详细介绍如何使用Python爬虫爬取城市公交、地铁站点和数码。

  以下是某某平等久公交站点和线路的处理后的数量显示。由于不同之地图商采用不同的坐标系,会出两样程度之病,需要坐标纠偏。下同样步,博主将详细介绍如何批量将这些站点以及坐标进行坐标纠正及矢量化。

  地图API可以,那么通过地图抓包也?打开某贪图主页,直接输入某市公交名称,通过抓包,成功找到站点和路线信息。具体抓包信息若下图所出示,busline_list中详细列有了站点以及线路的信,其中起三三两两久,是千篇一律遍公交不同倾向的数目,略发反差,需小心。找到入口过后,接下爬虫就设大显身手了。

图片 10

  天无绝人之路,尝试寻找找某地图的API,发现可调用,通过分析,能够找到该数量的后台地址。熟悉前端的得试,博主前端也即单纯见面只hello
world,不孝敬丑了。这是相同种思路,实践证明是足以的。

  本篇博文也博主原创,转载请注明。

  首先,爬取研究都之备公交和地铁线路名称,即XX路,地铁X号线。可以通过图吧公交、公交网、8684、本地宝等网站取得,该类网站提供了仍数字和字母划分类别的公交线路名称。Python写单大概的爬虫就可知采访,可参看WenWu_Both的稿子,博主详细介绍了何等使用python爬取8684臻有都具备的公交站点数据。该博主采集了站点详细的音信,包括,但是缺乏了公交站点的坐标、公交线路坐标数据。这就给人抓捕狂了,没有空间坐标怎么抱图,怎么分析,所以,本文重点介绍的凡站点坐标、线路的博。

相关文章

No Comments, Be The First!
近期评论
    分类目录
    功能
    网站地图xml地图