Comments 6
Поэтому для загрузки больших файлов необходимо рекомендуется использовать атрибут --slim
Этот режим вовсе не для экономии оперативки. Наоборот, он хранит дополнительно ненужные сырые данные ОСМ, что бы в дальнейшем можно было просто их актуализировать.
Но зачем считать расстояния в непонятных метрах-меркатора, когда можно получить привычные метры использую географические координаты. Это не говоря уже о том, что расстояние по прямой в большинстве задач, целям этих задач не отвечают, и требуют строить маршрут.
Если верить документации, режим --slim
таки экономит оперативку за счёт хранения временных данных в базе, а не в памяти.
А вот с расчётом расстояния в проекции Меркатора автор и впрямь лажанулся (как и большинство новичков в GIS). В средних широтах результат будет отличаться от истины раза в два. Чтобы получить правильное расстояние, можно преобразовать геометрию (в градусах) в тип Geography
, тогда PostGIS вычислит расстояние на сфероиде.
Если верить документации, режим --slim таки экономит оперативку за счёт хранения временных данных в базе, а не в памяти.
Это не временные данные, это полноценные данные, позволяющие обновлять итоговые данные в базе за счёт только последующих изменений в ОСМ. В противном случае пришлось бы делать полноценный реимпорт.
Если с памятью напряг, то надо использовать flat режим, предварительно переназначить id точек, чтобы избавиться от пропусков в них.
Спасибо за замечание.
Спасибо за ваш комментарий.
Поэтому я и уточнил, что пример синтезированный. Он больше необходим для демонистрации возможностей PostGIS
Продолжать использовать PostgreSQL версии ниже минимально поддерживаемой на данный момент 10 - само по себе плохая идея. Впрочем, у 10-ки EOL в этом году.
Для поддерживаемой версии PostgreSQL есть совместимые версии PostGIS.
Создание и наполнение PostGIS при использовании Docker