简答:
你不能,我的意思是你不能只拍摄一张普通的图像并将坐标捕捉到它的像素。
长答案:
可以,但需要大量的工作和准备,以下是您需要做的基本操作。
第 1 步 - 地理参考图像
为此,您需要一些 GIS 软件,以及在正确坐标空间中注册的该区域的现有地图。
如果您有预算,那么您应该考虑使用专业软件,例如 Autodesk map 3D 或 ESRI 工具套件。如果您没有预算,可以使用 QGIS 等免费工具。
我将假设 QGis 用于此描述。
将您对该区域的现有地图(已被引用的地图)加载到您的 GIS 包中。 (如何以及从何处获取此地图完全取决于您,如果您很幸运,您可能有其他人做过,或者您的公园的建设者可能有您可以使用的场地平面图,但是如果没有此源地图,您除非您有所有要参考的点的列表,否则可能会忘记将图像与其匹配的任何机会) [旁注:使用 GPS 设备外出并手动记录您的点是完全可行的,尤其是如果您映射的站点不是很大,并且您可以完全访问它,因为您只引用自己的图像,而不是构建任何东西,因此不需要超级、超级 1000% 的准确度]
假设使用QGis,进入“Raster”菜单,选择“GeoReferencer”工具
加载该工具后,您将看到一个子窗口,您可以将“未引用”地图图像加载到其中。 (加载按钮标有红色箭头)
加载光栅图像后,您需要使用已加载到 QGis 中的已引用地图 (抱歉,没有空间来记录这部分,有多种方法,具体取决于您拥有的数据) 并在您的地理参考工具中从中选择与栅格匹配的点。
确保地理参考工具处于添加点模式。
然后单击您加载到地理参考工具中的图像,在您想要的第一个点的位置。
会弹出输入地图坐标框。
如果您已经知道这些点的位置(例如,因为您带着 GPS 外出,或者您有一些调查数据),那么您只需输入它们即可。如果不知道,那么点击标记为“从地图画布”的按钮,地理参考工具将切换到您已加载的已参考地图,并要求您点击参考地图上的相同位置。
点击参考地图后,QGis 将切换回地理参考工具并填写坐标
此时,您可以单击“确定”,该点将作为参考点注册在您未参考的光栅图像上(小红点)
重复此过程,直到您拥有想要引用的任意多个位置。您不必做所有事情,但应该完成关键位置,例如公园入口、主要场地轮廓周围的角落、突出建筑物的中心和道路交叉口。
您参考的点越多,最终参考的光栅图像就越准确。
完成将点添加到图像以引用它后,您需要单击黄色齿轮,并填写输出栅格、目标 SRS 和其他将其转换为地图的选项.
现在,在这个阶段,我没有提到一个非常、非常、非常重要的概念,那就是“SRS”,也称为“空间参考系统”
您可能已经注意到,在我上面的屏幕截图中,当通过单击地图在对话框中输入坐标时,它们看起来不像电话或 GPS 装置可能产生的通常的纬度/经度对。
那是因为我的所有地图都位于名为“OSGB36”(或 EPSG:27700)的 SRS 中,这是英国的本地空间参考系统。
如果我愿意,我可以使用标准 GPS 系统(称为 WGS84 或“EPSG:4326”),但因为我只在英国工作,这样做实际上会导致我的计算出现错误.
如果您使用像游乐园这样的小东西,那么为了获得最佳效果,您需要找到您当地的地理坐标系,使用标准 GPS 坐标会导致太多错误,甚至可能导致当您最终在图像上绘制点时,位置绘制不正确。
信息太多了,我无法将其放入 SO 帖子中,因此我强烈建议您从此处获取我就该主题撰写的电子书的免费副本:
https://www.syncfusion.com/resources/techportal/details/ebooks/gis
这将填写您需要的大量背景知识,以便执行此操作。
设置好设置并添加所有参考点后,只需单击绿色三角形即可创建参考光栅图像
一旦您到达这一点,并且您引用的图像已保存,您现在将拥有一个应该在本地坐标中引用的地图/图像,并且可以理解在同一坐标中赋予它的点系统,并知道将其绘制在地图上的哪个位置。
然而,这只是你旅程的开始。
第 2 步 - 构建地图服务器
获得图像后,您需要托管在称为 WMS 服务器的东西中。
再次,在 SO 帖子中从头开始描述如何执行此操作根本不切实际,您需要的是“geoserver”之类的东西(基于 Java 的易于使用的地图服务器系统) 或者类似一个简单的 linux 系统,安装了 apache webserver 并在其下运行 mapserver CGI 二进制应用程序。
一旦您设置好地图服务器并使用 WMS 协议提供地图,您就可以进入最后阶段
STEP3 - 创建应用程序以显示地图
等式的最后一部分是构建一个应用程序来显示来自您的 WMS 服务器的地图,然后获取您要绘制的人或项目的位置,可选择将坐标转换为匹配的本地 SRS您的图像,然后将点绘制在图像上的正确位置。
如果您在网络/移动应用程序中执行此操作,那么您很可能想要调查 openlayers.js 或 Leaflet.js 的使用,如果您在 C# 应用程序中执行此操作,那么 GreatMaps 或 SharpMap 是工具包你想看。
总结
许多人认为在地图图像上绘制位置是一项非常直接和简单的任务,我现在可以告诉你事实并非如此。
这些年来,我构建了许多 GIS 系统,即使是最简单的系统也花了我 3 个月的时间。
即使是一个简单的想法,例如您提出的问题,也需要大量的计划和分析,除非您只是想在您的网页上托管一个谷歌地图图像,并匹配您的设备坐标。
从您开始制作自定义地图的那一刻起,您就会自动为大量工作做好准备,这需要您花费时间和耐心才能完成。
图像中的像素与现实世界的坐标根本不匹配,事情的真相很简单。制图和 GIS 公司为创建这样的系统收取如此高的费用是有原因的。
参考资料和延伸阅读
http://www.qgistutorials.com/en/docs/georeferencing_basics.html
http://www.digital-geography.com/qgis-tutorial-i-how-to-georeference-a-map/
http://glaikit.org/2011/03/27/image-georeferencing-with-qgis/
http://geoserver.org/
http://mapserver.org/uk/index.html
http://openlayers.org/
祝您的项目一切顺利,请知道这一点,您需要做很多工作,但您也将获得很多乐趣,并学习大量新知识,GIS 的世界就其本质而言很复杂,但它也是一个非常吸引人的主题,尤其是当您从头开始绘制自己的地图时 :-)
肖蒂