Dlubal.API.GeoZoneTool
2.2.0
dotnet add package Dlubal.API.GeoZoneTool --version 2.2.0
NuGet\Install-Package Dlubal.API.GeoZoneTool -Version 2.2.0
<PackageReference Include="Dlubal.API.GeoZoneTool" Version="2.2.0" />
<PackageVersion Include="Dlubal.API.GeoZoneTool" Version="2.2.0" />
<PackageReference Include="Dlubal.API.GeoZoneTool" />
paket add Dlubal.API.GeoZoneTool --version 2.2.0
#r "nuget: Dlubal.API.GeoZoneTool, 2.2.0"
#:package Dlubal.API.GeoZoneTool@2.2.0
#addin nuget:?package=Dlubal.API.GeoZoneTool&version=2.2.0
#tool nuget:?package=Dlubal.API.GeoZoneTool&version=2.2.0
Dlubal GeoZoneTool API Client
A .NET client for the Dlubal GeoZone gRPC API. It handles authentication and exposes convenience methods for load zone data, standards, screenshots, PDFs, and user info.
Supported frameworks
The package multi-targets net48, netstandard2.0, net8.0, net9.0 and net10.0, so it can be
consumed from .NET Framework 4.8, .NET Standard 2.0 and any of the current .NET releases.
net48 needs Windows 10 1903+ / Windows Server 2016 1903+ and an https:// address: .NET
Framework's HTTP stack only gets HTTP/2 support (which gRPC requires) via WinHttpHandler, and
only over TLS, not the plaintext http:// a local dev server might use.
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?.TypeGroups.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 / 7-16 seismic hazard data
var result = await client.GetHazardDataAsync(
new GetHazardDataRequest
{
Latitude = "34.05",
Longitude = "-118.25",
RiskCategory = RiskCategoryEnum.II,
SiteClass = SiteClassEnum.C,
AsceVersion = AsceVersionEnum.ASCE22,
});
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}");
AsceVersion is required and selects the edition: AsceVersionEnum.ASCE22 or AsceVersionEnum.ASCE16.
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). GeoLocation carries the resolved address and altitude for the requested coordinates.
| 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 is compatible. 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 is compatible. 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
- Google.Protobuf (>= 3.28.3)
- Grpc.Net.Client (>= 2.66.0)
- Microsoft.Bcl.AsyncInterfaces (>= 8.0.0)
- System.Net.Http.WinHttpHandler (>= 8.0.2)
-
.NETStandard 2.0
- Google.Protobuf (>= 3.28.3)
- Grpc.Net.Client (>= 2.66.0)
- Microsoft.Bcl.AsyncInterfaces (>= 8.0.0)
-
net10.0
- Google.Protobuf (>= 3.28.3)
- Grpc.Net.Client (>= 2.66.0)
-
net8.0
- Google.Protobuf (>= 3.28.3)
- Grpc.Net.Client (>= 2.66.0)
-
net9.0
- Google.Protobuf (>= 3.28.3)
- Grpc.Net.Client (>= 2.66.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Dlubal.API.GeoZoneTool:
| Package | Downloads |
|---|---|
|
Dlubal.Api
A .NET Client Library for Dlubal Software APIs powered by gRPC |
|
|
Dlubal.Api.NetFramework
A .NET Framework 4.8 Client Library for Dlubal Software APIs powered by gRPC (synchronous) |
GitHub repositories
This package is not used by any popular GitHub repositories.
v2.1.0: Added net8.0 and net10.0 targets. The package now ships net48, netstandard2.0, net8.0, net9.0 and net10.0 assemblies.