Skip to content

DiGi.GIS.WebAPI.Constants

github-actions[bot] edited this page Sep 23, 2026 · 3 revisions

DiGi.GIS.WebAPI.Constants Namespace

Classes

Compression Class

Provides the compression settings applied to request payloads sent to the GIS PostgreSQL Web API.

public static class Compression

Inheritance System.Object → Compression

Fields

Compression.Level Field

The GZip compression level used for request payloads.

System.IO.Compression.CompressionLevel.Fastest rather than System.IO.Compression.CompressionLevel.Optimal: on the bulk import path the client is CPU bound, and compressing a multi-megabyte JSON batch at System.IO.Compression.CompressionLevel.Optimal costs several times more than it saves in transfer. Revisit if the link to the host becomes the bottleneck.

public static readonly CompressionLevel Level;

Field Value

System.IO.Compression.CompressionLevel

FileName Class

Provides constant values for file names used within the GIS PostgreSQL Web API.

public static class FileName

Inheritance System.Object → FileName

Fields

FileName.GISWebAPIConfigurationFile Field

Gets the filename of the configuration file for the GIS PostgreSQL Web API.

public const string GISWebAPIConfigurationFile = "GIS_WebAPI.conf";

Field Value

System.String

Header Class

Provides the names of the HTTP headers the GIS Web API sets on its responses.

public static class Header

Inheritance System.Object → Header

Fields

Header.NextCursor Field

The response header carrying the cursor of the next page of a physical-order building data read. Absent when the county part is exhausted, and absent when the endpoint answered in reference order instead.

public const string NextCursor = "DiGi-Next-Cursor";

Field Value

System.String

Name Class

Provides a collection of constant name identifiers used within the GIS PostgreSQL Web API.

public static class Name

Inheritance System.Object → Name

Name.Client Class

Provides the identifiers for the named HTTP clients created by the Web API.

public static class Name.Client

Inheritance System.Object → Client

Fields

Name.Client.Geoportal Field

The Geoportal client identifier.

public static string Geoportal;

Field Value

System.String

Name.Client.GIS Field

The GIS client identifier.

public static string GIS;

Field Value

System.String

Name.Client.GUGiK Field

The GUGiK (Główny Urząd Geodezji i Kartografii) client identifier.

public static string GUGiK;

Field Value

System.String

OrtoDatas Class

Provides the limits applied to orthophoto queries served by the GIS PostgreSQL Web API.

public static class OrtoDatas

Inheritance System.Object → OrtoDatas

Fields

OrtoDatas.MaximumCoverageCountyCount Field

The largest number of distinct counties one coverage request may have measured exactly.

A subdivision or a municipality has no partition of its own, so its coverage is counted rather than estimated - one read per side of the county it sits in, measured at 0.10 s for a county of 33 000 buildings and 0.63 s for the largest in the country. Every subdivision and municipality of one county is served from that single pass, so the cost follows the counties named and not the identifiers.

The ceiling of 500 allows full-country listings covering all 380 Polish counties at once, while protecting the database connection pool against unbounded input.

public static readonly int MaximumCoverageCountyCount;

Field Value

System.Int32

OrtoDatas.MaximumSampleCount Field

The largest number of references a subdivision comparison may name back per category.

The comparison itself walks a whole county, and the counts it returns are exact whatever this is set to. The samples exist to make a disagreement actionable without returning a hundred thousand strings, so the ceiling bounds the response rather than the work.

public static readonly int MaximumSampleCount;

Field Value

System.Int32

OrtoDatas.MaximumSummaryCountyCount Field

The largest number of counties a summary or queue request may name at once.

Each county costs a grouped aggregate over one partition, which is cheap, but the request is unauthenticated and naming every county in the country in one call is not what these are for. Omitting the identifiers entirely is still allowed and answers every partition in a single grouped statement, which is one query rather than many.

public static readonly int MaximumSummaryCountyCount;

Field Value

System.Int32

Terrain Class

Provides the limits applied to terrain queries served by the GIS PostgreSQL Web API.

public static class Terrain

Inheritance System.Object → Terrain

Fields

Terrain.EdgeLengthFactor Field

How many times its own vertex spacing a terrain mesh triangle's longest edge may reach before it is treated as bridging no data.

A Delaunay triangulation covers the convex hull of its sites, so without a limit the mesh bridges county edges, no-data gaps and concave outlines with a skirt of long thin triangles that look like terrain and are not.

Expressed as a multiple of local spacing rather than as a distance, because the stored lattice is not the only sampling this has to survive: points added where the ground moves sharply make one area denser than another, and any fixed distance is then simultaneously too tight for the coarse part and too loose for the fine part. A factor measures each triangle against its own vertices and needs no retuning when the sampling changes.

The consequence to know when reading a served mesh: an empty area entirely enclosed by terrain - a lake, or a pocket the elevation service has no data for - is now spanned flat rather than left open, because nothing over it reaches the boundary to be removed. That is acceptable for a surface that is rendered; it is not a licence to treat the mesh as measured ground everywhere it has vertices.

On the present 100 m lattice this behaves like a limit of about 250 m. It only governs the outer edge: DiGi.Geometry.PointCloud.Core.Query.ErodedIndexes(System.Double[],System.Double[],System.Collections.Generic.List{System.Int32[]},System.Double) removes triangles from the boundary inwards, so a point missing from the interior keeps the triangles around it and reads as a flat spot rather than a hole.

public static readonly double EdgeLengthFactor;

Field Value

System.Double

Terrain.MaximumDensityCountyCount Field

The largest number of counties a single density request may name.

A density costs the reading of every subdivision outline of the county it is asked for, so this is what keeps one request from pulling the administrative geometry of the whole country. Sweeping every county means several requests, which is also what makes the sweep interruptible.

public static readonly int MaximumDensityCountyCount;

Field Value

System.Int32

Terrain.MaximumGapExtent Field

The longest side, in model units, a gap request may ask for.

Larger than the mesh endpoints admit, because a gap request returns coordinates rather than a triangulated surface and is meant for looking over a region at once. It is still bounded by MaximumNodeCount at any given lattice.

public static readonly double MaximumGapExtent;

Field Value

System.Double

Terrain.MaximumNodeCount Field

The largest number of lattice nodes a single coverage or gap request may generate.

Checked against the requested area before any node is built, so an area and a lattice that would together exceed it are refused rather than started. This is the cap that holds when a large county meets a fine lattice, both of which are individually allowed.

public static readonly long MaximumNodeCount;

Field Value

System.Int64

Terrain.MaximumRadius Field

The largest search radius, in model units, a terrain request may ask for.

The terrain endpoints are unauthenticated reads with no natural ceiling of their own: the radius alone decides how many stored points are gathered, triangulated and serialised, and the store is partitioned by county rather than capped by extent. Without this a single request can ask for the whole country.

The cap is a half-extent, so the largest search area is 4 km by 4 km. Counties are sampled onto a lattice between 10 m and 100 m, which puts the worst case at roughly 160 000 points. Raising this is safe only if the finest lattice is never queried at the new size - at 5 000 m the same lattice yields about a million points.

public static readonly double MaximumRadius;

Field Value

System.Double

Terrain.MinimumGridSize Field

The finest lattice, in model units, a coverage or gap request may be measured against.

The work of those endpoints rises with the square of how fine the lattice is: they generate every node of a county and decide each one against its outlines. A county of 1 000 square kilometres is 100 000 nodes at 100 m and 10 million at 10 m, and below that the request stops being a diagnostic and becomes a denial of service that anyone can send.

public static readonly double MinimumGridSize;

Field Value

System.Double

Uri Class

Provides constant URI values used throughout the PostgreSQL Web API application.

public static class Uri

Inheritance System.Object → Uri

Fields

Uri.BaseAddress Field

Gets or sets the base address for the Web API services.

public static Uri BaseAddress;

Field Value

System.Uri

Clone this wiki locally