Я взяв примірник супер-лукавої книги "Геопросторовий розвиток Пітона" Еріка Вестра ( посилання Amazon ), і я над цим працюю. Наразі він навчає мене завантажувати дані берегової лінії GSHHS з файлу форм у базу даних PostGIS, готуючись до створення геопросторового веб-додатку.
Моя проблема полягає в наступному: коли я намагаюся імпортувати дані GSHHS в PostGIS, вони відкидаються через те, що полігони берегової лінії не вважаються "дійсними". Зокрема, мені видається повідомлення про помилку, яке описує деякі (але не всі) багатокутники берегової лінії як "незамкнені кільця".
Я розумію, що ця помилка намагається сказати мені, що перша і остання точки багатокутника не однакові. Однак це просто не відповідає дійсності. Я вивчив уявлення WKT багатьох полігонів, і вони є правильними. Вони безумовно починаються і закінчуються тією ж координацією.
Полігони витягуються з файлів форм за допомогою бібліотеки OGR та експортують кожну функцію багатокутника до WKT. Я спробував відновити багатокутник через Shapely і експериментував з WKB, але безрезультатно. Я вже був в змозі завантажити одні і ті ж дані в PostGIS у вигляді таблиці MultiPolygon, використовуючи shp2pgsql навантажувач.
Мені було цікаво, чи хтось там мав:
(а) можливо, використовував ту саму книгу, застряг у тій же проблемі, і чи є мені відповідь?
(b) зіткнувся з подібною проблемою і знайшов рішення?
(c) якщо цього немає, чи є поради щодо найкращої практики щодо забезпечення дійсної геометрії перед завантаженням у PostGIS?
ОНОВЛЕННЯ: колега припустив, що проблема "незамкнених кілець" може бути лише симптомом іншої проблеми. Можливо, що моя конфігурація PostGIS / PostgreSQL має обмеження розміру (для транзакцій на вставку, отриманих пакетів, текстових рядків тощо).
Оскільки я використовую дуже довгі багатокутники WKT як вхідні дані, PostGIS може скоротити їх занадто рано, щоб кожен полігон міг завершитись. Я перевіряю це завтра, але це здається ймовірним. Моя вставка кордонів країни приймала лише деякі записи, а не інші. З пам’яті прийняті геометрії були для таких маленьких острівних країн, як Антигуа (і тому, ймовірно, мали короткі уявлення про WKT).
Отже, це може бути скоріше адміністративної ниткою бази даних PostGIS, а не недійсною ниткою геометрії.