如何将纬度/经度整合到数据集中并在地图上显示
Posted
技术标签:
【中文标题】如何将纬度/经度整合到数据集中并在地图上显示【英文标题】:How to integrate latitude/longitude into a dataset and display it on map 【发布时间】:2016-10-05 13:39:43 【问题描述】:我是 CKAN 的新手,但我有一些经验,我可以将一些自定义字段添加到数据集中。
我们将使用数据集来记录任一出版物以及一些测量值。资源将是一些测量文件。
我们希望能够定位进行测量的地点。
这就是我安装ckanext-geospacial的原因。
目标是能够在数据集或资源中拥有额外的字段,以至少保存纬度、经度、高度。
我们也想要一张地图(如谷歌地图或其他...),带有测量地点的标记。
首先,我不确定我是否选择了正确的 ckan 扩展。 ckanext-spatial 会帮助我吗?
无论如何,我会很感激你的帮助
-
根据我的需要选择最佳扩展
设置ckanext-spatial。
我安装了 ckanext-spatial,并在测试安装时收到以下升温消息:
user@pc:/usr/lib/ckan/default/src/ckanext-spatial$ sudo -u postgres psql -d ckan_default -c "SELECT postgis_full_version()"
NOTICE: Function postgis_gdal_version() not found. Is raster support enabled and rtpostgis.sql installed?
NOTICE: Function postgis_topology_scripts_installed() not found. Is topology support enabled and topology.sql installed?
NOTICE: Function postgis_raster_scripts_installed() not found. Is raster support enabled and rtpostgis.sql installed?
NOTICE: Function postgis_raster_lib_version() not found. Is raster support enabled and rtpostgis.sql installed?
我该怎么办?
第二个问题;如何在数据集中使用ckanext-spatial?如何使用它来显示位置?
【问题讨论】:
我尝试回答第一个问题(为我的需要选择最佳扩展)。如果你真的需要ckanext-spatial,我认为最好写一个新问题来详细说明你的安装问题。 【参考方案1】:要将地理定位数据作为地图上的标记查看,您只需要Data Explorer plugin,其中包括一个地图视图(我认为 CKAN 的安装已经包含此插件)。
作为 Data Explorer 插件工作的先决条件,您还需要 DataStore extension,它将 .csv
资源的行保存为数据库中的记录,这样可以更有效地访问数据。
一旦您将 DataStore 中的数据和 DataExplorer 的 recline_view
添加到 CKAN 配置文件中的 ckan.plugins
行,您将能够使用 Map View 选择存储的字段纬度和经度值并查看地图上的标记(如果您的资源有两个字段名为latitude
和longitude
,或lat
和lon
,它们将被自动检测并用作坐标)。
如果我理解正确,ckanext-spatial 插件提供了空间查询,所以如果你只想要一张带标记的地图,你就不需要它。
【讨论】:
非常感谢您的回答。我将根据您的建议进行调查。我很抱歉我的问题,但我是 CKAN 的新手。插件和扩展有什么区别,并且插件(数据资源管理器)的安装方式与扩展相同?顺便说一句,我肯定会看文档 那很好,我可以有一个好的结果。我可以用 curl 创建一个资源。我还观察到一个资源现在有一个“数据资源管理器”选项卡,下面还有另外三个表。最后是“地图”。当我点击地图时,它会显示一个 MapQuest 地图。有没有办法用 OpenStreetMap 来改变它?非常感谢,你帮了我很多 地图源应该现在可以在配置中自定义(参见docs.ckan.org/en/latest/maintaining/… 示例);否则,您可以直接在源代码中更改地图url,如this pull request以上是关于如何将纬度/经度整合到数据集中并在地图上显示的主要内容,如果未能解决你的问题,请参考以下文章
我如何从 struct 获取纬度和经度并在 mapbox Swift 上显示它们
如何使用 JSON 纬度数组和 JSON 经度数组在 Google 地图上显示折线?