如何从 USGS Terra Server 查找四边形/名称/比例

发布于 2024-09-12 20:32:10 字数 739 浏览 5 评论 0原文

我目前正在开发一个 Google Maps API 实现,该实现可以覆盖来自 USGS Terra Server 的地形数据。我想我已经掌握了它,只是我不知道如何确定四边形的名称、名称和名称。 Terra Server 提供的当前图块的比例。如果您查看此站点并放大地图,则正在显示信息,因此它一定是可能的:

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

以下是一些文章的链接,这些文章详细解释了 Terra Server 如何命名图像:

关于 MSR 地图

DRG 产品的标准化数据集名称

我希望一些 geoloc 专家已经做到了这一点,并且可以为我指明正确的方向。如果您能给我任何线索,当我在 Google 地图上叠加 USGS 地形数据以产生与示例地图非常相似的用户体验时,如何从当前地图视图确定此信息,我将不胜感激。

预先感谢您的帮助!

I'm currently working on developing a Google Maps API implementation that overlays topographic data from USGS Terra Server. I think I have it pretty much under hand except that I can't figure out how to determine the name of the quad, name, & scale for the current tile being served from Terra Server. If you check out this site and zoom into the map that information is being displayed so it must be possible:

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

Here are links to some articles which explains more how the images are named by Terra Server:

About MSR Maps

STANDARDIZED DATA SET NAMES FOR DRG PRODUCTS

I'm hoping that some geoloc expert out there has already done this and can point me in the right direction. I'd appreciate if you could give me any clues how I might determine this information from the current map view when overlaying the USGS topo data over Google Maps to produce a user experience much like that of the example map about.

Thanks in advance for your help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

喜爱纠缠 2024-09-19 20:32:11

在示例中,trails.com 服务器通过自己的 CDN 传递自定义图块图像使用 .NET WebHandler 在 Google 地图上显示这些图块。

由于您需要来自 MSRMaps.com 而不是 [Trails.com][3],您将改为指向 MSRMaps.com WebHandler。

下面是 Trails 是如何做到的。将 getTileUrl 函数替换为调用 msrmaps.com 服务器的函数,例如 MSR 磁贴链接

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

In the example, the trails.com server is delivering the custom tile images through their own CDN and displaying those tiles over top of Google Maps using a .NET WebHandler.

Since you need the data to come from MSRMaps.com and not [Trails.com][3], you will point the MSRMaps.com WebHandler instead.

Below is how trails is doing it. Replace the getTileUrl function with something that makes a call to the msrmaps.com server instead, such as MSR Tile Link

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);
花辞树 2024-09-19 20:32:10

您可以使用 Microsoft 也托管的 OGC 样式 Web 地图服务器。它们具有相对简单的纬度/经度/比例结构来获取数据,而不是让您猜测数字。这是 航拍。 Scale 变量 s 的范围为 11-21。 t 变量允许您在 Aerial 和 Topos 之间进行选择。为 Topos 设置 t=2 - 这里是 拓扑 URL

要获取四边形名称和地图参考等,您必须对拓扑进行索引并构建数据库。如果您有 CD 上的拓扑并且它们是 Tiff 格式,您可以使用 GDALTindex来建立这个索引。除此之外,您的查询会减少为多边形点类型,您可以使用 Net Topology Suite 执行此操作。

由于对于所有不同的地图集和比例没有简单直观的映射,因此预先计算的索引将是最好的方法。

Gdaltindex 可以索引 tif 文件并生成 Shapefile 格式的索引。这可以映射到 MySQL 几何 使用 Ogr MySQL 支持。

You can use the OGC Style Web Map Server Microsoft also hosts. These have a relatively simple lat/lon/scale structure for fetching data, rather than leaving you guessing about the numbers. Here is a url for Aerial. The Scale variable s ranges from 11-21. The t variable lets you choose between Aerial and Topos. Set t=2 for Topos - here is Topo URL.

To get the quad name and map reference etc. You will have to index the topos and build a database. If you have the Topos on a CD and they are in Tiff format you can use GDALTindex to build this index. Beyond this your queries reduce to Point-in-Polygon type, which you can perform using Net Topology Suite.

Since there is no simple intuitive mapping for all the different map-sets and scales, a precomputed index will be the best way to go.

Gdaltindex can index tif files and produce an index in Shapefile format. This can be mapped into MySQL Geometries using Ogr MySQL support.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文