Photon: 一个用于openstreetmap数据的开源geocoder

您所在的位置:网站首页 photon软件下载 Photon: 一个用于openstreetmap数据的开源geocoder

Photon: 一个用于openstreetmap数据的开源geocoder

2023-05-06 14:15| 来源: 网络整理| 查看: 265

photon

Photon是为OpenStreetMap数据构建的开源地理编码器。它基于elasticsearch——一个高效、强大和高度可扩展的搜索平台。

Photon由komoot启动,提供search-as-you-type和多语言支持。它用于生产中,每分钟有数千个请求www.komoot.de。找到我们的公共API和演示光子.komoot.de.

Contribution

欢迎所有代码贡献和错误报告!

如有疑问,请发送电子邮件至我们的邮件列表https://lists.openstreetmap.org/listinfo/photon

随时测试和参与!

Licence

Photon软件是开放源码的,并在Apache License,2.0版本下获得许可

Features high performance highly scalability search-as-you-type multilingual search location bias typo tolerance 按osm标记和值筛选 按边界框过滤 反向地理编码地址的坐标 OSM数据导入(基于NOMINITM构建)包括连续更新 Installation

光子需要java,至少版本8。

下载搜索索引(53G gb压缩,覆盖全球,语言:英语、德语、法语和意大利语)。搜索索引每周更新,感谢GraphHopper在lonvia的支持下提供。

确保安装了bzip2或pbzip2,并在shell中执行这两个命令之一。这将一步下载、解压缩和提取庞大的数据库:

wget -O - http://download1.graphhopper.com/public/photon-db-latest.tar.bz2 | bzip2 -cd | tar x # you can significantly speed up extracting using pbzip2 (recommended): wget -O - http://download1.graphhopper.com/public/photon-db-latest.tar.bz2 | pbzip2 -cd | tar x

现在从发行版获取最新版本的photon并启动它:

java -jar photon-*.jar

使用-data-dir选项指向photon_data的父目录,如果该目录不在默认位置./photon_data。在请求光子弹性搜索之前,需要将一些数据加载到内存中,所以请耐心等待几秒钟。

检查URLhttp://localhost:2322/api?q=berlin以查看photon是否运行正常。你可以使用我们的传单插件在地图上看到结果。

要启用CORS(cross-site请求,请使用-cors-any来允许任何来源,或者-cors-origin以特定的来源作为参数。默认情况下,CORS支持被禁用。

使用光子的用法java -jar photon-*.jar -h来了解光子的更多功能。

Customized Search Data

如果您需要其他语言的搜索数据或仅限于某个国家/地区,则需要自己创建搜索数据。一旦你准备好你的提名数据库,你可以导入数据到光子。

如果您还没有为您的提名数据库用户设置密码,请立即设置(更改用户名和密码,如下所示):

su postgres psql ALTER USER nominatim WITH ENCRYPTED PASSWORD 'mysecretpassword';

将数据导入光子:

java -jar photon-*.jar -nominatim-import -host localhost -port 5432 -database nominatim -user nominatim -password mysecretpassword -languages es,fr

导入全球数据集需要数小时/天,建议使用ssd磁盘加速提名查询。

通过提名从OSM更新

要从OSM更新Nomingm,然后从Nomingim更新光子,必须在命令行上使用NomingTM数据库凭据启动光子:

java -jar photon-*.jar -host localhost -port 5432 -database nominatim -user nominatim -password ...

提名设置也是需要不断更新的。要使“提名”与最新的OSM更改保持同步,并在之后使用“提名”更新光子,请运行:

export NOMINATIM_DIR=/home/nominatim/... ./continuously_update_from_nominatim.sh

如果使用其他方法更新了nomingm,则可以通过向/nominatim-update发出HTTP GET请求来更新photon,例如使用以下命令:

curl http://localhost:2322/nominatim-update Search API Search http://localhost:2322/api?q=berlin 位置偏差搜索 http://localhost:2322/api?q=berlin&lon=10&lat=52

增加此偏差(范围为0.1到10,默认值为1.6)

http://localhost:2322/api?q=berlin&lon=10&lat=52&location_bias_scale=2 反向地理编码a坐标 http://localhost:2322/reverse?lon=10&lat=52 调整结果数 http://localhost:2322/api?q=berlin&limit=2 Adjust Language http://localhost:2322/api?q=berlin&lang=it 按边界框过滤结果

格式应为minLon、minLat、maxLon、maxLat。

http://localhost:2322/api?q=berlin&bbox=9.5,51.5,11.5,53.5 按标记和值筛选结果

注意:并不是标题中的所有链接标签都受支持。请参阅准确的提名名单。如果存在一个或多个名为osm_tag的查询参数,photon将尝试按这些标记过滤结果。一般来说,以下是osm_tag请求参数值的预期格式(语法)。

包含标记为osm_tag=key:value的位置 排除标记为osm_tag=!key:value的位置 包含带有标记键的位置:osm_tag=key 包含带有标记值的位置:osm_tag=:value 排除带有标记键的位置:osm_tag=!key 排除具有标记值的位置:osm_tag=:!value

例如,要搜索所有名为berlin且标记为tourism=museum的位置,应按如下方式构造url:

http://localhost:2322/api?q=berlin&osm_tag=tourism:museum

或者,就凭钥匙

http://localhost:2322/api?q=berlin&osm_tag=tourism 结果为GeoJSON { "features": [ { "properties": { "name": "Berlin", "state": "Berlin", "country": "Germany", "countrycode": "DE", "osm_key": "place", "osm_value": "city", "osm_type": "N", "osm_id": 240109189 }, "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 13.3888599, 52.5170365 ] } }, { "properties": { "name": "Berlin Olympic Stadium", "street": "Olympischer Platz", "housenumber": "3", "postcode": "14053", "state": "Berlin", "country": "Germany", "countrycode": "DE", "osm_key": "leisure", "osm_value": "stadium", "osm_type": "W", "osm_id": 38862723, "extent": [ 13.23727, 52.5157151, 13.241757, 52.5135972 ] }, "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 13.239514674078611, 52.51467945 ] } }] } Related Projects 光子的搜索配置是用一个特定的测试框架开发的。它是用Python编写并单独托管的。 使用R访问photon的公共API的R包


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3