6 votos

¿Cómo corregir las distorsiones en los mapas de OpenStreetMap renderizados?

Utilizo OpenStreetMap para generar mapas y añadir algunas cosas interesantes. En realidad tengo buenos resultados, pero parece que tengo un problema con la presentación de una buena relación de imagen cuando creo mi archivo generado.

Pongo los datos de OpenStreetMap en un PostgreSQL y uso PostGis para trabajar con ellos en la proyección EPSG:4326. Todo está bien excepto este problema de proporción.

En realidad, he probado casi todas las cosas (excepto la buena, por cierto)... por eso busco su ayuda. Creo que he olvidado algo.

En mi programa utilizo las coordenadas min lon & min lat (como origen de la selección) y max lon & max lat (como coordenadas max de la selección)... básicamente pensé que una proporción correcta habría sido dada por algo así (utilizando N como factor de tamaño):

N = 10000
x_size = maxlon - minlon
y_size = maxlat - minlat
file_width = x_size * N
file_height = y_size * N

Lo más intrigante es que este cálculo funciona para algunas partes del mundo. En mis ejemplos de abajo, las tres ciudades utilizan este cálculo de proporción, pero aunque Montreal y Lyon no funcionen, Estocolmo parece funcionar bastante bien... Las otras dos parecen estiradas.

Lyon ( http://www.openstreetmap.org/?lat=45.7731&lon=4.8544&zoom=14&layers=M ): enter image description here

Estocolmo ( http://www.openstreetmap.org/?lat=59.3278&lon=18.0616&zoom=14&layers=M ): enter image description here

Montreal ( http://www.openstreetmap.org/?lat=45.5088&lon=-73.5878&zoom=13&layers=M ): enter image description here

Creo que es un problema de noob... algo tan tonto como para ser apenas invisible después de horas de trabajo en él. Así que creo que encontrarás mi problema fácilmente.

Gracias.

10voto

Frank Farmer Puntos 150

Los grados de longitud se reducen a medida que uno se aleja del ecuador y acaban siendo 0 en los polos; los grados de latitud no corren la misma suerte (si se observan las líneas de latitud y longitud en un globo terráqueo, esto quedará más claro).

La proyección de los datos a un sistema de coordenadas debería resolver el problema, ya que los pies y los metros no cambian de tamaño al moverse hacia el norte y el sur.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X