vjmap Python SDK(单文件)
vjmap.py 是一个单文件 Python SDK,封装 vjmap 后端(web服务 + 图形服务)的常用 REST 接口。
要求
- Python ≥ 3.8
- 唯一第三方依赖:
requests
安装
拷贝 vjmap.py 到你的项目,或:
pip install -r requirements.txt
# 把 vjmap.py 放进你的 PYTHONPATH
快速用法
from vjmap import Vjmap, VjmapError, MapOpenWay
svc = Vjmap("http://127.0.0.1:27660/api/v1", "<jwt-token>")
print(svc.heart()) # {'status':'ok','timestamp':...}
print(svc.version()) # {'arch','os','status','time','version'}
print(svc.run_status()) # 详细运行状态
核心对象
| 类 / 函数 | 用途 |
|---|---|
Vjmap(base_url, token) |
客户端主入口 |
VjmapError |
统一异常,含 .status / .url / .body |
MapOpenWay.Memory / .GeomRender |
打开图时的模式枚举 |
compute_secret_key(pwd) |
明文密码 → 16 位 secretKey |
file_md5(path_or_bytes) |
文件 MD5(32 字符 hex) |
错误处理
try:
svc.metadata("not_exist_map", "v1")
except VjmapError as e:
print(e.status, e.url, e.body)
- web服务标准响应
{code, msg, data}会自动 unwrap:成功时返回data,失败(code≠0)抛VjmapError。 - 图形服务 JSON 直接原样返回(部分字段结构依 cmd 不同)。
- 二进制接口(瓦片 / 缩略图 / 导出 PDF)用
stream=True走底层_request或后续追加的*_bytes方法。