欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > OpenStreetMap部署(OSM)

OpenStreetMap部署(OSM)

2025/2/23 14:08:04 来源:https://blog.csdn.net/qq_41210783/article/details/139414462  浏览:    关键词:OpenStreetMap部署(OSM)

参考:https://github.com/openstreetmap/openstreetmap-website/blob/master/DOCKER.md

OpenStreeMap 部署

操作系统建议使用 Ubuntu 22 版本

安装 Docker

# 更新软件包索引:
sudo apt-get update
# 允许APT使用HTTPS:
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
# 添加Docker官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 添加Docker的稳定版本仓库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# 再次更新软件包索引:
sudo apt-get update
# 安装Docker CE(社区版):
sudo apt-get install docker-ce
# 验证Docker是否安装成功并运行:
sudo systemctl status docker# 配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://onau6ame.mirror.aliyuncs.com"]
}
EOFsudo systemctl daemon-reload
sudo systemctl restart docker

OpenStreemap 部署

1、克隆源码
git clone https://github.com/openstreetmap/openstreetmap-website.git
2、初始设置
cd openstreetmap-website
cp config/example.storage.yml config/storage.yml
cp config/docker.database.yml config/database.yml
touch config/settings.local.yml
3、构建 docker 镜像
docker compose build

注意:命令可能会执行失败,多试几次。[web 2/10]、[web 7/10] 阶段执行缓慢,失败了继续执行就行,失败前的进度会保存。

在这里插入图片描述

4、启动应用
docker compose up -d# 启动成功后可以查看下日志
docker compose logs -f web
docker compose logs -f db

在这里插入图片描述

5、迁移
# 运行 Rails 数据库迁移
docker compose run --rm web bundle exec rails db:migrate
6、下载地图数据
# 下载 OSM 测试数据
wget https://download.geofabrik.de/north-america/us/district-of-columbia-latest.osm.pbf# 其他地图数据下载地址
https://download.geofabrik.de/
http://www.geofabrik.de/data/
7、加载 OSM 提取文件

注意!数据大的话会很慢;需要使用esxi界面的虚机窗口界面执行,避免中途终端长时间无人操作中断。

# 将 OSM 数据提取加载到基于 Docker 的 OSM 实例中
# 数据大的话会很慢(注意使用虚机窗口执行,避免中途终端断了)
docker compose run --rm web osmosis -verbose --read-pbf district-of-columbia-latest.osm.pbf --log-progress --write-apidb host="db" database="openstreetmap" user="openstreetmap" validateSchemaVersion="no"

命令参数说明:

docker compose run --rm web osmosis \	# 启动并在 web 的容器中执行 osmosis命令-verbose    \	# 启用 osmosis 的详细输出--read-pbf district-of-columbia-latest.osm.pbf \	# 从指定的PBF文件(OSM 数据格式)中读取数据--log-progress \	# 显示进度日志--write-apidb \		# 将数据写入到APIDB(API数据库)host="db" \		# 数据库的主机名database="openstreetmap" \ 		# 要写入数据的数据库名user="openstreetmap" \			# 数据库进行交互的用户名validateSchemaVersion="no"		# 禁用了验证数据库模式版本的选项
8、访问 OpenStreeMap
# 访问URL
http://[服务器IP]:3000/#map=12/38.8938/-77.0146

禁用了验证数据库模式版本的选项


#### 8、访问 OpenStreeMap ```shell
# 访问URL
http://[服务器IP]:3000/#map=12/38.8938/-77.0146

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词