我有一個包含目標區域(黃色)的形狀文件。
我有一個包含建築物(綠色)的形狀文件。
我需要黃色區域的空白區域。
圖片://db.tt/kjjXZlQF
我的解決方案:
獲取所有的建築在這方面
Filter inPolygon = CQL.toFilter("WITHIN(the_geom,"+wktwriter.write(targetarea) + ")");
FeatureCollection<SimpleFeatureType, SimpleFeature> collection = featureSource.getFeatures(inPolygon);//this works
從每一個建築得到它的目標區域的幾何形狀和使用差異
toCover = toCover.Difference(building);
OR 第二解決方案:
每一個建築的聯盟,然後在年底的區別。
OR 第三解決方案:
把它們放在一個GeomtryCollection電聯,然後使用差異
這些解決方案的每個人給我的東西像下面的圖片
圖片:https://dl.dropboxusercontent.com/u/639458/stackoverflow/stfr2.png
讓我們清楚,我嘗試了幾種方法來解決這個問題,通過使用不同的方式來創建/製作或使用它。即使使用下面網站中的代碼,它也不能正確工作。
http://docs.geotools.org/latest/userguide/library/jts/combine.html
,你可能會得到http://gis.stackexchange.com/ – 2013-05-15 08:24:56
你嘗試更多的答覆在這組建築物上調用'.buffer(0)'? – mdup 2013-06-05 13:44:44