{"openapi":"3.1.0","info":{"title":"DatováMapa – kontrakt poskytovatele dat","version":"0.1","description":"Endpointy, které zveřejní poskytovatel dat. Cesty jsou ilustrativní: skutečné URL určuje manifest (source.url, relativně k URL manifestu). Návod: https://datovamapa.cz/dokumentace/pro-ai-agenty.md. Ověření: POST https://datovamapa.cz/api/validovat."},"servers":[{"url":"https://data.example.cz/datovamapa","description":"Váš server"}],"paths":{"/manifest.json":{"get":{"operationId":"manifest","summary":"Manifest poskytovatele","responses":{"200":{"description":"Manifest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Manifest"}}}}}}},"/{dataset}":{"get":{"operationId":"data","summary":"Data jedné datové sady (source.url)","description":"Vlastní filtry sady (params) přicházejí jako další query parametry: key=hodnota, rozsah key=od,do, více hodnot key=a,b,c. Neznámé parametry 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":"Jen u mode bbox. minLon,minLat,maxLon,maxLat ve WGS84, zarovnané na dlaždice úrovně zoom. Vraťte objekty, které výřez protínají."},{"name":"zoom","in":"query","schema":{"type":"integer","minimum":0,"maximum":24},"description":"Jen u mode bbox. Při malém přiblížení můžete vracet agregace."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":5000},"description":"Nevracejte víc objektů; při oříznutí nastavte dm.truncated a dm.total."},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Kurzor z dm.next (volitelné stránkování)."},{"name":"lang","in":"query","schema":{"type":"string","example":"cs"}},{"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":"Verze protokolu, podle které je manifest napsán, např. 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 pro veřejnou službu udržuje DatováMapa, ne vlastník dat","type":"string","enum":["provider","portal"]}},"required":["id","name"]},"license":{"description":"Výchozí licence pro všechny datové sady","type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Název licence, např. CC BY 4.0"},"url":{"type":"string","format":"uri"},"attribution":{"type":"string","minLength":1,"maxLength":300,"description":"Text atribuce, který portál zobrazí u mapy, např. © Česká geologická služba"}},"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":"Doporučené hodnoty: uzemi, priroda, voda, rizika, energie, doprava, spolecnost, ekonomika, infrastruktura, ukazka, ostatni","type":"string","maxLength":40},"tags":{"maxItems":30,"type":"array","items":{"type":"string","maxLength":40}},"keywords":{"description":"Slova a synonyma, podle kterých sadu najde uživatel i AI asistent portálu. Pište česky, i hovorové tvary.","examples":[["odpad","kontejner","třídění","popelnice"]],"maxItems":60,"type":"array","items":{"type":"string","maxLength":60}},"useCases":{"description":"Pro jaké účely je sada užitečná. Doporučené hodnoty: stavba, bydleni, koupe-pozemku, zemedelstvi, investice, doprava, turistika, podnikani, verejna-sprava; jiné jsou povolené.","examples":[["stavba","bydleni"]],"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] ve WGS84"},"area":{"description":"Slovní popis pokrytí, např. Česko, Jihomoravský kraj","type":"string","maxLength":60},"minZoom":{"description":"Pod tímto přiblížením portál data nenačítá","type":"number","minimum":0,"maximum":24},"maxZoom":{"type":"number","minimum":0,"maximum":24}}},"temporal":{"type":"object","properties":{"updated":{"description":"Datum poslední aktualizace dat (ISO 8601)","type":"string","maxLength":40},"frequency":{"description":"Jak často se data mění, např. denně","type":"string","maxLength":60},"param":{"description":"Klíč parametru, kterým uživatel volí období (typ range v letech, nebo date-range). Portál ho ukáže jako časový filtr u legendy, s grafem z dm.timeline.","type":"string","maxLength":32}}},"license":{"description":"Přepisuje licenci poskytovatele","type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Název licence, např. CC BY 4.0"},"url":{"type":"string","format":"uri"},"attribution":{"type":"string","minLength":1,"maxLength":300,"description":"Text atribuce, který portál zobrazí u mapy, např. © Česká geologická služba"}},"required":["name","attribution"]},"source":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"geojson"},"url":{"type":"string","minLength":1,"maxLength":2048,"description":"Endpoint vracející FeatureCollection; může být relativní vůči manifestu","examples":["https://data.example.cz/datovamapa/kontejnery","kontejnery.geojson"]},"mode":{"default":"full","description":"full = celá sada jedním dotazem, bbox = portál se ptá na aktuální výřez mapy","type":"string","enum":["full","bbox"]},"maxFeatures":{"description":"Kolik objektů poskytovatel vrátí nanejvýš; portál posílá jako 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":"Šablony URL s {z}/{x}/{y} nebo {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 → barva"},"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":"Seřazené dvojice [hodnota, barva]"}},"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":"Barva pro hodnoty pod první 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":"Seřazené dvojice [od hodnoty, barva]"}},"required":["field","type","default","stops"]},{"type":"object","properties":{"type":{"type":"string","const":"trend"},"threshold":{"description":"Průměrná změna za jedno období grafu v % počáteční hodnoty, pod kterou hodnota stagnuje (výchozí 0,5)","type":"number","minimum":0,"maximum":100},"colors":{"description":"Přepíše výchozí barvy (roste zelená, stagnuje šedá, klesá červená) – např. když je růst nežádoucí","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":"Poloměr v pixelech","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":"Vlastnost, jejíž hodnota se zobrazí jako popisek"},"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":"Seskupování blízkých bodů","anyOf":[{"type":"boolean"},{"type":"object","properties":{"radius":{"type":"number","minimum":10,"maximum":200},"maxZoom":{"type":"number","minimum":0,"maximum":20}}}]},"legend":{"description":"Vlastní legenda; jinak ji portál odvodí z barev","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 číselné 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":"Barevná škála od nízké po vysokou 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; jinak ji portál odvodí z barev","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 → barva"},"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":"Seřazené dvojice [hodnota, barva]"}},"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":"Barva pro hodnoty pod první 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":"Seřazené dvojice [od hodnoty, barva]"}},"required":["field","type","default","stops"]},{"type":"object","properties":{"type":{"type":"string","const":"trend"},"threshold":{"description":"Průměrná změna za jedno období grafu v % počáteční hodnoty, pod kterou hodnota stagnuje (výchozí 0,5)","type":"number","minimum":0,"maximum":100},"colors":{"description":"Přepíše výchozí barvy (roste zelená, stagnuje šedá, klesá červená) – např. když je růst nežádoucí","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":"Vlastnost, jejíž hodnota se zobrazí jako popisek"},"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; jinak ji portál odvodí z barev","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 → barva"},"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":"Seřazené dvojice [hodnota, barva]"}},"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":"Barva pro hodnoty pod první 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":"Seřazené dvojice [od hodnoty, barva]"}},"required":["field","type","default","stops"]},{"type":"object","properties":{"type":{"type":"string","const":"trend"},"threshold":{"description":"Průměrná změna za jedno období grafu v % počáteční hodnoty, pod kterou hodnota stagnuje (výchozí 0,5)","type":"number","minimum":0,"maximum":100},"colors":{"description":"Přepíše výchozí barvy (roste zelená, stagnuje šedá, klesá červená) – např. když je růst nežádoucí","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":"Vlastnost, jejíž hodnota se zobrazí jako popisek"},"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; jinak ji portál odvodí z barev","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; jinak ji portál odvodí z barev","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; jinak ji portál odvodí z barev","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 slouží jako nadpis objektu v detailu","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":"Pro 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":"Jak dlouho (s) smí portál odpověď držet v cache","type":"integer","minimum":0,"maximum":31536000},"store":{"description":"Smí portál data uložit do své cache vrstvy pro analýzy a kombinace (výchozí ano)","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 detailu","type":"string","maxLength":200},"description":{"type":"string","maxLength":2000},"url":{"description":"Odkaz na detail objektu u poskytovatele","type":"string","format":"uri"},"color":{"description":"Přepíše barvu z prezentace","type":"string","pattern":"^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"chart":{"description":"Graf vývoje hodnoty v detailu objektu","type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80,"description":"Co graf ukazuje, např. Počet obyvatel"},"unit":{"type":"string","maxLength":20},"decimals":{"type":"integer","minimum":0,"maximum":6},"note":{"description":"Poznámka pod grafem, např. o změně metodiky","type":"string","maxLength":200},"highlight":{"description":"Zvýrazněné období (např. zvolené v časovém filtru) – portál ho podbarví, ukáže hodnotu na jeho konci a změnu i trend počítá od jeho začátku. Stejné from a to = jedno zvolené období (např. rok).","type":"object","properties":{"from":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$","description":"Rok, měsíc nebo den v ISO 8601"},"to":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$","description":"Rok, měsíc nebo den 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, měsíc nebo den v ISO 8601"},"value":{"type":"number"}},"required":["period","value"]},"description":"Hodnoty seřazené od nejstaršího období"}},"required":["label","points"]}}}},"required":["type","geometry"]}},"dm":{"type":"object","properties":{"protocol":{"type":"string"},"generated":{"description":"Kdy byla odpověď vytvořena (ISO 8601)","type":"string","maxLength":40},"ttl":{"description":"Jak dlouho (s) je odpověď platná","type":"integer","minimum":0,"maximum":9007199254740991},"total":{"description":"Celkový počet objektů odpovídajících dotazu","type":"integer","minimum":0,"maximum":9007199254740991},"truncated":{"description":"Odpověď neobsahuje všechny objekty (limit)","type":"boolean"},"next":{"description":"Kurzor pro další stránku","type":"string","maxLength":500},"notice":{"description":"Krátké sdělení pro uživatele, např. přibližte mapu","type":"string","maxLength":300},"timeline":{"description":"Počty objektů ve výřezu po obdobích za celou dobu, kterou sada pokrývá – nezávisle na zvoleném období a limitu. Portál z nich kreslí graf u legendy.","maxItems":400,"type":"array","items":{"type":"object","properties":{"period":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$","description":"Rok, měsíc nebo den v ISO 8601"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"values":{"description":"Rozpad počtu podle hodnot vlastnosti, podle které se objekty barví (color.field) – graf je obarví jako legendu","type":"object","propertyNames":{"type":"string","maxLength":100},"additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"required":["period","count"]}},"chart":{"description":"Souhrnný vývoj hodnoty za celé území sady nebo výřez (např. počet obyvatel Česka) – portál ho ukáže u časového filtru, když odpověď neposílá dm.timeline","type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80,"description":"Co graf ukazuje, např. Počet obyvatel"},"unit":{"type":"string","maxLength":20},"decimals":{"type":"integer","minimum":0,"maximum":6},"note":{"description":"Poznámka pod grafem, např. o změně metodiky","type":"string","maxLength":200},"highlight":{"description":"Zvýrazněné období (např. zvolené v časovém filtru) – portál ho podbarví, ukáže hodnotu na jeho konci a změnu i trend počítá od jeho začátku. Stejné from a to = jedno zvolené období (např. rok).","type":"object","properties":{"from":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$","description":"Rok, měsíc nebo den v ISO 8601"},"to":{"type":"string","pattern":"^\\d{4}(?:-\\d{2}(?:-\\d{2})?)?$","description":"Rok, měsíc nebo den 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, měsíc nebo den v ISO 8601"},"value":{"type":"number"}},"required":["period","value"]},"description":"Hodnoty seřazené od nejstaršího období"}},"required":["label","points"]}}}},"required":["type","features"]}}}}