跳转到主要内容

OneMap API的Python包装客户端,具有自动处理令牌功能

项目描述

OneMap API客户端

PyPI version

OneMap API的Python包装客户端

img

文档在此:https://docs.onemap.sg/

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

支持我的努力!

Yeah! Buy the DRAGON a COFFEE!

或者留下小费! ヾ(°∇°*)

客户端界面

包括截至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 查看哈希值)

上传时间 Python 3

由以下支持