полигон с отверстиями MIF отображается неправильно

Здесь нужно сообщать об ошибках в QGIS, с подробным описанием шагов и версии ПО.
Ответить
АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

полигон с отверстиями MIF отображается неправильно

Сообщение АлексЮстасу » 06 апр 2017, 18:42

Полигоны с отверстиями MIF отображаются в QGIS без отверстий. Точнее, границы отверстий видны, но полигон один цельный.
Полигон после импорта в TAB Mapinfo:
MI_hole.png
MI_hole.png (20.56 КБ) 14594 просмотра
Полигон MIF в Global Mapper:
GM_hole.png
GM_hole.png (15.49 КБ) 14594 просмотра
Полигон MIF в QGIS:
QGIS_hole_1.png
QGIS_hole_1.png (50.32 КБ) 14591 просмотр

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: полигон с отверстиями MIF отображается неправильно

Сообщение Denis Rykov » 06 апр 2017, 18:55

Может дело в направлении обхода "дырок"?
Spatial is now, more than ever, just another column- The Geometry Column.

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

Re: полигон с отверстиями MIF отображается неправильно

Сообщение АлексЮстасу » 06 апр 2017, 19:44

Направление обхода, серьезно, может влиять?! Это же, вроде бы, атавизм?

Нда... Влияет... Я правильно понял, что обязательно обход внешнего контура нужно сделать по часовой, а внутренних - против часовой?

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: полигон с отверстиями MIF отображается неправильно

Сообщение Игорь Белов » 06 апр 2017, 19:50

На самом деле не зависит. Невозможно сказать, в каких случаях будет дырка, а в каких заплатка. Просто сохраните в шейп.
The purpose of computing is insight, not numbers

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

Re: полигон с отверстиями MIF отображается неправильно

Сообщение АлексЮстасу » 07 апр 2017, 02:09

Даже не смешно как-то - вроде бы несложное дело.
Сохранять в шейп - еще одно действие, которое в моем случае не спасет.

gamm
Гуру
Сообщения: 4046
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: полигон с отверстиями MIF отображается неправильно

Сообщение gamm » 07 апр 2017, 05:07

я подобное уже видел, когда в геометрии была лажа. Чтобы не гадать по картинкам, выложите сам файл.

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

Re: полигон с отверстиями MIF отображается неправильно

Сообщение АлексЮстасу » 07 апр 2017, 17:52

Да, MIF делаются программно, и что-то могли накосячить.
Я хотел прикрепить сразу, но исчерпал лимит прикрепляемого.
Вложения
complex_hole_2.rar
(752 байт) 460 скачиваний

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: полигон с отверстиями MIF отображается неправильно

Сообщение Игорь Белов » 07 апр 2017, 22:07

Denis Rykov писал(а):Может дело в направлении обхода "дырок"?
Верно, к MIF у QGIS особое отношение. Наблюдения:
  1. Если внешний контур обходится по часовой стрелке, QGIS не рисует дырки внутри сонаправленных внутренних контуров и рисует внутри противонаправленных.
  2. Если внешний контур обходится против часовой стрелки, QGIS независимо от направления обхода внутренних контуров рисует дырки, как миленький.
Между тем весь день сегодня (Луна во второй четверти, Юпитер в Деве) MapInfo в разных экспериментах создаёт полигоны с направлением обхода всех внешних и внутренних контуров по часовой стрелке.
The purpose of computing is insight, not numbers

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

Re: полигон с отверстиями MIF отображается неправильно

Сообщение АлексЮстасу » 08 апр 2017, 02:05

п. 2 у меня не выполняется...

Видимо, авторы специально внесли нечто непредсказуемое, чтобы совершенство QGIS не казалось вызовом совершенству Божественного промысла. :)

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: полигон с отверстиями MIF отображается неправильно

Сообщение Denis Rykov » 08 апр 2017, 04:50

А это очень старый баг QGIS, похоже, #8056.
Spatial is now, more than ever, just another column- The Geometry Column.

gamm
Гуру
Сообщения: 4046
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: полигон с отверстиями MIF отображается неправильно

Сообщение gamm » 08 апр 2017, 05:42

АлексЮстасу писал(а):п. 2 у меня не выполняется...
у вас там еще и часть колец не замкнуты (последняя точка не повторяет первую). Но вообще странно - обычно первым делом при загрузке строят топологию, кто в ком лежит. Это делает, похоже, GDAL, по крайней мере rgdal::readOGR() грузит этот полигон правильно. Интересно, а в NextGIS как дела обстоят. Ниже 0 результат загрузки, см. слот hole в полигонах

Код: Выделить всё

Formal class 'SpatialPolygonsDataFrame' [package "sp"] with 5 slots
  ..@ data       :'data.frame': 1 obs. of  13 variables:
  .. ..$ object_name: Factor w/ 1 level "ApronElement": 1
  .. ..$ stfeat     : Factor w/ 1 level "2000-01-01T00:00:00Z": 1
  .. ..$ endfeat    : Factor w/ 1 level "9999-01-05T00:00:00": 1
  .. ..$ stvalid    : Factor w/ 1 level "2000-01-01T00:00:00Z": 1
  .. ..$ endvalid   : Factor w/ 1 level "9999-01-05T00:00:00": 1
  .. ..$ interp     : Factor w/ 1 level "": 1
  .. ..$ feattype   : Factor w/ 1 level "apron_element": 1
  .. ..$ idnumber   : Factor w/ 1 level "111": 1
  .. ..$ idarpt     : Factor w/ 1 level "UNNT": 1
  .. ..$ vacc       : num 0.5
  .. ..$ hacc       : num 0.5
  .. ..$ vres       : num 0.01
  .. ..$ hres       : num 0.01
  ..@ polygons   :List of 1
  .. ..$ :Formal class 'Polygons' [package "sp"] with 5 slots
  .. .. .. ..@ Polygons :List of 3
  .. .. .. .. ..$ :Formal class 'Polygon' [package "sp"] with 5 slots
  .. .. .. .. .. .. ..@ labpt  : num [1:2] 245.2 98.7
  .. .. .. .. .. .. ..@ area   : num 1.09e-06
  .. .. .. .. .. .. ..@ hole   : logi FALSE
  .. .. .. .. .. .. ..@ ringDir: int 1
  .. .. .. .. .. .. ..@ coords : num [1:9, 1:2] 245 245 245 245 245 ...
  .. .. .. .. ..$ :Formal class 'Polygon' [package "sp"] with 5 slots
  .. .. .. .. .. .. ..@ labpt  : num [1:2] 245.2 98.7
  .. .. .. .. .. .. ..@ area   : num 8.62e-08
  .. .. .. .. .. .. ..@ hole   : logi TRUE
  .. .. .. .. .. .. ..@ ringDir: int -1
  .. .. .. .. .. .. ..@ coords : num [1:5, 1:2] 245 245 245 245 245 ...
  .. .. .. .. ..$ :Formal class 'Polygon' [package "sp"] with 5 slots
  .. .. .. .. .. .. ..@ labpt  : num [1:2] 245.2 98.7
  .. .. .. .. .. .. ..@ area   : num 8.62e-08
  .. .. .. .. .. .. ..@ hole   : logi TRUE
  .. .. .. .. .. .. ..@ ringDir: int -1
  .. .. .. .. .. .. ..@ coords : num [1:5, 1:2] 245 245 245 245 245 ...
  .. .. .. ..@ plotOrder: int [1:3] 1 3 2
  .. .. .. ..@ labpt    : num [1:2] 245.2 98.7
  .. .. .. ..@ ID       : chr "1"
  .. .. .. ..@ area     : num 1.09e-06
  ..@ plotOrder  : int 1
  ..@ bbox       : num [1:2, 1:2] 245.2 98.7 245.2 98.7
  .. ..- attr(*, "dimnames")=List of 2
  .. .. ..$ : chr [1:2] "x" "y"
  .. .. ..$ : chr [1:2] "min" "max"
  ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slot
  .. .. ..@ projargs: chr NA

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

Re: полигон с отверстиями MIF отображается неправильно

Сообщение АлексЮстасу » 08 апр 2017, 21:13

gamm писал(а):у вас там еще и часть колец не замкнуты (последняя точка не повторяет первую). Но вообще странно - обычно первым делом при загрузке строят топологию, кто в ком лежит. Это делает, похоже, GDAL, по крайней мере rgdal::readOGR() грузит этот полигон правильно. Интересно, а в NextGIS как дела обстоят. Ниже 0 результат загрузки, см. слот hole в полигонах
Да, первая точка в этих MIF не повторяется. Но MapInfo же воспринимает такие описания нормально, и внутренние полигоны дает правильно - как отверстия в большом полигоне. Когда я повторял первую точку в конце, то ситуация не менялась.

gamm
Гуру
Сообщения: 4046
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: полигон с отверстиями MIF отображается неправильно

Сообщение gamm » 08 апр 2017, 21:23

АлексЮстасу писал(а):Но MapInfo же воспринимает такие описания нормально
это просто к слову пришлось, GDAL тоже нормально все грузит, по крайней мере в R (и рисуется правильно). Если у вас есть утилиты GDAL под рукой, попробуйте растеризовать этот вектор - если там будут нормальные дырки (а так скорее всего и будет), то я вообще не понимаю, как QGIS может так нехорошо поступать ... похоже, там какой-то древний кусок, который работает мимо GDAL/OGR: если экспортировать ваш файл через GDAL/OGR в SHAPE, все становится нормально

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: полигон с отверстиями MIF отображается неправильно

Сообщение Игорь Белов » 08 апр 2017, 21:53

gamm писал(а):если экспортировать ваш файл через GDAL/OGR в SHAPE, все становится нормально
Более того, всё становится нормально, если в QGIS сохранить копию злополучного файла в SHAPE.
The purpose of computing is insight, not numbers

gamm
Гуру
Сообщения: 4046
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1050
Ваше звание: программист
Откуда: Казань

Re: полигон с отверстиями MIF отображается неправильно

Сообщение gamm » 09 апр 2017, 07:41

Игорь Белов писал(а):Более того, всё становится нормально, если в QGIS сохранить копию злополучного файла в SHAPE.
это тоже GDAL, что и у меня. Сохранение самописной программой, которая не разворачивает направление обхода, не помогает. Честно говоря, я подобное видел только в Панораме, и то давно - остается вопрос, в NextGIS это поправлено (тикет был от них, насколько я понял)?

Ответить

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

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

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