Re: [Spanish] Mejor manera de servir un conjunto de imágenes georreferenciadas

Jorge Arévalo jorge.arevalo at deimos-space.com
Thu Sep 22 11:35:18 EDT 2011


Hola,

2011/9/22 Jorge Gaspar Sanz Salinas <jsanz at osgeo.org>:
> El 22/09/11 16:32, Jorge Arévalo escribió:
>> Buenas,
>>
>> Jeje, justo estaba leyendo un paper tuyo del 2006 sobre un tema parecido :-)
>>
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>>> El 22/09/11 15:06, Jorge Arévalo escribió:
>>>> Buenas lista,
>>>>
>>>> Tengo una aplicación en OpenLayers que muestra sobre una capa base una
>>>> lista de polígonos a partir de un JSON que los contiene (y que se
>>>> genera en una app escrita en GeoDjango, pero eso da igual).
>>>>
>>>> Me ha surgido la necesidad de superponer imágenes, además de
>>>> polígonos, y me pregunto si es buena idea crear un objeto JSON con
>>>> ellas en el servidor, igual que hice con los polígonos, o hay otra
>>>> manera mejor. ¿Algún consejo?
>>>>
>>>> Decir que también estoy sirviendo polígonos con Mapserver, y podría
>>>> plantearme servir las imágenes vía WCS, pero la misma duda: ¿es mejor
>>>> servirlas a través de Mapserver, crear un JSON, algún otro método
>>>> alternativo?
>>>>
>>>> Gracias por adelantado, y recibid un saludo :-)
>>>>
>>>
>>>
>>> A ver tienes una aplicación web con OL que consume datos vectoriales
>>> (JSON) y ya estás consumiendo información en imágenes bien WMS o usando
>>> el protocolo de MapServer.
>>>
>>
>> Sí, estoy sirviendo datos catastrales con Mapserver vía WMS y
>> polígonos sueltos directamente a través de una URL que me proporciona
>> respuesta en formato JSON
>>
>>> Ahora quieres superponer imágenes, ¿de qué tipo? son ortofotos, son
>>> tiles pregenerados por otra herramienta, mapas escaneados, no sé...
>>>
>>
>> Recortes de una ortofoto de gran resolución, en formato GeoTiff. O
>> sea, imágenes GeoTiff, al fin y al cabo. No demasiado grandes (del
>> orden de KB, o unos pocos MB máximo)
>>
>>
>>> Dependiendo de la naturaleza de tu dato de partida y del potencial
>>> número de usuarios te interesará una cosa u otra, aunque si tienes un
>>> MapServer ya montado no hay muchos casos de uso que no puedas resolver
>>> con esa bestia parda :-)
>>>
>>
>> Pues por profundizar un poco más, en la aplicación se autentifican
>> usuarios, y una vez dentro, se carga un mapa con una capa base sobre
>> la que se superponen algunos datos vectoriales y también algunas
>> imágenes georeferenciadas. Cada usuario podrá ver "sus" polígonos y
>> "sus" imágenes sobre el mapa, pero no las de los demás.
>>
>> Con los datos vectoriales, OpenLayers llama directamente a una url que
>> busca en una base de datos todos los polígonos relacionados con ese
>> usuario y los devuelve en formato JSON, que luego OpenLayers se
>> encarga de mostrar.
>>
>> Aparte de eso, también se sirve información catastral (parcelas)
>> almacenada en PostGIS, vía WMS (Mapserver). Esto ya genérico, para
>> todos los usuarios registrados (se superpone sobre la capa base,
>> igualmente, pero se puede desactivar)
>>
>> Entonces el caso de uso es cómo servir esas pequeñas imágenes, que
>> también van asociadas a usuarios, igual que los polígonos. ¿Vía WCS
>> con Mapserver, directamente...?
>>
>> Saludos,
>
>
> No, WCS no está pensado para ser utilizado en un visor web, deberías
> usar WMS o directamente tirar del protocolo de MapServer.
>
> En MapServer puedes meter parámetros extra en la url que luego puedes
> utilizar en tu mapfile.
>
> Si esas imágenes están georreferenciadas y no cambian demasiado en el
> tiempo, se me ocurre lo siguiente:
>
> Generar una carpeta por usuario (usando algún tipo de id)
>
> Generar para cada carpeta un índice de las imágenes usando el comando de
> gdal para generar índices en shapefiles.
>
> En el mapfile de mapserver configurar una capa raster que tenga en la
> ruta al archivo índice la parametrización por id. Puedes tener un índice
> vacío como valor por defecto para que no falle.
>
> En OL establecer la URL del servicio introduciendo ese parámetro en
> función del usuario de la aplicación.
>
>

Buena idea. Estaba precisamente mirandome gdaltindex, que es la
herramienta que dices. Voy a darle un par de vueltas, a ver si aplica
del todo. Muchas gracias.

>
> Hay otras maneras supongo, como generar tantas capas WMS como usuarios,
> o cargar un mapfile diferente en función del usuario trabajando la
> reescritura de url en tu servidor web (mod_rewrite en Apache p.ej.).
>

Lo segundo también lo tenía en mente... De hecho, igual es más
"ordenado", tener una zona de usuario en el servidor, donde se
almacenen sus cosas (por ej, "sus" Mapfiles)

En cualquier caso, lo que sí me vendría bien es la generación
automática de Mapfiles. Investigaré.


> Todo esto es usando el cgi de MapServer, si te metes a programar en PHP
> o Python puedes hacer todo esto y mucho más, claro, aunque lo pagarás
> también en rendimiento.
>

Me interesa lo del rendimiento. ¿Es más rápido Mapserver renderizando
los datos (ya sean vectoriales o raster) para servirlos vía WMS que
algo como Mapnik? Entiendo que depende mucho de la configuración, así
que salvo que sea una mejora espectacular, tampoco querría apartar
Mapserver...


> Recuerda que desde hace alguna versión de MapServer se pueden hacer
> includes de uno ficheros en otros, así que puedes reutilizar mucha
> configuración.
>
> Todo lo que he dicho está en la docu de MapServer y GDAL, no hace falta
> que te busque los enlaces.
>
> Espero haberte dado alguna idea, ánimo.
>

Muchas. Mil gracias

Saludos,
Jorge


> Saludos.
>
> --
> Jorge Gaspar Sanz Salinas
> http://es.osgeo.org
> http://jorgesanz.net
> _______________________________________________
> Spanish mailing list
> http://lists.osgeo.org/mailman/listinfo/spanish
> http://es.osgeo.org
> http://twitter.com/osgeoes
>



-- 
Jorge Arévalo
Internet & Mobility Division, DEIMOS
jorge.arevalo at deimos-space.com
http://es.linkedin.com/in/jorgearevalo80
http://mobility.grupodeimos.com/
http://gis4free.wordpress.com
http://geohash.org/ezjqgrgzz0g


More information about the Spanish mailing list