[OpenLayers-Users] Adding new features: WFS-T PostGIS
Alexandre Dube
adube at mapgears.com
Fri Aug 21 07:54:53 EDT 2009
Hi Juan,
Here's an old OpenLayers demo using WFS-T with TinyOWS (using a
PostGIS DB) (1). You have the same example using the MapFish and ExtJS
API (2). Click on the "ModifyFeature" icon then on a feature.
See the code for more details.
Regards,
Alexandre
(1) http://dev4.mapgears.com/bdga/bdgaWFS-T.html
(2) http://dev4.mapgears.com/bdga-mapfish/bdgaWFS-T.html
Juan Arévalo wrote:
> Hi all,
>
> In case that someone is stuck with the same problem that I had I attached
> the code that works for me.
>
> By the way, Can anyone point me to some examples using a web form to enter
> and modify attributes store in a PostGIS DB via WFS-T?
>
> Thanks for your help!
>
>
> //WFS Layer
>
> wfs3 = new OpenLayers.Layer.WFS(
> "Same Water Points",
> "http://localhost:8080/geoserver/wfs",
> {typename: 'cite:water_points'},
> {
> typename: "water_points",
> featureNS: "http://www.opengeospatial.net/cite",
> extractAttributes: false,
> commitReport: function(str) {
> OpenLayers.Console.log(str);
> }
> }
> );
>
> var saveStrategy = new OpenLayers.Strategy.Save({
> callback: function() {
> alert('feature saved');
> }
> });
>
> map.addLayers([wfs3]);
>
>
> //BUTTONS:
>
> var panel = new OpenLayers.Control.Panel({
> displayClass: "olControlEditingToolbar"
> });
>
> var draw = new OpenLayers.Control.DrawFeature(
> wfs3, OpenLayers.Handler.Point,
> {
> handlerOptions: {freehand: false, multi: true},
> displayClass: "olControlDrawFeaturePoint"
> }
> );
>
> var modify = new OpenLayers.Control.ModifyFeature(wfs3, {
> title: "Modify Feature",
> displayClass: "olControlModifyFeature"
> });
>
> var del = new DeleteFeature(wfs3, {title: "Delete Feature"});
>
>
> var save = new OpenLayers.Control.Button({
> trigger: OpenLayers.Function.bind(wfs3.commit, wfs3),
> displayClass: "olControlEditingToolbar",
> title: "Guardar"
> });
>
>
>
> panel.addControls([
> new OpenLayers.Control.Navigation(),
> save, del, modify, draw
> ]);
>
> map.addControl(panel);
>
>
>
> Juan Arévalo wrote:
>
>> Hi All,
>> I am trying to set up a WFS-T using Geoserver 1.7.6 and PostGres 8.4. I
>> have tried with the following code in order to insert new features:
>>
>>
>>
>> //WFS LAYER:
>>
>> wfs = new OpenLayers.Layer.WFS(
>>
>> "Cities",
>> "http://localhost:8080/geoserver/wfs",
>> {typename: 'cite:ciudades'},
>> {featureNS: 'http://www.opengeospatial.net/cite',
>> srsName: 'EPSG:4326',
>> version: "1.0.0",
>>
>> //schema:
>> "http://localhost:8080/geoserver/wfs?request=GetFeature&typeName=ciudades&outputformat=text/xml;%20subtype=gml/3.1.1",
>> //schema:
>> "http://localhost:8080/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=cite:ciudades",
>> schema:
>> "http://127.0.0.1:8080/geoserver/wfs?service=WFS&version=1.1.0&request=DescribeFeatureType&typeName=cite:ciudades",
>> extractAttributes: true});
>> wfs.style = OpenLayers.Util.applyDefaults({strokeColor: "#0000ff"},
>>
>> OpenLayers.Feature.Vector.style["default"]);
>>
>> //SAVE BUTTON:
>>
>> var save = new OpenLayers.Control.Button({
>> trigger: OpenLayers.Function.bind(wfs.commit, wfs),
>> displayClass: "olControlSaveFeatures"
>> });
>>
>>
>>
>> When I click the save button I got this error:
>>
>>
>>
>> WFS Transaction: FAILED <?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>
>>
>> Feature type 'featureMember' is not available:
>>
>> </ServiceException></ServiceExceptionReport>
>>
>>
>>
>> The geoserver log is as follow:
>>
>>
>>
>> 2009-08-19 20:57:35,500 ERROR [geoserver.ows] -
>> org.geoserver.wfs.WFSTransactionException: Feature type 'featureMember' is
>> not available:
>> at org.geoserver.wfs.Transaction.execute(Transaction.java:222)
>> at org.geoserver.wfs.Transaction.transaction(Transaction.java:108)
>> at
>> org.geoserver.wfs.DefaultWebFeatureService.transaction(DefaultWebFeatureService.java:182)
>> (...)
>>
>>
>>
>> Does anyone have any idea on how to solve this issue?
>>
>> It would be great if you can provide me with some working examples..
>>
>> Thanks:)-
>>
>> Juan
>>
>>
>
>
--
Alexandre Dubé
Mapgears
www.mapgears.com
More information about the Users
mailing list