-
数据类型: fence geometry(Polygon,4326)
-
具体数据示例: POLYGON((120.163629 30.259207,120.163599 30.259802,120.163617 30.259803,120.163647 30.259207,120.163629 30.259207))
-
java 转换 string为polygon 示例
public void convertStrToPolygon() {
String str = "[{\"lng\":120.163629,\"lat\":30.259207},{\"lng\":120.163599,\"lat\":30.259802},"
+ "{\"lng\":120.163617,\"lat\":30.259803},{\"lng\":120.163647,\"lat\":30.259207}]";
System.out.println(str);
String lng;
String lat;
StringBuffer sb = new StringBuffer();
JSONArray jsonArray = JSONArray.parseArray(str);
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObj = jsonArray.getJSONObject(i);
lng = jsonObj.getString("lng");
lat = jsonObj.getString("lat");
sb.append(lng).append(" ").append(lat).append(",");
}
String polygon = sb.toString();
if(polygon.endsWith(",")) {
polygon = polygon.substring(0, polygon.lastIndexOf(","));
System.out.println(String.format("POLYGON ((%s))", polygon));
}
// [{"lng":120.163629,"lat":30.259207},{"lng":120.163599,"lat":30.259802},{"lng":120.163617,"lat":30.259803},{"lng":120.163647,"lat":30.259207}]
// POLYGON ((120.163629 30.259207,120.163599 30.259802,120.163617 30.259803,120.163647 30.259207))
}