我正在寻找使用GeoTools来读取shapefile。使用它的教程很简单,显示如何将过滤器设置为“Filter filter = Filter.INCLUDE;”指定一切。
我想在非常大的形状文件上拆分读数以达到性能目的。本质上,我想从读取“THE_GEOM”数据中分割DBF文件中信息的读取。我们已经构建了许多自己的过滤器,并且更容易使用它,然后根据需要检索实际几何体。
感谢。
答案 0 :(得分:0)
通过设计GeoTools' Shapefile Datastore竭尽全力将几何和属性(DBF内容)保持在一起。因此,您将不得不在内部寻找能够做到这一点。因此,您可以使用DBFFileReader
和ShapefileReader
来分割阅读材料。
我会考虑将您的过滤器移植到GeoTools,因为它可以让您在Shapefiles过小或过慢时灵活地切换数据源。可能值得查看CQL and ECQL classes以帮助构建它们。 如果您真的处理大型Shapefile(> 2Gb),那么使用适当的空间数据库(如PostGIS)几乎肯定会提供更好的性能,而GeoTools将使用完全相同的过滤器以完全相同的方式访问数据。