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"]
}
EOF

sudo 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

在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
离线地图_openstreetmap_postgresql_瓦片 离线地图_openstreetmap_postgresql_postgis_mapnik_osm2pgsql_osm数据 写于20150414 关于软件地址 事先说明这其实就是我全部放到百度网盘空间里了。 所以万一一不小心我手抖删了,请mail我。 haibinzhagncn@qq.com 软件包括 leaflet osm里面中国和台湾的数据 openlayers geoserver mabox_studio mapnik 和生成瓦片工具需要的前置包等 postgresql osm2pgsql postgis python 一次只能上传一份那我就少点多几份吧: 介绍(免积分) http://download.csdn.net/detail/a137015127302/8594877 如果懒得自己慢慢找,我想你不介意花点积分的吧。 1.postgreSql_1.&postgis_install http://download.csdn.net/detail/a137015127302/8594903 2.postgreSql_2.mapnik&python_install http://download.csdn.net/detail/a137015127302/8594915 3.postgreSql_3.环境变量配置_osm数据导入 http://download.csdn.net/detail/a137015127302/8594919 4.postgreSql_4.生成图片瓦片byMapnik http://download.csdn.net/detail/a137015127302/8594921 其他:postgreSql_psql_乱码问题 http://download.csdn.net/detail/a137015127302/8594937 上传什么的好烦-- 我再试一次要是还是不能上传我就不玩了。切~ 核心内容(英文版公开资料):http://wiki.openstreetmap.org/wiki/Creating_your_own_tiles 以下本人写的中文版本的核心:只要注意这个基本上就没什么大问题了。 当然你要是懒得自己一步一步走,我想你应该也不介意多花点积分的。 摘录 首先版本请用 postgresql-9.3.6-2-windows.exe + postgis-bundle-pg93x32-setup-2.1.5-1.exe 因为至少如果是 postgresql-9.4.1-3-windows.exe + postgis-bundle-pg94x32-setup-2.1.7-1.exe 存在sample数据库无法创建问题。 同时32位下中文客户端提示信息异常问题,你只能改为英文显示,但是又会有warn信息提示你与本地不符(很烦不是么) 所以结论最新的未必就是最好的。 而且貌似他们已经开始放弃32位了。 还有这个2.1.7貌似是赶工出来的,因为提示信息写的是支援9.3而事实是否定的。 以上是我重装了n多遍的结论。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值