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");
我正在使用 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");