首页 > 解决方案 > FileDataStoreFinder.getDataStore() 返回空指针

问题描述

我正在尝试重新创建 GeoTools快速入门教程。

Maven 集成工作正常,现在我想将德国邮政编码加载到区域shapefile。我的代码如下:

File file = new File("\\PATH\\TO\\FILE\\post_pl.shp");
FileDataStore store = FileDataStoreFinder.getDataStore(file);
SimpleFeatureSource featureSource = store.getFeatureSource();

调用时FileDataStoreFinder总是返回 null 。getDataStore()调试它表明它在GeoTools.scanForSystemHints(newGlobal);.

其他查看器可以毫无问题地读取 shapefile。java中的路径也是正确的。它在教程中的示例文件上也失败了。我可以包含 .dbf 和 .shx 文件吗?

我还尝试将 sdk 从 1.9 降级到 1.8(因为文档暗示有问题),但无济于事,仍然是一个空指针。

谁能帮我找出我的错误,或者对我可能检查的内容有一些意见?

谢谢你的帮助

托马斯

标签: javamavengeotools

解决方案


如果您使用的是 netbeans,您可能会缺少 pom.xml 文件中的依赖项。添加依赖项并验证 geotools 版本控制属性是否正确。

</project>
    </repositories>
        <repository>
            <id>osgeo</id>
            <name>Open Source Geospatial Foundation Repository</name>
            <url>http://download.osgeo.org/webdav/geotools/</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>org.geotools</groupId>
            <artifactId>gt-shapefile</artifactId>
            <version>${geotools.version}</version>
        </dependency>
    </dependencies>
</project>

资料来源:有问题,找到这个未回答的问题,修复它;当我解决它时,我觉得有必要让我的第一篇文章做出贡献。


推荐阅读