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

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

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

Сообщение АлексЮстасу »

Полигоны с отверстиями MIF отображаются в QGIS без отверстий. Точнее, границы отверстий видны, но полигон один цельный.
Полигон после импорта в TAB Mapinfo:
MI_hole.png
MI_hole.png (20.56 КБ) 15483 просмотра
Полигон MIF в Global Mapper:
GM_hole.png
GM_hole.png (15.49 КБ) 15483 просмотра
Полигон MIF в QGIS:
QGIS_hole_1.png
QGIS_hole_1.png (50.32 КБ) 15480 просмотров
Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

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

Сообщение Denis Rykov »

Может дело в направлении обхода "дырок"?
Spatial is now, more than ever, just another column- The Geometry Column.
АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

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

Сообщение АлексЮстасу »

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

Нда... Влияет... Я правильно понял, что обязательно обход внешнего контура нужно сделать по часовой, а внутренних - против часовой?
Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2240
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1513
Откуда: Казань

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

Сообщение Игорь Белов »

На самом деле не зависит. Невозможно сказать, в каких случаях будет дырка, а в каких заплатка. Просто сохраните в шейп.
The purpose of computing is insight, not numbers
АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

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

Сообщение АлексЮстасу »

Даже не смешно как-то - вроде бы несложное дело.
Сохранять в шейп - еще одно действие, которое в моем случае не спасет.
gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm »

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

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

Сообщение АлексЮстасу »

Да, MIF делаются программно, и что-то могли накосячить.
Я хотел прикрепить сразу, но исчерпал лимит прикрепляемого.
Вложения
complex_hole_2.rar
(752 байт) 511 скачиваний
Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2240
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1513
Откуда: Казань

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

Сообщение Игорь Белов »

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 отображается неправильно

Сообщение АлексЮстасу »

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

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

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

Сообщение Denis Rykov »

А это очень старый баг QGIS, похоже, #8056.
Spatial is now, more than ever, just another column- The Geometry Column.
gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm »

АлексЮстасу писал(а):п. 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 отображается неправильно

Сообщение АлексЮстасу »

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

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

Сообщение gamm »

АлексЮстасу писал(а):Но MapInfo же воспринимает такие описания нормально
это просто к слову пришлось, GDAL тоже нормально все грузит, по крайней мере в R (и рисуется правильно). Если у вас есть утилиты GDAL под рукой, попробуйте растеризовать этот вектор - если там будут нормальные дырки (а так скорее всего и будет), то я вообще не понимаю, как QGIS может так нехорошо поступать ... похоже, там какой-то древний кусок, который работает мимо GDAL/OGR: если экспортировать ваш файл через GDAL/OGR в SHAPE, все становится нормально
Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2240
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1513
Откуда: Казань

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

Сообщение Игорь Белов »

gamm писал(а):если экспортировать ваш файл через GDAL/OGR в SHAPE, все становится нормально
Более того, всё становится нормально, если в QGIS сохранить копию злополучного файла в SHAPE.
The purpose of computing is insight, not numbers
gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

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

Сообщение gamm »

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

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

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

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