我目前正在做一个项目,涉及使用JDBC转换器将空间数据从Oracle数据库摄取到GeoMesa中。我的源数据采用Oracle特定的SDO_GEOMETRY格式。
我最初的方法是使用SDO_UTIL.TO_WKTGEOMETRY函数将SDO_GEOMETRY数据转换为Well-Known Text(WKT)表示。之后,我计划使用TO_CHAR函数将这个WKT转换为字符串格式,这样我就可以将它摄取到GeoMesa中。然而,我在这种方法上遇到了挑战。Oracle的TO_CHAR函数最多只能处理4000个字符,但我转换的一些WKT数据超过了这个限制。因此,我无法转换和摄取我的数据。
我正在寻找这个问题的替代解决方案。是否有更有效的方法将SDO_GEOMETRY数据转换为GeoMesa可以接收的格式,而不会达到字符限制?是否有一种直接的方法将Oracle SDO_GEOMETRY转换为GeoMesa可以直接处理的格式(如Well-Known Binary或其他格式),而没有4000个字符的限制问题?
任何帮助或指导都将不胜感激。谢谢你!
1条答案
按热度按时间tjvv9vkg1#
您应该能够使用SDO_UTIL.TO_WKTGEOMETRY,它返回
CLOB
而不是VARCHAR
。GeoMesa没有任何CLOB
处理,除非.toString
返回一些有用的东西。您可能需要为turn theCLOB
into aString
实现一个自定义的转换器函数。像这样的函数通常是有用的,所以如果你实现了它,请contribute it back到GeoMesa项目!