将纬度/经度转换为 X/Y 坐标
我有纽约州纽约市的纬度/经度值; 40.7560540、-73.9869510 和地球的平面图像,1000px × 446px。
我希望能够使用 Javascript 将纬度/经度转换为 X,Y 坐标,其中该点将反映位置。
因此图像左上角的 X、Y 坐标为: 289, 111
注意事项:
- 不用担心使用什么投影的问题,自己制作 假设或遵循你所知道的 可能有效
- X,Y 可以形成图像的任何角落
- 奖励积分 PHP 中的相同解决方案(但我 真的需要JS)
I have the Lat/Long value of New York City, NY; 40.7560540,-73.9869510 and a flat image of the earth, 1000px × 446px.
I would like to be able to convert, using Javascript, the Lat/Long to an X,Y coordinate where the point would reflect the location.
So the X,Y coordinate form the Top-Left corner of the image would be; 289, 111
Things to note:
- don't worry about issues of what projection to use, make your own
assumption or go with what you know
might work - X,Y can be form any corner of the image
- Bonus points for
the same solution in PHP (but I
really need the JS)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您使用的投影将改变一切,但这将在假设墨卡托投影的情况下起作用:
The projection you use is going to change everything, but this will work assuming a Mercator projection:
js 中的基本转换函数是:
这将返回从左上角开始的像素数。
此函数假设以下条件:
与左上角 (0,0)
与 90* 北纬 180* 对齐
西方。
A basic conversion function in js would be:
This will return the number of pixels from upper left.
This function assumes the following:
with the upper left corner (0,0)
aligning with 90* North by 180*
West.
如果你有一张整个地球的图片,投影总是很重要。 但也许我只是不明白你的问题。
If you have a picture of the whole earth, the projection does always matter. But maybe I just don't understand your question.