20
May
08

Simplificación de polígonos con el algoritmo Douglas-Peucker

Hace bastante tiempo ya nos encontramos con un problema del que no teníamos ni idea: nuestra fuente de datos nos pasaba datos de áreas geográficas (más concreto, los contornos) como listas de miles de puntos. En aquel entonces, la API de Google Maps dejaba frito el navegador cuando se intentaba dibujar un polígono con tal número de vértices (hoy ha mejorado y en vez de pintar un polígono vía Javascript, la API te tira una imagen a partir de la segunda petición).

¿Qué tuvimos que hacer? Reducir el número de puntos que definían cada uno de los polígonos intentando ser lo más fieles posible a la forma original porque pintar una provincia cualquiera como un cuadrado no es solución. No sólo teníamos datos de provincias: también teníamos de distritos y barrios. Y eso hacía que esta simplificación de polígonos fuera algo bastante intratable de hacer a mano. Fue así como descubrimos que existía una forma de hacerlo automáticamente y cuyo algoritmo fue desarrollado por David Douglas & Thomas Peucker y es conocido como Douglas-Peucker polyline simplification algorythm.

Partimos de un trozo de código en Pascal que encontramos en algún lugar y lo portamos a Python, que era el lenguaje con el que hicimos todo el script de importación de datos. Se quedó pendiente de publicación el asunto, ya que en su día nadie había portado dicho código a Python (ni Ruby ni Perl ni ningún lenguaje de script medianamente actual). El caso es que eso ha sido hasta hace un par de semanas Schuyler Erle publicó su versión en Mapping Hacks. Su código es mucho más bonito que el nuestro, así que nos ahorraremos el attachment 😉

Anuncios

7 Responses to “Simplificación de polígonos con el algoritmo Douglas-Peucker”


  1. 1 ken
    4 septiembre 2008 en 9:06 pm

    no entiendo para k ingados ponen estas inches paginas k ni sirven
    pa nada

  2. 2 tiene razon Ken no sirven para nada
    9 septiembre 2009 en 10:01 pm

    lo unico que tengo que decir es que son re putos!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    pd: son re putos!!!!!!!!¡¡¡¡¡¡¡¡¡¡¡¡¡!¡!¡

  3. 3 tiene razon Ken no sirven para nada
    9 septiembre 2009 en 10:02 pm

    lo unico que tengo que decir es que son re putos!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!pd: son re putos!!!!!!!!¡¡¡¡¡¡¡¡¡¡¡¡¡!¡!¡

  4. 4 tiene razon Ken no sirven para nada
    9 septiembre 2009 en 10:03 pm

    Ken te banco
    te llebo aca (L)

  5. 5 soy matias carrizo
    9 septiembre 2009 en 10:05 pm

    putos canallas cojudos hijos de puta los que imbentaron esta pagina

  6. 6 soy matias carrizo
    9 septiembre 2009 en 10:06 pm

    no me dan una puta respuesta!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! la concha de la lora putos los voy a cagar a piñas
    pd:repito que son re hijos de puta

  7. 7 puto
    2 febrero 2010 en 9:33 pm

    que puta sulo letras coño no jodan 😦


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: