Dlubal.API.GeoZoneTool
2.0.0
dotnet add package Dlubal.API.GeoZoneTool --version 2.0.0
NuGet\Install-Package Dlubal.API.GeoZoneTool -Version 2.0.0
<PackageReference Include="Dlubal.API.GeoZoneTool" Version="2.0.0" />
<PackageVersion Include="Dlubal.API.GeoZoneTool" Version="2.0.0" />
<PackageReference Include="Dlubal.API.GeoZoneTool" />
paket add Dlubal.API.GeoZoneTool --version 2.0.0
#r "nuget: Dlubal.API.GeoZoneTool, 2.0.0"
#:package Dlubal.API.GeoZoneTool@2.0.0
#addin nuget:?package=Dlubal.API.GeoZoneTool&version=2.0.0
#tool nuget:?package=Dlubal.API.GeoZoneTool&version=2.0.0
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 = "...", // insert your standard name
Annex = "...", // insert your annex name
LayerId = 1,
Language = LanguageEnum.En
});
Console.WriteLine(characteristics?.Code ?? "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 = "...", // insert your standard name
Annex = "...", // insert your annex name
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 = "...", // insert your standard name
Annex = "...", // insert your annex name
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 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).
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.8
- Microsoft.Bcl.AsyncInterfaces (>= 8.0.0)
- System.Text.Json (>= 8.0.5)
-
.NETStandard 2.0
- Microsoft.Bcl.AsyncInterfaces (>= 8.0.0)
- System.Text.Json (>= 8.0.5)
-
net9.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Dlubal.API.GeoZoneTool:
| Package | Downloads |
|---|---|
|
Dlubal.Api
A .NET Client Library for Dlubal Software APIs powered by gRPC |
GitHub repositories
This package is not used by any popular GitHub repositories.
v2.0.0: Breaking - GetAsce722DataAsync renamed to GetHazardDataAsync (and related request/response types), now requires AsceVersion. Added net48 and netstandard2.0 support.