I am configuring a database (Postgis on windows) to store GPS coordinates.
I want to update the geometry for the points in real time (well at least as
close to as possible). I am trying to figure out the XML necessary to
perform such an operation through WFS. I have come up with two possible
approaches:
1. Use Update statement with geometry column. Does this work?. If so, I
don't know how to write such an expression, if anyone can help me out here
it would be great.
2. Use Delete and Insert statements within a Transaction. I have tried the
following:
<wfs:Transaction service="WFS" handle="Transaction 01" version="1.0.0"
xmlns:cdf="http://www.opengis.net/cite/data"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:wfs="http://www.opengis.net/wfs">
<wfs:Delete typeName="topp:posiciones">
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>topp:objectid</ogc:PropertyName>
<ogc:Literal>1</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
</wfs:Delete>
<wfs:Insert handle="Statement 1">
<topp:posiciones>
<topp:the_geom>
<gml:Point srsName="http://www.opengis.net/gml/srs/epsg.xml#23030">
<gml:coordinates decimal="." cs="," ts=" ">430000,4650000
</gml:coordinates>
</gml:Point>
</topp:the_geom>
<topp:objectid>1</topp:objectid>
<topp:ict_id_dev>1</topp:ict_id_dev>
<topp:ict_fc_dat>15/09/2004</topp:ict_fc_dat>
<topp:ict_x_coor>430000</topp:ict_y_coor>
<topp:ict_y_coor>4650000</topp:ict_y_coor>
</topp:posiciones>
</wfs:Insert>
</wfs:Transaction>
If I do Delete and Insert in separate transactions they work but I want
both commands to be in one transaction to ensure data integrity.
But I get the following error:
<?xml version="1.0" ?>
<ServiceExceptionReport
version="1.2.0"
xmlns="http://www.opengis.net/ogc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/ogc
http://schemas.opengis.net/wfs/1.0.0/OGC-exception.xsd">
<ServiceException
locator="org.vfny.geoserver.requests.readers.DispatcherXmlReader">
XML get capabilities request parsing error:
org.xml.sax.SAXParseException: The prefix "topp" for element
"topp:posiciones" is not bound. </ServiceException>
</ServiceExceptionReport>
What am I doing wrong?.
Thank you very much in advance.
Juan Marín Otero
TRAGSATEC S.A.
Departamento de Cartografía
Tlf. 91 322 64 98
Este correo es sólo informativo y por lo tanto no supone obligación
contractual para TRAGSATEC ni para las sociedades a ella vinculadas. La
información incluida en el presente correo electrónico es CONFIDENCIAL,
siendo para el uso exclusivo del destinatario arriba mencionado. Si usted
lee este mensaje y no es el destinatario señalado, el empleado o el agente
responsable de entregar el mensaje al destinatario, o ha recibido esta
comunicación por error, le informamos que está totalmente prohibido
cualquier almacenamiento, divulgación, distribución o reproducción de esta
comunicación y de los archivos que pueda contener. Le rogamos que nos lo
notifique, devuelva el original al emisor del correo y destruya el mensaje.
El correo electrónico vía Internet no permite asegurar la confidencialidad
de los mensajes que se transmiten, ni su integridad o correcta recepción.
TRAGSATEC no asume responsabilidad por estas circunstancias. Si el
destinatario de este mensaje no consintiera la utilización del correo
electrónico vía Internet y la grabación de los mensajes, rogamos lo ponga
en nuestro conocimiento de forma inmediata.