Quiero crear una pequeña aplicación web para visualizar los resultados de las elecciones por sitio de votación para mi ciudad. El resultado será muy similar a lo que se ha hecho para Berlín aquí . Espero que esto ayude a entender lo que estoy buscando.
Los datos brutos de las elecciones en la escala que necesito se publican y sé cómo visualizarlos sobre la base de un archivo de formas con polígonos separados que se alinean en los distritos electorales. Mi problema es, como probablemente puedas adivinar, que algo como esto ya no existe.
Sin embargo, lo que en realidad se publica es un archivo PDF que delinea las fronteras de los distritos en los que estoy interesado: http://muenster.de/stadt/stadtplanung/pdf/a3_stimmbezirk.pdf
No estoy interesado en volver a dibujar el linework yo mismo, así que estoy buscando una manera de hacer un archivo de formas con esto. Afortunadamente, el PDf incluye la línea de trabajo como objetos vectoriales separados, los extraje en un archivo SVG: https://www.dropbox.com/s/bn7698yrdh5tdqj/a3_stimmbezirk_ungrouped.svg
Ya intenté convertir el SVG a DXF e importarlo a qgis 2.0.1. Esto realmente funciona, pero (como se esperaba) coloca los vectores en el océano Atlántico y no puedo encontrar una manera de editarlo y solucionarlo.
¿Qué puedo hacer ahora para georreferenciar estos vectores con herramientas de código abierto y finalmente producir un shapefile?
Respuestas:
Me topé con tu pregunta mientras intentaba hacer lo mismo, así es como lo hice:
Software utilizado:
Extraer datos vectoriales de PDF
Es lo que ya ha hecho, básicamente solo abra el PDF en Inkscape, encuentre las formas que desea y elimine todos los fondos y el texto circundante. Guardar como archivo .dxf .
Georreferenciar el archivo vectorial
Para trabajar con el archivo vectorial necesitamos convertirlo a un Shapefile ESRI con QGIS.
Abra QGIS y agregue el archivo dxf como una capa ráster, seleccione DHDN / Gauss-Kruger zona 3 (EPSG: 31467) como el sistema de coordenadas. Haga clic derecho en la capa, guárdela como archivo de forma ESRI. Abra este archivo de forma como una capa ráster y elimine la otra.
Ahora tiene Münsters Wahlbezirke en algún lugar en las coordenadas 0, 0.
Para traducir (mover) y redimensionar el vector en el lugar correcto, necesitamos encontrar las coordenadas y el tamaño del objetivo. Para mantenerlo breve, tenía otro GeoJSON de Wahlbezirke que estaba georreferenciado pero no tan detallado, así que lo usé para calcular los siguientes datos:
En mi caso, estos resultan ser aproximadamente:
Habilite el modo Editar (icono de lápiz) en su capa y coloque estos números en el complemento Transformación afín (Menú vectorial, Herramientas de geoprocesamiento, Afinamiento), seleccione "Capa entera":
Haga clic en transformar, deshabilite el modo de edición (y guarde) y terminará con una capa totalmente amarilla aproximadamente en su objetivo. Nunca he descubierto cómo eliminar el color amarillo, así que elimino y vuelvo a agregar la capa para una mejor visibilidad.
Puede terminar con una vista similar a esta, donde su capa de trama es muy pequeña (encerrada en un círculo rojo), acercar aquí: (Tal vez pasé por alto una configuración aquí, no estoy seguro de qué causa este comportamiento ". Zoom a nivel de capa "no ayuda.)
Agregue una capa que ya esté georreferenciada, puede usar una capa OpenStreetMap (a través de la extensión OpenLayers), un WMS NRW o similar. Su vector aún no está en la posición correcta, así que muévalo habilitando el modo Editar, luego use la herramienta Mover características.
Ahora que hemos hecho una capa de polilíneas, el último paso es hacer polígonos a partir de estas líneas. No voy a explicar eso aquí, lea aquí para obtener más información:
Mira el resultado aquí .
fuente
Aquí hay otro flujo de trabajo, usando ogr2ogr con puntos GCP:
Ejecute el lote y cargue el archivo de forma resultante en QGIS:
fuente