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
Import
from dlubal.api import geo_zone_tool
Authentication
A token is optional. These methods work without one:
get_geo_locationsget_load_zone_standardsget_hazard_data
The remaining methods require a token; calling them without one raises a
ValueError.
from dlubal.api import geo_zone_tool
# Anonymous client (public methods only)
geo_zone = geo_zone_tool.GeoZoneTool()
# Authenticated client (all methods)
geo_zone = geo_zone_tool.GeoZoneTool("<your-token>")
Sync vs Async
GeoZoneTool is synchronous. AsyncGeoZoneTool exposes the same methods as
coroutines for use inside an event loop.
import asyncio
from dlubal.api import geo_zone_tool
async def main():
geo_zone = geo_zone_tool.AsyncGeoZoneTool("<your-token>")
user = await geo_zone.get_user_data()
print(user)
asyncio.run(main())
The examples below use the sync client.
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)geo_zone_tool.SiteClass(DEFAULT,A,B,BC,C,CD,D,DE,E)geo_zone_tool.AsceVersion(ASCE22,ASCE16)
Examples
Find Locations
from dlubal.api import geo_zone_tool
geo_zone = geo_zone_tool.GeoZoneTool()
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()
standards = geo_zone.get_load_zone_standards(
country_code="DE",
language=geo_zone_tool.Language.EN,
)
print(f"{standards.country} ({standards.country_code})")
for group in standards.type_groups:
print(f" {group.name}")
for item in group.load_zones:
print(f" {item.standard.name} / {item.annex.name}")
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 Seismic Hazard Data (ASCE)
Returns seismic hazard / design map parameters from USGS for a given US
location, risk category, site class, and ASCE version. asce_version
defaults to AsceVersion.ASCE22.
from dlubal.api import geo_zone_tool
geo_zone = geo_zone_tool.GeoZoneTool()
result = geo_zone.get_hazard_data(
latitude="37.7749",
longitude="-122.4194",
risk_category=geo_zone_tool.RiskCategory.II,
site_class=geo_zone_tool.SiteClass.D,
asce_version=geo_zone_tool.AsceVersion.ASCE22,
)
if result.data is not None:
data = result.data
print(f"reference: {result.reference_document}")
print(f"Sds = {data.sds}")
print(f"Sd1 = {data.sd1}")
print(f"SDC = {data.sdc}")
Error Handling
All SDK errors derive from geo_zone_tool.GeoZoneError:
ValidationError— invalid input (empty strings, out-of-range numbers). It subclassesValueError, soexcept ValueErrorstill catches it. A wrong enum type raisesTypeError.GraphQLError— the server returned a GraphQLerrorsarray.TransportError— HTTP or WebSocket transport failure.
from dlubal.api import geo_zone_tool
from dlubal.api.geo_zone_tool import GeoZoneError
try:
geo_zone_tool.GeoZoneTool().get_geo_locations(address="Berlin")
except GeoZoneError as exc:
print(f"GeoZone call failed: {exc}")
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.2.1.tar.gz.
File metadata
- Download URL: dlubal_api_geo_zone_tool-0.2.1.tar.gz
- Upload date:
- Size: 28.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb90c7078926a9dfdc6e0ea91b32f3dc06f6708b9fec5087b087468fdaf36b9a
|
|
| MD5 |
4444c4633ccebce3402105944b4cfef0
|
|
| BLAKE2b-256 |
307b49f79881ba3a0955fca2fbf3bd03ab7feec04bb3edc91a792c4dec17fa40
|
File details
Details for the file dlubal_api_geo_zone_tool-0.2.1-py3-none-any.whl.
File metadata
- Download URL: dlubal_api_geo_zone_tool-0.2.1-py3-none-any.whl
- Upload date:
- Size: 25.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 |
f3456a0b419d6028697b97ce65253f82048c705bae040fbb574946ef15fd04b1
|
|
| MD5 |
3a11158f9887c7e21473180832293e18
|
|
| BLAKE2b-256 |
4002f1a1005b74ee948497b3379d01cc9178c450680a1ef854a76d8c941a92db
|