GeoZone Public API
Interfejs API GraphQL zwracający dane stref obciążeń konstrukcyjnych, charakterystyki geograficzne i raporty PDF dla dowolnych współrzędnych na świecie.
7 zapytań1 subskrypcjaBearer Auth
POSThttps://team-w.dlubal.com/api/geo-zone/pub/graphql
Aplikacja internetowa
Narzędzie GeoZone jest również dostępne jako interaktywna aplikacja internetowa na dlubal.com. Wybierz dowolną lokalizację na mapie, aby natychmiast zobaczyć wszystkie wartości stref obciążeń konstrukcyjnych.

Aplikacja internetowa GeoZone
Uwierzytelnianie
Większość zapytań wymaga tokenu Bearer w nagłówku Authorization:
Authorization:Bearer YOUR_TOKEN
Zapytania oznaczone jako Publiczne nie wymagają uwierzytelniania. Wszystkie pozostałe zużywają jeden kredyt API na żądanie.
getLoadZoneCharacteristics
ZapytanieWymaga auth
Zwraca klasyfikację strefy obciążenia i wszystkie charakterystyki dla podanych współrzędnych. Przyjmuje loadZoneId (z findLoadzones), layerId oraz szerokość/długość geograficzną jako ciągi dziesiętne. Odpowiedź zawiera szczegóły adresu, dopasowaną strefę i uporządkowaną listę charakterystyk konstrukcyjnych.
Pole code może przyjmować wartości OK, COUNTRY_CHANGED (serwer automatycznie wybrał bardziej odpowiedni standard), ANNEX_CHANGED lub ERROR.

Strefy śniegowe

Strefy wiatrowe

Strefy sejsmiczne
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
ZapytanieWymaga auth
Starsza wersja getZoneCharacteristics. Zwraca skróconą odpowiedź bez danych adresowych lub pełnych sekwencji charakterystyk. Zachowana dla wstecznej kompatybilności — nowe integracje powinny używać getZoneCharacteristics.
query {
getLoadZoneCharacteristicsV1(
input: {
address: "Munich, Germany"
type: SNOW
standard: "EN 1991-1-3"
annex: "Germany"
layerId: 1
}
language: EN
)
}
getGeoLocations
ZapytaniePubliczne
Wyszukiwanie geokodowania — konwertuje adres w postaci tekstu na wyniki współrzędnych. Uwierzytelnianie nie jest wymagane. Zwraca do 10 posortowanych wyników z ulicą, miastem, stanem, krajem, kodem pocztowym i współrzędnymi dziesiętnymi.

Wyszukiwanie adresu
query {
getGeoLocations(
address: "Altdorf, Uri, Switzerland"
language: EN
) {
latitude longitude altitude
displayName street zip city state country countryCode
}
}
getLoadZoneScreenshot
ZapytanieWymaga auth
Generuje zrzut ekranu mapy wycentrowany na podanych współrzędnych jako PNG lub JPEG zakodowany w base64. Przydatne do osadzania map stref w raportach lub pulpitach nawigacyjnych.
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
ZapytaniePubliczne
Zwraca pełną hierarchię typów stref obciążeń, standardów, załączników krajowych i warstw. Użyj tego, aby wypełnić selektory lub odkryć prawidłowe wartości loadZoneId z ich identyfikatorami warstw, etykietami stref i kolorami.
query {
getLoadZoneStandards(
countryCode: "DE"
language: EN
) {
name
standards {
name
annexes {
name
actual
layers { id name }
}
}
}
}
findLoadzones
ZapytanieWymaga auth
Zwraca kompaktową listę stref obciążeń pogrupowanych według typu — idealne do odkrywania prawidłowych par loadZoneId / layerId.
query {
findLoadzones(
countryCode: "DE"
language: EN
) {
country
countryCode
typeGroups {
name
loadzones {
standard annex loadzoneId
layers { id name }
}
}
}
}
Przykładowa odpowiedź
{
"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
ZapytanieWymaga auth
Zwraca adres e-mail uwierzytelnionego użytkownika, saldo kredytów i pozostałą liczbę kliknięć API dla bieżącego okresu rozliczeniowego.
query {
getUserData {
email
clicks
}
}
getPdf
SubskrypcjaWymaga auth
Generuje pełny raport PDF strefy obciążenia przez połączenie WebSocket (subskrypcje GraphQL via graphql-ws). Serwer przesyła strumieniowo aktualizacje postępu; ostatnia wiadomość zawiera PDF zakodowany w base64 i sugerowaną nazwę pliku.
Punkt końcowy WebSocket: 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 }
}
}
Przykład klienta JavaScript
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"); },
}
);
Wyliczenia
LanguageEnum
| Wartość | Język |
|---|
| EN | English |
| DE | German |
| FR | French |
| IT | Italian |
| ES | Spanish |
| PT | Portuguese |
| PL | Polish |
| CS | Czech |
| RU | Russian |
| ZH | Chinese |
LoadzoneTypeEnum
| Wartość | Opis |
|---|
| 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
| Wartość | Opis |
|---|
| PNG | Lossless PNG image |
| JPEG | Compressed JPEG image |
Typy wyjściowe
CharacteristicsResponseMiaType
| Pole | Typ | Opis |
|---|
| 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 | Opis |
|---|
| standard | String! | Standard name |
| annex | String! | Annex name |
| zoneCharacteristics | CharacteristicsLayerType2! | Layer result |
CharacteristicsLayerType2
| Pole | Typ | Opis |
|---|
| id | Int! | Layer ID |
| zone | CharacteristicsZoneType2! | Matched zone value |
| characteristics | [CharacteristicsVariableType]! | Ordered load values |
CharacteristicsVariableType
| Pole | Typ | Opis |
|---|
| 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 | Opis |
|---|
| 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 | Opis |
|---|
| 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 | Opis |
|---|
| email | String! | Account email address |
| clicks | Int! | Remaining API calls this billing period |
LoadzoneGroupShortType
| Pole | Typ | Opis |
|---|
| country | String! | Country name |
| countryCode | String! | ISO country code |
| typeGroups | [LoadzoneTypeGroupType]! | Zones grouped by type |
LoadzoneShortType
| Pole | Typ | Opis |
|---|
| standard | String! | Standard name |
| annex | String! | Annex name |
| loadzoneId | String! | Unique load zone identifier |
| layers | [LoadzoneLayerShortType]! | Available layers |
PdfProgressType
| Pole | Typ | Opis |
|---|
| currentStep | Int! | Steps completed |
| steps | Int! | Total steps |
| message | String! | Status message |
| pdfResult | PdfResultType | Present on final message only |
PdfResultType
| Pole | Typ | Opis |
|---|
| pdf | String! | Base64-encoded PDF |
| name | String! | Suggested filename |