Проверка файлов gml с помощью xsd-схем

Не знаете, где задать вопрос? Задавайте здесь.
Zhukovsky
Новоприбывший
Сообщения: 4
Зарегистрирован: 08 окт 2013, 10:53
Репутация: 3

Re: Проверка файлов gml с помощью xsd-схем

Сообщение Zhukovsky » 26 окт 2021, 10:40

В ФЛК ФГИС ТП для загрузки gml используется gml3.2. В gml3.2 нет типа геометрии gml:MultiPolygon. Есть gml:MultiSurface. Ошибок нет потому что парсер gml в ФЛК иногда некорректно завершает работу на "неправильных" gml.
P.S. Попробуйте открыть свой файл в QGIS и экспортировать его в GML 3.2. QGIS сформирует правильное описание геометрии.
P.P.S.
Панорама, насколько понял из файла, выгружает данные в старой схеме. Старая схема предусматривала комплексную загрузку всего документа. Сейчас в документ карты загружаются пофайлово, старая схема используется только для контроля полей. Используйте GML (SHP, MIF) для загрузки векторных данных. Внимательней с кодировкой содержимого текстовых полей, приветствуется UTF8.

Vadim
Завсегдатай
Сообщения: 297
Зарегистрирован: 03 июн 2015, 10:19
Репутация: 72

Re: Проверка файлов gml с помощью xsd-схем

Сообщение Vadim » 10 ноя 2021, 10:31

Как вариант, можно использовать команду ogr2ogr с указанием выходной версии GML, имеющую следующий вид (для примера исходный формат - gpkg)
ogr2ogr -a_srs "EPSG:3857" -f "GML" -dsco FORMAT=GML3.2 D:\test\Base.gml D:\test\Base.gpkg -skipfailures

cruiser
Интересующийся
Сообщения: 39
Зарегистрирован: 06 апр 2020, 15:16
Репутация: 9
Откуда: остазия

Re: Проверка файлов gml с помощью xsd-схем

Сообщение cruiser » 30 ноя 2021, 16:04

Значитъ чуть поковырялся.
В служебных справочниках с сайта ФГИС есть файлик geometryAggregates.xsd

Вот там прописано что можно, а что "The following types and elements are deprecated and should not be used For backward compatibility with GML2 only" (Следующие типы и элементы устарели и не должны использоваться!
Только для обратной совместимости с GML 2) нельзя.

Это вкратце, чуть позже попробую табличку состряпать с типами данных
Я конечно не программист, до первой встречи с gml даже про xml знал только то что такое слово есть) Но вроде по ходу дела более менее можно разобраться.

Vadim
Завсегдатай
Сообщения: 297
Зарегистрирован: 03 июн 2015, 10:19
Репутация: 72

Re: Проверка файлов gml с помощью xsd-схем

Сообщение Vadim » 30 ноя 2021, 16:20

А у меня ругается: "Невозможно открыть файл, содержащий пространственные данные". В о ФГИС ТП пояснили, что "в файле представлены объекты, которые относятся к одному виду объектов, но с разными типами геометрии. В таком случае рекомендуем использовать при описании геометрии пространственных объектов тип — multi". А у меня там сплошные multi: MultiSurface, MultiPoint, MultiCurve. И как быть? Есть подозрение, что в каких-то линейных слоях в мультистринг попало мультикёрв. Менять тэги?

Аватара пользователя
ginpetr
Завсегдатай
Сообщения: 374
Зарегистрирован: 21 июн 2011, 12:07
Репутация: 139
Откуда: Орск
Контактная информация:

Re: Проверка файлов gml с помощью xsd-схем

Сообщение ginpetr » 01 дек 2021, 05:59

Vadim писал(а):
30 ноя 2021, 16:20
В о ФГИС ТП пояснили, что "в файле представлены объекты, которые относятся к одному виду объектов, но с разными типами геометрии.
То что ответили специалисты службы поддержки ФГИС ТП и то что на самом деле является причиной ошибки, иногда совершенно разные вещи. Проверьте, но поищите и другие возможные причины.

cruiser
Интересующийся
Сообщения: 39
Зарегистрирован: 06 апр 2020, 15:16
Репутация: 9
Откуда: остазия

Re: Проверка файлов gml с помощью xsd-схем

Сообщение cruiser » 01 дек 2021, 12:53

Vadim писал(а):
30 ноя 2021, 16:20
в файле представлены объекты, которые относятся к одному виду объектов, но с разными типами геометрии.
Коллекция геометрий, GeometryCollection или иже с ними.
Он то ли в принципе не кушает такой тип, то ли такой тип по другому надо описывать.
Суть примерно в том, что в рамках одного слоя (именно слоя, а не карты) объекты с разными типами геометрии.
Если есть QGIS это очень легко проверить. Просто пихните файл gml в главное окно. Слева появится список слоев в карте. Там 4 типа может быть: полигон, точка, линия и 4ый. Вот тот 4ый возможно и проблемой является. Также при самом импорте, когда выбираете слои - там может быть GeometryCollection.

ginpetr правильно сказал, там есть очевидные ошибки, а есть неочевидные. Условно говоря когда поставил в поле NAME спецсимвол, а выдает ошибку то ли по трансформации СК то ли по вылету за РФ. Что никак не вяжется логически со спецсимволом.
И то спецсимвол там спорно очень проверяется. Например одинарная кавычка как "Л'Етуаль" не проходит, а "Иванов и Ко" проходит. (Ну вы поняли что я имел ввиду под "Ко")


П.С. Я уже как то писал, QGIS вещь нужная в этом плане. Ибо если все объекты в QGISe отображаются там где нужно, совпадает количество - то ошибку нужно искать техническую, именно в формировании самого gml

cruiser
Интересующийся
Сообщения: 39
Зарегистрирован: 06 апр 2020, 15:16
Репутация: 9
Откуда: остазия

Re: Проверка файлов gml с помощью xsd-схем

Сообщение cruiser » 01 дек 2021, 13:01

Завтра вообще буду писать предложение в минэк - рах уж они в каждом пункте помощи указывают что ту или иную ошибку можно исправить с помощью QGISa то пусть и выложат пример настройки окна экспорта GML
В конце концов есть много хороших картографов/градостроителей/чиновников, но вот здесь еще и немного XML нужно знать, это все-таки немного другое

Vadim
Завсегдатай
Сообщения: 297
Зарегистрирован: 03 июн 2015, 10:19
Репутация: 72

Re: Проверка файлов gml с помощью xsd-схем

Сообщение Vadim » 01 дек 2021, 14:30

cruiser писал(а):
01 дек 2021, 12:53
Коллекция геометрий, GeometryCollection или иже с ними.
Не уверен на счёт геометрии. В отчёте об ошибках видим, что в одном GML загружены все объекты, в двух других не все: не прошли 30 -в одном, 6 - в другом (рис. 1). Что не так много от общего количества. Но понять какие объекты, в каких слоях вы из этого отчёта не сможете.
1.png
1.png (83.29 КБ) 3646 просмотров
Дальше грузим MID/MIF, и тут мы хотя бы получаем сведения о проблемных слоях (рис. 2,3,4). Но понять что конкретно не прошло невозможно. Причём в этих слоях не загружена только часть объектов (не бОльшая).
2.png
2.png (551.15 КБ) 3646 просмотров
Наверное дело в каких-то "неудобоваримых" символах в атрибутах, но в каких конкретно - понять не возможно. По крайне я закономерностей не смог обнаружить.

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

Re: Проверка файлов gml с помощью xsd-схем

Сообщение gamm » 01 дек 2021, 15:34

забавные ребята сидят в органах, принимающих данные. Когда я на заре далекой юности писал аналогичную систему, я выдавал геодезистам векторный файл с кружками, обводящими ошибки, описание ошибок, идентификаторы ошибочных объектов, и прочую полезную для исправления информацию. Предполагалось, что мы делаем общее дело, вот были романтические времена :mrgreen:

Из приведенного выхлопа можно понять, что не нравится только часть объектов. Для начала можно составить табличку по типам объектов (вдруг числа сойдутся), а также попробовать стандартный дихотомический поиск, последовательно деля список объектов пополам, и подавая их по очереди, пока не пройдет (один их файлов, чтобы материалы не были приняты в неполном виде, наверняка принимается/отвергается весь пакет целиком).

Vadim
Завсегдатай
Сообщения: 297
Зарегистрирован: 03 июн 2015, 10:19
Репутация: 72

Re: Проверка файлов gml с помощью xsd-схем

Сообщение Vadim » 01 дек 2021, 17:17

Вот интересно, в поддержке ответили: "При послойном сохранении в gml 3 и загрузке, данной ошибки нет". Ваша заявка закрыта :D . Вот спасибо. А что с цельными GML делать? Если "спецы" из поддержки не могут разобраться...

Аватара пользователя
ginpetr
Завсегдатай
Сообщения: 374
Зарегистрирован: 21 июн 2011, 12:07
Репутация: 139
Откуда: Орск
Контактная информация:

Re: Проверка файлов gml с помощью xsd-схем

Сообщение ginpetr » 02 дек 2021, 06:13

Vadim писал(а):
01 дек 2021, 17:17
Если "спецы" из поддержки не могут разобраться...
Мне кажется, они в тех же условиях, что и мы. Систему разрабатывали не они, никаких других инструментов для анализа ошибок у них, похоже, нет -- как и мы ориентируются на тексты сообщений об ошибках и общие требования к загружаемым материалам.

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

Re: Проверка файлов gml с помощью xsd-схем

Сообщение gamm » 02 дек 2021, 10:24

ginpetr писал(а):
02 дек 2021, 06:13
Мне кажется, они в тех же условиях,
Это неверно. Даже если разработчики не они, они вполне могут сформулировать требования к разработчикам, чтобы была нормальная выдача информации, с указание причины и идентификацией проблемного объекта. Естественно, если контора ориентирована на результат, а не на создание трудностей всем пользователям.

Ответить

Вернуться в «Я новичок!»

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

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