Quero criar um pequeno aplicativo da web para visualizar os resultados das eleições, por site de pesquisa, para minha cidade. O resultado será muito semelhante ao que foi feito para Berlim aqui . Espero que isso ajude a entender o que estou procurando.
Os dados brutos das eleições na escala de que preciso são publicados e sei como visualizá-los com base em um arquivo de forma, com polígonos separados que delimitam os distritos eleitorais. Meu problema é - como você provavelmente poderia imaginar - que algo assim ainda não existe.
O que realmente é publicado, porém, é um arquivo PDF que delimita as fronteiras dos distritos nos quais estou interessado: http://muenster.de/stadt/stadtplanung/pdf/a3_stimmbezirk.pdf
Eu não estou interessado em redesenhar a linha sozinho, então estou procurando uma maneira de criar um arquivo de forma com isso. Felizmente, o PDf inclui o trabalho de linha como objetos vetoriais separados, extraí-os em um arquivo SVG: https://www.dropbox.com/s/bn7698yrdh5tdqj/a3_stimmbezirk_ungrouped.svg
Eu já tentei converter o SVG para um DXF e importá-lo para o qgis 2.0.1. Isso realmente funciona, mas (como esperado) coloca os vetores no oceano atlântico e não consigo encontrar uma maneira de editá-lo e corrigi-lo.
O que posso fazer agora para georreferenciar esses vetores com ferramentas de código aberto e finalmente produzir um shapefile?
Respostas:
Eu me deparei com sua pergunta enquanto tentava fazer a mesma coisa, eis como eu fiz isso:
Software usado:
Extraindo dados vetoriais de PDF
É o que você já fez, basicamente basta abrir o PDF no Inkscape, encontrar as formas desejadas e remover todos os planos de fundo e o texto ao redor. Salve como arquivo .dxf .
Georreferenciar o arquivo vetorial
Para trabalhar com o arquivo vetorial, precisamos convertê-lo em um ESRI Shapefile com QGIS.
Abra o QGIS e adicione o arquivo dxf como uma camada raster, selecione DHDN / Gauss-Kruger zone 3 (EPSG: 31467) como o sistema de coordenadas. Clique com o botão direito do mouse na camada, salve como ESRI Shapefile. Abra este shapefile como uma camada raster e remova a outra.
Agora você tem Münsters Wahlbezirke em algum lugar nas coordenadas 0, 0.
Para traduzir (mover) e redimensionar o vetor no lugar certo, precisamos descobrir as coordenadas e o tamanho do alvo. Para resumir, eu tinha outro GeoJSON de Wahlbezirke que era georreferenciado, mas não tão detalhado, então usei isso para calcular os seguintes dados:
No meu caso, estes acabam sendo aproximadamente:
Ative o modo de edição (ícone Lápis) na sua camada e coloque esses números no plug-in Affine Transformation (vetor de menu, Ferramentas de geoprocessamento, Affine), selecione "Camada inteira":
Clique em transformar, desative o modo de edição (e salve) e você terá uma camada toda amarela aproximadamente no seu destino. Eu nunca descobri como remover a cor amarela, então removo e re-adiciono a camada para melhorar a visibilidade.
Você pode acabar com uma exibição parecida com esta, onde sua camada raster é super pequena (circulada em vermelho), faça o zoom aqui: (Talvez eu tenha esquecido uma configuração aqui, não sei ao certo o que causa esse comportamento. " até a extensão da camada "não ajuda.)
Adicione uma camada que já é georreferenciada, você pode usar uma camada do OpenStreetMap (via extensão OpenLayers), um NRW WMS ou similar. Seu vetor ainda não está na posição correta, mova-o ativando o modo de edição e use a ferramenta Mover recurso (s).
Agora que criamos uma camada de polilinhas, o último passo é criar polígonos a partir dessas linhas. Não vou explicar isso aqui, leia aqui para mais informações:
Veja o resultado aqui .
fonte
Aqui está outro fluxo de trabalho, usando ogr2ogr com pontos GCP:
Execute o lote e carregue o shapefile resultante no QGIS:
fonte