带有自动令牌处理的onemap api的python包装客户端
onemapsg的Python项目详细描述
OneMap API客户端
OneMap API的Python包装客户端
这里的文档:https://docs.onemap.sg/#static-map
pypi链接:https://pypi.org/project/onemapsg/
在此处注册api密钥:https://developers.onemap.sg/signup/
此客户端:
- 验证有效的API令牌,并根据需要刷新!
- 把所有的东西都当作一本好字典!
示例用法
fromonemapsgimportOneMapClientClient=OneMapClient("YOUR_EMAIL","YOUR_PASSWORD")Client.search("Dragon View Park")# Result'''{'found': 1, 'totalNumPages': 1, 'pageNum': 1, 'results': [{'SEARCHVAL': 'DRAGON VIEW PARK', 'BLK_NO': '', 'ROAD_NAME': 'NIL', 'BUILDING': 'DRAGON VIEW PARK', 'ADDRESS': 'DRAGON VIEW PARK SINGAPORE', 'POSTAL': 'NIL', 'X': '27415.382888752', 'Y': '31015.7030415982', 'LATITUDE': '1.29676950856585', 'LONGITUDE': '103.828065538017', 'LONGTITUDE': '103.828065538017'}]}'''
安装
pip install onemapsg
学分
OneMap团队提供了非常好的API
作者:甲基龙
支持我的努力!
客户端接口
包括截至2019年2月的完整API,还支持在客户折旧情况下的通用API查询:
特定于客户端
初始化客户端
Client = OneMapClient(email, password)
在初始化时生成标记
生成新标记
get_token(email=None, password=None)
返回:
令牌,到期日
一般查询
query_api(endpoint, param_dict)
类方法
记住要这样使用它们!Client.method()
位置搜索
- 搜索
search(search_val, return_geom=True, get_addr_details=True, page_num=1))
- 反向地理代码(SVY21和WGS84)
reverse_geocode_SVY21(coordinates, buffer=10, address_type="All", other_features=False)
reverse_geocode_WGS84(coordinates, buffer=10, address_type="All", other_features=False)
坐标转换
- WGS84、SVY21和3857之间的所有转换器
WGS84_to_EPSG(coordinates)
WGS84_to_SVY21(coordinates)
SVY21_to_EPSG(coordinates)
SVY21_to_WGS84(coordinates)
EPSG_to_SVY21(coordinates)
EPSG_to_WGS84(coordinates)
主题
- 检查主题状态
check_theme_status(query_name, date_time)
- 获取主题信息
get_theme_info(query_name)
- 获取所有主题
get_all_themes_info(more_info=False)
- 检索主题
retrieve_theme(query_name, extents=None)
规划区域
- 获取所有规划区域
get_all_planning_areas(year=None)
- 获取规划区域名称
get_planning_area_names(year=None)
- 获取规划区域边界
get_planning_area_bounds(coordinates, year=None)
填充查询
- 经济状况
get_economic_statuses(year, planning_area, gender=None)
- 教育出勤率
get_education_attendance(year, planning_area)
- 民族
get_ethnic_groups(year, planning_area, gender=None)
- 家庭工作收入(月)
get_household_monthly_work_income(year, planning_area)
- 家庭规模数据
get_household_sizes(year, planning_area)
- 家庭结构数据
get_household_structures(year, planning_area)
- 工作收入数据
get_work_income(year, planning_area)
- 工业人口
get_industries(year, planning_area)
- 语言素养数据
get_language_literacy(year, planning_area)
- 婚姻状况数据
get_marital_statuses(year, planning_area, gender=None)
- 传输到学校数据的方式
get_modes_of_transport_to_school(year, planning_area)
- 工作数据传输方式
get_modes_of_transport_to_work(year, planning_area)
- 职业数据
get_occupations(year, planning_area)
- 年龄数据
get_age_groups(year, planning_area)
- 宗教资料
get_religious_groups(year, planning_area)
- 口语数据
get_spoken_languages(year, planning_area)
- 租赁数据
get_tenancy(year, planning_area)
- 户型数据
get_dwelling_types(year, planning_area)
- 居住类型人口数据
get_population_by_dwelling_types(year, planning_area)
路由服务
- 获取路线
get_route(start_coordinates, end_coordinates, route_type)
- 获取公共交通路线
get_public_transport_route(start_coordinates, end_coordinates, date, time, mode, max_walk_distance=None, num_itineraries=1)
静态地图生成器
- 生成静态映射
generate_static_map(layer_chosen, location, zoom, width, height, polygons=None, lines=None, points=None, color=None, fill_color=None)
OneMap API客户端更改日志
v1.0.0-2019年7月9日
添加了
- 初始版本:
- 具有完整API的OneMapClient