5

私は現在、USGS Terra Server からの地形データをオーバーレイする Google Maps API 実装の開発に取り組んでいます。クアッドの名前、名前、および Terra Server から提供されている現在のタイルのスケールを決定する方法がわからないことを除けば、ほとんど手元にあると思います。このサイトをチェックして地図を拡大すると、情報が表示されているので、次のことが可能である必要があります。

http://www.trails.com/topomap.aspx?trailid=fgu003-087

以下は、Terra Server がイメージにどのように名前を付けるかについて詳しく説明している記事へのリンクです。

MSR マップについて

DRG製品の標準化されたデータセット名

ジオロックの専門家がすでにこれを行っており、正しい方向に向けてくれることを願っています. USGS 地形データを Google マップに重ねて、サンプル マップのようなユーザー エクスペリエンスを生成するときに、現在のマップ ビューからこの情報を特定する方法の手がかりを教えていただければ幸いです。

よろしくお願いします。

4

2 に答える 2

1

Microsoft もホストしている OGC Style Web Map Server を使用できます。これらは、データを取得するための比較的単純な緯度/経度/スケール構造を持ち、数値について推測する必要はありません。こちらがAerialのURLです。Scale 変数の範囲は 11 ~ 21 です。t 変数を使用すると、Aerial と Topos のどちらかを選択できます。Topos に t=2 を設定します。これがTopo URLです。

クワッド名とマップ参照などを取得するには、トポスにインデックスを付けてデータベースを構築する必要があります。CD に Topos があり、それらが Tiff 形式の場合、GDALTindexを使用してこのインデックスを作成できます。これを超えると、クエリは Point-in-Polygon タイプに縮小され、 Net Topology Suiteを使用して実行できます。

すべての異なるマップ セットと縮尺に対する単純で直感的なマッピングは存在しないため、事前に計算されたインデックスを使用するのが最善の方法です。

Gdaltindex は、tif ファイルのインデックスを作成し、Shapefile 形式でインデックスを作成できます。これは、Ogr MySQLサポートを使用してMySQL ジオメトリにマップできます。

于 2010-09-07T18:06:55.077 に答える
0

この例では、trails.com サーバーが独自のCDNを介してカスタム タイル画像を配信し、.NET WebHandler を使用して Google マップの上にそれらのタイルを表示しています。

[Trails.com][3] ではなくMSRMaps.comからデータを取得する必要があるため、代わりに MSRMaps.com WebHandler を指定します。

以下は、トレイルがどのようにそれを行っているかです。関数を、代わりにmsrmaps.comサーバーを呼び出すもの ( MSR タイル リンクgetTileUrlなど) に置き換えます。

var layer = new GTileLayer(new GCopyrightCollection(''), 1, 21);
layer.getTileUrl = function(a, b) 
{
    var ll = G_NORMAL_MAP.getProjection().fromPixelToLatLng(new GPoint(a.x * 256, (a.y + 1) * 256), b);
    var ur = G_NORMAL_MAP.getProjection().fromPixelToLatLng(new GPoint((a.x + 1) * 256, a.y * 256), b);
    return "http://cdn-www.trails.com/services/TopoGetGoogleMapTile.ashx?z=" + b + "&style=drgsr&ll=" + ll.y + "," + ll.x + "&ur=" + ur.y + "," + ur.x;
}
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
map.setUIToDefault();
var mapType = new GMapType([layer], G_NORMAL_MAP.getProjection(), 'Trails', { errorMessage: google.mapError, textColor: "white", linkColor: "white" });
map.addMapType(mapType);
map.setMapType(mapType);
于 2010-08-31T00:15:25.823 に答える