Dokumentace API – Hledání parcel
Toto je popis starší verze služby pro hledání parcel. Doporučujeme používat aktuální verzi.
Webová služba pro hledání parcel je k dispozici na adrese:
- https://secure.smartform.cz/smartform-ws/searchParcel/v1
Vlastnosti dotazu
Dotazy musí být posílány metodou POST. Data jsou posílána ve formátu JSON s kódováním UTF-8.
Hlavička http requestu musí obsahovat následující položky:
| název | hodnota |
|---|---|
| Content-type | application/json |
| Accept | application/json |
Struktura dotazu a odpovědi
Následuje referenční struktura dotazu a odpovědi. Objekty jsou zachyceny ve formě pseudokódu pro lepší pochopení struktury.
Dotaz
/**
* Dotaz hledání parcel.
*
* Vždy musí obsahovat
* - identifikaci katastrálního území, tedy "cadastralUnitName" nebo "cadastralUnitCode".
* - číslo parcely, tedy dvojici "number1" a "number2" nebo "wholeNumber".
*/
class SearchParcelRequest
{
/** Heslo - pokud jej nemáte, získáte ho v administraci na https://admin.smartform.cz */
string password;
/** Název katastrálního území */
string cadastralUnitName;
/** Kód katastrálního území */
int cadastralUnitCode;
/** První číslo parcely. V Česku slouží pro zadání kmenového čísla. */
int number1;
/**
* Druhé číslo parcely. V Česku slouží pro zadání poddělení čísla.
*
* Když je zadáno "number1" a není zadáno "number2", hledají se jen parcely bez poddělení čísla.
*/
int number2;
/**
* Celé číslo parcely.
*
* Může mít následující tvary:
* 321
* 321/45
* st 321
* st. 321/45
* pp 321/45
* pp. 321
*/
string wholeNumber;
/**
* Typ číslování.
*
* V Česku některé katastrální území používají dvě číselné řady: pro stavební pozemky a pro
* ostatní pozemky.
*
* Nepovinný vstup.
*/
ParcelNumberingType numberingType;
}
Odpověď
/** Odpověď hledání parcel. */
class SearchParcelResponse
{
/** Zdali vůbec došlo k hledání parcel a hledání proběhlo v pořádku */
ResultCode resultCode;
/** Typ výsledku hledání parcel. */
ResultType resultType;
/** Nalezené parcely. */
List<Parcel> parcels;
/** Doplňující vysvětlení k výsledku hledání. Např. když je vstup zadán špatně nebo když dojde k nějaké chybě. */
string message;
}
Další objekty
/** Typ výsledku hledání parcel. */
enum ResultType
{
/** Byla nalezena právě jedna parcela. */
HIT,
/** Nebyla nalezena žádná parcela. */
NOTHING,
/** Bylo nalezeno více parcel.*/
MANY,
/** Nebyla nalezena žádná parcela, protože vstupní data obsahují nějaký závažný nedostatek. */
BAD_INPUT
}
/** Parcela */
class Parcel
{
/** ID parcely. (V Česku ID podle databáze RÚIAN) */
int id;
/** Dvoupísmenný ISO kód státu */
string countryCode;
/** První číslo parcely. */
int number1;
/**
* Druhé číslo parcely.
* V Česku se jmenuje poddělení čísla a udává se za lomítkem (nepovinné).
*/
int number2;
/**
* Typ číslování.
*
* V Česku některé katastrální území používají dvě číselné řady: pro stavební pozemky a pro
* ostatní pozemky.
*/
ParcelNumberingType numberingType;
/** Typ parcely */
ParcelType type;
/** Katastrální území – kód */
int cadastralUnitCode;
/** Katastrální území – název */
string cadastralUnitName;
/** Kód obce */
int municipalityCode;
/** Název obce */
string municipalityName;
/** Výměra v m2 */
double area;
/** Hranice ve formátu geoJSON v souřadnicovém systému WGS84 (GPS) */
json border;
/** Souřadnice */
Coordinates coordinates;
/** Seznam adresích míst na parcele */
List<AddressReference> addresses;
}
/** * Číselné řady parcel. * * V Česku existují v některých katastrálních územích dvě číselné řady parcel, * jedna pro takzvané pozemkové parcely a druhá pro stavební parcely. * * Viz https://cs.wikipedia.org/wiki/Parcelní_číslo */ enum ParcelNumberingType { /** CZ: Stavební parcely */ BUILDING, /** CZ: Pozemkové parcely */ OTHER }
/** Způsob využití parcely */
enum ParcelType
{
/** Orná půda */
ARABLE_LAND,
/** Chmelnice */
HOP_GARDEN,
/** Vinice */
VINEYARD,
/** Zahrada */
GARDEN,
/** Ovocný sad */
ORCHARD,
/** Trvalý travní porost */
GRASS,
/** Lesní pozemek */
WOOD,
/** Vodní plocha */
WATER,
/** Zastavěná plocha */
BUILDING_AREA,
/** Ostatní plocha */
OTHER
}
/** Stručná informace o adrese */
class AddressReference
{
/** Kód adresy */
long code;
/** Dvoupísmenný ISO kód státu */
string countryCode;
/** Celý název adresy */
string wholeName;
}
/** Souřadnice */
class Coordinates
{
/** Typ souřadnic */
CoordinatesType type;
/** Souřadnice JTSK – osa X */
double jtskX;
/** Souřadnice JTSK – osa Y */
double jtskY;
/** GPS – šířka */
double gpsLat;
/** GPS – délka */
double gpsLng;
}
/** Typ souřadnic */
enum CoordinatesType
{
/** Souřadnice jsou přesné (např. ukazují na konkrétní adresu) */
EXACT,
/** Souřadnice ukazují na střed oblasti (např. střed obce) */
CENTER,
/** Výsledná souřadnice je dána výpočtem (např. průměr souřadnic adres z jedné ulice) */
APPROXIMATE
}
/** Výsledek dotazu. */
enum ResultCode
{
/** Volání service proběhlo v pořádku. */
OK,
/** Při volání service došlo k chybě. */
FAIL
}
Tabulka typů v pseudokódu
| typ v pseudokódu | typ v JSON |
|---|---|
| třída (class) | vnořený objekt |
| výčet (enum) | řetězec se jménem vybrané položky |
| List | pole |
| Map | objekt – klíče a hodnoty se stanou položkami objektu |
| string | řetězec |
| int | číslo |
| double | číslo |
| boolean | boolean |
| char (jeden znak) | řetězec |