2012-06-05 20 views
5

Dada una gran ciudad (el cuadrado es aproximadamente 800 km^2) con alguna capa encima. Esta capa puede contener multicolor cuenta con tales como:Imprimir mapa con capa propia

  • líneas
  • puntos
  • texto

número de características es aproximadamente 1000.

recurso Mapa - mapas de Google o Openstreetmap (o tal vez algo más) ?).

Mi objetivo es imprimir dicho mapa en un papel con un tamaño de aproximadamente 5x5 metros. También este documento tiene que ser de alta resolución - en este documento quiero ver edificios con sus números, calles con leyendas, etc.

¿Cuál es la mejor forma de generar dicho archivo imprimible (imagen, documento, etc.)?


Estas son algunas posibles soluciones que he encontrado:

  • Sé OpenLayers API para que pueda llamar la capa sobre Google Maps o OpenStreetMap. ¿Pero cómo convertirlo a formato imprimible?

  • Descubro que hay export feature en OpenStreetMap. Pero al utilizar esta función no puedo exportar mi propia capa y tampoco será de alta resolución.

  • Google Maps tiene similar feature. Utilizándolo puedo crear mi propia capa. Pero si tengo 1000 funciones, la URL será muy grande, por lo que el servidor no la cargará. Además, este mapa no será de alta resolución.


Gracias por cualquier ayuda.

+0

¿Cuál es el número de píxeles/centímetros en su impresora? –

+0

Esto no es una impresora, es un trazador. Desafortunadamente, no conozco esos detalles técnicos. Solo puede imprimir en papel con un tamaño aproximado de 5mx5m. – ArtemStorozhuk

Respuesta

1

¿Estás listo para usar las fichas del mapa deslizante? De lo contrario, podría usar algo más pesado, como un paquete GIS (Sistema de información geográfica). Un buen visor/manipulador de mapas de código abierto con capacidad de impresión de alta resolución es QGIS, pero hay otros disponibles.

Para estos puede import the vector data (disponible a través de la exportación de OSM) que representa el mapa, y el estilo exactamente como lo desea. A continuación, hay varias opciones para exportar para la impresión de alta resolución.

En última instancia, puede estar haciendo esta pregunta en el lugar equivocado. ¿Sabe usted de: gis.stackexchange.com?

+0

Tu respuesta parece ser la mejor para mí. Es por eso que obtienes recompensas y aceptas respuestas. ¡Felicitaciones! :) – ArtemStorozhuk

+0

@Astor. Gracias. Probablemente encontrará que el inicio inicial de obtener QGIS para producir bastante salida es una curva de aprendizaje, pero si hace cosas con mapas más de una vez, realmente valdrá la pena. Y gis.stackexchange.com es bastante ocupado y útil para un área relativamente nicho. –

5

Quiere producir un dibujo de 5 metros por 5 metros de una ciudad de 40 kilómetros por 40 kilómetros. Esa es una escala de 1/8000.

Al mirar los conjuntos de mosaicos de Open Street Map, el juego de fichas 17 tiene una escala de 1 1/2 centímetro a 100 metros, o de 150 centímetros a 10.000 metros. Esa es una escala de 1/6666, que es lo más cerca que llegará a la escala deseada utilizando un conjunto de mosaicos de Open Street Map.

He adjuntado una imagen con esa escala. No estoy seguro de que puedas ver lo que quieres ver.

Open Street Map Level 17

De todos modos, para producir la imagen que desea, vas a tener que hacer lo siguiente en cualquier lenguaje de programación que elija.

  • Reunir las piezas que necesita desde el sitio web de Open Street Map.Esto puede demorar un tiempo, ya que reunirá muchas fichas y tienen un límite en el número que puede obtener a la vez.
  • Une las piezas juntas para formar una o más imágenes más grandes.
  • Crea tu propia capa de datos transparente.
  • Sobreimpone la capa de datos transparente en la capa de teselas.
  • Imprime la imagen de capa combinada.
+0

Sí, la idea es correcta, ¿pero cómo implementarla? Por ejemplo, ¿cómo juntar azulejos y coserlos? – ArtemStorozhuk

+0

@Astor: Usaría Java, ya que ese es el lenguaje informático con el que estoy más familiarizado. Tienes que escribir tu propio código de computadora para hacer lo que quieras. No hay una solución de fuente abierta fuera de la estantería. Supongo que puede usar Photoshop para crear la capa de datos transparente. –

+0

De todos modos, no quiero crear una nueva API para eso; esto es muy complicado. Y también mi presupuesto es muy limitado, así que no puedo comprar y aprender Photoshop para eso. Pero de todos modos gracias por tu respuesta (+1). – ArtemStorozhuk

1

Tal vez this grabber ayudaría. Simplemente realiza capturas de pantalla desde algún área de la pantalla, luego arrastra el mapa (emulando movimientos del mouse), hace otra captura de pantalla, etc. Luego unifica las capturas de pantalla en una sola imagen. Por lo tanto, puede tomar prácticamente cualquier mapa deslizante, que se puede abrir en el navegador y ser movido por un mouse (sin usar API - borrar WYSIWYG).

+0

Gracias por responder. C#, windows - no me gustan los dos. De todos modos, tendré una imagen de mapa y ¿cómo pondré características en ella? ¿Usando el editor de imágenes? – ArtemStorozhuk

+0

Como dijiste, puedes crear una aplicación web simple con un mapa deslizante usando OpenLayers (LeafLet también es una buena opción) y combinar el mapa OSM (o Google etc.) con tus funciones. Y luego tómalo. Si necesita hacer esto solo una vez, eso será suficiente. Una forma más 'profesional' es usar GIS como se sugiere a continuación. Con el software GIS, puede visualizar el mapa y las características a partir de datos vectoriales sin procesar, o puede usar una gran imagen ráster combinada con sus capas. Sin embargo, la imagen de trama debe tener referencias geográficas. Si no está familiarizado con GIS, le llevará un tiempo aprenderlo. –

Cuestiones relacionadas