0

位置情報ベースのWebサービスのストレステストに必要です。入力は、境界矩形を定義する4組のlat / lon、またはポリゴンを定義するポイントのセットです。

マップ上にランダムなポイントを生成するためのライブラリ/アルゴリズムはありますか?(Python / java)

4

6 に答える 6

3

Javaでは、Math.random()を使用できます

たとえば、1〜10の乱数を生成する場合:

int randomNumGenerated = (int)(Math.Random()*10) + 1;

これは、解決しようとしている問題に簡単に適用できます。

于 2012-08-28T08:40:55.730 に答える
1

球のポイントピッキングに関するこの記事では、区間[0,1)で2つの乱数を生成するという単純なアプローチが、球の表面全体でのポイントの分散が不十分になる理由を、私が説明するよりもはるかによく説明しています。それはOPの懸念であるかもしれませんし、そうでないかもしれません。

ただし、地球の表面に4つのポイントのセットをランダムに生成するには、トリッキーなプログラミングが必要になる可能性があることをOPが懸念する必要があります。ポイント(緯度/経度、すべて度単位)で定義される「ポリゴン」の場合を考えてみ(+5,90),(+5,-90),(-5,-90),(-5,90)ます。ポイント(0,0)はこのポリゴンの内側にありますか、それとも外側にありますか?ポイントは(0,180)どうですか?このようなあいまいなポリゴンを生成するのは非常に簡単です。球の表面は、ユークリッド平面によって適切にモデル化されていません。

私は完全に異なるアプローチを取ります-ランダムに1ポイントを生成し、次に緯度と経度のオフセットを生成します。これにより、サーフェスに準長方形のパッチが提供され、オフセットの生成を調整して、あいまいなポリゴンを回避できます。準長方形ではないポリゴンを生成する場合は、一連のポイントと角度を生成します。これらを組み合わせると、ニーズに合ったポリゴンが定義されます。

于 2012-08-28T09:18:57.817 に答える
1

任意の4点凸多角形内に点を生成することを扱うこの質問を見てください。

4面ポリゴン内のランダムポイント

于 2012-08-28T08:54:35.713 に答える
0

緯度を-90〜90の乱数として生成し、経度を-180〜180の別の乱数として生成しないのはなぜですか?

次に、ポイントがあります。その後、Yoは、ポリゴンを作成するために必要な数のポイントを生成できます。

次のようなものの間で、とaの間で乱数を生成できます。b

rnum = a + rnd() * (b-a); // where rnd() gives a number from 0 to 1
于 2012-08-28T08:43:59.293 に答える
0

シンプル:各ポイントについて、マップの外接する長方形の内側に、緯度用と経度用の2つの乱数を生成します。

于 2012-08-28T08:45:37.400 に答える
0

二重経度=Math.random()* Math.PI * 2;

または使用する

public static LatLng random(Random r) {            

return new LatLng((r.nextDouble() * -180.0) + 90.0,
                                (r.nextDouble() * -360.0) + 180.0);
        }
于 2012-08-28T08:49:17.540 に答える