Good description of a reasonable approach Brent! At one point, for a certain dataset, I was able to calculate a pretty reliable (e.g. still made valid features) ratio of simplification threshold based on map scale. I don't have the data anymore, but it was almost like an LOD level of detail approach.
With that in mind, I'd like to see what one could do with LOD approach in OpenGL with map data - probably blows away our best little hacks ;-) Never got to that yet :) On 2012-05-25, at 4:26 PM, [email protected] wrote: > My 02c... > > If you have a table with a geometry column, you can add a second geometry > column for the simplified ones. As in the script below, for a national > coastline with about 10,000 polygons > > You can generate the simplified ones using a series of update SQL statements, > based on a variety of criteria, including neighbouring (or not) via a > ST_Distance() in the where clause. > > If you hand craft the update SQL's, you can just copy rather than simplify > smaller polygons (ST_Area in the where clause), etc. > > A slowish way, but viable for a 1-off is to have a where clause with an > ST_IsValid in the where clause testing the result of the simplification. If > the where clause includes a test for the target geometry being not-null, the > series can apply a large simplification initially, then progressively apply a > decreasing simplifcation buffer to features that failed previous iterations, > until the last statement copies any remaining features with zero > simplification. > > I prefer a script with a set of SQL's rather than a function, as it is easier > to tweak case requirements. > > The advantage of this approach over the preserving topology simplify function > is the degree of control the hand crafted SQL's provide over exactly how to > simplify the dataset. > > But, as always, your mileage may vary :-) > > Cheers, > > Brent Wood > > > #! /bin/bash > # > # script to simplify NZ coastline for zoom layer > > DB=nzcoast > TAB=nz_all > > > # add new geometry column > psql -d $DB -c "alter table nz_all drop column simple_geom;" > > psql -d $DB -c "alter table nz_all add column simple_geom > geometry(multipolygon,4326);" > > > # populate > # do small islands with no simplification > psql -d $DB -qc "update nz_all > set simple_geom=geom > where ST_Area(geom) < 0.0000000001;" > psql -d $DB -qc "update nz_all > set simple_geom=ST_Simplify(geom, 0.001) > where simple_geom isnull > and ST_IsValid(ST_Simplify(geom, 0.001));" > psql -d $DB -qc "update nz_all > set simple_geom=ST_Simplify(geom, 0.0001) > where simple_geom isnull > and ST_IsValid(ST_Simplify(geom, 0.0001));" > psql -d $DB -qc "update nz_all > set simple_geom=ST_Simplify(geom, 0.00001) > where simple_geom isnull > and ST_IsValid(ST_Simplify(geom, 0.00001));" > psql -d $DB -qc "update nz_all > set simple_geom=geom > where simple_geom isnull;" > > > > > --- On Sat, 5/26/12, Carson Farmer <[email protected]> wrote: > > From: Carson Farmer <[email protected]> > Subject: Re: [Qgis-developer] Vector Layer Generalization > To: "Evgeniy Pashentsev" <[email protected]> > Cc: [email protected] > Date: Saturday, May 26, 2012, 10:11 AM > > Excellent! Topology preserving simplification is something I've been > looking for! > > But I want to ask your advice on one thing. Is it normal for user > > to simplify all the features on a layer at once? I'm just not sure > > which way is more suitable for a regular user: > > - simplify all the features at once as it is now in my current prototype; > > - simplify selected feature and all the corresponding vertexes of > > the neighboring features; > > - or simplify only selected features; > > - or even something else. > > Although it is not very important for current work, I want to make sure > > I don't implement useless functionality. > Personally, I normally simplify an entire layer at once... for mapping > purposes, or simply to reduce drawing time or for computational/space > efficiency. It might be nice to also have the option to simplify > selected features only, but if this was an option, then I would expect > *only* those selected features to be simplified... and *not* their > neighbouring features... > > That's my two cents anyway, looking forward to trying it out! > > Carson > > > -- > Dr. Carson J. Q. Farmer > Centre for GeoInformatics (CGI) > School of Geography and Geosciences > Irvine Building, University of St Andrews > St Andrews, Fife, KY16 9AL > Scotland, UK > _______________________________________________ > Qgis-developer mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/qgis-developer > _______________________________________________ > Qgis-developer mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/qgis-developer ----- Tyler Mitchell, Publisher Locate Press, [email protected] Open Source "geo" Books http://www.locatepress.com
_______________________________________________ Qgis-developer mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/qgis-developer
