Open Street Map
Da GeoBox
Índice
|
Contribuir para o Open Street Map
O editor JOSM
O editor JOSM foi (e está a ser) desenvolvido especificamente para editar informação do Open Street Map.
Por favor instale o JOSM para podermos fazer uma sessão com este. Como está escrito em JAVA, corre em qualquer computador. Existe uma versão do JOSM para Windows pronto a instalar.
Nas preferências, vamos por já o nosso username/password do OSM.
Ciclo de trabalho
- Descarregar a área onde desejo trabalhar
- Editar (acrescentar, remover, alterar)
- Carregar as edições (ou salvar o trabalho e continuar depois)
Modo básico
- Selecionar (s)
- Adicionar (a)
Garantir a conetividade da rede viária
Fazer um exemplo com um cruzamento que se transforma numa rotunda.
Trabalho de Campo
Utilização de um GPS + Fotografias
Esta técnica, muito simples, baseia-se na utilização de um GPS vulgar e de uma também vulgar máquina fotográfica para registar dados no campo.
OSMTracker
É um programa que permite muito facilmente registar muito mais do que apenas o percurso.
Walking papers
Tirar partido dos Dados
O OSM será tão mais interessante quanto melhor, mais completo e actualizado for o seu mapa. Terá sempre uma vantagem: nos locais mais remotos, com menos interesses, poderá haver uma cobertura e qualidade ímpar que nunca interessará às soluções comerciais.
Com a ferramenta map compare da Geofabrick, tão simples quanto interessante, é possível verificar que em locais remotos a probabilidade dos mapas comerciais falharem aumenta.
Passar o Open Street Map para uma base de dados
Recortar as tabelas do OSM pelos limites da Galiza
Explorar o Modelo de dados do OSM em SQL
Depois de importar os dados com o osm2pgsql, convém estudar como esta ferramenta representa os dados do OSM em 4 tabelas. Deve-se consultar o shema utilizado pelo osm2pgsql.
Há várias entidades que podem ser representadas por geometrias diferentes. Na descrição das entidades, no Wiki do OSM, há sempre a indicação de quais são as geometrias aconselhadas para cada tipo de entidade. Por exemplo, para as farmácias, são indicadas duas geometrias possíveis: ponto ou área. Por isso, para saber todas as farmácias existentes, é preciso pesquisar nas tabelas planet_osm_point e planet_osm_polygon.
Explorar alguns elementos registados como pontos
Quantas farmácias estão registadas no OSM?
SELECT COUNT(*) FROM galicia_point WHERE amenity = 'pharmacy'
Quantas farmácias sem nome estão registadas?
SELECT osm_id, amenity, name FROM galicia_point WHERE amenity = 'pharmacy' AND name IS NULL
Que tipos de equipamentos (marcadas como amenity) estão registados?
SELECT DISTINCT amenity FROM galicia_point
Qual é o tipo de equipamento mais abundante?
SELECT amenity, COUNT(*) FROM galicia_point GROUP BY amenity ORDER BY COUNT(*) DESC
Onde estão as farmácias sem nome?
Opção 1
SELECT 'http://www.openstreetmap.org/browse/node/' || osm_id, amenity, name FROM galicia_point WHERE amenity = 'pharmacy' AND name IS NULL
Opção 2
SELECT osm_id, name, amenity, osm_user, municipios.nombre FROM galicia_point, municipios WHERE amenity = 'pharmacy' AND name IS NULL AND st_contains(wkb_geometry, way)
Counting the pharmacies with no name by municipality
SELECT COUNT(p.*), m.nombre FROM galicia_point p, municipios m WHERE amenity = 'pharmacy' AND name IS NULL AND st_contains(wkb_geometry, way) GROUP BY m.nombre ORDER BY COUNT(p.*) DESC
Explorar alguns elementos registados como polígonos
SELECT 'http://www.openstreetmap.org/browse/way/' || osm_id, amenity, name FROM galicia_polygon WHERE amenity = 'pharmacy' AND name IS NULL
Explorar alguns elementos registados como linhas
Quantas autoestradas estão registadas?
SELECT osm_id, highway, oneway, bridge, tunnel, name, REF FROM galicia_line WHERE highway = 'motorway'
Quantos Km de autoestrada estão registados? Lembre-se que as auto-estradas estão registadas como duas linhas independentes, paralelas, mas em sentidos contrários.
SELECT SUM(st_length(way))/2 AS metros FROM galicia_line WHERE highway = 'motorway'
Calcular cumprimento e visualizar troços de auto-estrada
SELECT 'http://www.openstreetmap.org/browse/way/' || osm_id AS url, name, REF, st_length(way) FROM galicia_line WHERE highway = 'motorway'
Pegar num dos url resultantes e abrir no browser:
http://www.openstreetmap.org/browse/way/23231379
CREATE TABLE autoestrada AS SELECT osm_id, 'http://www.openstreetmap.org/browse/way/' || osm_id AS url, name, REF, bridge, tunnel, oneway, st_length(way) AS cumprimento, way FROM galicia_line WHERE highway = 'motorway'
Actualizar o catálogo dos metadados (tabela geometry_columns):
SELECT Populate_Geometry_Columns('public.autoestrada'::regclass);
Publicar dados do OSM noutros contextos
OSM + Geoserver + OpenLayers
Publicar directamente um tema, recorrendo ao SQL do Geoserver.
Usar a base do Open Street Map para outros projectos
Separar restaurantes, e criar um layer vectorial com os mesmos.
Esse layer é editável e dá para conter informação que não existe no OSM.

