[OpenLayers-Users] WFS-T example
Indika Tantrigoda
indika85 at gmail.com
Thu Oct 30 08:49:34 EDT 2008
Hi Alexandre,
Thanks for the link.
2008/10/30 Alexandre Dube <adube at mapgears.com>
> Hi Indika,
>
> Check out the WFS-T example in this sandbox to see a way of doing it with
> the WFS protocol :
> http://svn.openlayers.org/sandbox/topp/wfs/examples/wfs-protocol-transactions.html
>
> Download this svn version and try it. Hope this helps.
>
> Best regards,
>
> Alexandre
>
> Indika Tantrigoda wrote:
>
>> Hello to all,
>> I have successfully manged to insert points and a feature attribute to the
>> database. However the modification/deletes seems to giving some trouble.
>>
>> Heres the code used.
>>
>> controls = {
>> modifylin: new OpenLayers.Control.ModifyFeature(wfs_cities,
>> modifyOptions,
>> {'displayClass':
>> 'olControlModifyFeature'}),
>> dellin: new
>> OpenLayers.Control.SelectFeature(wfs_cities,
>> modifyOptions)//,
>> //{'displayClass' :'olControlModifyFeature'})
>>
>> };
>>
>> var modifyOptions = {
>> onModificationStart: function(feature) {
>> OpenLayers.Console.log("start modifying", feature.id <
>> http://feature.id>); },
>> onModification: function(feature) {
>> OpenLayers.Console.log("modified", feature.id <
>> http://feature.id>); },
>> onModificationEnd: function(feature) {
>> OpenLayers.Console.log("end modifying", feature.id <
>> http://feature.id>);
>> feature.state = OpenLayers.State.UPDATE;
>> //alert("Hello");
>> },
>> onDelete: function(feature) {
>> OpenLayers.Console.log("delete", feature.id <
>> http://feature.id>); },
>> onSelect: function(feature){
>> OpenLayers.Console.log("select", feature.id <
>> http://feature.id>); feature.state =
>> OpenLayers.State.DELETE;
>> }
>> };
>>
>> The point can be moved within the map, and the commented alert also gets
>> executed. However when I refresh the page
>> the point is still at the initial location.
>>
>> Anything I am missing ?
>>
>> Thanks in advance,
>> Indika
>>
>>
>>
>> 2008/7/18 Indika Tantrigoda <indika85 at gmail.com <mailto:
>> indika85 at gmail.com>>
>>
>> Thanks guys, appreciate this very much.
>>
>> Regards,
>> Indika
>>
>> 2008/7/17 Fabio D'Ovidio <fabiodovidio at gmail.com
>> <mailto:fabiodovidio at gmail.com>>:
>>
>>
>> Here are samples using WFS-T and GeoServer.
>> You can draw, modify and delete features (e.g. lines).
>> I developed it for points, polygons, too and I have added
>> FILTER on WFS requests passing a value in query string,
>> configured also WMS GetFeatureInfo in order to query my WFS
>> data on click.
>> Now I am developing a module to create dinamically GeoRSS
>> (including GML as geometries) by querying these features in
>> geoserver as WFS Service and fill them with different colours
>> respect some attribute values..
>>
>> Hope this help!
>>
>> map = new OpenLayers.Map( 'map' ,
>> { controls: [] , 'numZoomLevels':19});
>> ol_wms = new OpenLayers.Layer.WMS(
>> "OpenLayers WMS",
>> "http://labs.metacarta.com/wms/vmap0?", {layers:
>> 'basic'}
>> );
>>
>> var linea = new OpenLayers.Layer.WFS(
>> "Elementi lineari",
>> "/geoserver/wfs",
>> {typename: 'topp:linea'},
>> {
>> typename: 'linea',
>> featureNS: 'http://www.openplans.org/topp',
>> extractAttributes: false
>> }
>> );
>> if (!linea.writer) {
>> poligono.writer = new
>> OpenLayers.Format.WFS({layerName:'topp:linea'},linea);
>> }
>> linea.style.strokeColor
>> = "#0000ff";
>>
>> map.addLayers([ol_wms, linea]);
>>
>>
>> var panel = new OpenLayers.Control.Panel(
>> {displayClass: 'olControlEditingToolbar'}
>> );
>> var drawLine = new OpenLayers.Control.DrawFeature(
>> linea, OpenLayers.Handler.Path,
>> {displayClass: 'olControlDrawFeaturePath'}
>> );
>> drawLine.featureAdded = function(feature) {
>> feature.layer.eraseFeatures([feature]);
>> // cast to multilinestring
>> feature.geometry = new
>> OpenLayers.Geometry.MultiLineString(
>> feature.geometry
>> );
>> feature.style.strokeColor = "#ff0000";
>> feature.style.strokeWidth = "5";
>> feature.style.strokeOpacity = "0.75";
>> feature.state = OpenLayers.State.INSERT;
>> feature.layer.drawFeature(feature);
>> }
>>
>> var modifyOptions = {
>> onModificationStart: function(feature) {
>> OpenLayers.Console.log("start modifying",
>> feature.id <http://feature.id>);
>> },
>> onModification: function(feature) {
>> OpenLayers.Console.log("modified", feature.id
>> <http://feature.id>);
>> },
>> onModificationEnd: function(feature) {
>> OpenLayers.Console.log("end modifying",
>> feature.id <http://feature.id>);
>>
>> feature.state =
>> OpenLayers.State.UPDATE;
>> },
>> onDelete: function(feature) {
>> OpenLayers.Console.log("delete", feature.id
>> <http://feature.id>);
>> },
>> onSelect: function(feature){
>> OpenLayers.Console.log("select", feature.id
>> <http://feature.id>);
>> feature.state = OpenLayers.State.DELETE;
>>
>> }
>> };
>> controls = {
>> dellin: new
>> OpenLayers.Control.SelectFeature(linea,
>> modifyOptions),
>> modifylin: new
>> OpenLayers.Control.ModifyFeature(linea,
>>
>> modifyOptions)
>>
>> };
>> for(var key in controls) {
>> map.addControl(controls[key]);
>> }
>>
>> document.getElementById('noneToggle').checked = true;
>> panel.addControls(
>> [new OpenLayers.Control.Navigation(), drawLine]
>> );
>> map.addControl(panel);
>> map.addControl(new OpenLayers.Control.LayerSwitcher());
>> map.addControl(new OpenLayers.Control.MouseDefaults());
>> map.addControl(new
>> OpenLayers.Control.MousePosition());
>> map.addControl(new OpenLayers.Control.PanZoomBar());
>> map.zoomToExtent();
>> }
>> function toggleControl(element) {
>> for(key in controls) {
>> var control = controls[key];
>> if(element.value == key && element.checked) {
>> control.activate();
>> } else {
>> control.deactivate();
>>
>> }
>> }
>> }
>>
>> -- Ing. Fabio D'Ovidio
>>
>> INOVA Open Solutions s.r.l.
>> Web : http://www.inovaos.it
>> Tel.: 081 197 57 600
>> mail: fabiodovidio at gmail.com <mailto:fabiodovidio at gmail.com>
>>
>>
>> Alexandre Dubé ha scritto:
>>
>> Hi Fabio,
>>
>> That would be most appreciated. Indika is also looking
>> forward to see an example to get wfs-t features working.
>>
>>
>> Fabio D'Ovidio wrote:
>>
>> If u want,
>> I developed something like taht some times ago ...
>>
>> Alexandre Dubé ha scritto:
>>
>> Hi everyone,
>>
>> Does anybody have a WFS-T example to share ? I
>> would like to see how to use a WFS layer, modify
>> it and post my changes to a WFS server.
>>
>> Thanks,
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
> --
> Alexandre Dubé
> Mapgears
> www.mapgears.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20081030/c82e634e/attachment.html
More information about the Users
mailing list