university_location_fetch_osm.py

作者:字禹润

Overview

该子程序目前主要的地图数据获取方式。程序将通过谷歌API获取地点的格式化文本信息并存储为.json文件。然后用OSMnx查询目标地点的相关GIS数据,并保存为.gpkg文件。

下面的内容将对程序代码中一些重点部分进行解释

常量变量

google_api_url

类型:string

该变量为Google Place API的请求URL,请求格式为:

https://maps.googleapis.com/maps/api/place/textsearch/json?query={query}&language=zh-CN&key={API_KEY}

其中,query为地点名称,规定了获取信息的语言为zh-CN,并规定了使用的API_KEY

该变量内URL的详细使用方法详见:https://developers.google.com/maps/documentation/places/web-service/search-text

input_file_path

类型:list

该变量存储了一系列文件地址,这些文件位于map_data/category中,为名录文件,例如:欲获取地点的地点名录

query_formal_name

类型:string

该变量为query变量中空格替换为下划线后的版本

存储目录

其中,gpkg_features_path.gpkg文件的统一存储地址,gm_features_path.graphml的统一存储地址,info_file_path为基本信息json文件的统一存储地址

谷歌数据获取部分

在这个部分中,将使用Google Place API获取地点的如下信息:

  • 中文名

  • 格式化地址 (formatted address)

  • 评分

然后这些数据将被存储到info_file_path中为*_info.json文件,该文件示例如下:

路网数据获取部分

将使用OSMnx中的graph_from_address获取一个NetworkX中的MultiDiGraph对象,作为查询地点的路网数据集,该数据集将用于路径规划功能。

其中,dist参数规定了数据的获取半径,此处为2000m

根据OSMnx官方教程中的说法,该数据文件适合被存储为.graphml文件

区域获取

该部分会获取查询地点的所占区域,该功能目前展示没有作用

建筑物获取

将使用OSMnx中的features_from_place方法获取该请求地点内的所有建筑物,返回一个GeoDataFrame。为避免重新读取时造成GeoDataFrame构造器识别格式冲突,需修改当前GeoDataFrame

设施获取

同建筑获取,这里也需要修改当前GeoDataFrame

Last updated