Android アプリで多角形を形成する一連のLocation
/オブジェクトがあります。GeoPoint
それがカバーする面積を計算する方法はあるのだろうか。
これまでのところ、座標のリストを投稿すると、JS Google Maps API v3 を使用して面積を計算する Web サービスをセットアップすることを考えています。しかし、私が知らないAndroidの機能をネイティブに使用して、これを簡単に行う方法があるかもしれません。
よろしくお願いします。
Android アプリで多角形を形成する一連のLocation
/オブジェクトがあります。GeoPoint
それがカバーする面積を計算する方法はあるのだろうか。
これまでのところ、座標のリストを投稿すると、JS Google Maps API v3 を使用して面積を計算する Web サービスをセットアップすることを考えています。しかし、私が知らないAndroidの機能をネイティブに使用して、これを簡単に行う方法があるかもしれません。
よろしくお願いします。
これを行う方法は、次の回答に投稿されています。
https://stackoverflow.com/a/16210785/891479
これは、次の式に基づいています。
http://mathworld.wolfram.com/PolygonArea.html
http://en.wikipedia.org/wiki/Polygon
この式を使用した多面体面積計算の原理:
http://maruzar.blogspot.com/2011/12/irregular-and-regular-polygon-area-by.html
自分でやりたい場合は、コーディネイトを知っている任意のポリゴン領域を計算する方法については、Polygonで説明されています。
トピックの下の多角形の面積を計算する方法で、より包括的な説明を見つけることができますIrregular Polygons
念のため、このスレッドには非常に良い答えがあります: Android アプリケーションで Google マップに描かれたポリゴンの面積を計算する
マリアン・パジャジオクからの回答:
そのためのライブラリがすでにあります。
import com.google.maps.android.SphericalUtil; //... List<LatLng> latLngs = new ArrayList<>(); latLngs.add(new LatLng(51.893728, -8.491865)); latLngs.add(new LatLng(51.893550, -8.492479)); latLngs.add(new LatLng(51.893216, -8.492224)); latLngs.add(new LatLng(51.893404, -8.491598)); Log.i(TAG, "computeArea " + SphericalUtil.computeArea(latLngs));