5

座標largeを持つサンプルデータセット(できればcsv形式)を探しています。lat/lng

PostgreSQL、PostGIS

4

4 に答える 4

6

1 つのライナーは、SQL でデータを生成します。

test=# select POINT(random()*180-90, random()*90-45)from generate_series(1,5);
                point                 
--------------------------------------
 (79.7833853960037,27.2689918940887)
 (27.6489242445678,-9.43540174048394)
 (-51.9591500423849,19.2025181371719)
 (83.5859301500022,31.8948447704315)
 (-56.1149036698043,42.5037826504558)
(5 rows)

このクエリを挿入ステートメントに簡単に追加し、必要に応じてジオメトリに適切な Postgis 関数を追加できます。もちろん、最後の数字「5」は、生成される行数を制御します。

于 2011-02-21T02:13:38.183 に答える
2

私のコメントに続いて、このhtmlページを使用して、必要な数のポイントを生成できます。

<!DOCTYPE html>
<html lang="en-au">
<head>
    <meta charset="utf-8">
    <meta http-equiv="pragma" content="no-cache" />
</head>
<body>
<script type="text/javascript">
function generatePoints(){
    var pointsToGenerate = document.getElementById('pointsToGenerate').value;

    var output = '';

    for (i=0;i<pointsToGenerate;i++) {
        var multiplier = 10000;
        var latitude=(Math.random()*(90*multiplier))/multiplier;
        var longitude=(Math.random()*(180*multiplier))/multiplier;
        latitude *=(Math.floor(Math.random()*2) == 1)?1:-1;
        longitude *=(Math.floor(Math.random()*2) == 1)?1:-1;
        output = output + latitude + ',' + longitude + '\n';
    }

    document.getElementById('output').innerHTML = output;
}
</script>
<input type="text" id="pointsToGenerate" value="1000" />
<input type="button" onclick="generatePoints()" value="Generate Points" />
<div><textarea cols=40 rows=10 id="output"></textarea></div>
</body>
</html>
于 2011-02-17T23:41:57.327 に答える
2

ランダム データに基づくデータベース アクティビティのシミュレーションは現実的ではない傾向があるため、それを使用して実行する負荷テストまたはクエリ テストには注意してください。実際の座標の例が実際に必要な場合、OpenStreetMap から入手できるデータ セットは確かに大きいです。TIGER/Line Shapefilesのインポートは、このようなサンプル データの最高の単一セットの 1 つであり、おそらく OSM 形式に変換されたものよりも扱いやすいでしょう。

于 2011-02-22T11:43:46.853 に答える