【发布时间】:2014-03-09 04:28:09
【问题描述】:
我有一个形状文件 (Sample.shp) 以及另外两个文件(Sample.shx 和 Sample.dbf),其中包含为 Bombay 的 15 个 pincode 定义的几何形状(多边形)。
我可以使用快速入门教程查看 .shp 文件。
File file = JFileDataStoreChooser.showOpenFile("shp", null);
if (file == null) {
return;
}
FileDataStore store = FileDataStoreFinder.getDataStore(file);
SimpleFeatureSource featureSource = store.getFeatureSource();
// Create a map content and add our shapefile to it
MapContent map = new MapContent();
map.setTitle("Quickstart");
Style style = SLD.createSimpleStyle(featureSource.getSchema());
Layer layer = new FeatureLayer(featureSource, style);
map.addLayer(layer);
// Now display the map
JMapFrame.showMap(map);
现在我想将这 15 个 pincode 的几何图形转换为 15 个 Geometry/Polygon 对象,以便我可以使用 Geometry.contains() 来查找某个点是否落在特定的 Geometry/Polygon 中。
我试过了:
ShapefileReader r = new ShapefileReader(new ShpFiles(file),true,false,geometryFactory);
System.out.println(r.getCount(0)); >> returns 51
System.out.println(r.hasNext()); >> returns false
非常感谢任何帮助
【问题讨论】: