地理区域工具提供了基于 GraphQL 的应用程序编程接口 (API),您可以直接从自己的应用程序、脚本或计算流程中查询雪荷载、风荷载和地震荷载的区域数据,无需打开网页界面。
入门指南
该 API 有三种使用方式。针对 Python 和 C# 提供了现成的客户端库,可自动处理身份验证、请求构建和响应解析。您只需在所使用的编程语言中调用带有类型定义的函数,即可获得结构化的数据对象。此外,无论使用何种编程语言或平台,您也可以直接向 HTTPS 端点发送 GraphQL 查询。
文档与资源
完整的 API 文档,包括交互式模式浏览器、可用查询及示例请求,请参阅 API 文档。
身份验证
部分查询(例如列出某国家可用的规范和荷载区域)无需身份验证即可使用。查询特定位置的计算荷载值时,则需要一个与您的“地理区域工具”套餐绑定的 API 令牌 (API-Token)。 此令牌即 API 密钥,具体说明见 密钥管理 部分。
每次荷载查询都会从配额中扣除一次计数。要无限制地进行荷载查询,您需要一个地理区域工具套餐。
快速入门 (Python)
以下示例展示了如何使用 Python 库获取荷载区域数据。首先,请安装客户端库:
pip install dlubal.api.geo-zone-tool
查询具体荷载值时,需要提供 API 令牌。以下示例根据 DIN EN 1991-1-3 标准获取了慕尼黑某位置的雪荷载。目前可用的荷载类型包括 SNOW(雪)、WIND(风)、SEISMIC(地震)和 TORNADO(龙卷风):
from dlubal.api import geo_zone_tool
from dlubal.api.geo_zone_tool import LoadZoneType, Language
gzt = geo_zone_tool.GeoZoneTool("")
result = gzt.get_load_zone_characteristics(
#necessary Parameter
address="45.985,14.734", #address or coordinates (latitude, longitude)
load_zone_type=LoadZoneType.SNOW, #WIND SNOW SEISMIC TORNADO
#optional Parameter
# standard="EN 1991-1-3",
# annex="Germany",
# layer_id=1,
# language=Language.EN
)
#print(result)
print(result.geo_location.city)
for chars in result.characteristics:
print(f"{chars.standard} / {chars.annex}")
zone = chars.zone_characteristics
print(f" Zone: {zone.zone.value}")
for c in zone.characteristics:
print(f" {c.name} = {c.calculated_value}")
响应中包含了已解析的位置、对应的雪荷载分区以及标准值 s_k(单位:kN/m²)。在不指定可选参数的情况下,会针对所选地址应用当前的地图数据。由于响应结构始终保持一致,相同的代码也可用于风荷载和地震荷载的查询。
Munich
EN 1991-1-3 / DIN EN 1991-1-3
Zone: 1a*
s_k = 1.15