Страница 1 из 1

Не работает "Показать слой полностью"

Добавлено: 03 окт 2024, 07:16
Alex_Y
Здравствуйте.

Для таблиц, хранящихcя в SQLite не работает команда "Показать слой полностью". Показывает по всему диапазону карты, а не по всем объектам.
При этом для Tab-файлов все работает корректно.

PS: Кстати в Мапинфо она также не работает :?:

Re: Не работает "Показать слой полностью"

Добавлено: 04 окт 2024, 14:49
Александр
Для корректного отображения всей таблицы из SQLite необходимо полностью её прочитать и подсчитать общий охват объектов.
Этот процесс может занять значительное время, и на данный момент он не реализован.
Мы рассматриваем возможность внедрения данного функционала в будущем. Если у вас есть предложения или идеи по этому поводу, будем рады их услышать!

Re: Не работает "Показать слой полностью"

Добавлено: 04 окт 2024, 15:55
gisamap
Добрый день.
В sqlite (SpatiaLite) существует таблица geometry_columns_statistics в ней колонки (extent_min_x,extent_min_y,extent_max_x,extent_max_y) , в gpkg таблица gpkg_contents , колонки ( min_x,min_y,max_x,max_y).

При чтении читать bound геометрии из данной таблицы .
При commit обновлять значения в данных колонках

Re: Не работает "Показать слой полностью"

Добавлено: 06 окт 2024, 14:43
Alex_Y
gisamap писал(а): 04 окт 2024, 15:55 Добрый день.
В sqlite (SpatiaLite) существует таблица geometry_columns_statistics в ней колонки (extent_min_x,extent_min_y,extent_max_x,extent_max_y) , в gpkg таблица gpkg_contents , колонки ( min_x,min_y,max_x,max_y).

При чтении читать bound геометрии из данной таблицы .
При commit обновлять значения в данных колонках
Тогда сохранение будет медленнее. Не думаю, что замедление основной операции в угоду неосновной хорошее решение.
Александр писал(а): 04 окт 2024, 14:49 Если у вас есть предложения или идеи по этому поводу, будем рады их услышать!
Для ускорения процесса можно проверять не весь объект, а его центроиды. Это ускорит процедуру.
Да, масштабирование крайних объектов будет не полным. Но это лучше чем ничего.