1

我有问题需要帮助。我在 postgis 中有包含多边形的 parces 地图图层。该层遵循不重叠拓扑规则。我如何使用 geotools api 获得“旁边”选定功能的功能?“旁边”特征是特征具有至少一个相同的边缘。在此处输入图像描述

For example in this picture, when select feature A, i need to get feature B,C,D, not get feature E.

任何帮助都非常感谢!谢谢!

4

1 回答 1

1

我用这段代码解决了我的问题

公共静态无效getRoundFeature(SimpleFeature功能,SimpleFeatureSource featureSource){FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2();GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory(null); 几何 g = (Geometry) feature.getAttribute("the_geom");

Polygon polygon = geometryFactory.createPolygon(g.getCoordinates());
//Polygon poly = (Polygon) feature;
Filter filter = ff.intersects(ff.property("the_geom"), ff.literal(polygon));
try {
    SimpleFeatureCollection featureCollection = featureSource.getFeatures(filter);
    //System.out.println("feature around: "+ featureCollection.size());
    FeatureIterator iter = featureCollection.features();
    while(iter.hasNext()){
        SimpleFeature rfeature = (SimpleFeature) iter.next();
        System.out.println("so to: "+rfeature.getAttribute("soto")+ "so thua: "+rfeature.getAttribute("sothua"));
    }

} catch (IOException e) { LOGGER.log(Level.FINER, e.getMessage(), e);
}

}

于 2013-10-29T03:03:06.650 回答