Trying to address this SE question:


https://gis.stackexchange.com/questions/319319/how-to-apply-smoothing-filter-only-to-way-bigger-than-specified-number-of-nodes


I tried to apply v.generalize to a subset of area features, using a where clause, but it doesn't seem to be working. All features are generlized, as if the where clause is being ignored. Here's an example from the nc_basic_sm MAPSET:


micha@TP480:~$ v.extract geology output=my_geology --o where="GEO_NAME='Qp'"
WARNING: Vector map <my_geology> already exists and will be overwritten

.....


micha@TP480:~$ v.db.addcolumn my_geology column="area_sqkm DOUBLE"

micha@TP480:~$ v.to.db my_geology option=area column=area_sqkm unit=kilometer
WARNING: Values in column <area_sqkm> will be overwritten
.....
326 records updated/inserted (layer 1)


# Only 21 features are larger than 10 sq.km.:

micha@TP480:~$  v.db.select -c my_geology column=area_sqkm where="area_sqkm>10" | wc -l
21


micha@TP480:~$ v.generalize my_geology output=my_geology_smooth type=area method=douglas thresh=100 where="area_sqkm>10" --o

....

v.generalize complete. Number of vertices for selected features reduced
from 44238 to 7540 (17% remaining)


Now viewing both my_geology and my_geology_smooth shows that *all* features were smoothed. Including those island polygons that were much smaller than 10 sq.km.


Am I missing something?


-- 
Micha Silver
Ben Gurion Univ.
Sde Boker, Remote Sensing Lab
cell: +972-523-665918

_______________________________________________
grass-user mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to