开源内网映射_开源映射入门

开源内网映射

在网上冲浪时,您肯定会遇到许多使用嵌入式地图显示数据的站点。 人类是视觉上的生物,因此在地图上显示温度,犯罪统计数据或人口密度通常比显示无聊的事实更容易快速识别模式和空间关系。 基于地图的可视化非常复杂,甚至可以显示时间和空间上的模式。 Maps Mania是一个博客,展示了许多在线地图的出色示例。

但是,在嵌入式地图上显示数据并不需要很复杂。 您可以使用开源工具来做到这一点。 在这篇文章中,我提供了一些入门的技巧。

River Guages

图片由Gordon Haff提供。 CC BY-SA 4.0

选择你的地图

您需要的第一件事是地图。 大多数人都熟悉Google Maps,您可以免费使用它进行大多数轻度使用。 但是,与Google Maps不同, OpenStreetMap (OSM)使用根据开放数据库许可发布的开放数据。 OSM由英国的Steve Coast于2004年创建,它使用从调查,GPS设备,航拍和其他免费来源收集的众包数据。 尽管OSM在行车路线和某些其他任务上不如Google Maps,但对于诸如远足小径之类的功能,在传统地图上通常没有出现,它的详细程度可能更高。

此时,我应该在OSM数据和基于该数据的图块之间进行区分。 切片(通常)是地图数据的256 x 256像素可视表示。 人们通过并排放置磁贴来创建大多数网络“活泼地图”,从而产生了可以在各种缩放级别显示的非常大的地图的错觉。 这种方法具有许多优势,可以有效地归结为有效使用服务器和网络资源,并在您平移地图并放大或缩小时在客户端上提供良好的体验。

OSM项目将渲染并提供一组标准(“ Mapnik”)图块作为该项目的一部分。 这些磁贴根据知识共享署名-ShareAlike 2.0许可,可免费使用署名。 但是,OSM已针对磁贴使用了使用策略 。 这些用于防止服务负担过大。 还可以从各种免费和商业提供商处获得基于OSM数据的图块,每个提供商都有其自己的使用策略。 您不应随便使用这些限制和限制,但是值得一提的是,即使数据是自由和开放的(甚至可以用来建立自己的地图服务 ),您也不能真正使用OSM的平铺服务器用于大量商业用途。

嵌入地图

现在,您需要一种方法来嵌入地图,操纵地图图块以及将其他数据覆盖到地图上。 Leaflet是执行此操作的流行选择。 这是一个开放源代码的Javascript库,可让您轻松创建带有平铺基础层,平移和缩放以及各种分层功能(例如在特定地理坐标(即纬度和经度)处的标记)的“草率”地图。 它处理与地图的交互,具有相当丰富且文档齐全的API,还可以与提供附加功能的各种插件一起使用。

Leaflet并非旨在提供完整的地理信息系统(GIS)的所有功能,而该功能往往包括与使用矢量和栅格数据的地图投影和复杂的叠加层相关的许多功能; 然而,结果,这些产品往往更加复杂。 如果您想要一个具有比Leaflet更多功能的开源库,请使用OpenLayers ,它是根据两句 BSD许可发行的。

显示你的地图

最后,您希望数据显示在地图上。 这可以是简单和静态的,例如将城市周围的一组兴趣点输入到列表中(连同其纬度和经度),以在地图上显示标记。 它也可能是从网络抓取或以其他方式传输的数据。 您通常会发现,创建嵌入式地图最耗时的部分是将数据按摩成可用的形式。 但是,政府和其他来源正在以易于使用的形式(以可下载文件的形式或通过Web服务)提供越来越多的丰富数据集。 例如,您可以在美国政府的data.gov上找到近158,000个开放数据集。

映射和混搭这些数据仅需要一些HTML,CSS和Javascript技能。 传单提供了一些很好的例子,可以帮助您入门。 实际上,如果您正在使用的数据集是动态的,需要预处理或很大,则您可能会开始考虑将数据加载到数据库中。 在“ 使用OpenShift使用Flask,MongoDB,Leaflet和OpenStreetMaps映射河流水位 ”中,我讨论了一个更复杂的Web应用程序,该应用程序显示从USGS Web服务获得的近实时USGS河流水位数据。 (在此后续文章中 ,我概述了解析数据的详细信息;本文详细介绍了处理相对复杂的实际数据格式的过程。)

降低有效可视化位置链接数据的障碍意味着更有效的通信:使事情变得更容易或更便宜,您将获得更多。 有些是“仅仅是”教育或娱乐。 但是(在正确诚实的前提下),更有效地交流有关人员和地点的数据也可以成为重要工具,有助于更好地理解公共政策和我们周围的世界。

翻译自: https://opensource.com/life/15/7/open-source-mapping-primer

开源内网映射

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值