2 votos

El WFS de OpenLayers no pasa el FID de TinyOWS

Tengo una webapp - OpenLayers<->tinyows<->postgis. Con 1 capa tengo un problema.

En localhost todo funciona bien - aquí hay un fragmento del XML que recibo:

 <gml:featureMember>
   <tows:trad gml:id="trad.34">
   <tows:geom><gml:Point srsName="EPSG:4326"><gml:pos>12.01865 57.666245</gml:pos></gml:Point></tows:geom>
   etc...

pero en mi servidor web, el XML que recibo es:

 <gml:featureMember>
   <tows:trad>
   <tows:ogc_fid>34</tows:ogc_fid>
   <tows:geom><gml:Point srsName="EPSG:4326"><gml:pos>12.01865   57.666245</gml:pos></gml:Point></tows:geom>
   etc...

La capa se muestra bien, pero esta peculiaridad hace que no pueda editar la capa:

error minúsculo: [Tue Mar 18 16:33:07 2014] [ERROR] Elemento '{ http://www.opengis.net/ogc }FeatureId': El atributo 'fid' es necesario pero falta.

/etc/tinyows.xml:

<tinyows online_resource="http://localhost/cgi-bin/tinyows"
     schema_dir="/usr/share/tinyows/schema/"
     log="/var/log/tinyows.log"
     log_level="15" >

<pg host="localhost" user="postgres" password="xxxx" dbname="test" port="5432"/>

<metadata name="TinyOWS Server"
       title="treeMapp TinyOWS Server - Service" />

<layer retrievable="1"
    writable="1"
    ns_prefix="tows"
    ns_uri="http://www.tinyows.org/"
    name="trad"
    table="trad"
    title="Träd" />

<layer retrievable="1"
    writable="1"
    ns_prefix="tows"
    ns_uri="http://www.tinyows.org/"
    name="tradtest"
    table="tradtest"
    title="Träd test" />

</tinyows>

Otras capas en la misma configuración en el servidor web funcionan bien.

1voto

Ne An Derthal Puntos 39789

Parece que los 2 xml tienen una versión diferente del GML:

Esto parece GMLv3.1

<gml:featureMember>
   <tows:trad gml:id="trad.34">  <!-- gml:id -->
   <tows:geom><gml:Point srsName="EPSG:4326"><gml:pos>12.01865 57.666245</gml:pos>        </gml:Point></tows:geom>
   etc...

Esto parece GMLv2

<gml:featureMember>
   <tows:trad>
   <tows:ogc_fid>34</tows:ogc_fid>
   <tows:geom><gml:Point srsName="EPSG:4326"><gml:pos>12.01865   57.666245</gml:pos>    </gml:Point></tows:geom>
   etc...

¿Tal vez los dos servidores tienen versiones diferentes? El último fragmento xml sugiere que el servidor no es capaz de reconocer la clave primaria de la capa

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