[Users] WFS-T problems with postGIS
Viggo Lunde
viggo.lunde at gmail.com
Tue Sep 21 11:22:59 CEST 2010
Hi
I was in Foss4G Barcelona and got this great tutorial on GeoExt Editng.
And it works very well on shape-files in geoserver.
But we want to use postGIS and have tried to make a testtable like this.
Column | Type |
Modifiers
--------+-----------------------+---------------------------------------
--------+-----------------------+-----------------------
fid | integer | not null default
nextval('test.wfstrans2_fid_seq'::regclass)
info | character varying(40) |
geo | geometry |
Indexes:
"wfstrans2_pkey" PRIMARY KEY, btree (fid)
"geoidx_test__wfstrans2" gist (geo)
Check constraints:
"enforce_dims_geo" CHECK (st_ndims(geo) = 2)
"enforce_geotype_geo" CHECK (geometrytype(geo) = 'POLYGON'::text OR geo
IS NULL)
"enforce_srid_geo" CHECK (st_srid(geo) = 32632)
The client posts this:
<wfs:Transaction xmlns:wfs="http://www.opengis.net/wfs" service="WFS"
version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance"><wfs:Insert><feature:wfstrans2
xmlns:feature="http://www.skogoglandskap.no"><feature:geo><gml:MultiPolygon
xmlns:gml="http://www.opengis.net/gml"
srsName="EPSG:32632"><gml:polygonMember><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates
decimal="." cs="," ts=" ">523671.86,6839648 447847.86,6788196
558875.86,6790904 523671.86,6839648</gml:coordinates></gml
:LinearRing></gml:outerBoundaryIs></gml:Polygon></gml:polygonMember></gml:MultiPolygon></feature:geo
><feature:info>test1</feature:info></feature:wfstrans2></wfs:Insert></wfs:Transaction>
And i get this errormessage:
<?xml version="1.0" encoding="UTF-8"?><wfs:WFS_TransactionResponse
version="1.0.0" xmlns:wfs="http://www.opengis.net/wfs"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wfs
http://kartutv7:80/geoserver_intern/schemas/wfs/1.0.0/WFS-transaction.xsd"><wfs:InsertResult><ogc:FeatureId
fid="none"/></wfs:InsertResult> <wfs:TransactionResult> <wfs:Status>
<wfs:FAILED/> </wfs:Status> <wfs:Message>Error performing
insert</wfs:Message>
</wfs:TransactionResult></wfs:WFS_TransactionResponse>
My wfs_editor.html looks like this:
<html>
<head>
<title>GeoExt WFS Editor</title>
<script type="text/javascript"
src="ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ext/ext-all.js"></script>
<link rel="stylesheet" type="text/css"
href="ext/resources/css/ext-all.css" />
<script src="openlayers/lib/OpenLayers.js"></script>
<script type="text/javascript" src="geoext/lib/GeoExt.js"></script>
<script type="text/javascript">
Ext.BLANK_IMAGE_URL = "ext/resources/images/default/s.gif";
Ext.onReady(function() {
/*var saveStrategy = new OpenLayers.Strategy.Save({
onCommit: function() {
saveStrategy.layer.refresh();
}
});*/
var saveStrategy = new OpenLayers.Strategy.Save();
var baseLayer = new OpenLayers.Layer.WMS( "Gråtone",
"http://kart7.skogoglandskap.no/bakgrunn/wms.topo2.graatone",
{layers: 'topo2_graatone_WMS', 'format':'image/png',
'transparent':'false' },
{isBaseLayer: true, singleTile: true, buffer:0,ratio:1});
var layer = new OpenLayers.Layer.Vector("vector", {
strategies: [new OpenLayers.Strategy.Fixed(), saveStrategy],
//strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.WFS({
url: "/geoserver_intern/wms",
version: "1.0.0",
geometryName: "geo",
featureType: "wfstrans2",
featureNS: "http://www.skogoglandskap.no",
srsName: "EPSG:32632"
})
});
var store = new GeoExt.data.FeatureStore({
fields: [
{name: "info", type: "string"}/*,
{name: "fid", type: "int"}*/
],
layer: layer,
addFeatureFilter: function(feature) {
return feature.state !== OpenLayers.State.DELETE;
}
});
var drawControl = new OpenLayers.Control.DrawFeature(
layer,
OpenLayers.Handler.Polygon,
{handlerOptions: {multi: true}}
);
var mapPanel = new GeoExt.MapPanel({
title: "Map",
region: "west",
width: 400,
layers: [baseLayer,layer],
//extent: new OpenLayers.Bounds(234758, 6402776, 1339075, 8020511),
map: {
projection: new OpenLayers.Projection("EPSG:32632"),
displayProjection: new OpenLayers.Projection("EPSG:32632"),
maxExtent: new
OpenLayers.Bounds(-570684.15,6424344.35,1596363.87,7964447.65),
units: "m",
maxResolution: 2708.0,
numZoomLevels: 15,
controls: [ new OpenLayers.Control.PanZoomBar(),
new
OpenLayers.Control.MousePosition({'prefix':'UTM 32: ','numDigits':0})
]
},
bbar: [
new GeoExt.Action({
control: drawControl,
text: "Create",
enableToggle: true
}), {
text: "Delete",
handler: function() {
gridPanel.getSelectionModel().each(function(rec) {
var feature = rec.get("feature");
modifyControl.unselectFeature(feature);
store.remove(rec);
if(feature.state !== OpenLayers.State.INSERT) {
feature.state = OpenLayers.State.DELETE;
layer.addFeatures([feature]);
}
});
}
}, "->", {
text: "Save",
handler: function() {
store.commitChanges();
saveStrategy.save();
}
}
]
});
mapPanel.map.addControl(drawControl);
var modifyControl = new OpenLayers.Control.ModifyFeature(layer);
mapPanel.map.addControl(modifyControl);
modifyControl.activate();
var gridPanel = new Ext.grid.EditorGridPanel({
title: "Feature Table - Manhattan (NY) landmarks",
region: "center",
viewConfig: {forceFit: true},
store: store,
listeners: {
afteredit: function(e) {
var feature = e.record.get("feature");
if(feature.state !== OpenLayers.State.INSERT) {
feature.state = OpenLayers.State.UPDATE;
}
}
},
sm: new GeoExt.grid.FeatureSelectionModel({
selectControl: modifyControl.selectControl,
singleSelect: true
}),
cm: new Ext.grid.ColumnModel({
defaults: {
sortable: true,
editor: {xtype: "textfield"}
},
columns: [
{header: "Info", dataIndex: "info"}/*,
{header: "Id", dataIndex: "fid"}*/
]
})
});
var mainPanel = new Ext.Panel({
renderTo: document.body,
layout: "border",
height: 450,
width: 800,
items: [gridPanel, mapPanel]
});
});
</script>
</head>
<body>
</body>
</html>
I am running geoserver 2.0.0
Anyone knows whats wrong.
Best regards
Viggo Lunde
Skog og landskap
Norway
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.geoext.org/pipermail/users/attachments/20100921/4b8376c1/attachment-0001.htm
More information about the Users
mailing list