QGIS是否有任何插件可与What3Words映射项目一起使用?
QGIS是否有任何插件可与What3Words映射项目一起使用?
Answers:
在这里使用简单的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做些什么?
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/