由于公司业务需求,需要把shape类型数据导入数据库。期间遇到了一些坑,在此记录一下。
- shape数据转成json格式后,存储为SDO_GEOMETRY空间数据类型,需要对数据格式再次进行转换。
json数据格式为:
{
"coordinates": [
[
[
[121.9803, 37.5592],
[121.9802, 37.5536],
[121.9694, 37.5536],
[121.9694, 37.5592],
[121.9803, 37.5592]
]
]
],
"type": "MultiPolygon"
}
需要的格式为:
MultiPolygon(((121.9803 37.5592,121.9802 37.5536,121.9694 37.5536,121.9694 37.5592,121.9803 37.5592)))
经过简单分析,可以取出坐标值,然后把"[","]"替换成"(",")",把逗号“,”替换为空格“ ”,再根据需要对字符串进行截取,然后就是把部分字符再替换为逗号。代码如下:
String coordinates=jsonObject.getString("coordinates")
.replace("[", "(").replace(",", "