在用于交易的GeoTools Javadoc(以及其他一些地方,例如博客等)中,他们建议这样的行在数据库上执行交易:
SimpleFeatureStore road = (SimpleFeatureStore) store.getFeatureSource("road");
据我所知,这里的“存储”是一个数据存储。该方法返回WFSFeatureStore,它希望将其强制转换为SimpleFeatureStore。但是,在运行时,它表示无法强制转换,并暂停程序。 WFSFeatureStore是一个类,SimpleFeatureStore是一个接口。两者都实现SimpleFeatureSource接口。
在某处的描述中肯定丢失了一些东西,因为所有这些地方都在提示它,但这是行不通的。谁能启发我?
最佳答案
如果所选目标不可写,则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/