Dlubal.API.GeoZoneTool
1.0.14
dotnet add package Dlubal.API.GeoZoneTool --version 1.0.14
NuGet\Install-Package Dlubal.API.GeoZoneTool -Version 1.0.14
<PackageReference Include="Dlubal.API.GeoZoneTool" Version="1.0.14" />
<PackageVersion Include="Dlubal.API.GeoZoneTool" Version="1.0.14" />
<PackageReference Include="Dlubal.API.GeoZoneTool" />
paket add Dlubal.API.GeoZoneTool --version 1.0.14
#r "nuget: Dlubal.API.GeoZoneTool, 1.0.14"
#:package Dlubal.API.GeoZoneTool@1.0.14
#addin nuget:?package=Dlubal.API.GeoZoneTool&version=1.0.14
#tool nuget:?package=Dlubal.API.GeoZoneTool&version=1.0.14
Dlubal GeoZoneTool API Client
A .NET client for the Dlubal GeoZone API. It handles authentication and exposes convenience methods for load zone data, standards, screenshots, PDFs, and user info.
Install
dotnet add package Dlubal.API.GeoZoneTool
Authentication
The client accepts either JWT tokens (start with eyJ) or API tokens (start with ak-). The proper JWT or Bearer prefix is added automatically.
Quick Start
using GeoZoneTool;
using GeoZoneTool.Models;
using var client = new GeoZone("your-token");
var user = await client.GetUserDataAsync();
Console.WriteLine(user?.Email ?? "no user");
Examples
Get load zone characteristics
var characteristics = await client.GetLoadZoneCharacteristicsAsync(
new GetZoneCharacteristicsRequest
{
Address = "Main St 1, Springfield",
Type = LoadzoneTypeEnum.Snow,
Standard = "EN 1991-1-3",
Annex = "National Annex",
LayerId = 1,
Language = LanguageEnum.En
});
Console.WriteLine(characteristics?.Message ?? "no data");
Get available standards for a country
var standards = await client.GetLoadZoneStandardsAsync(
new GetLoadZoneStandardsRequest
{
CountryCode = "de",
Language = LanguageEnum.En
});
Console.WriteLine($"Standards groups: {standards?.Types.Count ?? 0}");
Get geolocation suggestions
var locations = await client.GetGeoLocationsAsync(
new GetGeoLocationsRequest
{
Address = "Main St",
Language = LanguageEnum.En
});
foreach (var location in locations?.Locations ?? [])
{
Console.WriteLine(location.DisplayName);
}
Get a load zone screenshot (base64)
var screenshot = await client.GetLoadZoneScreenshotAsync(
new GetLoadzoneScreenshotRequest
{
Address = "Main St 1, Springfield",
Type = LoadzoneTypeEnum.Wind,
Standard = "EN 1991-1-4",
Annex = "National Annex",
LayerId = 1,
LayerOrder = 0,
Zoom = 8,
Language = LanguageEnum.En,
ScreenshotType = new ScreenshotTypeInput
{
Type = ScreenshotTypeEnum.Png,
Quality = 90
}
});
Console.WriteLine($"Screenshot length: {screenshot?.Screenshot?.Length ?? 0}");
Stream PDF generation progress (base64 result)
await foreach (var progress in client.GetLoadZonePdfAsync(
new GetPdfRequest
{
Address = "Main St 1, Springfield",
Standard = "EN 1991-1-3",
Annex = "National Annex",
LayerId = 1,
Language = LanguageEnum.En
}))
{
Console.WriteLine($"Progress: {progress.CurrentStep}/{progress.Steps}");
if (progress.PdfResult is not null)
{
Console.WriteLine($"PDF name: {progress.PdfResult.Name}");
break;
}
}
Get current user data
var userData = await client.GetUserDataAsync();
Console.WriteLine(userData?.Email ?? "no user");
Get ASCE 7-22 seismic design data
var result = await client.GetAsce722DataAsync(
new GetAsce722DataRequest
{
Latitude = 34.05,
Longitude = -118.25,
RiskCategory = RiskCategoryEnum.II,
SiteClass = SiteClassEnum.C,
});
var data = result?.Data;
Console.WriteLine($"Pgam: {data?.Pgam}");
Console.WriteLine($"Sds: {data?.Sds}, Sd1: {data?.Sd1}");
Console.WriteLine($"SDC: {data?.Sdc}");
Console.WriteLine($"Reference: {result?.ReferenceDocument}");
RiskCategoryEnum values: I, II, III, IV
SiteClassEnum values: Default, A, B, BC, C, CD, D, DE, E
The response Data object includes spectral parameters (Pgam, Sms, Sm1, Sds, Sd1, Ss, S1, Ts, T0, Tl, Cv, Sdc) as well as multi-period and two-period design/MCEr spectra, vertical spectra, underlying probabilistic data, and metadata (model version, Vs30, interpolation method).
Versioning
The package version is resolved automatically during the CI publish stage.
It is extracted from the commit message -- the first occurrence of vX.Y.Z is used.
If no version is found in the commit message, the default PACKAGE_VERSION CI variable is used.
Commit message examples
Release v1.0.11
Merge branch 'feature/new-endpoint' - v2.0.0
Fix: update serialization (v1.0.12)
If the commit message contains no version pattern, the pipeline falls back to the PACKAGE_VERSION variable defined in .gitlab-ci.yml (currently 1.0.10). This variable can also be overridden in the GitLab UI when running the pipeline manually.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.