我有一个shape文件(Sample.shp),还有两个其他文件(Sample.shx和Sample.dbf),其中定义了孟买15个邮政区域的几何图形(多边形)。
我能够使用Quickstart教程查看.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个邮政编码的几何形状转换为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
非常感谢您的帮助