#openstreetmap #osmosis
#openstreetmap #осмос
Вопрос:
Я хочу установить Osmosis на свой Macbook, который в настоящее время работает под управлением macOS Monterey 12.0.1
Следуя инструкциям по установке, я сделал следующее:
- Я загрузил последнюю версию (0.48.3 на момент публикации)
- Я перешел к инструкциям по установке OSX, и на скриншоте ниже показан объем инструкций:
- Делая все возможное, чтобы следовать (я новичок в командной строке Linux), я выполнил команды на скриншоте выше.
- После соответствующего перемещения я попытался запустить
osmosis
командную строку, чтобы посмотреть, появится ли что-нибудь, но мне сказали, что команда не найдена. - Когда я запускаю файл osmosis (набрав
open bin
when в моем домашнем каталоге пользователя, появляется новое окно терминала, в котором отображается куча документации об osmosis, и нет возможности редактировать или запускать какие-либо команды.
Last login: Sat Dec 4 18:47:24 on ttys000
/opt/osmosis/bin/osmosis ; exit;
(base) darrenconly@Darrens-MacBook-Pro ~ % /opt/osmosis/bin/osmosis ; exit;
osmosis
Example Usage
Import a planet file into a local PostgreSQL database.
osmosis --read-xml file=~/osm/planbet/planet.osm --write-apidb host="x" database="x" user="x" password="x"
Export a planet file from a local PostgreSQL database.
osmosis --read-apidb host="x" database="x" user="x" password="x" --write-xml file="planet.osm"
Derive a change set between two planet files.
osmosis --read-xml file="planet2.osm" --read-xml file="planet1.osm" --derive-change --write-xml-change file="planetdiff-1-2.osc"
Derive a change set between a planet file and a database.
osmosis --read-mysql host="x" database="x" user="x" password="x" --read-xml file="planet1.osm" --derive-change --write-xml-change file="planetdiff-1-2.osc"
Apply a change set to a planet file.
osmosis --read-xml-change file="planetdiff-1-2.osc" --read-xml file="planet1.osm" --apply-change --write-xml file="planet2.osm"
Sort the contents of a planet file.
osmosis --read-xml file="data.osm" --sort type="TypeThenId" --write-xml file="data-sorted.osm"
The above examples make use of the default pipe connection feature, however a simple read and write planet file command line could be written in two ways. The first example uses default pipe connection, the second explicitly connects the two components using a pipe named "mypipe". The default pipe connection will always work so long as each task is specified in the correct order.
osmosis --read-xml file="planetin.osm" --write-xml file="planetout.osm"
osmosis --read-xml file="planetin.osm" outPipe.0="mypipe" --write-xml file="planetout.osm" inPipe.0="mypipe"
Full usage details are available at: http://wiki.openstreetmap.org/wiki/Osmosis/Detailed_Usage
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Process completed]
Итак, все сказанное, как мне заставить osmosis работать, как описано в этих примерах использования? Когда я запускаю open bin
, кажется, что запускается исполняемый файл osmosis, но он не позволяет мне ничего делать или запускать какие-либо команды.
К вашему сведению, похоже, что этот вопрос задавался ранее на StackExchange в начале этого года, но был менее подробным, и до сих пор никто на него не ответил.
Ответ №1:
Решаемая!
Короткий ответ: мне нужно было добавить путь к папке исполняемого файла osmosis в $PATH
.
Конкретные шаги, которые я сделал:
- Откройте .zshrc (я использую zsh, а не терминал bash)
- Добавьте следующее в файл .zshrc:
# Adding Osmosis executable to path
path =('/folder/where/osmosis/executable/is')
export PATH
После выполнения вышеуказанных действий вы можете запустить osmosis из командной строки, как указано в документации
Похоже, что инструкции OSM wiki (см. Скриншот в моем исходном сообщении), По сути, делают то же самое (т. Е. Просто Добавляют путь к исполняемому файлу osmosis в $PATH
), но они не сработали для меня. Не уверен, почему.