GeoZone Public API
Un'API GraphQL che restituisce dati sulle zone di carico strutturali, caratteristiche geografiche e report PDF per qualsiasi coordinata nel mondo.
7 Query1 SottoscrizioneBearer Auth
POSThttps://team-w.dlubal.com/api/geo-zone/pub/graphql
Applicazione Web
Lo strumento GeoZone è disponibile anche come applicazione web interattiva su dlubal.com. Seleziona qualsiasi posizione sulla mappa per visualizzare istantaneamente tutti i valori delle zone di carico strutturali.

Applicazione web GeoZone
Autenticazione
La maggior parte delle query richiede un token Bearer nell'intestazione Authorization:
Authorization:Bearer YOUR_TOKEN
Le query contrassegnate come Pubblico non richiedono autenticazione. Tutte le altre consumano un credito API per richiesta.
getLoadZoneCharacteristics
QueryAuth richiesta
Restituisce la classificazione della zona di carico e tutte le caratteristiche per una coordinata specificata. Accetta un loadZoneId (da findLoadzones), layerId, e latitudine/longitudine decimale come stringhe. La risposta include dettagli sull'indirizzo, la zona corrispondente e un elenco ordinato di caratteristiche strutturali.
Il campo code può essere OK, COUNTRY_CHANGED (il server ha selezionato automaticamente uno standard più appropriato), ANNEX_CHANGED, o ERROR.

Zone neve

Zone vento

Zone sismiche
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
QueryAuth richiesta
Versione legacy di getZoneCharacteristics. Restituisce una risposta condensata senza dati di indirizzo o sequenze di caratteristiche complete. Mantenuto per compatibilità con le versioni precedenti — le nuove integrazioni devono usare getZoneCharacteristics.
query {
getLoadZoneCharacteristicsV1(
input: {
address: "Munich, Germany"
type: SNOW
standard: "EN 1991-1-3"
annex: "Germany"
layerId: 1
}
language: EN
)
}
getGeoLocations
QueryPubblico
Ricerca di geocodifica — converte un indirizzo in testo libero in risultati di coordinate. Nessuna autenticazione richiesta. Restituisce fino a 10 risultati classificati con via, città, stato, paese, codice postale e coordinate decimali.

Ricerca indirizzo
query {
getGeoLocations(
address: "Altdorf, Uri, Switzerland"
language: EN
) {
latitude longitude altitude
displayName street zip city state country countryCode
}
}
getLoadZoneScreenshot
QueryAuth richiesta
Genera uno screenshot della mappa centrato sulle coordinate specificate come PNG o JPEG codificato in base64. Utile per incorporare mappe di zone in report o 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
QueryPubblico
Restituisce la gerarchia completa dei tipi di zone di carico, standard, allegati nazionali e livelli. Usalo per popolare selettori o scoprire i valori loadZoneId validi con i loro ID di livello, etichette di zona e colori.
query {
getLoadZoneStandards(
countryCode: "DE"
language: EN
) {
name
standards {
name
annexes {
name
actual
layers { id name }
}
}
}
}
findLoadzones
QueryAuth richiesta
Restituisce un elenco compatto di zone di carico raggruppate per tipo — ideale per scoprire coppie valide di loadZoneId / layerId.
query {
findLoadzones(
countryCode: "DE"
language: EN
) {
country
countryCode
typeGroups {
name
loadzones {
standard annex loadzoneId
layers { id name }
}
}
}
}
Esempio di risposta
{
"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
QueryAuth richiesta
Restituisce l'indirizzo e-mail dell'utente autenticato, il saldo crediti e il conteggio dei clic API rimanenti per il periodo di fatturazione corrente.
query {
getUserData {
email
clicks
}
}
getPdf
SottoscrizioneAuth richiesta
Genera un report PDF completo della zona di carico tramite connessione WebSocket (sottoscrizioni GraphQL via graphql-ws). Il server trasmette aggiornamenti di avanzamento; il messaggio finale contiene il PDF codificato in base64 e un nome file suggerito.
Endpoint 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 }
}
}
Esempio client 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"); },
}
);
Enumerazioni
LanguageEnum
| Valore | Lingua |
|---|
| EN | English |
| DE | German |
| FR | French |
| IT | Italian |
| ES | Spanish |
| PT | Portuguese |
| PL | Polish |
| CS | Czech |
| RU | Russian |
| ZH | Chinese |
LoadzoneTypeEnum
| Valore | Descrizione |
|---|
| 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
| Valore | Descrizione |
|---|
| PNG | Lossless PNG image |
| JPEG | Compressed JPEG image |
Tipi di output
CharacteristicsResponseMiaType
| Campo | Tipo | Descrizione |
|---|
| 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
| Campo | Tipo | Descrizione |
|---|
| standard | String! | Standard name |
| annex | String! | Annex name |
| zoneCharacteristics | CharacteristicsLayerType2! | Layer result |
CharacteristicsLayerType2
| Campo | Tipo | Descrizione |
|---|
| id | Int! | Layer ID |
| zone | CharacteristicsZoneType2! | Matched zone value |
| characteristics | [CharacteristicsVariableType]! | Ordered load values |
CharacteristicsVariableType
| Campo | Tipo | Descrizione |
|---|
| 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
| Campo | Tipo | Descrizione |
|---|
| 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
| Campo | Tipo | Descrizione |
|---|
| 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
| Campo | Tipo | Descrizione |
|---|
| email | String! | Account email address |
| clicks | Int! | Remaining API calls this billing period |
LoadzoneGroupShortType
| Campo | Tipo | Descrizione |
|---|
| country | String! | Country name |
| countryCode | String! | ISO country code |
| typeGroups | [LoadzoneTypeGroupType]! | Zones grouped by type |
LoadzoneShortType
| Campo | Tipo | Descrizione |
|---|
| standard | String! | Standard name |
| annex | String! | Annex name |
| loadzoneId | String! | Unique load zone identifier |
| layers | [LoadzoneLayerShortType]! | Available layers |
PdfProgressType
| Campo | Tipo | Descrizione |
|---|
| currentStep | Int! | Steps completed |
| steps | Int! | Total steps |
| message | String! | Status message |
| pdfResult | PdfResultType | Present on final message only |
PdfResultType
| Campo | Tipo | Descrizione |
|---|
| pdf | String! | Base64-encoded PDF |
| name | String! | Suggested filename |