我需要使用Java在两个PostGIS数据库之间进行集成。我将收到一个JSON文件,其中的每一行代表一个表的记录。其中一些表具有几何列。
我应该接收此几何数据作为PostGIS WKB十六进制表示或作为WKT?PostGIS表示更紧凑,JTS可以用两种方式解析它,所以看起来最好以这种格式发送数据,但我看到的大多数示例都是通过WKT完成集成的,所以我真的不确定最好的方法是什么。
我应该以WKB还是WKT的形式发送数据?
发布于 2018-12-13 01:04:46
你发送它的方式真的没有区别。这在很大程度上取决于带宽要求。如果这是一个web应用程序,你可能会想要更小的表示。
但您也可以使用JSON。JTS可能还需要从JSON导入几何图形。
无论你选择什么,只需关注一些关于3d几何的规范。一些解析器会丢弃z组件以匹配规范(几年前我在使用Django时也遇到过类似的问题,但它实际上是一个bug)。
发布于 2018-12-13 01:14:52
可以考虑的一种方法是使用dblink直接查询另一个PostGIS数据库,而不是先导出再导入。
从文档中:
SQL在远程数据库中执行查询(通常是SELECT,但也可以是任何返回行的
语句)。
因此,您可以从一个数据库发送一个查询,如下所示:
SELECT *
FROM dblink('connection_string_to_other_db', 'sql_query');然后,您将在从中运行查询的数据库中收到这些行。
我不知道这是否是您想要的,但这是将数据从一个PostgreSQL数据库转移到另一个数据库的一种非常简单的方法。
https://stackoverflow.com/questions/53747765
复制相似问题