OneMap API的Python包装客户端,具有自动处理令牌功能
项目描述
OneMap API客户端
OneMap API的Python包装客户端
PyPI链接:https://pypi.ac.cn/project/onemapsg/
在此注册API密钥:https://developers.onemap.sg/signup/
此客户端
- 对有效的API令牌进行认证,并在需要时刷新!
- 以字典形式返回一切!
示例用法
from onemapsg import OneMapClient
Client = 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
-
作者:methylDragon
支持我的努力!
客户端界面
包括截至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.3 - 2021_07_21
修复
get_token()
已更新以适应新的JSON API
v1.0.2 - 2020_02_10
修复
- 修复了在
get_public_transport_route()
调用中缺少mode
参数的问题
v1.0.1 - 2020_02_10
更改
- 允许使用onemap API令牌的函数在检测到令牌过期且发生令牌续订时继续运行,而不是立即返回
修复
- 修复了
get_route()
和get_public_transport_route()
中的字符串格式化错误
v1.0.0 - 2019_07_09
新增
- 初始发布
- OneMapClient带全API
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
onemapsg-1.0.3.tar.gz (9.4 kB 查看哈希值)
构建分发
onemapsg-1.0.3-py3-none-any.whl (7.7 kB 查看哈希值)