拥有包含纬度和经度值的对象列表,我想在我的Android应用中创建一个WKT String
以获得POLYGON
WKT。作为json的一部分,此POLYGON
将稍后发送到服务器和其他数据。
我知道可以使用ArcGIS lib来完成它,但是这个解决方案似乎对我的使用来说太强大了。这将是我的应用程序中lib的唯一用法,并添加此lib增加了30Mb的apk大小。我期待找到一个更轻量级的解决方案。
This question解决了我需要的确切对话。答案中提到了几个库,但是检查他们的文档,似乎都没有创建WKT,只能创建基于WKT String
的坐标。
如何创建具有纬度/经度坐标列表的WKT字符串?
答案 0 :(得分:0)
您没有指定纬度/经度坐标的存储方式,因此我假设它们存储在包含交错纬度/经度坐标的double
数组中。以下函数从数组生成多边形WKT,假设多边形不包含孔。
public static String polygonWkt(double[] latlon){
if(latlon.length%2 != 0)
throw new IllegalArgumentException("latlon length is not even");
StringBuilder builder=new StringBuilder();
builder.append("POLYGON((");
for(int i=0;i<latlon.length;i+=2){
if(i>0){
builder.append(",");
}
builder.append(latlon[i]+" "+latlon[i+1]);
}
builder.append("))");
return builder.toString();
}