var features = [];
                features = new OpenLayers.Feature.Vector(new
OpenLayers.Geometry.Polygon());

you override the array with a single feature and addFeatures accepts only array of features.
In my opinion your code should be like:

                function cmd_MPoly_to_polys() {
                        var MPolyFeature = wfs_mpolygon.selectedFeatures;
                        var features = [];
                        var f = null;
                        var i = null;
                
                        for(var f in MPolyFeature[f]) {
                                for(var i in 
MPolyFeature[f].geometry.components[i]) {
                                        var_feature_  = new 
OpenLayers.Feature.Vector(new OpenLayers.Geometry._MultiPolygon_());
                                        var poly = new 
OpenLayers.Geometry.Polygon(MPolyFeature[f].geometry.components[i]);
                                        feature.geometry.components.push(poly); 
                                        feature.attributes.typ = 
MPolyFeature[f].attributes.typ;
                                        feature.attributes.tst = 
MPolyFeature[f].attributes.tst;
                                        feature.state = OpenLayers.State.INSERT;
                                        features.push(feature);
                                }                               
                        }
                        
                        wfs_polygon.addFeatures(features);
                        wfs_mpolygon.removeFeatures(MPolyFeature);
                        wfs_polygon.redraw();
                }

for every component in every multi polygon you create an feature and add it to the features array which you add to the layer later.
Regards
Slawomir

Am 21.09.2012 10:33, schrieb vGIS:
Thanks for Your fast replys!

                function cmd_MPoly_to_polys() {
                var MPolyFeature = wfs_mpolygon.selectedFeatures;
                var features = [];
                features = new OpenLayers.Feature.Vector(new
OpenLayers.Geometry.Polygon());
                var f = null;
                var i = null;
                
                        for(var f in MPolyFeature[f]) {
                                for(var i in 
MPolyFeature[f].geometry.components[i]) {
                                        features[f].geometry = new
OpenLayers.Geometry.Polygon(MPolyFeature[f].geometry.components[i]);
                                        features[f].attributes.typ = 
MPolyFeature[f].attributes.typ;
                                        features[f].attributes.tst = 
MPolyFeature[f].attributes.tst;
                                        features[f].state = 
OpenLayers.State.INSERT;
                                }
                        }
                        
                wfs_polygon.addFeatures(features);
                wfs_mpolygon.removeFeatures(MPolyFeature);
                wfs_polygon.redraw();
                }

Seems like it creates no features on polygon-Layer.



--
View this message in context: 
http://osgeo-org.1560.n6.nabble.com/Multipolygon-to-Polygons-tp5003436p5003469.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.
_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users



--
--------------------------------------------------
Slawomir Messner
Forschungszentrum "Deutscher Sprachatlas"
06421-28-24981

_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users

Reply via email to