{"openapi":"3.1.0","info":{"title":"DátováMapa – kontrakt poskytovateľa dát","version":"0.1","description":"Endpointy, ktoré zverejní poskytovateľ dát. Cesty sú ilustratívne: skutočné URL určuje manifest (source.url, relatívne k URL manifestu). Návod: https://datovamapa.sk/dokumentacia/pre-ai-agentov.md. Overenie: POST https://datovamapa.sk/api/validate."},"servers":[{"url":"https://data.example.org/datovamapa","description":"Váš server"}],"paths":{"/manifest.json":{"get":{"operationId":"manifest","summary":"Manifest poskytovateľa","responses":{"200":{"description":"Manifest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Manifest"}}}}}}},"/{dataset}":{"get":{"operationId":"data","summary":"Dáta jednej dátovej sady (source.url)","description":"Vlastné filtre sady (params) prichádzajú ako ďalšie query parametre: key=hodnota, rozsah key=od,do, viac hodnôt key=a,b,c. Neznáme parametre ignorujte.","parameters":[{"name":"dataset","in":"path","required":true,"schema":{"type":"string"}},{"name":"bbox","in":"query","schema":{"type":"string","example":"16.523438,49.15297,16.699219,49.267805"},"description":"Len pri mode bbox. minLon,minLat,maxLon,maxLat vo WGS84, zarovnané na dlaždice úrovne zoom. Vráťte objekty, ktoré výrez pretínajú."},{"name":"zoom","in":"query","schema":{"type":"integer","minimum":0,"maximum":24},"description":"Len pri mode bbox. Pri malom priblížení môžete vracať agregácie."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":5000},"description":"Nevracajte viac objektov; pri orezaní nastavte dm.truncated a dm.total."},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Kurzor z dm.next (voliteľné stránkovanie)."},{"name":"lang","in":"query","schema":{"type":"string","example":"sk"}},{"name":"protocol","in":"query","schema":{"type":"string","example":"0.1"}}],"responses":{"200":{"description":"GeoJSON FeatureCollection, WGS84 [lon, lat]","content":{"application/geo+json":{"schema":{"$ref":"#/components/schemas/DataResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/DataResponse"}}}}}}}},"components":{"schemas":{"Manifest":{"type":"object","properties":{"$schema":{"type":"string"},"protocol":{"type":"string","pattern":"^\\d+\\.\\d+$","description":"Verzia protokolu, podľa ktorej je manifest napísaný, napr. 0.1"},"provider":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$","examples":["mesto-brno","kontejnery-na-odpad"]},"name":{"type":"string","minLength":1,"maxLength":120},"description":{"type":"string","maxLength":1000},"homepage":{"type":"string","format":"uri"},"logo":{"type":"string","format":"uri"},"contact":{"type":"object","properties":{"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"url":{"type":"string","format":"uri"}}},"managedBy":{"default":"provider","description":"portal = manifest pre verejnú službu udržiava DátováMapa, nie vlastník dát","type":"string","enum":["provider","portal"]}},"required":["id","name"]},"license":{"description":"Predvolená licencia pre všetky dátové sady","type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Názov licencie, napr. CC BY 4.0"},"url":{"type":"string","format":"uri"},"attribution":{"type":"string","minLength":1,"maxLength":300,"description":"Text atribúcie, ktorý portál zobrazí pri mape, napr. © Štátny geologický ústav Dionýza Štúra"}},"required":["name","attribution"]},"datasets":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$","examples":["mesto-brno","kontejnery-na-odpad"]},"title":{"type":"string","minLength":1,"maxLength":120},"description":{"type":"string","maxLength":1000},"category":{"description":"Odporúčané hodnoty: territory, nature, water, risks, energy, transport, society, economy, infrastructure, sample, other","type":"string","maxLength":40},"tags":{"maxItems":30,"type":"array","items":{"type":"string","maxLength":40}},"keywords":{"description":"Slová a synonymá, podľa ktorých sadu nájde používateľ aj AI asistent portálu. Píšte po slovensky, aj hovorové tvary.","examples":[["odpad","kontejner","třídění","popelnice"]],"maxItems":60,"type":"array","items":{"type":"string","maxLength":60}},"useCases":{"description":"Pre aké účely je sada užitočná. Odporúčané hodnoty: construction, housing, land-purchase, agriculture, investment, transport, tourism, business, public-administration; iné sú povolené.","examples":[["construction","housing"]],"maxItems":20,"type":"array","items":{"type":"string","maxLength":60}},"coverage":{"type":"object","properties":{"bbox":{"type":"array","prefixItems":[{"type":"number","minimum":-180,"maximum":180},{"type":"number","minimum":-90,"maximum":90},{"type":"number","minimum":-180,"maximum":180},{"type":"number","minimum":-90,"maximum":90}],"items":false,"minItems":4,"maxItems":4,"description":"[minLon, minLat, maxLon, maxLat] vo WGS84"},"area":{"description":"Slovný popis pokrytia, napr. Slovensko, Prešovský kraj","type":"string","maxLength":60},"minZoom":{"description":"Pod týmto priblížením portál dáta nenačítava","type":"number","minimum":0,"maximum":24},"maxZoom":{"type":"number","minimum":0,"maximum":24}}},"temporal":{"type":"object","properties":{"updated":{"description":"Dátum poslednej aktualizácie dát (ISO 8601)","type":"string","maxLength":40},"frequency":{"description":"Ako často sa dáta menia, napr. denne","type":"string","maxLength":60},"param":{"description":"Kľúč parametra, ktorým používateľ volí obdobie (typ range v rokoch, alebo date-range). Portál ho ukáže ako časový filter pri legende, s grafom z dm.timeline.","type":"string","maxLength":32}}},"license":{"description":"Prepisuje licenciu poskytovateľa","type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Názov licencie, napr. CC BY 4.0"},"url":{"type":"string","format":"uri"},"attribution":{"type":"string","minLength":1,"maxLength":300,"description":"Text atribúcie, ktorý portál zobrazí pri mape, napr. © Štátny geologický ústav Dionýza Štúra"}},"required":["name","attribution"]},"source":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"geojson"},"url":{"type":"string","minLength":1,"maxLength":2048,"description":"Endpoint vracajúci FeatureCollection; môže byť relatívny voči manifestu","examples":["https://data.example.cz/datovamapa/kontejnery","kontejnery.geojson"]},"mode":{"default":"full","description":"full = celá sada jedným dotazom, bbox = portál sa pýta na aktuálny výrez mapy","type":"string","enum":["full","bbox"]},"maxFeatures":{"description":"Koľko objektov poskytovateľ vráti najviac; portál posiela ako limit","type":"integer","minimum":1,"maximum":5000}},"required":["type","url"]},{"type":"object","properties":{"type":{"type":"string","const":"raster"},"tiles":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"string","pattern":"^https:\\/\\/\\S+$"},"description":"Šablóny URL s {z}/{x}/{y} alebo {bbox-epsg-3857}"},"tileSize":{"default":256,"anyOf":[{"type":"number","const":256},{"type":"number","const":512}]},"minZoom":{"type":"number","minimum":0,"maximum":24},"maxZoom":{"type":"number","minimum":0,"maximum":24}},"required":["type","tiles"]}]},"presentation":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"circle"},"color":{"anyOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64},"type":{"type":"string","const":"categorical"},"values":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"description":"Hodnota vlastnosti → farba"},"default":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}},"required":["field","type","values"]},{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64},"type":{"type":"string","const":"interpolate"},"stops":{"minItems":2,"type":"array","items":{"type":"array","prefixItems":[{"type":"number"},{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}],"items":false,"minItems":2,"maxItems":2},"description":"Zoradené dvojice [hodnota, farba]"}},"required":["field","type","stops"]},{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64},"type":{"type":"string","const":"step"},"default":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$","description":"Farba pre hodnoty pod prvou zarážkou"},"stops":{"minItems":1,"type":"array","items":{"type":"array","prefixItems":[{"type":"number"},{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}],"items":false,"minItems":2,"maxItems":2},"description":"Zoradené dvojice [od hodnoty, farba]"}},"required":["field","type","default","stops"]},{"type":"object","properties":{"type":{"type":"string","const":"trend"},"threshold":{"description":"Priemerná zmena za jedno obdobie grafu v % počiatočnej hodnoty, pod ktorou hodnota stagnuje (predvolene 0,5)","type":"number","minimum":0,"maximum":100},"colors":{"description":"Prepíše predvolené farby (rastie zelená, stagnuje sivá, klesá červená) – napr. keď je rast nežiaduci","type":"object","properties":{"up":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"flat":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"down":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}}}},"required":["type"]}]},"radius":{"description":"Polomer v pixeloch","anyOf":[{"type":"number","minimum":0},{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64},"type":{"type":"string","const":"interpolate"},"stops":{"minItems":2,"type":"array","items":{"type":"array","prefixItems":[{"type":"number"},{"type":"number","minimum":0}],"items":false,"minItems":2,"maxItems":2}}},"required":["field","type","stops"]}]},"opacity":{"type":"number","minimum":0,"maximum":1},"strokeColor":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"strokeWidth":{"type":"number","minimum":0,"maximum":10},"label":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64,"description":"Vlastnosť, ktorej hodnota sa zobrazí ako popisok"},"minZoom":{"type":"number","minimum":0,"maximum":24},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"size":{"type":"number","minimum":6,"maximum":32}},"required":["field"]},"cluster":{"description":"Zoskupovanie blízkych bodov","anyOf":[{"type":"boolean"},{"type":"object","properties":{"radius":{"type":"number","minimum":10,"maximum":200},"maxZoom":{"type":"number","minimum":0,"maximum":20}}}]},"legend":{"description":"Vlastná legenda; inak ju portál odvodí z farieb","maxItems":20,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","maxLength":80},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}},"required":["label","color"]}}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"heatmap"},"weight":{"description":"Váha bodu, typicky z číselnej vlastnosti","anyOf":[{"type":"number","minimum":0},{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64},"type":{"type":"string","const":"interpolate"},"stops":{"minItems":2,"type":"array","items":{"type":"array","prefixItems":[{"type":"number"},{"type":"number","minimum":0}],"items":false,"minItems":2,"maxItems":2}}},"required":["field","type","stops"]}]},"radius":{"type":"number","minimum":1,"maximum":100},"intensity":{"type":"number","minimum":0,"maximum":10},"colors":{"description":"Farebná škála od nízkej po vysokú hustotu","minItems":2,"maxItems":10,"type":"array","items":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}},"opacity":{"type":"number","minimum":0,"maximum":1},"legend":{"description":"Vlastná legenda; inak ju portál odvodí z farieb","maxItems":20,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","maxLength":80},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}},"required":["label","color"]}}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"line"},"color":{"anyOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64},"type":{"type":"string","const":"categorical"},"values":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"description":"Hodnota vlastnosti → farba"},"default":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}},"required":["field","type","values"]},{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64},"type":{"type":"string","const":"interpolate"},"stops":{"minItems":2,"type":"array","items":{"type":"array","prefixItems":[{"type":"number"},{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}],"items":false,"minItems":2,"maxItems":2},"description":"Zoradené dvojice [hodnota, farba]"}},"required":["field","type","stops"]},{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64},"type":{"type":"string","const":"step"},"default":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$","description":"Farba pre hodnoty pod prvou zarážkou"},"stops":{"minItems":1,"type":"array","items":{"type":"array","prefixItems":[{"type":"number"},{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}],"items":false,"minItems":2,"maxItems":2},"description":"Zoradené dvojice [od hodnoty, farba]"}},"required":["field","type","default","stops"]},{"type":"object","properties":{"type":{"type":"string","const":"trend"},"threshold":{"description":"Priemerná zmena za jedno obdobie grafu v % počiatočnej hodnoty, pod ktorou hodnota stagnuje (predvolene 0,5)","type":"number","minimum":0,"maximum":100},"colors":{"description":"Prepíše predvolené farby (rastie zelená, stagnuje sivá, klesá červená) – napr. keď je rast nežiaduci","type":"object","properties":{"up":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"flat":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"down":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}}}},"required":["type"]}]},"width":{"anyOf":[{"type":"number","minimum":0},{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64},"type":{"type":"string","const":"interpolate"},"stops":{"minItems":2,"type":"array","items":{"type":"array","prefixItems":[{"type":"number"},{"type":"number","minimum":0}],"items":false,"minItems":2,"maxItems":2}}},"required":["field","type","stops"]}]},"opacity":{"type":"number","minimum":0,"maximum":1},"dash":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"number","minimum":0}},"label":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64,"description":"Vlastnosť, ktorej hodnota sa zobrazí ako popisok"},"minZoom":{"type":"number","minimum":0,"maximum":24},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"size":{"type":"number","minimum":6,"maximum":32}},"required":["field"]},"legend":{"description":"Vlastná legenda; inak ju portál odvodí z farieb","maxItems":20,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","maxLength":80},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}},"required":["label","color"]}}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"fill"},"color":{"anyOf":[{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64},"type":{"type":"string","const":"categorical"},"values":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"description":"Hodnota vlastnosti → farba"},"default":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}},"required":["field","type","values"]},{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64},"type":{"type":"string","const":"interpolate"},"stops":{"minItems":2,"type":"array","items":{"type":"array","prefixItems":[{"type":"number"},{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}],"items":false,"minItems":2,"maxItems":2},"description":"Zoradené dvojice [hodnota, farba]"}},"required":["field","type","stops"]},{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64},"type":{"type":"string","const":"step"},"default":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$","description":"Farba pre hodnoty pod prvou zarážkou"},"stops":{"minItems":1,"type":"array","items":{"type":"array","prefixItems":[{"type":"number"},{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}],"items":false,"minItems":2,"maxItems":2},"description":"Zoradené dvojice [od hodnoty, farba]"}},"required":["field","type","default","stops"]},{"type":"object","properties":{"type":{"type":"string","const":"trend"},"threshold":{"description":"Priemerná zmena za jedno obdobie grafu v % počiatočnej hodnoty, pod ktorou hodnota stagnuje (predvolene 0,5)","type":"number","minimum":0,"maximum":100},"colors":{"description":"Prepíše predvolené farby (rastie zelená, stagnuje sivá, klesá červená) – napr. keď je rast nežiaduci","type":"object","properties":{"up":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"flat":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"down":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}}}},"required":["type"]}]},"opacity":{"type":"number","minimum":0,"maximum":1},"outlineColor":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"outlineWidth":{"type":"number","minimum":0,"maximum":10},"label":{"type":"object","properties":{"field":{"type":"string","minLength":1,"maxLength":64,"description":"Vlastnosť, ktorej hodnota sa zobrazí ako popisok"},"minZoom":{"type":"number","minimum":0,"maximum":24},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"size":{"type":"number","minimum":6,"maximum":32}},"required":["field"]},"legend":{"description":"Vlastná legenda; inak ju portál odvodí z farieb","maxItems":20,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","maxLength":80},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}},"required":["label","color"]}}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"raster"},"opacity":{"type":"number","minimum":0,"maximum":1},"legend":{"description":"Vlastná legenda; inak ju portál odvodí z farieb","maxItems":20,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","maxLength":80},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}},"required":["label","color"]}}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","const":"auto"},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"legend":{"description":"Vlastná legenda; inak ju portál odvodí z farieb","maxItems":20,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","maxLength":80},"color":{"type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}},"required":["label","color"]}}},"required":["type"]}]},"fields":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":64},"label":{"type":"string","minLength":1,"maxLength":80},"type":{"default":"string","type":"string","enum":["string","number","integer","boolean","date","datetime","url","image","email","phone"]},"unit":{"type":"string","maxLength":20},"decimals":{"type":"integer","minimum":0,"maximum":8},"description":{"type":"string","maxLength":300},"primary":{"description":"Hodnota slúži ako nadpis objektu v detaile","type":"boolean"}},"required":["key","label"]}},"params":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9_]{0,31}$"},"label":{"type":"string","minLength":1,"maxLength":80},"type":{"type":"string","enum":["enum","multi-enum","number","range","boolean","date","date-range","text"]},"description":{"type":"string","maxLength":300},"options":{"description":"Pre enum a multi-enum","maxItems":200,"type":"array","items":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":100},"label":{"type":"string","minLength":1,"maxLength":100}},"required":["value","label"]}},"min":{"type":"number"},"max":{"type":"number"},"step":{"type":"number","exclusiveMinimum":0},"unit":{"type":"string","maxLength":20},"default":{"type":["string","number","boolean"]},"required":{"type":"boolean"}},"required":["key","label","type"]}},"cache":{"type":"object","properties":{"ttl":{"description":"Ako dlho (s) smie portál odpoveď držať v cache","type":"integer","minimum":0,"maximum":31536000},"store":{"description":"Smie portál dáta uložiť do svojej cache vrstvy pre analýzy a kombinácie (predvolene áno)","type":"boolean"}}}},"required":["id","title","source","presentation"]}}},"required":["protocol","provider","datasets"]},"DataResponse":{"type":"object","properties":{"type":{"type":"string","const":"FeatureCollection"},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"Feature"},"id":{"anyOf":[{"type":"string","maxLength":200},{"type":"number"}]},"geometry":{"anyOf":[{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"Point"},"coordinates":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"number"}}},"required":["type","coordinates"]},{"type":"object","properties":{"type":{"type":"string","const":"MultiPoint"},"coordinates":{"type":"array","items":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"number"}}}},"required":["type","coordinates"]},{"type":"object","properties":{"type":{"type":"string","const":"LineString"},"coordinates":{"minItems":2,"type":"array","items":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"number"}}}},"required":["type","coordinates"]},{"type":"object","properties":{"type":{"type":"string","const":"MultiLineString"},"coordinates":{"type":"array","items":{"minItems":2,"type":"array","items":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"number"}}}}},"required":["type","coordinates"]},{"type":"object","properties":{"type":{"type":"string","const":"Polygon"},"coordinates":{"type":"array","items":{"minItems":4,"type":"array","items":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"number"}}}}},"required":["type","coordinates"]},{"type":"object","properties":{"type":{"type":"string","const":"MultiPolygon"},"coordinates":{"type":"array","items":{"type":"array","items":{"minItems":4,"type":"array","items":{"minItems":2,"maxItems":3,"type":"array","items":{"type":"number"}}}}}},"required":["type","coordinates"]}]},{"type":"null"}]},"properties":{"default":{},"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},{"type":"null"}]},"dm":{"type":"object","properties":{"title":{"description":"Nadpis objektu v detaile","type":"string","maxLength":200},"description":{"type":"string","maxLength":2000},"url":{"description":"Odkaz na detail objektu u poskytovateľa","type":"string","format":"uri"},"color":{"description":"Prepíše farbu z prezentácie","type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"chart":{"description":"Graf vývoja hodnoty v detaile objektu","type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80,"description":"Čo graf ukazuje, napr. Počet obyvateľov"},"unit":{"type":"string","maxLength":20},"decimals":{"type":"integer","minimum":0,"maximum":6},"note":{"description":"Poznámka pod grafom, napr. o zmene metodiky","type":"string","maxLength":200},"highlight":{"description":"Zvýraznené obdobie (napr. zvolené v časovom filtri) – portál ho podfarbí, ukáže hodnotu na jeho konci a zmenu aj trend počíta od jeho začiatku. Rovnaké from a to = jedno zvolené obdobie (napr. rok).","type":"object","properties":{"from":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$","description":"Rok, mesiac alebo deň v ISO 8601"},"to":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$","description":"Rok, mesiac alebo deň v ISO 8601"}},"required":["from","to"]},"points":{"minItems":2,"maxItems":100,"type":"array","items":{"type":"object","properties":{"period":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$","description":"Rok, mesiac alebo deň v ISO 8601"},"value":{"type":"number"}},"required":["period","value"]},"description":"Hodnoty zoradené od najstaršieho obdobia"}},"required":["label","points"]}}}},"required":["type","geometry"]}},"dm":{"type":"object","properties":{"protocol":{"type":"string"},"generated":{"description":"Kedy bola odpoveď vytvorená (ISO 8601)","type":"string","maxLength":40},"ttl":{"description":"Ako dlho (s) je odpoveď platná","type":"integer","minimum":0,"maximum":9007199254740991},"total":{"description":"Celkový počet objektov zodpovedajúcich dotazu","type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"description":"Odpoveď neobsahuje všetky objekty (limit)","type":"boolean"},"next":{"description":"Kurzor pre ďalšiu stránku","type":"string","maxLength":500},"notice":{"description":"Krátke oznámenie pre používateľa, napr. priblížte mapu","type":"string","maxLength":300},"timeline":{"description":"Počty objektov vo výreze po obdobiach za celý čas, ktorý sada pokrýva – nezávisle od zvoleného obdobia a limitu. Portál z nich kreslí graf pri legende.","maxItems":400,"type":"array","items":{"type":"object","properties":{"period":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$","description":"Rok, mesiac alebo deň v ISO 8601"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"values":{"description":"Rozpad počtu podľa hodnôt vlastnosti, podľa ktorej sa objekty farbia (color.field) – graf ich zafarbí ako legendu","type":"object","propertyNames":{"type":"string","maxLength":100},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"required":["period","count"]}},"chart":{"description":"Súhrnný vývoj hodnoty za celé územie sady alebo výrez (napr. počet obyvateľov Slovenska) – portál ho ukáže pri časovom filtri, keď odpoveď neposiela dm.timeline","type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80,"description":"Čo graf ukazuje, napr. Počet obyvateľov"},"unit":{"type":"string","maxLength":20},"decimals":{"type":"integer","minimum":0,"maximum":6},"note":{"description":"Poznámka pod grafom, napr. o zmene metodiky","type":"string","maxLength":200},"highlight":{"description":"Zvýraznené obdobie (napr. zvolené v časovom filtri) – portál ho podfarbí, ukáže hodnotu na jeho konci a zmenu aj trend počíta od jeho začiatku. Rovnaké from a to = jedno zvolené obdobie (napr. rok).","type":"object","properties":{"from":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$","description":"Rok, mesiac alebo deň v ISO 8601"},"to":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$","description":"Rok, mesiac alebo deň v ISO 8601"}},"required":["from","to"]},"points":{"minItems":2,"maxItems":100,"type":"array","items":{"type":"object","properties":{"period":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$","description":"Rok, mesiac alebo deň v ISO 8601"},"value":{"type":"number"}},"required":["period","value"]},"description":"Hodnoty zoradené od najstaršieho obdobia"}},"required":["label","points"]}}}},"required":["type","features"]}}}}