有没有从托马斯兄弟地图页面和地图页面转换的公式 网格到纬度/经度?
我正在开发一个包含托马斯兄弟地图页面和网格编号的项目。 有没有办法以编程方式从此地图页面转换为纬度和纬度? 经度?
一个例子是 US101 和 US101 的交叉点。 I405 高速公路。
ThomasBrothers:561-3G(页面网格)
I'm working on a project that contains Thomas Brothers Map page and grid numbers. Is there a way to programatically convert from this map page to a latitude & longitude?
An Example would be for the intersection of the US101 & I405 freeways.
ThomasBrothers: 561-3G (page-grid)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
GPS 和 TG 页面之间似乎存在简单的关系,因为某些地区共享编号系统,而另一些则不共享(洛杉矶 + 奥兰治县共享,河滨 + 圣贝纳迪诺县共享,但不与 LA/OC 共享,等等) 。
由于没有人有答案,我决定我想要一个,所以我做了一个。
窍门如下:找到您所在县第一页网格 A1 的最左上角。 获取该点的 GPS(我使用 Google 地图)。 然后计算同一纬度线上的任意两个桥(在同一内部网格线上找到两条街道很有帮助),然后计算同一经度线上的两个桥。 GPS 配对并计算距离(一对仅计算纬度距离,另一对仅计算经度距离)。 你会发现它们不一样(不是完美的正方形)。
我有:
0.03° 纬度 = 2.5 英里,或每格 0.01 英里 ↕
0.03° 经度 = 2.0 英里,或每格 0.01 英里 ↔
(正确,它们不一样,并且两个值都经过四舍五入)
现在,从那里开始,知道每个页面都是 9 x 7 网格 {^[A-HJ][1-7]$},请执行以下操作:
页 = (左上角/起始页) + ( 30 * int( y
/ 7 ) ) + int( x
/ 9 )因为在我的测试平台 LA/OC 中,页面垂直堆叠在一起,跳跃次数为 30)
grid = 'A' + int( x
% 9 ), 1 + ( int( y
) % 7 )我仍在调整数学,现在大约 70% 的时间是准确的。 当我完善数学时,我会发布它。
可悲的是,兰德·麦克纳利买下了并关闭了托马斯兄弟地图(用他们自己的产品替换它们),但一些州要求急救人员仍然依法携带指南(包括加利福尼亚州),因此您仍然可以找到一些版本......价格比以前翻倍。 如果您可以在线找到旧的数字版(大约 2004~2007 年),以及安装它们的序列号,以及在 Windows Xp 或更早版本上运行它们的虚拟机(它们在 Vista 上出现故障,此后不久就停产了),您可以自己看看数字。
It would seem that a simple relationship exists between GPS and TG pages, given that some regions share numbering systems and some do not (Los Angeles + Orange Counties share, Riverside + San Bernardino Counties share but not with LA/OC, and so on).
Since no one has an answer, I decided tht I wanted one, so I made one.
Here's the trick: locate the very top-left of grid A1 of the first page in your particular county. Get the GPS for that point (I used Google Maps). Then calculate any two ponts on the same latitude line (it's helpful to find two streets on the same inner grid line), then two on the same longitude line. GPS both pairs, and calculate the distance (only the latitude distance for one pair, and only the longitude distance for the other pair). You will find that they are not the same (not a perfect square).
I got:
0.03° latitude = 2.5 miles, or 0.01 miles per grid ↕
0.03° longitude = 2.0 miles, or 0.01 miles per grid ↔
(correct, they are not the same, and both values are heavily rounded)
Now, from there, knowing each page is 9 x 7 grids {^[A-HJ][1-7]$}, do:
page = (top-left/starting page) + ( 30 * int( y
/ 7 ) ) + int( x
/ 9 )because pages stack on top of each other vertically in LA/OC, my test bed, by jumps of 30)
grid = 'A' + int( x
% 9 ), 1 + ( int( y
) % 7 )I'm still tweaking the mathl it's accurate about 70% of the time right now. I'll post the math when I get it perfected.
Sadly, Rand McNally bought out and CLOSED Thomas Brothers maps (replacing them with their own product), but some states require first responders to still carry the Guides by law (including California), so you can still find a few editions ... for DOUBLE the price from the old days. If you can find an old Digital Edition online (circa 2004~2007), AND the serials to install them, AND a virtual machine to run them on Windows Xp or earlier (they malfunction on Vista, and were discontinued shortly thereafter), you can see the numbers yourself.
据我所知,我对托马斯兄弟地图没有太多经验。 您是在谈论地图的印刷版本还是有在线地图的链接?
如果您只需要一些纬度/经度,那么您可以查找与网格相对应的位置,并在许多网站上手动获取纬度和经度,包括 http://itouchmap.com/latlong.html
如果您提供您正在使用的托马斯兄弟地图的链接,我也许可以提供进一步的帮助。
通过查看上面的链接,您可以确定 US 101 和 I-405 的纬度为 34.16073390017978,经度为 -118.46952438354492。
Not that I know of, but I don't have a lot of experience with Thomas bros maps. Are you talking about printed version of the maps or is there a link somewhere to an online map?
If you just need a few lat/longs, then you can look up the locations that correspond to the grid and get the lats and longs manually at many websites, including http://itouchmap.com/latlong.html
If you provide a link to a Thomas bros map that you are using, I might be able to help further.
By looking at the link above, you can determine that US 101 and I-405 has a latitude of 34.16073390017978 and a longitude of -118.46952438354492.
最好的来源是地图出版商。 如果他们选择提供帮助,那里的人可以准确地告诉您需要了解的信息。 如果他们不帮助您,他们就不太可能向其他任何人透露该信息。
如果是这种情况,您可以手动执行一些工作,将地图网格中的一个点与目标坐标系相关联。 实际上,您可以对每个页面的映射“datum”进行逆向工程。 您还必须知道使用什么地图投影来渲染地图,以便您可以在远离“原点”时计算从地图坐标到地理坐标的变换。 最后,您需要确定地图的方向,因为存在不同的“北”概念。
听起来托马斯地图的每一页都使用了一个新的网格,而不是从一页到另一页不断地渗透网格。 如果是这种情况,您将必须关联每张地图上的一个点。 例如,查找地图网格交叉点与著名道路交叉点重合的地点。 然后您可以使用带有纬度和经度的地图(地形图,TerraServer 找到道路交叉口的坐标, ETC。)。 在同一垂直网格线上的两个点执行此操作应该可以帮助您确定地图上使用的北方。
Your best source would be the map publisher. If they choose to help, someone there can tell you exactly what you need to know. If they won't help you, it's unlikely that they've released the information to anyone else.
If that's the case, you could do some work by hand to correlate one point from the map grid to your target coordinate system. Effectively, you could reverse engineer a mapping "datum" for each page. You'd also have to know what map projection was used to render the maps, so that you can calculate the transform from the map coordinates to the geographic coordinates as you move away from your "origin". Finally, you'll need to establish the orientation of the map, since different notions of "north" exist.
It sounds like the Thomas maps use a new grid for every page, rather than bleeding the grid continuously from page to page. If that's the case, you'll have to correlate one point on each map. For example, find a spot where a map grid intersection coincides with a notable road intersection. Then you can find the coordinates of the road intersection using a map with latitude and longitude (a topographic map, TerraServer, etc.). Doing this with two points on the same vertical grid line should help you establish the north used on the map as well.
简短的答案是,九个区域中的每一个都有一个从具有自定义参数的兰伯特等角圆锥投影导出的网格,因此您无法在没有参数的情况下编写转换程序。
The short answer is that each of the nine regions has a grid derived from a Lambert conformal conic projection with custom parameters, so you cannot write a conversion program without the parameters.
我还有托马斯兄弟。 我想要转换为纬度/经度以便根据 Google 地图 API 进行查找的页面。 他们还提供了名为 TBXY 的东西……不确定这是什么——也许是 GPS/纬度/经度的一些符号?
I've also got ThomasBros. pages that I would like to convert to lat/long for lookup against Google Maps API. They also provided something called TBXY ... not sure what this is -- perhaps some notation for GPS/lat/long?
Thomas Brothers Maps 在开发 GIS 系统以创建数字地图系统时投入了大量资金。 虽然第一张“数字化制作”地图是 Sacramento County-1990,但开发工作早在 1986 年就开始了。我预计他们的地图投影方程是一个受到严密保护的商业秘密,而兰德·麦克纳利 (Rand McNally) 现在拥有该秘密。 我不知道这些方程,但也想知道它们。
有 9 个预测涵盖 48 个州。 如果您知道洛杉矶的方程式,那么它在加利福尼亚州和美国都适用。 内华达州。 俄勒冈州 华盛顿有自己的预测。 亚利桑那州、新墨西哥州、科罗拉多州和犹他州也有另一个预测。
我确实知道这一点...
正如许多人所知,页面网格精确为 1/2 英里见方,即 2640 英尺 x 2640 英尺。 坐标测量单位是1英尺。
要确定 Thomas Brothers XY 坐标,请获取一张或多张 Thomas Guide CD-ROM 地图(该地图最近已停产)。 最后为加州某些县生产的是 2008 年版本。 西雅图、波特兰、拉斯维加斯和菲尼克斯/图森的最新版本是 2007 年版本。 每款仍可在 Rand McNally 网站上购买,价格为 20 美元。
当您对一组地址进行地理编码时,您将看到一个输出文件,其中包含指定地址的 TGXY 坐标和纬度/经度,以及该点所在的页号和网格。打开该文件后,您可以单击地图以添加其他地理编码点,这也将提供坐标。 输出文件保存在 Access 数据库“.mdb”文件中。
如果您对地图投影或立体几何了解很多,相应的 TGXY 和纬度/经度坐标集将为您提供一些良好的测试数据。
正如您提到的圣地亚哥第 1297 页,我将提供其边界坐标。
西x=3062760
东x=3086520
北y=0985040
South-y=0966560
这不在您在 Google 上找到的“TBXY”范围内。 也许这是同一个投影,但原点已重新定位。
Thomas Brothers Maps invested a lot when developing their GIS system to create their digital mapping system. Though the first "digitally produced" map was Sacramento County-1990, the development began back in 1986. I expect that their map projection equations are a well guarded trade-secret, which Rand McNally now owns. I'd don't know those equations, but would also like to know them.
There are 9 projections covering the 48 states. If you know the equations for Los Angeles, it is valid across California & Nevada. Oregon & Washington have their own projection. Arizona, New Mexico, Colorado, and Utah share another projection.
I do know this...
As many know, the page grid is an exact 1/2 mile square, or 2640 feet by 2640 feet. The coordinate measurement unit is 1 foot.
To determine the Thomas Brothers XY Coordinate, get one or more of the Thomas Guide CD- ROM maps, which were recently discontinued. The last ones produced for certain California counties were the 2008 edition. Last editions for Seattle, Portland, Las Vegas, and Phoenix/Tucson were the 2007 edition. Each is still available on the Rand McNally website for $20.
When you geo-code a group of addresses, you'll see an output file with the TGXY coordinates and Lat/Lon for the addresses you specified, and the page # and grid that point is in. Once that file is open, you can click on the map to add additional geo-coded points, which will also provide both the coordinates. The output file is saved in an Access database ".mdb" file.
If you know a lot about map projections or solid geometry, the set of corresponding TGXY and Lat/Lon coordiantes will provide you some good data for testing.
As you mentioned San Diego Page 1297, I'll provide its bordering coordinates.
West x=3062760
East x=3086520
North y=0985040
South-y=0966560
This is not in range of the "TBXY" you found on Google. Maybe it's the same projection, with a relocated origin.