GeoZone Public API
GraphQL API, které vrací data o strukturálních zatěžovacích zónách, geografické charakteristiky a PDF zprávy pro libovolné souřadnice po celém světě.
7 dotazů1 odběrBearer auth
POSThttps://team-w.dlubal.com/api/geo-zone/pub/graphql
Webová aplikace
Nástroj GeoZone je k dispozici také jako interaktivní webová aplikace na dlubal.com. Vyberte libovolné místo na mapě a okamžitě zobrazte všechny hodnoty strukturálních zatěžovacích zón.

Webová aplikace GeoZone
Autentizace
Většina dotazů vyžaduje Bearer token v hlavičce Authorization:
Authorization:Bearer YOUR_TOKEN
Dotazy označené jako Veřejné nevyžadují autentizaci. Všechny ostatní spotřebují jeden API kredit za požadavek.
getLoadZoneCharacteristics
DotazVyžaduje auth
Vrátí klasifikaci zatěžovací zóny a všechny charakteristiky pro dané souřadnice. Přijímá loadZoneId (z findLoadzones), layerId a zeměpisnou šířku/délku jako desetinné řetězce. Odpověď obsahuje podrobnosti adresy, zjištěnou zónu a seřazený seznam strukturálních charakteristik.
Pole code může být OK, COUNTRY_CHANGED (server automaticky zvolil vhodnější normu), ANNEX_CHANGED nebo ERROR.

Sněhové zóny

Větrné zóny

Seizmické zóny
query {
getLoadZoneCharacteristics(
input: {
address: "Munich, Germany"
type: SNOW
standard: "EN 1991-1-3"
annex: "Germany"
layerId: 1
}
language: EN
) {
code
message
geoLocation {
latitude longitude altitude
street zip city state country countryCode
}
characteristics {
standard
annex
zoneCharacteristics {
id
zone { value }
characteristics {
name calculatedValue
nameHtml unitsHtml description
decimalPlaces sequence
}
}
}
noLiability
}
}
getLoadZoneCharacteristicsV1
DotazVyžaduje auth
Starší verze getZoneCharacteristics. Vrací zkrácenou odpověď bez dat adresy nebo úplných sekvencí charakteristik. Zachováno pro zpětnou kompatibilitu — nové integrace by měly používat getZoneCharacteristics.
query {
getLoadZoneCharacteristicsV1(
input: {
address: "Munich, Germany"
type: SNOW
standard: "EN 1991-1-3"
annex: "Germany"
layerId: 1
}
language: EN
)
}
getGeoLocations
DotazVeřejné
Geokódovací vyhledávání — převádí adresu v textové podobě na výsledky souřadnic. Autentizace není vyžadována. Vrací až 10 seřazených výsledků s ulicí, městem, státem, zemí, PSČ a desetinnými souřadnicemi.

Vyhledávání adres
query {
getGeoLocations(
address: "Altdorf, Uri, Switzerland"
language: EN
) {
latitude longitude altitude
displayName street zip city state country countryCode
}
}
getLoadZoneScreenshot
DotazVyžaduje auth
Generuje snímek mapy zacentrovaný na zadané souřadnice jako PNG nebo JPEG zakódovaný v base64. Vhodné pro vkládání zónových map do zpráv nebo dashboardů.
query {
getLoadZoneScreenshot(
input: {
address: "Munich, Germany"
type: SNOW
standard: "EN 1991-1-3"
annex: "Germany"
layerId: 1
zoom: 8
screenshotType: { type: PNG quality: 90 }
}
language: EN
)
}
getLoadZoneStandards
DotazVeřejné
Vrátí úplnou hierarchii typů zatěžovacích zón, norem, národních příloh a vrstev. Použijte to k naplnění výběrových prvků nebo k zjištění platných hodnot loadZoneId s jejich ID vrstev, popisky zón a barvami.
query {
getLoadZoneStandards(
countryCode: "DE"
language: EN
) {
name
standards {
name
annexes {
name
actual
layers { id name }
}
}
}
}
findLoadzones
DotazVyžaduje auth
Vrátí kompaktní seznam zatěžovacích zón seskupených podle typu — ideální pro zjišťování platných párů loadZoneId / layerId.
query {
findLoadzones(
countryCode: "DE"
language: EN
) {
country
countryCode
typeGroups {
name
loadzones {
standard annex loadzoneId
layers { id name }
}
}
}
}
Příklad odpovědi
{
"data": {
"findLoadzones": {
"country": "Germany",
"countryCode": "DE",
"typeGroups": [
{
"name": "Snow",
"loadzones": [
{
"standard": "EN 1991-1-3",
"annex": "Germany",
"loadzoneId": "snow-eu-en-1991",
"layers": [{ "id": 1, "name": null }]
}
]
},
{
"name": "Wind",
"loadzones": [
{
"standard": "EN 1991-1-4",
"annex": "Germany",
"loadzoneId": "wind-eu-en-2005",
"layers": [{ "id": 1, "name": null }]
}
]
}
]
}
}
}
getUserData
DotazVyžaduje auth
Vrátí e-mailovou adresu autentizovaného uživatele, zůstatek kreditů a zbývající počet API kliknutí pro aktuální fakturační období.
query {
getUserData {
email
clicks
}
}
getPdf
OdběrVyžaduje auth
Generuje úplnou PDF zprávu o zatěžovací zóně přes WebSocket připojení (GraphQL odběry pomocí graphql-ws). Server streamuje aktualizace průběhu; poslední zpráva obsahuje PDF zakódované v base64 a navrhovaný název souboru.
WebSocket endpoint: wss://team-w.dlubal.com/api/geo-zone/pub/graphql
subscription {
getPdf(
pdfInput: {
address: "Munich, Germany"
standard: "EN 1991-1-3"
annex: "Germany"
layerId: 1
}
language: EN
) {
currentStep
steps
message
pdfResult { pdf name }
}
}
Příklad JavaScript klienta
import { createClient } from "graphql-ws";
const client = createClient({
url: "wss://team-w.dlubal.com/api/geo-zone/pub/graphql",
connectionParams: { Authorization: "Bearer YOUR_TOKEN" },
});
const unsubscribe = client.subscribe(
{
query: `subscription {
getPdf(pdfInput: {
address: "Munich, Germany"
standard: "EN 1991-1-3"
annex: "Germany"
layerId: 1
} language: EN) {
currentStep steps message
pdfResult { pdf name }
}
}`,
},
{
next({ data }) {
const step = data?.getPdf;
console.log(`${step.currentStep}/${step.steps} — ${step.message}`);
if (step.pdfResult) {
// step.pdfResult.pdf is base64-encoded
unsubscribe();
}
},
error(err) { console.error(err); },
complete() { console.log("Done"); },
}
);
Výčtové typy
LanguageEnum
| Hodnota | Jazyk |
|---|
| EN | English |
| DE | German |
| FR | French |
| IT | Italian |
| ES | Spanish |
| PT | Portuguese |
| PL | Polish |
| CS | Czech |
| RU | Russian |
| ZH | Chinese |
LoadzoneTypeEnum
| Hodnota | Popis |
|---|
| SNOW | Snow load zones (EN 1991-1-3) |
| WIND | Wind load zones (EN 1991-1-4) |
| EARTHQUAKE | Seismic zones (EN 1998) |
| TORNADO | Tornado zones (US only) |
ScreenshotTypeEnum
| Hodnota | Popis |
|---|
| PNG | Lossless PNG image |
| JPEG | Compressed JPEG image |
Výstupní typy
CharacteristicsResponseMiaType
| Pole | Typ | Popis |
|---|
| code | String! | Response status code |
| message | String | Human-readable message when code ≠ OK |
| geoLocation | GeofinderDataType | Resolved location data |
| characteristics | [CharacteristicsLoadzoneType2] | Per-standard zone results |
| noLiability | String | Disclaimer text |
CharacteristicsLoadzoneType2
| Pole | Typ | Popis |
|---|
| standard | String! | Standard name |
| annex | String! | Annex name |
| zoneCharacteristics | CharacteristicsLayerType2! | Layer result |
CharacteristicsLayerType2
| Pole | Typ | Popis |
|---|
| id | Int! | Layer ID |
| zone | CharacteristicsZoneType2! | Matched zone value |
| characteristics | [CharacteristicsVariableType]! | Ordered load values |
CharacteristicsVariableType
| Pole | Typ | Popis |
|---|
| name | String! | Parameter name (plain text) |
| nameHtml | String! | Parameter name (HTML) |
| calculatedValue | String | Computed value |
| unitsHtml | String! | Units (HTML) |
| description | String! | Parameter description |
| decimalPlaces | Int! | Display precision |
| sequence | Int! | Display order |
GeofinderDataType
| Pole | Typ | Popis |
|---|
| latitude | String! | Resolved latitude |
| longitude | String! | Resolved longitude |
| altitude | String! | Elevation |
| street | String | Street name and number |
| zip | String | Postal code |
| city | String | City / municipality |
| state | String | State or region |
| country | String | Country name |
| countryCode | String | ISO country code |
GeoLocationType
| Pole | Typ | Popis |
|---|
| latitude | String! | Latitude |
| longitude | String! | Longitude |
| altitude | String! | Elevation |
| displayName | String | Full formatted address |
| street | String | Street name and number |
| zip | String | Postal code |
| city | String | City / municipality |
| state | String | State or region |
| country | String | Country name |
| countryCode | String | ISO country code |
UserDataType
| Pole | Typ | Popis |
|---|
| email | String! | Account email address |
| clicks | Int! | Remaining API calls this billing period |
LoadzoneGroupShortType
| Pole | Typ | Popis |
|---|
| country | String! | Country name |
| countryCode | String! | ISO country code |
| typeGroups | [LoadzoneTypeGroupType]! | Zones grouped by type |
LoadzoneShortType
| Pole | Typ | Popis |
|---|
| standard | String! | Standard name |
| annex | String! | Annex name |
| loadzoneId | String! | Unique load zone identifier |
| layers | [LoadzoneLayerShortType]! | Available layers |
PdfProgressType
| Pole | Typ | Popis |
|---|
| currentStep | Int! | Steps completed |
| steps | Int! | Total steps |
| message | String! | Status message |
| pdfResult | PdfResultType | Present on final message only |
PdfResultType
| Pole | Typ | Popis |
|---|
| pdf | String! | Base64-encoded PDF |
| name | String! | Suggested filename |