OpenStreetMap
{{
- display_point:
Moscow, Russia | service=openlayers }}

OpenStreetMap je projekt, jehož cílem je tvorba volně dostupných geografických dat a následně jejich vizualizace do podoby silniční mapy, uliční mapy měst atd. Pro tvorbu geodat se využívá zejména záznamů z přijímačů GPS, která jsou následně kontrolována a editována. Je založen na kolektivní spolupráci a na koncepci Open source. Data jsou poskytována pod licencí Creative Commons Attribution-ShareAlike 2.0. OpenStreetMap byl inspirován projekty jako je například Wikipedia, umožňuje editaci dat a uchovává kompletní historii provedených změn.
Převzato z české wikipedie.
Výuka
Cvičná databáze pgis_osm
Na serveru josef je umístěna databáze pgis_osm s importovanými OSM daty ČR. Databáze slouží pro výuku je určena pro experimentování.
pgis_osm=> \d List of relations Schema | Name | Type | Owner --------+------------------+-------+------- public | czech_line | table | landa public | czech_point | table | landa public | czech_polygon | table | landa public | czech_roads | table | landa public | geometry_columns | table | landa public | spatial_ref_sys | table | landa (6 rows)
Příklad vytvoření tématické vrstvy 'lesni_porosty' (další příklady).
CREATE TABLE lesni_porosty AS
SELECT osm_id,name,way FROM czech_polygon WHERE landuse = 'forest';
ALTER TABLE lesni_porosty ADD PRIMARY KEY (osm_id);
SELECT Populate_geometry_columns('lesni_porosty'::regclass);
CREATE INDEX lesni_porosty_gist ON lesni_porosty USING GIST (way);
-- přidělení práv pro QGIS
GRANT SELECT ON lesni_porosty TO postgis;
Příklad přidání sloupce do tabulky.
ALTER TABLE lesni_porosty ADD COLUMN wood text;
UPDATE lesni_porosty SET wood = czech_polygon.wood FROM czech_polygon
WHERE lesni_porosty.osm_id = czech_polygon.osm_id;
Vzdálená vizualizace v QGIS.


Příklad vizualizace dat pomocí UMN MapServer.
MAP NAME "Cvicna databaze OSM" STATUS ON IMAGETYPE PNG EXTENT 1347456.13 6198566.23 2099386.47 6630407.12 SIZE 800 600 IMAGECOLOR 255 255 255 UNITS meters WEB IMAGEPATH "/var/tmp/ms_tmp/" IMAGEURL "/tmp/" END LAYER NAME lesy CONNECTIONTYPE postgis CONNECTION "user=postgis password=XXXXXXXX dbname=pgis_osm host=localhost port=5432" DATA "way FROM czech_polygon" FILTER "landuse = 'forest'" STATUS DEFAULT TYPE POLYGON CLASS NAME "Lesy" STYLE COLOR 89 167 89 OUTLINECOLOR 32 32 32 END END END END
Poznámky
Import dat do PostGIS
Nejprve stáhneme zkomprimovaná data ve formátu OSM, viz [1]. Např.
wget http://download.geofabrik.de/osm/europe/czech_republic.osm.bz2
Projekce Google Mercator ve standardní distribuci PostGISu chybí - je potřeba aktualizovat tabulku spatial_ref_sys.
INSERT INTO spatial_ref_sys VALUES (900913, 'local', 900913,
'PROJCS["Google Mercator",GEOGCS["WGS 84",DATUM["World Geodetic System 1984",SPHEROID["WGS 84",
6378137.0,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0.0,
AUTHORITY["EPSG","8901"]],UNIT["degree",0.017453292519943295],AXIS["Geodetic latitude",NORTH],
AXIS["Geodetic longitude",EAST],AUTHORITY["EPSG","4326"]],
PROJECTION["Mercator_1SP"],PARAMETER["semi_minor",6378137.0],
PARAMETER["latitude_of_origin",0.0],PARAMETER["central_meridian",0.0],PARAMETER["scale_factor",1.0],
PARAMETER["false_easting",0.0],PARAMETER["false_northing",0.0],UNIT["m",1.0],AXIS["Easting",EAST],
AXIS["Northing",NORTH],AUTHORITY["EPSG","900913"]]',
'+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs');
Pomocí konzolové aplikace osm2pgsql data naimportujeme do existující databáze PostGIS (Google Mercator).
osm2pgsql -d pgis_osm -S /usr/local/src/gis/osm2pgsql/default.style -p czech czech_republic.osm.bz2
Příklad pro EPSG 4326 (WGS-84):
osm2pgsql -d pgis_osm -S /usr/local/src/gis/osm2pgsql/default.style -p czech -E 4326 czech_republic.osm.bz2
Odkazy
- Přednáška z předmětu Free software GIS
- Projekt OpenStreetMap z pohledu geoinformatika
- Wiki projektu OpenStreetMap
- Článek na abclinuxu.cz
- Rozšířené možnosti editace OSM pomocí editoru JOSM
- Blog o OSM
- Promo materiály
- Rendering OpenStreetMap Data with MapServer
- http://yournavigation.org/
- http://sourceforge.net/projects/osm3d/
- http://www.maposmatic.org
- Česká e-mailová konference