Geo Zone Tool GraphQL client.
Project description
User Guide
This guide is for developers who consume dlubal.api.geo_zone_tool in their
applications.
Install
pip install dlubal.api.geo_zone_tool
Authentication
Every API call requires a valid GeoZone token.
TOKEN = "<your-token>"
Import
from dlubal.api import geo_zone_tool
Usage
All services require a token, so create one GeoZoneTool instance and call
services through it.
from dlubal.api import geo_zone_tool
geo_zone = geo_zone_tool.GeoZoneTool("<your-token>")
user = geo_zone.get_user_data()
Common Enums
geo_zone_tool.Language(EN,DE,IT,CS,FR,ES,PT,PL,RU,ZH)geo_zone_tool.LoadZoneType(SNOW,WIND,SEISMIC,TORNADO)geo_zone_tool.ScreenshotType(PNG,JPEG)geo_zone_tool.RiskCategory(I,II,III,IV) — ASCE 7-22geo_zone_tool.SiteClass(DEFAULT,A,B,BC,C,CD,D,DE,E) — ASCE 7-22
Examples
Find Locations
from dlubal.api import geo_zone_tool
geo_zone = geo_zone_tool.GeoZoneTool("<your-token>")
locations = geo_zone.get_geo_locations(
address="Flugplatzweg 6, 14913, Germany",
language=geo_zone_tool.Language.EN,
)
for loc in locations.locations:
print(loc)
Get User Info
from dlubal.api import geo_zone_tool
geo_zone = geo_zone_tool.GeoZoneTool("<your-token>")
user = geo_zone.get_user_data()
print(user)
Get Available Standards
from dlubal.api import geo_zone_tool
geo_zone = geo_zone_tool.GeoZoneTool("<your-token>")
standards = geo_zone.get_load_zone_standards(
country_code="DE",
language=geo_zone_tool.Language.EN,
)
for group in standards.types:
print(group.name)
Find Load Zones by Country
Returns all available load zones (standards, annexes, layers) for a country.
from dlubal.api import geo_zone_tool
geo_zone = geo_zone_tool.GeoZoneTool("<your-token>")
result = geo_zone.find_load_zones(
country_code="DE",
language=geo_zone_tool.Language.EN,
)
print(f"{result.country} ({result.country_code})")
for group in result.type_groups:
print(f" {group.name}")
for lz in group.load_zones:
print(f" {lz.standard} / {lz.annex} ({lz.load_zone_id})")
Get Load Zone Characteristics
from dlubal.api import geo_zone_tool
geo_zone = geo_zone_tool.GeoZoneTool("<your-token>")
result = geo_zone.get_load_zone_characteristics(
address="Flugplatzweg 6, 14913, Germany",
load_zone_type=geo_zone_tool.LoadZoneType.SNOW,
standard="EN 1991-1-3",
annex="DIN EN 1991-1-3",
layer_id=1,
language=geo_zone_tool.Language.EN,
)
print(result)
Get Screenshot (Base64)
from dlubal.api import geo_zone_tool
geo_zone = geo_zone_tool.GeoZoneTool("<your-token>")
screenshot = geo_zone.get_load_zone_screenshot(
address="Flugplatzweg 6, 14913, Germany",
load_zone_type=geo_zone_tool.LoadZoneType.SNOW,
standard="EN 1991-1-3",
annex="DIN EN 1991-1-3",
layer_id=1,
zoom=6,
screenshot_type=geo_zone_tool.ScreenshotType.JPEG,
screenshot_quality=80,
)
print(screenshot.screenshot[:40]) # base64 prefix
Stream PDF Progress
from dlubal.api import geo_zone_tool
geo_zone = geo_zone_tool.GeoZoneTool("<your-token>")
for msg in geo_zone.get_load_zone_pdf(
address="Flugplatzweg 6, 14913, Germany",
standard="EN 1991-1-3",
annex="DIN EN 1991-1-3",
layer_id=1,
):
print(f"[{msg.current_step}/{msg.steps}] {msg.message}")
Get Final PDF (Base64)
from dlubal.api import geo_zone_tool
geo_zone = geo_zone_tool.GeoZoneTool("<your-token>")
pdf_result = geo_zone.get_load_zone_pdf_result(
address="Flugplatzweg 6, 14913, Germany",
standard="EN 1991-1-3",
annex="DIN EN 1991-1-3",
layer_id=1,
)
if pdf_result is not None:
print(pdf_result.name)
print(pdf_result.pdf[:40]) # base64 prefix
Get ASCE 7-22 Seismic Parameters
Returns seismic design map parameters from USGS for a given US location, risk category, and site class.
from dlubal.api import geo_zone_tool
geo_zone = geo_zone_tool.GeoZoneTool("<your-token>")
result = geo_zone.get_asce722(
latitude=37.7749,
longitude=-122.4194,
risk_category=geo_zone_tool.RiskCategory.II,
site_class=geo_zone_tool.SiteClass.D,
)
if result.code == "OK" and result.data is not None:
data = result.data
print(f"Sds = {data.sds}")
print(f"Sd1 = {data.sd1}")
print(f"SDC = {data.sdc}")
Error Behavior
ValueError: empty strings, negative numeric values.TypeError: wrong enum type used in function call.RuntimeError: GraphQL response errors or WebSocket subscription errors.requests.HTTPError: HTTP transport failures.
API Endpoint
The package targets:
https://team-w.dlubal.com/api/geo-zone/pub/graphql
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dlubal_api_geo_zone_tool-0.1.0.tar.gz.
File metadata
- Download URL: dlubal_api_geo_zone_tool-0.1.0.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15865ea23368e799b58a08ce928b41b9e18411cdc3b50b5fbe6618ef76f92514
|
|
| MD5 |
668d055a33c3a44807a4389c41c09f49
|
|
| BLAKE2b-256 |
9950438360617d86a5fd572c3125e6ea8afbdd6dbb2b4a14065e63b0d65b2341
|
File details
Details for the file dlubal_api_geo_zone_tool-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dlubal_api_geo_zone_tool-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e05508917e803bb8d11f5d1b7f90a1c270b3f69999e8a2476ac1aafdfee47ad
|
|
| MD5 |
5b055a37e5c1d9302549a8f2efb1241b
|
|
| BLAKE2b-256 |
91f6ffb5f249369f1c68f09e01af51edde7461a48cd2fad1e4e63f86c09c8bfc
|