Skip to content

DiGi.GIS.WebAPI.UI.Classes

Jakub Ziolkowski edited this page Oct 14, 2026 · 7 revisions

DiGi.GIS.WebAPI.UI.Classes Namespace

Classes

AntennaParameter Class

Represents a single antenna sent by the communication 3D view: its world location and the communication functions selected by the user (mapped to DiGi.Communication.Enums.Function).

public class AntennaParameter

Inheritance System.Object → AntennaParameter

Properties

AntennaParameter.Functions Property

Gets or sets the names of the selected DiGi.Communication.Enums.Function values (e.g. Transmitter, Receiver).

public System.Collections.Generic.List<string>? Functions { get; set; }

Property Value

System.Collections.Generic.List<System.String>

AntennaParameter.X Property

Gets or sets the X coordinate of the antenna in world coordinates.

public double X { get; set; }

Property Value

System.Double

AntennaParameter.Y Property

Gets or sets the Y coordinate of the antenna in world coordinates.

public double Y { get; set; }

Property Value

System.Double

AntennaParameter.Z Property

Gets or sets the absolute elevation (Z coordinate in world coordinates) of the antenna top in meters.

public double Z { get; set; }

Property Value

System.Double

CommunicationCalculationParameter Class

Represents the payload of a communication calculation request sent by the communication 3D view: the analyzed circular area (used to fetch the buildings on the fly) and the antennas placed by the user.

public class CommunicationCalculationParameter

Inheritance System.Object → CommunicationCalculationParameter

Properties

CommunicationCalculationParameter.Antennas Property

Gets or sets the antennas placed by the user in the 3D view.

public System.Collections.Generic.List<DiGi.GIS.WebAPI.UI.Classes.AntennaParameter>? Antennas { get; set; }

Property Value

System.Collections.Generic.List<AntennaParameter>

CommunicationCalculationParameter.CenterX Property

Gets or sets the X coordinate of the center of the analyzed circular area.

public double CenterX { get; set; }

Property Value

System.Double

CommunicationCalculationParameter.CenterY Property

Gets or sets the Y coordinate of the center of the analyzed circular area.

public double CenterY { get; set; }

Property Value

System.Double

CommunicationCalculationParameter.Conductivity Property

Gets or sets the default electrical conductivity applied to the scattering object mesh cells [S/m].

public System.Nullable<double> Conductivity { get; set; }

Property Value

System.Nullable<System.Double>

CommunicationCalculationParameter.DefaultSimpleMultipathPowerDelayProfile Property

Gets or sets the default simple multipath power delay profile name.

public string? DefaultSimpleMultipathPowerDelayProfile { get; set; }

Property Value

System.String

CommunicationCalculationParameter.Frequency Property

Gets or sets the frequency of the propagating electromagnetic wave [Hz].

The 3D view collects the value in MHz and converts it before sending; when omitted the DiGi.Communication.Classes.AngularPowerDistributionSolverOptions default is used.

public System.Nullable<double> Frequency { get; set; }

Property Value

System.Nullable<System.Double>

CommunicationCalculationParameter.Polarization Property

Gets or sets the polarization type of the propagating electromagnetic wave (Vertical or Horizontal).

public string? Polarization { get; set; }

Property Value

System.String

CommunicationCalculationParameter.Radius Property

Gets or sets the radius of the analyzed circular area in meters.

public double Radius { get; set; }

Property Value

System.Double

CommunicationCalculationParameter.RelativePermittivity Property

Gets or sets the default relative electrical permittivity applied to the scattering object mesh cells [-].

public System.Nullable<double> RelativePermittivity { get; set; }

Property Value

System.Nullable<System.Double>

OrtoDataBuildingResponse Class

The building the Orto Data page is to verify: where to find it, the photo years it holds, and the answer already on record.

An instance with no Reference is the page's empty state - nothing left to verify - which is also what the relay answers while the upstream endpoints are not deployed. Serialized to the page script with the framework's web defaults, so the property names reach the browser camelCased (countyId, reference, years, selected).

public class OrtoDataBuildingResponse

Inheritance System.Object → OrtoDataBuildingResponse

Properties

OrtoDataBuildingResponse.CountyId Property

Gets or sets the identifier of the building_2d part the building is filed under, or null when no building was drawn.

public System.Nullable<int> CountyId { get; set; }

Property Value

System.Nullable<System.Int32>

OrtoDataBuildingResponse.Reference Property

Gets or sets the reference of the building, or null when no building was drawn.

public string? Reference { get; set; }

Property Value

System.String

OrtoDataBuildingResponse.Selected Property

Gets or sets the answer already recorded for the building, or null when none is.

public DiGi.GIS.WebAPI.UI.Classes.OrtoDataBuildingResponse.Selection? Selected { get; set; }

Property Value

Selection

OrtoDataBuildingResponse.Years Property

Gets or sets the years that hold a photo of the building - the only years a card is rendered for.

Sorted ascending upstream; the bound answers read their oldest and newest ends.

public System.Collections.Generic.List<short> Years { get; set; }

Property Value

System.Collections.Generic.List<System.Int16>

OrtoDataBuildingResponse.Selection Class

The year built answer recorded for a building: the year it names, how that year relates to the true construction year, and who recorded it when.

There is at most one user entry per building - the stored year built data is keyed by source - so the page's selection is a single object rather than a list.

public class OrtoDataBuildingResponse.Selection

Inheritance System.Object → Selection

Properties

OrtoDataBuildingResponse.Selection.DateTime Property

Gets or sets when the answer was recorded (UTC), or null for legacy entries written before provenance was kept.

public System.Nullable<System.DateTimeOffset> DateTime { get; set; }

Property Value

System.Nullable<System.DateTimeOffset>

OrtoDataBuildingResponse.Selection.Relation Property

Gets or sets how Year relates to the true construction year, as the integer value of DiGi.GIS.Enums.YearBuiltRelation: 0 exact, 1 at or before, 2 after.

public System.Nullable<int> Relation { get; set; }

Property Value

System.Nullable<System.Int32>

OrtoDataBuildingResponse.Selection.UserName Property

Gets or sets who recorded the answer, or null for legacy entries written before provenance was kept.

public string? UserName { get; set; }

Property Value

System.String

OrtoDataBuildingResponse.Selection.Year Property

Gets or sets the photo year the answer names, or the bound year for an at-or-before or after answer.

public System.Nullable<short> Year { get; set; }

Property Value

System.Nullable<System.Int16>

SolarJob Class

A background solar radiation job: the request it answers, the calculation prepared for it, its state and, once calculated, its results.

Held in memory by a SolarJobQueue and never persisted. Its state changes only through Modify.TryEnqueue, Modify.Cancel and Modify.SolveAsync, under the lock of the queue; read it through Query.SolarJob or Create.SolarJobViewModel.

public class SolarJob

Inheritance System.Object → SolarJob

Constructors

SolarJob(Guid, long, Nullable<int>, double, int, BuildingModel, List<BuildingModel>, Func<List<SurfaceSolarRadiationResult>>) Constructor

Initializes a new instance of the SolarJob class in the Queued state.

public SolarJob(System.Guid id, long buildingModelId, System.Nullable<int> countyId, double radius, int receiverCount, DiGi.Analytical.Building.Classes.BuildingModel? buildingModel, System.Collections.Generic.List<DiGi.Analytical.Building.Classes.BuildingModel>? buildingModels_Surrounding, System.Func<System.Collections.Generic.List<DiGi.GIS.WebAPI.UI.Classes.SurfaceSolarRadiationResult>?>? calculation);

Parameters

id System.Guid

The unique identifier of the job.

buildingModelId System.Int64

The unique identifier of the building.

countyId System.Nullable<System.Int32>

The optional unique identifier of the county associated with the building.

radius System.Double

The neighbour radius in metres.

receiverCount System.Int32

The number of receiving surfaces (external walls and roofs) of the building.

buildingModel DiGi.Analytical.Building.Classes.BuildingModel

The building, kept to build the coloured scene from the results.

buildingModels_Surrounding System.Collections.Generic.List<DiGi.Analytical.Building.Classes.BuildingModel>

The neighbours, kept to build the coloured scene from the results.

calculation System.Func<System.Collections.Generic.List<SurfaceSolarRadiationResult>>

The calculation, prepared with every input it needs; it is released once it has run.

Properties

SolarJob.BuildingModel Property

Gets the building, kept to build the coloured scene from the results; null once the job failed or was cancelled.

public DiGi.Analytical.Building.Classes.BuildingModel? BuildingModel { get; internal set; }

Property Value

DiGi.Analytical.Building.Classes.BuildingModel

SolarJob.BuildingModelId Property

Gets the unique identifier of the building.

public long BuildingModelId { get; }

Property Value

System.Int64

SolarJob.BuildingModels_Surrounding Property

Gets the neighbours, kept to build the coloured scene from the results; null once the job failed or was cancelled.

public System.Collections.Generic.List<DiGi.Analytical.Building.Classes.BuildingModel>? BuildingModels_Surrounding { get; internal set; }

Property Value

System.Collections.Generic.List<DiGi.Analytical.Building.Classes.BuildingModel>

SolarJob.Calculation Property

Gets the prepared calculation, or null once it has run or the job was cancelled.

public System.Func<System.Collections.Generic.List<DiGi.GIS.WebAPI.UI.Classes.SurfaceSolarRadiationResult>?>? Calculation { get; internal set; }

Property Value

System.Func<System.Collections.Generic.List<SurfaceSolarRadiationResult>>

SolarJob.CountyId Property

Gets the optional unique identifier of the county associated with the building.

public System.Nullable<int> CountyId { get; }

Property Value

System.Nullable<System.Int32>

SolarJob.CreatedAt Property

Gets the moment the job was queued.

public System.DateTimeOffset CreatedAt { get; internal set; }

Property Value

System.DateTimeOffset

SolarJob.Error Property

Gets the error text of a failed job.

public string? Error { get; internal set; }

Property Value

System.String

SolarJob.FinishedAt Property

Gets the moment the job completed, failed or was cancelled.

public System.Nullable<System.DateTimeOffset> FinishedAt { get; internal set; }

Property Value

System.Nullable<System.DateTimeOffset>

SolarJob.Id Property

Gets the unique identifier of the job.

public System.Guid Id { get; }

Property Value

System.Guid

SolarJob.Index Property

Gets the order in which the job was queued, from 1.

public long Index { get; internal set; }

Property Value

System.Int64

SolarJob.Radius Property

Gets the neighbour radius in metres.

public double Radius { get; }

Property Value

System.Double

SolarJob.ReceiverCount Property

Gets the number of receiving surfaces (external walls and roofs) of the building.

public int ReceiverCount { get; }

Property Value

System.Int32

SolarJob.StartedAt Property

Gets the moment the calculation started.

public System.Nullable<System.DateTimeOffset> StartedAt { get; internal set; }

Property Value

System.Nullable<System.DateTimeOffset>

SolarJob.Status Property

Gets the state of the job.

public DiGi.GIS.WebAPI.UI.Enums.SolarJobStatus Status { get; internal set; }

Property Value

SolarJobStatus

SolarJob.SurfaceSolarRadiationResults Property

Gets the results of a completed job.

public System.Collections.Generic.List<DiGi.GIS.WebAPI.UI.Classes.SurfaceSolarRadiationResult>? SurfaceSolarRadiationResults { get; internal set; }

Property Value

System.Collections.Generic.List<SurfaceSolarRadiationResult>

SolarJobQueue Class

The background solar radiation jobs of this host: every job by its identifier until it expires, and the channel through which queued jobs reach their single consumer (SolarJobHostedService). Registered as a singleton.

The channel is unbounded and only carries jobs to the consumer: the queue length (SolarJobQueueLengthMax) is counted over the queued jobs under Lock, so that a cancelled job frees its place at once instead of holding a channel slot until the consumer reaches it (DiGi.GIS.WebAPI.UI#60).

public class SolarJobQueue

Inheritance System.Object → SolarJobQueue

Constructors

SolarJobQueue(TimeProvider) Constructor

Initializes a new instance of the SolarJobQueue class.

public SolarJobQueue(System.TimeProvider timeProvider);

Parameters

timeProvider System.TimeProvider

The clock that stamps the jobs and expires them.

Properties

SolarJobQueue.Channel Property

Gets the channel through which queued jobs reach their consumer.

internal System.Threading.Channels.Channel<DiGi.GIS.WebAPI.UI.Classes.SolarJob> Channel { internal get; }

Property Value

System.Threading.Channels.Channel<SolarJob>

SolarJobQueue.Count Property

Gets the number of jobs queued so far, the source of Index.

internal long Count { internal get; internal set; }

Property Value

System.Int64

SolarJobQueue.Lock Property

Gets the lock guarding SolarJobs, Count and the state of every job.

internal System.Threading.Lock Lock { internal get; }

Property Value

System.Threading.Lock

SolarJobQueue.SolarJobs Property

Gets every job that has not expired, by its identifier.

internal System.Collections.Generic.Dictionary<System.Guid,DiGi.GIS.WebAPI.UI.Classes.SolarJob> SolarJobs { internal get; }

Property Value

System.Collections.Generic.Dictionary<System.Guid,SolarJob>

SolarJobQueue.TimeProvider Property

Gets the clock that stamps the jobs and expires them.

public System.TimeProvider TimeProvider { get; }

Property Value

System.TimeProvider

SurfaceSolarRadiationResult Class

Represents the annual solar radiation received by one external surface (a wall or a roof) of a building, shaded by the building itself and by its neighbours.

Irradiation values are per square metre of the surface, over one EPW year. The beam component reaches only the unshaded part of the surface. Sky diffuse and ground-reflected radiation (isotropic sky) reach the surface in proportion to the part of its sky and of its ground not blocked by the building itself or by its neighbours (SkyVisibility, GroundVisibility); blocked parts contribute nothing, reflections between buildings are ignored (DiGi-Organization/DiGi.Solar#15).

Instances are plain carriers of already-computed values. Use SurfaceSolarRadiationResults(this ShadingModel, IDictionary<string,Vector3D>, EPWFile, ShadingSolverOptions, Action<string>) to calculate them.

public class SurfaceSolarRadiationResult : DiGi.Core.Classes.SerializableResult

Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Core.Classes.SerializableResult → SurfaceSolarRadiationResult

Constructors

SurfaceSolarRadiationResult(SurfaceSolarRadiationResult) Constructor

Initializes a new instance of the SurfaceSolarRadiationResult class by copying an existing instance.

public SurfaceSolarRadiationResult(DiGi.GIS.WebAPI.UI.Classes.SurfaceSolarRadiationResult? surfaceSolarRadiationResult);

Parameters

surfaceSolarRadiationResult SurfaceSolarRadiationResult

The source SurfaceSolarRadiationResult to copy from.

SurfaceSolarRadiationResult(string, double, double, double, double, double, double, double, double, double) Constructor

Initializes a new instance of the SurfaceSolarRadiationResult class.

public SurfaceSolarRadiationResult(string? reference, double area, double irradiation, double beam, double diffuse, double ground, double irradiationUnshaded, double energy, double skyVisibility, double groundVisibility);

Parameters

reference System.String

The DiGi.Core.Classes.GuidReference string of the building component the surface belongs to.

area System.Double

The area of the surface, in m².

irradiation System.Double

The annual irradiation of the surface with shading, in kWh/m² per year.

beam System.Double

The annual beam (direct) irradiation reaching the unshaded part of the surface, in kWh/m² per year of the whole surface.

diffuse System.Double

The annual sky diffuse irradiation reaching the surface past the blocked part of its sky, in kWh/m² per year.

ground System.Double

The annual ground-reflected irradiation reaching the surface past the blocked part of its ground, in kWh/m² per year.

irradiationUnshaded System.Double

The annual irradiation the surface would receive under an open sky, with no shading and nothing blocking its sky or ground, in kWh/m² per year.

energy System.Double

The annual solar energy incident on the whole surface with shading, in kWh per year.

skyVisibility System.Double

The unblocked share of the surface's isotropic sky view factor, from 0 (blocked) to 1 (open).

groundVisibility System.Double

The unblocked share of the surface's isotropic ground view factor, from 0 (blocked) to 1 (open).

SurfaceSolarRadiationResult(JsonObject) Constructor

Initializes a new instance of the SurfaceSolarRadiationResult class from a JSON object.

public SurfaceSolarRadiationResult(System.Text.Json.Nodes.JsonObject? jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The System.Text.Json.Nodes.JsonObject containing the result data.

Properties

SurfaceSolarRadiationResult.Area Property

Gets the area of the surface, in m².

public double Area { get; }

Property Value

System.Double

SurfaceSolarRadiationResult.Beam Property

Gets the annual beam (direct) irradiation reaching the unshaded part of the surface, in kWh/m² per year of the whole surface.

public double Beam { get; }

Property Value

System.Double

SurfaceSolarRadiationResult.Diffuse Property

Gets the annual sky diffuse irradiation of the surface, reduced by the blocked part of its sky (SkyVisibility), in kWh/m² per year.

public double Diffuse { get; }

Property Value

System.Double

SurfaceSolarRadiationResult.Energy Property

Gets the annual solar energy incident on the whole surface with shading, in kWh per year: Irradiation times Area.

public double Energy { get; }

Property Value

System.Double

SurfaceSolarRadiationResult.Ground Property

Gets the annual ground-reflected irradiation of the surface, reduced by the blocked part of its ground (GroundVisibility), in kWh/m² per year.

public double Ground { get; }

Property Value

System.Double

SurfaceSolarRadiationResult.GroundVisibility Property

Gets the unblocked share of the surface's isotropic ground view factor, from 0 (the building itself or its neighbours block the whole ground in front of it) to 1 (open).

public double GroundVisibility { get; }

Property Value

System.Double

SurfaceSolarRadiationResult.Irradiation Property

Gets the annual irradiation of the surface with shading, in kWh/m² per year: the sum of Beam, Diffuse and Ground.

public double Irradiation { get; }

Property Value

System.Double

SurfaceSolarRadiationResult.IrradiationUnshaded Property

Gets the annual irradiation the surface would receive under an open sky, with no shading and nothing blocking its sky or ground, in kWh/m² per year. The difference to Irradiation is the loss to shading and blocked view.

public double IrradiationUnshaded { get; }

Property Value

System.Double

SurfaceSolarRadiationResult.Reference Property

Gets the DiGi.Core.Classes.GuidReference string of the building component the surface belongs to, the same string the shading model's element carries.

public string? Reference { get; }

Property Value

System.String

SurfaceSolarRadiationResult.SkyVisibility Property

Gets the unblocked share of the surface's isotropic sky view factor, from 0 (the building itself or its neighbours block the whole sky in front of it) to 1 (open).

public double SkyVisibility { get; }

Property Value

System.Double

TypologyDefinitionLevelParameter Class

One level of the Typology definition page state: a selected building-data column, its rule type and the rows of the active rule editor.

Name, DataType and IsNumeric describe the column as listed by the deployed GIS Web API; the server fills them from the live column catalog on import and ignores them on export, where the column is identified by UniqueId alone.

public class TypologyDefinitionLevelParameter

Inheritance System.Object → TypologyDefinitionLevelParameter

Properties

TypologyDefinitionLevelParameter.DataType Property

Gets or sets the integer DiGi.Core.Enums.DataType value of the column (0 Undefined through 14 String).

public int DataType { get; set; }

Property Value

System.Int32

TypologyDefinitionLevelParameter.IsNumeric Property

Gets or sets a value indicating whether the column is numeric and eligible for a range rule.

public bool IsNumeric { get; set; }

Property Value

System.Boolean

TypologyDefinitionLevelParameter.Name Property

Gets or sets the display name of the column.

public string? Name { get; set; }

Property Value

System.String

TypologyDefinitionLevelParameter.Ranges Property

Gets or sets the range rows, read when RuleType names a range rule.

public System.Collections.Generic.List<DiGi.GIS.WebAPI.UI.Classes.TypologyDefinitionRangeParameter>? Ranges { get; set; }

Property Value

System.Collections.Generic.List<TypologyDefinitionRangeParameter>

TypologyDefinitionLevelParameter.RuleType Property

Gets or sets the rule class name: VisualIntegerRangeFilterRule, VisualDoubleRangeFilterRule or VisualUniqueValueFilterRule. Null when no rule has been chosen yet.

public string? RuleType { get; set; }

Property Value

System.String

TypologyDefinitionLevelParameter.UniqueId Property

Gets or sets the unique identifier (slug) of the column, as addressed by the deployed GIS Web API.

public string? UniqueId { get; set; }

Property Value

System.String

TypologyDefinitionLevelParameter.UniqueValueColors Property

Gets or sets the unique-value rows, read when RuleType names the unique-value rule.

public System.Collections.Generic.List<DiGi.GIS.WebAPI.UI.Classes.TypologyDefinitionUniqueValueParameter>? UniqueValueColors { get; set; }

Property Value

System.Collections.Generic.List<TypologyDefinitionUniqueValueParameter>

TypologyDefinitionParameter Class

The page state of the Typology definition page: the chain of selected building-data columns, each with its rule type, ranges and colors.

This is the wire contract of POST /typology/definition/export (request) and POST /typology/definition/validate (response), serialized camelCase by the application's default JSON options, exactly as typology.js holds it. The DiGi document (DiGi.Typology.Visual.Classes.VisualColumnTypologyFilter) is composed and parsed on the server only, so the page never spells a _type or a TypologyAppearanceCollection key.

public class TypologyDefinitionParameter

Inheritance System.Object → TypologyDefinitionParameter

Properties

TypologyDefinitionParameter.Levels Property

Gets or sets the levels of the chain, root first.

public System.Collections.Generic.List<DiGi.GIS.WebAPI.UI.Classes.TypologyDefinitionLevelParameter>? Levels { get; set; }

Property Value

System.Collections.Generic.List<TypologyDefinitionLevelParameter>

TypologyDefinitionRangeParameter Class

One range row of a Typology definition level: a closed interval and the color of the bucket it maps to.

public class TypologyDefinitionRangeParameter

Inheritance System.Object → TypologyDefinitionRangeParameter

Properties

TypologyDefinitionRangeParameter.Color Property

Gets or sets the bucket color as the color picker holds it, #rrggbb.

public string? Color { get; set; }

Property Value

System.String

TypologyDefinitionRangeParameter.Max Property

Gets or sets the inclusive upper bound. Null when the row is still being typed.

public System.Nullable<double> Max { get; set; }

Property Value

System.Nullable<System.Double>

TypologyDefinitionRangeParameter.Min Property

Gets or sets the inclusive lower bound. Null when the row is still being typed.

public System.Nullable<double> Min { get; set; }

Property Value

System.Nullable<System.Double>

TypologyDefinitionUniqueValueParameter Class

One unique-value row of a Typology definition level: a value of the column and the color of the bucket it maps to.

public class TypologyDefinitionUniqueValueParameter

Inheritance System.Object → TypologyDefinitionUniqueValueParameter

Properties

TypologyDefinitionUniqueValueParameter.Color Property

Gets or sets the bucket color as the color picker holds it, #rrggbb.

public string? Color { get; set; }

Property Value

System.String

TypologyDefinitionUniqueValueParameter.Value Property

Gets or sets the value, a JSON primitive or null for the NULL bucket. Bound from a request body it arrives as a System.Text.Json.JsonElement; read it through TryConvertValue(object, DataType, object), never by pattern matching on a CLR primitive.

public object? Value { get; set; }

Property Value

System.Object

TypologyHistogramParameter Class

The body the histogramsummary relay posts to the upstream gis/BuildingData/histogramsummary endpoint.

The property names are the wire contract: the upstream binds its own HistogramRequestParameter from the body, and Query.PostJsonAsync sends the declared names as-is (JsonSerializerOptions.Default), so nothing relies on the receiver binding names case-insensitively (see Coding - WebAPI Contracts, section 2). The upstream's FilterGroup is deliberately absent — the definition page never filters a histogram (the county-part scope is #38).

public class TypologyHistogramParameter

Inheritance System.Object → TypologyHistogramParameter

Properties

TypologyHistogramParameter.BucketCount Property

Gets or sets the number of buckets; the relay fixes it to HistogramBucketCount.

public int BucketCount { get; set; }

Property Value

System.Int32

TypologyHistogramParameter.ColumnUniqueId Property

Gets or sets the unique identifier (slug) of the column to histogram, as listed by the columns endpoint.

public string ColumnUniqueId { get; set; }

Property Value

System.String

TypologyHistogramParameter.CountyId Property

Gets or sets the county part identifier scoping the histogram; null asks for the whole table.

public System.Nullable<int> CountyId { get; set; }

Property Value

System.Nullable<System.Int32>

TypologyHistogramParameter.HistogramBucketing Property

Gets or sets the bucketing rule, sent as its integer value; the relay asks for DiGi.PostgreSQL.Table.Enums.HistogramBucketing.EqualCount (issue #37), so every bucket holds the same number of buildings and the Load's quantile bounds follow the buildings rather than the value span. A host without DiGi-Organization/DiGi.GIS.WebAPI#35 ignores the property and answers equal-width buckets.

public DiGi.PostgreSQL.Table.Enums.HistogramBucketing HistogramBucketing { get; set; }

Property Value

DiGi.PostgreSQL.Table.Enums.HistogramBucketing

TypologySolveParameter Class

The request body of POST /typology/buildings: the Typology definition page state to solve, and the administrative area it is solved for.

The Definition is the same page state the definition page exports, resolved server-side against the live column catalog before the solve. The Id, Code and AdministrativeArealType carry the area context the Load modal selected, and are used to resolve the county part identifiers that scope the building data fetch.

AdministrativeArealType is nullable on the wire: the Undefined sentinel is -1 and not 0, so a non-nullable binding would silently keep Country for an omitted parameter (Coding - WebAPI Contracts, section 2). The action rejects null and DiGi.GIS.PostgreSQL.Enums.AdministrativeArealType.Undefined explicitly.

public class TypologySolveParameter

Inheritance System.Object → TypologySolveParameter

Properties

TypologySolveParameter.AdministrativeArealType Property

Gets or sets the type of the selected administrative area, bound as nullable so an omitted value is refused rather than read as DiGi.GIS.PostgreSQL.Enums.AdministrativeArealType.Country.

public System.Nullable<DiGi.GIS.PostgreSQL.Enums.AdministrativeArealType> AdministrativeArealType { get; set; }

Property Value

System.Nullable<DiGi.GIS.PostgreSQL.Enums.AdministrativeArealType>

TypologySolveParameter.Code Property

Gets or sets the code of the selected administrative area.

public string? Code { get; set; }

Property Value

System.String

TypologySolveParameter.Definition Property

Gets or sets the Typology definition page state: the chain of selected building-data columns with rule types, ranges and colors.

public DiGi.GIS.WebAPI.UI.Classes.TypologyDefinitionParameter? Definition { get; set; }

Property Value

TypologyDefinitionParameter

TypologySolveParameter.Id Property

Gets or sets the unique identifier of the selected administrative area, as carried by the Load modal.

public int Id { get; set; }

Property Value

System.Int32

UserLoginParameter Class

The credentials a visitor submits on the sign-in page, relayed to the user authentication service.

These two property names are the wire contract of POST /user/login and must match DiGi.User.Classes.UserLogin. This application reaches that service over HTTP only, so nothing checks them at compile time and a rename on either side fails silently - diff them by hand whenever either moves (Coding - WebAPI Contracts, section 5).

Password is a secret in transit. It is never logged, never echoed back to the browser and never written into a view.

public class UserLoginParameter

Inheritance System.Object → UserLoginParameter

Properties

UserLoginParameter.Email Property

Gets or sets the email address identifying the account.

public string? Email { get; set; }

Property Value

System.String

UserLoginParameter.Password Property

Gets or sets the password submitted for the account.

public string? Password { get; set; }

Property Value

System.String

UserYearBuiltParameter Class

The year built answer a reviewer submits on the Orto Data page, relayed to the GIS Web API.

These property names are the wire contract of POST gis/yearbuiltdata/setuseryearbuilt and must match the service's own UserYearBuiltParameter. This application reaches that service over HTTP only, so nothing checks them at compile time and a rename on either side fails silently - diff them by hand whenever either moves (Coding - WebAPI Contracts, section 5).

public class UserYearBuiltParameter

Inheritance System.Object → UserYearBuiltParameter

Properties

UserYearBuiltParameter.CountyId Property

Gets or sets the identifier of the building_2d part the building is filed under.

Always the part the page received from the random draw or the direct-mode reference resolution, never one re-derived from a county code: a county code can name several parts, and the write is refused when the named part does not hold the reference.

public System.Nullable<int> CountyId { get; set; }

Property Value

System.Nullable<System.Int32>

UserYearBuiltParameter.Reference Property

Gets or sets the reference of the building the answer is for.

public string? Reference { get; set; }

Property Value

System.String

UserYearBuiltParameter.Relation Property

Gets or sets how Year relates to the true construction year, as the integer value of DiGi.GIS.Enums.YearBuiltRelation: 0 exact, 1 at or before, 2 after.

The integer, never the member name: the service binds the value against its own enum spelling, and a renamed member turns a member-name string into a hard 400 while the integer never moves (Coding - WebAPI Contracts, section 2). The service treats null as 0.

public System.Nullable<int> Relation { get; set; }

Property Value

System.Nullable<System.Int32>

UserYearBuiltParameter.Year Property

Gets or sets the photo year the answer names: the selected card's year, or the oldest or newest listed year for a bound answer.

public System.Nullable<short> Year { get; set; }

Property Value

System.Nullable<System.Int16>

WebAPIResponse Class

The outcome of a single request relayed to a Web API: the status it answered with, and the body it carried.

The other Query helpers of this application collapse every failure into null, so that a page assembled from several independent requests survives one of them coming back empty. Authentication, and a user-initiated value load, are the cases that rule does not cover: there the status is the answer. A refused credential (401) has to stay distinct from a faulting authentication service (500) and from a service that could not be reached at all, because collapsing them reports an outage to the visitor as a wrong password and hides it from everyone else; and an empty column - the page's 204 - has to stay distinct from a faulting data service (502) or an unreachable one (503), because collapsing them reads a service failure as a column with no values (issue #40).

public class WebAPIResponse

Inheritance System.Object → WebAPIResponse

Constructors

WebAPIResponse(int, string) Constructor

Initializes a new instance of the WebAPIResponse class.

public WebAPIResponse(int statusCode, string? json=null);

Parameters

statusCode System.Int32

The HTTP status code the Web API answered with.

json System.String

The response body, or null when the response carried none.

Properties

WebAPIResponse.Json Property

Gets the response body, or null when the response carried none.

public string? Json { get; }

Property Value

System.String

WebAPIResponse.StatusCode Property

Gets the HTTP status code the Web API answered with.

public int StatusCode { get; }

Property Value

System.Int32

Clone this wiki locally