Нахожусь в процессе разработки скрипта, автоматизирующего загрузку данных в формате osm.pbf в СУБД MS SQL Server. Нужно, используя ogr2ogr и python:
- Собрать все файлы в каталоге с расширением osm.pbf (входные файлы)
- Выбрать во входных файлах точечную геометрию (не знаю как)
- Вырезать точки по полигону с границами городов (вроде бы использовать похожую команду -clipsrc clipbound.shp output.shp input.shp)
- Загрузить в выходную таблицу в СУБД MS SQL Server.
Есть похожий опыт по созданию скрипта по загрузке из shape в MS SQL Server, может кому-то пригодится.
Но с osm.pbf не работал и команды ogr2ogr знаю на базовом уровне. Поэтому буду благодарен за помощь и обратную связь по своему запросу.
Скрипт для запуска процесса по обновлению базы OSM из shape
#1 шаг: открыть cmd из папки C:\QGIS 3.24.3\bin, т.к в ней лежат библиотеки, к которым обращается скрипт (я пока не могу установить нужные библиотеки в систему по своим причинам),
#запустить команду C:\QGIS 3.24.3\bin>python
#2 шаг: изменить необходимые параметры в переменных
#3 шаг: скопировать скрипт в командную строку
#импорт библиотек
import os
import subprocess
from subprocess import call
#установка входных параметров
in_file = r'C:\Users\*******\Documents\название.shp'
out_schema = 'схема'
out_nln = 'выходная_таблица'
host = 'ip адрес сервера, на котором расположена база данных'
port = '1433' #порт
db = 'база_данных'
yes = 'yes'
no = 'no'
#сборка строчки для вызова в командной строке
command = fr'ogr2ogr -progress -f "MSSQLSpatial" "MSSQL:server={host},{port};database={db};trusted_connection={yes}" -lco SCHEMA={out_schema} -append -update -nln {out_schema}.{out_nln} "{in_file}" -lco "GEOM_TYPE=geography" -a_srs "EPSG:4326" --config MSSQLSPATIAL_USE_GEOMETRY_COLUMNS NO'
print(command)
call(command)
Загрузка osm.pbf в MS SQL Server (open street map)
-
- Интересующийся
- Сообщения: 17
- Зарегистрирован: 25 янв 2016, 12:48
- Репутация: 5
- Откуда: Москва
Загрузка osm.pbf в MS SQL Server (open street map)
Геоаналитика, Тг @kaaaweeeu
-
- Гуру
- Сообщения: 5298
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Загрузка osm.pbf в MS SQL Server (open street map)
я в своё время не смог разобраться как подключится к MS SQL Server из python'а
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя