设置GeoServer以访问由Osmosis填充的Postgresql数据库,简单或快照模式

时间:2013-07-29 09:30:29

标签: postgresql openstreetmap geoserver

我有一个postgresql数据库,我使用Osmosis保持更新。渗透可以写入两个不同的数据库模式,名为Simple和Snapshot。与Geoserver使用的数据库没有太大的不同,但我不能让Geoserver完美地使用它。

主要问题似乎是标签存储在这些数据库中的方式。我可以添加节点层并使用默认的Points样式显示它,但是只要我在我的样式中使用“ogc:Filter”来按照“place”标记过滤节点,WMS就会被破坏并且不会响应(说:请求的样式不能与此图层一起使用。样式指定一个地点的属性,图层是:TestDB:nodes)

有没有让GeoServer了解其中一个shemas,或者让DB GeoServer的Osmosis更新知道了?

1 个答案:

答案 0 :(得分:0)

这是使用TRIGGER来管理集成的情况。这两个程序使用两种不同的模式。您可以在数据库中CREATE TRIGGER确保写入一个应用程序的数据可供另一个应用程序使用。另一个选项是您可以设置其中一个或两个以使用其他应用程序部分填充的VIEW。在PostgreSQL中,VIEW可以附加触发器,因此这些并不是真正的

在任何情况下,这都是一个潜在的大型项目,而不是提供示例代码,我将概述您需要考虑的各种事项。

  1. 这些通常适用吗?如果是这样,您想要启动一个开源集成项目吗?

  2. 这两种只读工作负载都是?数据是否会更新?通常,如果您要使用视图,更新会引起最多的关注,因此您希望在不执行更新的情况下运行视图(如果是这种情况)。

  3. 双方的写作模式是什么?插入/更新?仅附加?静态数据?您需要在模式之间“复制”哪些数据?

  4. 一旦你得到了这些答案,就应该相对简单地开始并寻求帮助(无论是作为开源项目还是在这里)你会遇到困难。