OpenStreetMap (OSM) contém uma grande riqueza de dados, mantido por uma comunidade mundial de mapeadores. Para mapear os dados com fonte aberta a única forma para que seja possível construir um conhecimento compartilhado é através da colaboração.

A construção de um mapa usando dados do OSM pode ser assustador: você tem que extrair os dados a partir do servidor central, ou encontrar um pacote de download; escolher e utilizar ferramentas para convertê-lo para seu banco de dados; produzir um produto cartográfico; e, escolher e usar uma ferramenta para publicar esse produto.

map1

Este tutorial irá explorar a implantação de um produto cartográfico usando um pequeno conjunto de ferramentas fácil de instalar:

1. OpenGeo Suíte, para armazenar os dados e publicá-los para o mundo.
2. Bash scripts e cURL para automatizar a configuração do mapa.

Para este post vou considerar que você já baixou e instalou o OpenGeo Suite, conectou ao servidor de banco de dados e criou uma instância com suporte espacial.

Estaremos construindo um mapa rodoviário com informações de uma única cidade. Para manter o volume de dados pequeno, vamos trabalhar com Victoria no Canadá para este exemplo.

Os arquivos de dados do OpenStreetMap para cidades estão disponíveis individualmente no site Mapzen. Nós iremos baixar e descompactar esses arquivos.

https://s3.amazonaws.com/metro-extracts.mapzen.com/victoria.osm2pgsql-shapefiles.zip

Dentro do arquivo zip contém arquivos de ponto, linha e polígono. A fim de alinhar os nomes de tabela com o nosso processamento mais adiante neste tutorial, vamos nomeá-los para planet_osm_point , planet_osm_line e planet_osm_polygon durante a importação. Se você importar utilizando a interface gráfica do pgShapeLoader, lembre-se do seguinte:

1. Definir o SRID dos dados para 4326
2. Definir os nomes da tabela de forma adequada conforme citado acima
3. Definir o nome da coluna de geometria

Nota: Você pode usar também o shp2pgsql (linha de comando), caso seja de sua preferência.

Os arquivos que baixamos no OSM incluem as informações das estradas, mas não possui dados do oceano. A fim de obter o mapeamento do oceano pronto, é preciso baixar um arquivo diferente.

Você pode baixar o arquivo oceano inteiro em http://openstreetmapdata.com. No entanto, o arquivo é muito grande, e pode precisar de muito processamento para usar em um projeto pequeno. Você pode baixar o arquivo dos oceanos já clipado para a nossa área de teste no link abaixo:

http://files.boundlessgeo.com/workshopmaterials/osm-base-victoria-ocean.zip

Depois de ter baixado o arquivo oceano, descompacte-o, e em seguida, carregue-o para o banco de dados.

Neste momento temos apenas quatro tabelas no nosso banco de dados: pontos, linhas, polígonos e o oceano. Para construir o mapa, nós selecionamos um subconjunto de tabelas genéricas. Para inseri-las no seu banco de dados basta executar o script create_tables.sql.

Esse script criará tabelas como hidrologia, parques, estacionamento, floresta, prédios, entre outros.

No próximo post veremos como configurar nossas tabelas no GeoServer, incluir estilos e publicá-los na web.