Články z kategorie: PostGIS

Adresní místa do databáze

Mezi veřejností to pořád ještě dostatečně neprosáklo, ale většina z vás určitě ví, že ČUZK spravuje i oficiální databázi adresních míst v ČR. Adresní místa jsou součástí databáze RUIAN, a jsou ke stažení jako zazipované CSV soubory. Jedním z prvních kroků, které musíte udělat, pokud chcete s těmito daty rozumně pracovat, je naimportovat do databáze. To bývá spojeno s parsováním, často převodem z S-JTSK na WGS84, kódováním češtiny a celou řadou dalších kroků, které vlastně děláte pořád dokola. Dobrá zpráva je, že v tomto případě to nemusíte dělat. Na GitHubu naleznete projekt RUIAN Adresní body do databáze, který za vás stáhne nejčerstvější verzi těchto dat, rozbalí, převede na WGS84 a uloží do vámi zadané databáze pomocí GeoAlchemy 2. Příklad použití, uložení dat do schématu adresy v databázi PostgreSQL: $ createdb adresy $ psql adresy adresy=> CREATE EXTENSION postgis; adresy=> CREATE SCHEMA adresy; adresy=> \q $ ruian-adressses2db.py –connection “postgresql://uzivatel:heselo@localhost:5432/adresy” –schema adresy Skript stáhne, co má stáhnout, převede, naimportuje a můžete to začít používat. Budeme rádi za zpětnou vazbu, napište, co byste případně potřebovali od skriptu víc např. do bug trackeru na GitHubu.

Přejít na článek »

Mapa zastoupení dřevin po ORP (2. díl)

Generujeme SVG z PostGISu Komu se nelení, tomu se jasaní Vyrobíme si mapku zastoupení jasanů. První díl věnovaný získání dat a nahrání dat do PostGISu. Co vrací ST_AsSVG Takže, co tedy vrací? SELECT ST_AsSVG(generalizovanehranice) FROM hratky_se_svg.orpecka LIMIT 1; Ale to nevypadá jako XML! Ano, jistě. Není to totiž celé SVG, pouze zápis vektorových geometrií jednotlivých prvků. Je to kvůli tomu, že budeme chtít prvkům určovat jejich grafickou reprezentaci. Tloušťku čar, barvu a tak dále. Element path Použijeme XML funkce PostGISu k sestavení kompletního elementu path. SET SEARCH_PATH = hratky_se_svg, public; SELECT XMLELEMENT(NAME path, XMLATTRIBUTES( ST_AsSVG(generalizovanehranice, 0, 1) AS d , ‘black’ AS stroke , 50 AS “stroke-width” , ‘none’ AS fill ) ) svg_path from orpecka; Tady se nám již vrací XML elementy. Co jsem to právě povedl? Funkce XMLELEMENT vyrobí, jak již název napovídá XML element. Pomocí funkce XMLATTRIBUTES tento element naplníme atributy. První atribut pojmenujeme d a naplníme ho výstupem z funkce ST_AsSVG. Všimněte si druhého a třetího parametru funkce ST_AsSVG. Druhý parametr rozlišuje, jestli mají být souřadnice lomových bodů v absolutních hodnotách nebo relativně k prvku. Nula značí absolutně, jednička relativně. Druhý je počet desetinných míst. Jednička znamená jedno desetinné místo. Přesnost na deset centimetrů je u […]

Přejít na článek »