Линейная регулярная сетка fTools(?)

Здесь нужно сообщать об ошибках в QGIS, с подробным описанием шагов и версии ПО.
Ответить
bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

Линейная регулярная сетка fTools(?)

Сообщение bolotoved » 03 апр 2011, 20:19

Поскольку я пользователь не очень опытный, то не уверен, что это ошибка программы, возможно я не улавливаю какой-то специфичной логики перепроецирования...
Хотел написать инструкцию "Нанесение градусной сетки на спроектированную карту в QGIS" но столкнулся со сложностью которую не смог преодолеть.
Для примера использовал слой административных границ из геосэмпла.
---
Если я правильно понял, то в макетах карты QGIS нет возможности нанесения градусной сетки на спроектированные карты. Градусную сетку в макете карты можно получить только если проект находится в географической системе координат.
Тем не менее, существует способ как это ограничение обойти.
Открываем необходимые нам данные в новом проекте, в свойствах проекта указываем географическую систему координат, например GSC WGS 84 (EPSG:4326).
Далее создадим регулярную сетку, воспользовавшись модулем fTools(?) Вектор/Выборка/Регулярная сетка.
В появившемся меню, укажем слой имеющий наибольший пространственный охват (или слой, пространственного охвата которого достаточно для необходимой нам карты). Нажмем кнопку "Получить из слоя".
Отредактируем полученные значения координат: увеличим-уменьшим, округлим (выбрать нужное).
В графе параметры укажем шаг сетки, в случае с выбранной нами географической системой координат, 1 единица шага сетки будет равна 1 градусу.
Далее предлагается выбрать: создать сетку как полигоны или как линии. Выберем линии.
Укажем путь, куда необходимо сохранить сгенерированный Shape-файл. Жмем "ОК".
Если зайти в таблицу атрибутов сгенерированного Shape-файла, то в графе COORD будут значения координат полученных линий: у горизонтальных -- широта, у вертикальных -- долгота.
Теперь меняем систему координат проекта на спроектированную, например WGS 84/UTM zone 44N (EPSG32245). Создаем подписи и вставляем полученную карту в макет.
---
НО! Удивительное дело, горизонтальные линии перепроецируются неадекватно. Сохраним идентичную градусную сетку в виде полигонов, наложим их друг на друга и перепроцируем. Картинка получается следующей (см. прилагающийся файл). Синим показана перепроецированная линейная сетка, черным -- полигональная.
---
Интересно, что если преобразовать полученную полигональную сетку в линии, то она перепроецируется нормально. Видимо проблема в сгенерированном fTools линейном Shape-файле?
Кстати, если на полученную (полигональную) сетку нанести градусную сетку в ArcGIS они все равно не совпадут (вернее совпадут не на всем протяжении) и максимальная величина несовпадения на примере Новосибирской обл., может достигать более 50 м.
---
Версия QGIS 1.7.0-Trunk 15645
ОС Windows XP SP3
Вложения
qgis_greed_error.gif
qgis_greed_error.gif (50.59 КБ) 10372 просмотра

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Линейная регулярная сетка fTools(?)

Сообщение Максим Дубинин » 03 апр 2011, 21:58

скорее всего горизонтальные линии не "гнутся" потому что там узлов не хватает, если будет больше узлов - "погнутся" как надо.
пристегивайтесь, турбулентность прямо по курсу

bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

Re: Линейная регулярная сетка fTools(?)

Сообщение bolotoved » 03 апр 2011, 22:20

Да, узлов в горизонтальных линиях ровно 2 -- начальный и конечный. Буду думать как это обойти.
--
Т.е. механизм перепроецирования гнет линии исключительно по узлам? Не знал. Это накладывает ограничения на данные, нужно значит чаще ставить узлы иначе данные будут отображаться некорректно.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Линейная регулярная сетка fTools(?)

Сообщение Максим Дубинин » 04 апр 2011, 16:05

это не только в QGIS так, сейчас так вообще "модно" стало
viewtopic.php?f=15&t=806
обратите внимание на год дискуссии.
пристегивайтесь, турбулентность прямо по курсу

bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

Re: Линейная регулярная сетка fTools(?)

Сообщение bolotoved » 04 апр 2011, 17:14

Да уж. Было у меня такое нехорошее подозрение. Теперь, при подсчете погрешностей измерения площадей (которые и так сложно посчитать) еще нужно будет думать как учитывать это явление.
На счет градусной сетки: изящного решения проблемы так и не обретено. Видимо нужно расширять возможности нанесения сеток в макетах карт QGIS. В том числе важно задавать интервал в минутах и секундах, а не только в десятичных градусах. Ну и подписи отображать соответственно.
Пока что, наиболее простое решение такое -- создавать градусную сетку в качестве линий и полигонов. Полигоны визуализировать, а линии делать невидимыми, визуализируя лишь подписи. Для целоградусных сеток прокатывает, хотя эстетики никакой.

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Линейная регулярная сетка fTools(?)

Сообщение Voltron » 04 апр 2011, 17:34

Как я понял, возможность вставки дополнительных узлов в линию решит проблему. Карсон обещал добавить инструмент для этих целей. Или можем сами доработать построение сеток, не думаю, что это сильно сложно

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Линейная регулярная сетка fTools(?)

Сообщение Максим Дубинин » 04 апр 2011, 18:06

лучше не патчить именно этот инструмент, а создать новый - Densify, добавляющий новые узлы через заданный промежуток.
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Линейная регулярная сетка fTools(?)

Сообщение Максим Дубинин » 17 апр 2011, 14:27

пристегивайтесь, турбулентность прямо по курсу

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Линейная регулярная сетка fTools(?)

Сообщение Voltron » 12 ноя 2011, 14:17

Новый инструмент добавлен в ad1a4e2cde

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Линейная регулярная сетка fTools(?)

Сообщение Максим Дубинин » 12 ноя 2011, 14:30

а я правильно понял, что он будет встроен в Simplify? или почему там файлы doSimplify, frmSimplify в коммите?
пристегивайтесь, турбулентность прямо по курсу

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Линейная регулярная сетка fTools(?)

Сообщение Voltron » 12 ноя 2011, 15:32

Чтоб никто не догадался :-)
Ну а если серьезно, то все очень просто: используется одно и то же диалоговое окно, код отвечающий за функционал тоже в одном файле. Такой подход используется во многих инструментах fTools, например, весь геопроцессинг тоже использует одну форму и один файл с кодом.

Ответить

Вернуться в «Ошибки QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость