[OpenLayers-Users] Request with wrong column name
Gabriel Nolasco
nolasco_gabriel at yahoo.com.br
Tue Jan 26 17:12:02 EST 2010
Hello Luis,
If you are using a vector layer with a WFS protocol you can use the property 'geometryName' to set the name of the geometry column. Default is 'the_geom'[1]
You can see an example of the WFS protocol usage at OpenLayers examples page [2]
[1] http://dev.openlayers.org/docs/files/OpenLayers/Protocol/WFS/v1-js.html#OpenLayers.Protocol.WFS.v1.geometryName
[2] http://openlayers.org/dev/examples/wfs-protocol-transactions.html
Best regards,
Gabriel Nolasco
Message: 6
Date: Tue, 26 Jan 2010 13:56:26 +0000
From: Lu?s de Sousa <luis.a.de.sousa at gmail.com>
Subject: [OpenLayers-Users] Request with wrong column name
To: users at openlayers.org
Message-ID:
<d56cfcb31001260556n24f5abb6xb6f88c7b34a73c04 at mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
Hello,
I'm using the transaction example provided by OpenGeo to create new
features with an Oracle database (through GeoServer):
http://workshops.opengeo.org/openlayers-intro/vector.html
The OpenLayers code to add the new feature is this:
draw.featureAdded = function(feature) {
feature.state = OpenLayers.State.INSERT;
commit = OpenLayers.Function.bind(wfs.commit, wfs);
commit();
add();
$("requestRow").style.visibility = "visible";
}
And it is generating the following request to the server:
<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs"
version="1.0.0" service="WFS">
<wfs:Insert>
<feature:M_TANQUE xmlns:feature="http://insaar.inag.pt">
<feature:the_geom>
<gml:Point xmlns:gml="http://www.opengis.net/gml">
<gml:coordinates decimal="." cs="," ts="
">233823.57226563,280409.89264062</gml:coordinates>
</gml:Point> </feature:the_geom>
</feature:M_TANQUE>
</wfs:Insert>
</wfs:Transaction>
This inserts a new data row in the data base, but with a null
geometry. After asking for help at Geoserver's list the problem was
identifed, the above request is using the wrong columns name
"the_geom", when in the database and to Geoserver this should be
"shape". Here's the result of a DescribeFeatureType request:
<xsd:schema elementFormDefault="qualified"
targetNamespace="http://insaar.inag.pt">
<xsd:import namespace="http://www.opengis.net/gml"
schemaLocation="http://localhost:8080/geoserver/schemas/gml/3.1.1/base/gml.xsd"/>
<xsd:complexType name="M_TANQUEType">
<xsd:complexContent>
<xsd:extension base="gml:AbstractFeatureType">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" name="SHAPE"
nillable="true" type="gml:GeometryPropertyType"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="M_TANQUE" substitutionGroup="gml:_Feature"
type="insaar:M_TANQUEType"/>
</xsd:schema>
What's wrong with the code? Can the column name be set prior to the commit?
Thank you,
Lu?s
P.S.: The discussion at the Geoserver list can be accessed here:
http://old.nabble.com/Inserting-geometries-into-Oracle-database-td27309510.html
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20100126/1740307a/attachment.html
More information about the Users
mailing list