在 GeoTools Javadoc for Transaction(以及其他一些地方,例如博客等)中,他们建议像这样的行在数据库上执行事务:
SimpleFeatureStore road = (SimpleFeatureStore) store.getFeatureSource("road");
据我所知,其中“store”是一个数据存储。该方法返回一个 WFSFeatureStore,它希望将其转换为 SimpleFeatureStore。然而,在运行时,它说它无法转换它,并停止程序。 WFSFeatureStore 是一个类,SimpleFeatureStore 是一个接口(interface)。两者都实现了 SimpleFeatureSource 接口(interface)。
描述中一定有什么地方丢失了,因为所有这些地方都暗示了这一点,但它不起作用。谁能帮我解答一下吗?
最佳答案
如果所选目标不可写,DataStore 将返回 SimpleFeatureSource 而不是 SimpleFeatureStore。对于 WFS,远程 WFS 服务器可能不允许 WFS-T,或者 WFS 存储无法正确解析功能。 另一种可能性是服务器支持 WFS-T,但它是 1.1,据我所知,GeoTools 具有仅针对 WFS 1.0 服务器执行事务的代码。
关于java - 为什么我无法将 WFSFeatureSource 转换为 SimpleFeatureStore?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5828908/