寻求QGIS插件以与What3Words一起使用


Answers:


25

在这里使用简单的w3w包装器:

https://github.com/what3words/w3w-python-wrapper

我编写了一个自定义python函数,以返回给定位置的what3words。连接到表达式引擎后,您可以执行诸如使用what3words生成标签的操作:

在此处输入图片说明

这是通过图层标签对话框中的以下表达式完成的:

concat("name", 
  ' : ',
  w3w(   transform( $geometry, layer_property(@layer_id, 'crs'), 'EPSG:4326')))

和我的w3w函数看起来像这样(以及上面的github存储库中的文件)

@qgsfunction(args=1, group='Custom')
def w3w(value1, feature, parent):
    (long, lat) = value1[0].asPoint()

    w3w = what3words(apikey='YOURAPIKEYHERE')
    res = w3w.getWords(lat=lat, lng=long)
    return "%s" % ".".join(res['words'])

所有这些花了我大约二十分钟。

但是真正的问题是,您想对what3words做些什么?


11

Boundless最近编写了一个将What3Words集成到QGIS中的插件。该插件可让您缩放到What3Words地址,还可以在地图上单击并显示您单击的点的What3Words地址。请注意,它不会显示What3Words 3mx3m网格。完整的细节可以在这里找到:

http://boundlessgeo.com/2016/03/what3words-in-qgis-down-load-today/

目前,该插件需要手动安装。这真的很容易,您只需从GitHub下载文件,然后将“ what3words”文件夹复制到本地PC上的插件目录(在Windows上类似C:\ Users \ .qgis2 \ pyton \ plugins \),然后启用插件通过QGIS中的插件管理器。

您唯一需要的另一件事是What3Words API密钥,您可以通过在此页面上进行注册来获取该密钥:http : //developer.what3words.com/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.