Проверка файлов gml с помощью xsd-схем
-
- Новоприбывший
- Сообщения: 4
- Зарегистрирован: 08 окт 2013, 10:53
- Репутация: 3
Re: Проверка файлов gml с помощью xsd-схем
В ФЛК ФГИС ТП для загрузки 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.
P.S. Попробуйте открыть свой файл в QGIS и экспортировать его в GML 3.2. QGIS сформирует правильное описание геометрии.
P.P.S.
Панорама, насколько понял из файла, выгружает данные в старой схеме. Старая схема предусматривала комплексную загрузку всего документа. Сейчас в документ карты загружаются пофайлово, старая схема используется только для контроля полей. Используйте GML (SHP, MIF) для загрузки векторных данных. Внимательней с кодировкой содержимого текстовых полей, приветствуется UTF8.
-
- Завсегдатай
- Сообщения: 297
- Зарегистрирован: 03 июн 2015, 10:19
- Репутация: 72
Re: Проверка файлов gml с помощью xsd-схем
Как вариант, можно использовать команду ogr2ogr с указанием выходной версии GML, имеющую следующий вид (для примера исходный формат - gpkg)
ogr2ogr -a_srs "EPSG:3857" -f "GML" -dsco FORMAT=GML3.2 D:\test\Base.gml D:\test\Base.gpkg -skipfailures
ogr2ogr -a_srs "EPSG:3857" -f "GML" -dsco FORMAT=GML3.2 D:\test\Base.gml D:\test\Base.gpkg -skipfailures
-
- Интересующийся
- Сообщения: 39
- Зарегистрирован: 06 апр 2020, 15:16
- Репутация: 9
- Откуда: остазия
Re: Проверка файлов gml с помощью xsd-схем
Значитъ чуть поковырялся.
В служебных справочниках с сайта ФГИС есть файлик geometryAggregates.xsd
Вот там прописано что можно, а что "The following types and elements are deprecated and should not be used For backward compatibility with GML2 only" (Следующие типы и элементы устарели и не должны использоваться!
Только для обратной совместимости с GML 2) нельзя.
Это вкратце, чуть позже попробую табличку состряпать с типами данных
Я конечно не программист, до первой встречи с gml даже про xml знал только то что такое слово есть) Но вроде по ходу дела более менее можно разобраться.
В служебных справочниках с сайта ФГИС есть файлик geometryAggregates.xsd
Вот там прописано что можно, а что "The following types and elements are deprecated and should not be used For backward compatibility with GML2 only" (Следующие типы и элементы устарели и не должны использоваться!
Только для обратной совместимости с GML 2) нельзя.
Это вкратце, чуть позже попробую табличку состряпать с типами данных
Я конечно не программист, до первой встречи с gml даже про xml знал только то что такое слово есть) Но вроде по ходу дела более менее можно разобраться.
-
- Завсегдатай
- Сообщения: 297
- Зарегистрирован: 03 июн 2015, 10:19
- Репутация: 72
Re: Проверка файлов gml с помощью xsd-схем
А у меня ругается: "Невозможно открыть файл, содержащий пространственные данные". В о ФГИС ТП пояснили, что "в файле представлены объекты, которые относятся к одному виду объектов, но с разными типами геометрии. В таком случае рекомендуем использовать при описании геометрии пространственных объектов тип — multi". А у меня там сплошные multi: MultiSurface, MultiPoint, MultiCurve. И как быть? Есть подозрение, что в каких-то линейных слоях в мультистринг попало мультикёрв. Менять тэги?
- ginpetr
- Завсегдатай
- Сообщения: 379
- Зарегистрирован: 21 июн 2011, 12:07
- Репутация: 140
- Откуда: Орск
- Контактная информация:
Re: Проверка файлов gml с помощью xsd-схем
То что ответили специалисты службы поддержки ФГИС ТП и то что на самом деле является причиной ошибки, иногда совершенно разные вещи. Проверьте, но поищите и другие возможные причины.
-
- Интересующийся
- Сообщения: 39
- Зарегистрирован: 06 апр 2020, 15:16
- Репутация: 9
- Откуда: остазия
Re: Проверка файлов gml с помощью xsd-схем
Коллекция геометрий, GeometryCollection или иже с ними.
Он то ли в принципе не кушает такой тип, то ли такой тип по другому надо описывать.
Суть примерно в том, что в рамках одного слоя (именно слоя, а не карты) объекты с разными типами геометрии.
Если есть QGIS это очень легко проверить. Просто пихните файл gml в главное окно. Слева появится список слоев в карте. Там 4 типа может быть: полигон, точка, линия и 4ый. Вот тот 4ый возможно и проблемой является. Также при самом импорте, когда выбираете слои - там может быть GeometryCollection.
ginpetr правильно сказал, там есть очевидные ошибки, а есть неочевидные. Условно говоря когда поставил в поле NAME спецсимвол, а выдает ошибку то ли по трансформации СК то ли по вылету за РФ. Что никак не вяжется логически со спецсимволом.
И то спецсимвол там спорно очень проверяется. Например одинарная кавычка как "Л'Етуаль" не проходит, а "Иванов и Ко" проходит. (Ну вы поняли что я имел ввиду под "Ко")
П.С. Я уже как то писал, QGIS вещь нужная в этом плане. Ибо если все объекты в QGISe отображаются там где нужно, совпадает количество - то ошибку нужно искать техническую, именно в формировании самого gml
-
- Интересующийся
- Сообщения: 39
- Зарегистрирован: 06 апр 2020, 15:16
- Репутация: 9
- Откуда: остазия
Re: Проверка файлов gml с помощью xsd-схем
Завтра вообще буду писать предложение в минэк - рах уж они в каждом пункте помощи указывают что ту или иную ошибку можно исправить с помощью QGISa то пусть и выложат пример настройки окна экспорта GML
В конце концов есть много хороших картографов/градостроителей/чиновников, но вот здесь еще и немного XML нужно знать, это все-таки немного другое
В конце концов есть много хороших картографов/градостроителей/чиновников, но вот здесь еще и немного XML нужно знать, это все-таки немного другое
-
- Завсегдатай
- Сообщения: 297
- Зарегистрирован: 03 июн 2015, 10:19
- Репутация: 72
Re: Проверка файлов gml с помощью xsd-схем
Не уверен на счёт геометрии. В отчёте об ошибках видим, что в одном GML загружены все объекты, в двух других не все: не прошли 30 -в одном, 6 - в другом (рис. 1). Что не так много от общего количества. Но понять какие объекты, в каких слоях вы из этого отчёта не сможете. Дальше грузим MID/MIF, и тут мы хотя бы получаем сведения о проблемных слоях (рис. 2,3,4). Но понять что конкретно не прошло невозможно. Причём в этих слоях не загружена только часть объектов (не бОльшая). Наверное дело в каких-то "неудобоваримых" символах в атрибутах, но в каких конкретно - понять не возможно. По крайне я закономерностей не смог обнаружить.
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Проверка файлов gml с помощью xsd-схем
забавные ребята сидят в органах, принимающих данные. Когда я на заре далекой юности писал аналогичную систему, я выдавал геодезистам векторный файл с кружками, обводящими ошибки, описание ошибок, идентификаторы ошибочных объектов, и прочую полезную для исправления информацию. Предполагалось, что мы делаем общее дело, вот были романтические времена
Из приведенного выхлопа можно понять, что не нравится только часть объектов. Для начала можно составить табличку по типам объектов (вдруг числа сойдутся), а также попробовать стандартный дихотомический поиск, последовательно деля список объектов пополам, и подавая их по очереди, пока не пройдет (один их файлов, чтобы материалы не были приняты в неполном виде, наверняка принимается/отвергается весь пакет целиком).
Из приведенного выхлопа можно понять, что не нравится только часть объектов. Для начала можно составить табличку по типам объектов (вдруг числа сойдутся), а также попробовать стандартный дихотомический поиск, последовательно деля список объектов пополам, и подавая их по очереди, пока не пройдет (один их файлов, чтобы материалы не были приняты в неполном виде, наверняка принимается/отвергается весь пакет целиком).
-
- Завсегдатай
- Сообщения: 297
- Зарегистрирован: 03 июн 2015, 10:19
- Репутация: 72
Re: Проверка файлов gml с помощью xsd-схем
Вот интересно, в поддержке ответили: "При послойном сохранении в gml 3 и загрузке, данной ошибки нет". Ваша заявка закрыта . Вот спасибо. А что с цельными GML делать? Если "спецы" из поддержки не могут разобраться...
- ginpetr
- Завсегдатай
- Сообщения: 379
- Зарегистрирован: 21 июн 2011, 12:07
- Репутация: 140
- Откуда: Орск
- Контактная информация:
Re: Проверка файлов gml с помощью xsd-схем
Мне кажется, они в тех же условиях, что и мы. Систему разрабатывали не они, никаких других инструментов для анализа ошибок у них, похоже, нет -- как и мы ориентируются на тексты сообщений об ошибках и общие требования к загружаемым материалам.Vadim писал(а): ↑01 дек 2021, 17:17Если "спецы" из поддержки не могут разобраться...
-
- Гуру
- Сообщения: 4056
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Проверка файлов gml с помощью xsd-схем
Это неверно. Даже если разработчики не они, они вполне могут сформулировать требования к разработчикам, чтобы была нормальная выдача информации, с указание причины и идентификацией проблемного объекта. Естественно, если контора ориентирована на результат, а не на создание трудностей всем пользователям.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 32 гостя