4 votos

Cómo re-proyecto de coordenadas en un gml sobre la marcha en Geoserver?

Estoy usando Geoserver para obtener featureinfo, pero a veces quiero volver a proyectar el nativo de SRS en la salida de gml. La solicitud es una solicitud (WMS) "GetFeatureInfo" con INFO_FORMAT: application/vnd.ogc.gml.

Soy consciente de la opción para establecer el "declaró SRS" cuando la publicación de una capa en Geoserver, ver a continuación:
geoserver settings

Pero hay una manera de re-proyectar las coordenadas sobre la marcha?

EDIT: a Continuación es de dos diferentes WMS GetFeatureInfo las solicitudes que muestra el problema. La primera solicitud que se ha Srs=EPSG:4326 y bbox en el mismo srs y la segunda solicitud en el Srs=EPSG:900913 y el bbox en el mismo srs.

  1. http://demo.opengeo.org/geoserver/wms?REQUEST=GetFeatureInfo&EXCEPTIONS=application/vnd.ogc.se_xml &BBOX=-139.848137,18.549615,51.852863,55.778385&X=351&Y=193 &INFO_FORMAT=application/vnd.ogc.gml&QUERY_LAYERS=topp:states &FEATURE_COUNT=50&Layers=topp:states&Styles=&Srs=EPSG:4326 &WIDTH=780&HEIGHT=330&format=image/png

  2. http://demo.opengeo.org/geoserver/wms?REQUEST=GetFeatureInfo&EXCEPTIONS=application/vnd.ogc.se_xml &BBOX=-15567823.399227962,2101981.4669995294,5772234.305333375,7514424.280422591 &X=352&Y=220&INFO_FORMAT=application/vnd.ogc.gml&QUERY_LAYERS=topp:states &FEATURE_COUNT=50&Layers=topp:states&Styles=&Srs=EPSG:900913 &WIDTH=780&HEIGHT=330&format=image/png

Tanto las solicitudes de devolución de la misma gml con coordenadas EPSG:4326. Yo esperaría que la segunda solicitud de coordenadas EPSG:900913. Como se mencionó puedo configurar el "declaró SRS" en Geoserver, pero lo que si quiero conseguir el gml en otro srs, a continuación, a la declarada. Por on-the-fly me refería: Pedir en un srs obtener las coordenadas en el mismo srs sin establecer la declaró srs. Espero que la pregunta más claro ahora.

2voto

tobes Puntos 19

Soy consciente de la opción para establecer el "declaró SRS" cuando la publicación de una capa en Geoserver, [...] Pero hay una manera de re-proyectar las coordenadas sobre la marcha?

Eso es exactamente cómo habilitar el on-the-fly de reproyección.

Proceso que no es "on-the-fly" significa que usted tiene que cargar la capa en la correcta/final de CRS.

Actualización:

GetFeatureInfo() no fue diseñado para recuperar el vector de la geometría de los objetos. Devolverá sólo los datos originales (geometría y atributos). Si usted necesita que se vuelve a proyectar el vector de geometrías, usted tendrá que usar un WFS.

1voto

UberAlex Puntos 1854

Yo no podía conseguir GetFeatureInfo para reproyectar, así que no estoy seguro de que es posible con la solicitud. Pero usted puede hacerlo con WFS y solicitud de GetFeature.

En nuestro Geoserver tenemos una capa que es con la siguiente configuración alt text

Ejemplo:

http://xxx.xxx.hr:8080/geoserver/wfs?REQUEST=GetFeature&MAXFEATURES=50&typename=osm:planet_osm_point&SRSname=EPSG:4326

devuelve

<gml:pos>13.390277999999968 45.31972200000002</gml:pos>

y

http://xxx.xxx.hr:8080/geoserver/wfs?REQUEST=GetFeature&MAXFEATURES=50&typename=osm:planet_osm_point&SRSname=EPSG:900913

devuelve

<gml:pos>1490598.92854037 5671996.39529428</gml:pos>

Para el filtrado se puede ver en esta referencia. Espero que esto te ayude.

1voto

Adam Ernst Puntos 6939

Usted no puede hacer eso! En la capa de la publicación de la página tiene que establecer la proyección de datos para que coincida con la proyección de los datos (en este caso epsg:4326) - hacer sobre la marcha de reproyección se necesita cambiar el SRS en su solicitud.

No estoy seguro, sin embargo si demo.openplans.org soporta 90913 como la capacidad de archivo de sólo listas 4326 para los Estados de la capa.

Tampoco estoy seguro de que GetFeatureInfo admite la reproyección. Es posible que desee probar mediante WFS 1.1 para esta tarea si usted realmente necesita el GML coordenadas que no es realmente lo que getFeatureInfo fue diseñado para.

1voto

Martin Puntos 3552

Sólo excavado en esto, y no creo que hay alguna forma en GeoServer para hacer exactamente lo que quieres. Buscando en la especificación WMS ofrece ninguna orientación en cuanto a lo que un WMS debe hacer cuando GML es requerida en una alternativa SRS, aunque estoy de acuerdo en que el buen comportamiento probablemente se debe a reproyectar. Poner ese requisito en aunque hubiera hecho de que la especificación mucho más difícil de implementar. Estoy bastante seguro de ser capaz de obtener GML de un WMS fue un poco de una idea de último momento para la especificación de los autores.

Lo OGC hizo para manejar real GML de solicitudes fue el de hacer de la Web de la Característica de la especificación del Servicio. Y ellos ni siquiera llegar a la manipulación de reproyección bien hasta la versión 1.1 de la especificación. Así que una menos que ideales respuesta a tu pregunta es el uso de WFS, sin duda, va a manejar lo que usted desea. La desventaja es que usted tendrá que hacer manualmente transformar su x,y coordenadas de pantalla para el buen cuadro delimitador, a pesar de que la mayoría de los software de cliente puede hacer eso.

Usted puede seguir adelante y dar a conocer el problema, como creo que la mayoría de geoserver devs estaría de acuerdo en que aunque las especificaciones no dice nada acerca de lo que quieres debe ser el comportamiento correcto. Y debería ser relativamente fácil de implementar, como todos los mecanismos para la reproyección están ahí. Pero es posible que no se fija, ya que la mayoría de todos los que quieran GML utiliza WFS, ya que es superior en todo sentido, excepto por no tener el acceso directo de x,y coordenadas de pantalla.

0voto

Jorge Castro Puntos 184

A menos que yo estoy entendiendo tu pregunta, volviendo a proyectar sobre la marcha debe ser una simple cuestión de simplemente especificando su salida deseada SRS en su WMS cadena de solicitud.

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