GeoTools 从不同于 public 的 postgresql 模式读取 featureSource

GeoTools to read featureSource from a different postgresql schema than public

我正在使用 GeoTools。只是试图从不在 public 模式中的 postgresql 视图中读取功能。我在名为 cache

的模式中有一堆视图
store = DataStoreFinder.getDataStore(map);
// print a bunch of tables and views including the one I want
for(String s:store.getTypeNames()) 
   System.out.println(s);

我可以在列表中看到我的视图名称,例如:vw_well 没有前缀 cache

但是

featureSource = store.getFeatureSource("vw_well");

会生成

WARNING: Error occured determing srid for vw_well.geom
org.postgresql.util.PSQLException: ERROR: relation "public.vw_well" does not exist

featureSource = store.getFeatureSource("cache.vw_well");

生成

Schema 'cache.vw_well' does not exist.

告诉 GeoTools 读取与 `public 不同的模式的任何方式。我用谷歌搜索找不到答案。

谢谢。

您没有显示设置 map of parameters 的代码,但我怀疑您没有包含 schema 密钥,因此数据库连接默认为 public。你需要这样一行:

map.put(PostgisNGDataStoreFactory.SCHEMA.key, "cache");