0

拥有一个包含纬度和经度值的对象列表,我想创建一个 WKTStringPOLYGON在我的 Android 应用程序中拥有一个 WKT。这POLYGON将在稍后作为 json 的一部分与其他数据一起发送到服务器。

我知道使用ArcGIS lib可以做到这一点,但是这个解决方案对于我的使用来说似乎太健壮了。这将是我的应用程序中该库的唯一用法,并且添加此库会使 apk 的大小增加 30Mb。我期待为这个问题找到一个更轻量级的解决方案。

这个问题解决了我所需要的完全相反的问题。答案中提到了几个库,但是,检查他们的文档,似乎都没有创建 WKT,只能基于 WKT 创建坐标String

如何创建具有纬度/经度坐标列表的 WKT 字符串?

4

1 回答 1

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();
 }

发布在 GitHub Gist中。

于 2017-04-20T03:08:44.753 回答