6 votos

¿Cómo automatizar la descarga de "rodajas" de los datos de cobertura de Web Service (WCS)?

Me gustaría automatizar la descarga de "rodajas" de los datos de un servicio WCS. Este es un WCS 1.1.2 servicio, el apoyo a netCDF. Los datos son actualizados a diario - las previsiones de un atmosférica modelo regional - y me gustaría descargar automáticamente netCDF "rebanadas" de los datos de un fijo geográfica cuadro delimitador y por un par de días en el futuro. Estoy muy feliz de procesamiento de la netCDF una vez que he descargado.

La evidente fuerza bruta enfoque es leer el estándar OGC y elaborar la solicitud HTTP a mí mismo, y el código en algún lenguaje de scripting. Sospecho que voy a terminar haciendo eso. Pero se siente mal.

¿Alguien puede recomendar un WCS biblioteca de cliente que puedo usar de código? O WCS cliente que puedo ejecutar desde una línea de comandos? Sé que probablemente podría secuencia de comandos de QGIS o Hierba o ArcGIS o algo, pero que parece demasiado pesado un requisito para esta tarea.

Puede GDAL hacerlo? Google ha activado la BADC Python WCS biblioteca (PDF) (ahora en OWSlib?) que voy a echar un vistazo a. Java y GeoTools podría ser una posibilidad. Y ahí está el OGC lista de WCS clientes que podía caminar a través.

Esto es en la plataforma Windows. Una .Biblioteca de red sería lo ideal :)

No he vinculado a la real servicio WCS como aún no es público operativa. Pero aquí es un editada GetCapabilities solicitud a continuación, en caso de que alguien está interesado en los detalles

<Capabilities xmlns:xlink="http://www.w3.org/1999/xlink"  
  xmlns:ows="http://www.opengis.net/ows/1.1" xmlns="http://www.opengis.net/wcs/1.1"  
 version="1.1.2">  
<Contents>  
<CoverageSummary>  
<ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">  
<ows:LowerCorner>+0.0000 -90.0000</ows:LowerCorner>  
<ows:UpperCorner>+358.8750 +90.0000</ows:UpperCorner>  
</ows:WGS84BoundingBox>  
<SupportedCRS>urn:ogc:def:crs:EPSG::4326</SupportedCRS>   
<SupportedCRS>urn:ogc:def:crs:OGC:2:84</SupportedCRS>  
<SupportedFormat>image/netcdf</SupportedFormat>  
<SupportedFormat>application/x-netcdf</SupportedFormat>  
<Identifier>------------</Identifier> 
</CoverageSummary> 

4voto

rkthkr Puntos 6651

WCS es el menos usado de los WMS/WFS/WCS triángulo de forma que no hay mucho ahí fuera, como usted probablemente ha notado.

Sin embargo, la realización de solicitudes es realmente muy fácil y usted realmente no necesita un especial de la biblioteca. Podría decirse que es el más fácil de los tres desde la perspectiva del usuario porque obtendrá un bonito y sencillo archivo de nuevo.

Una solicitud válida se ve algo como esto:

http://my.host.com/cgi-bin/mapserv?map=mywcs.map&SERVICE=wcs &VERSION=1.0.0&REQUEST=GetCoverage&coverage=bathymetry&CRS=EPSG:42304&OX=-2200000,-712631,3072800,3840000&WIDTH=3199&HEIGHT=2833&FORMAT=GTiff

Puede parecer complejo, pero con desglose de su muy simple:

http://my.host.com/cgi-bin/mapserv?map=mywcs.map
&SERVICE=wcs
&VERSION=1.0.0
&REQUEST=GetCoverage
&coverage=bathymetry
&CRS=EPSG:42304
&BBOX=-2200000,-712631,3072800,3840000
&WIDTH=3199
&HEIGHT=2833
&FORMAT=GTiff

Como se puede ver, la mayoría de ellos son auto explicativas. Usted sólo tiene que concatenar una cadena que tiene esas variables. La mayoría de ellos probablemente serán constantes.

La cobertura es el nombre de la capa que se está solicitando.

BBOX es la parte más difícil de hacer como que usted necesita para obtener las coordenadas de algún lugar.

Entiendo el punto de bibliotecas, pero cuando algo es así de simple, "re-inventar la rueda", es en realidad una opción sensata. Usted, por supuesto, necesitan algún tipo de librería de HTTP.

Una búsqueda de WCS GetCoverage busca otros ejemplos. Esta página tiene un ejemplo en vivo: http://www.mapserver.org/ogc/wcs_server.html#test-your-wcs-1-0-server

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