создать схему для gml

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

создать схему для gml

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

Дано:
1. gml из голландского кадастра, dkk_perceel.gml в zip,
2. этот gml читается в QGIS и в Global Mapper, показывая правильные, нужные атрибуты объектов:
GM15.png
GM15.png (31.08 КБ) 3351 просмотр
,
3. этот gml нужно загрузить в AutoCAD Map 3D, но его импорт не видит нужные атрибуты, а предлагает целую кучу каких-то других:
AC_Map_лишние.png
AC_Map_лишние.png (54.74 КБ) 3351 просмотр
,
хотя, геометрия, объекты импортируются,
4. если в Global Mapper сделать shp, импортировать в AutoCAD Map 3D и из него экспортировать в gml, то создается схема xsd, dkk_perceel_Map.xsd в zip.
5. если при импорте исходного gml подставить AutoCAD Map 3D эту схему, то импорт показывает нужные атрибуты, но геометрия, объекты не импортируются.

Вопрос: как создать схему, чтобы читались и нужные атрибуты, и геометрия, загружались объекты?
Как-то можно для этого подправить схему, созданную AutoCAD Map 3D, т.е. чтобы читалась и геометрия?

Я в gml, xml и схемах, увы, недостаточно понимаю. Но буду стараться. :D
Вложения
dkk_perceel.zip
(799.6 КБ) 119 скачиваний

trir
Гуру
Сообщения: 5271
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1013
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: создать схему для gml

Сообщение trir » 06 апр 2021, 20:35

https://habr.com/ru/post/307294/

просто там вложенные свойства

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

<kk:brkkadastralekaartMember>
    <oz:Perceel gml:id="NL.IMKAD.KadastraalObject.54861674170000">
        <ko:identificatie>
            <t:namespace>NL.IMKAD.KadastraalObject</t:namespace>
            <t:lokaalID>54861674170000</t:lokaalID>
        </ko:identificatie>
        <oz:historie>
            <h:beginGeldigheid>2018-11-02T15:22:18.000</h:beginGeldigheid>
            <h:tijdstipRegistratie>2018-11-02T15:22:18.000</h:tijdstipRegistratie>
            <h:volgnummer>0</h:volgnummer>
            <h:statusHistorie>
                <h:StatusHistorie>
                    <t:code>G</t:code>
                    <t:waarde>Geldig</t:waarde>
                </h:StatusHistorie>
            </h:statusHistorie>
        </oz:historie>
        <oz:kadastraleAanduiding>
            <oz:TypeKadastraleAanduiding>
                <oz:kadastraleGemeente>
                    <oz:KadastraleGemeente>
                        <t:code>272</t:code>
                        <t:waarde>Emmen</t:waarde>
                    </oz:KadastraleGemeente>
                </oz:kadastraleGemeente>
                <oz:sectie>I</oz:sectie>
                <oz:perceelnummer>16741</oz:perceelnummer>
                <oz:aKRKadastraleGemeenteCode>
                    <oz:AKRKadastraleGemeenteCode>
                        <t:code>319</t:code>
                        <t:waarde>EMN00</t:waarde>
                    </oz:AKRKadastraleGemeenteCode>
                </oz:aKRKadastraleGemeenteCode>
            </oz:TypeKadastraleAanduiding>
        </oz:kadastraleAanduiding>
        <oz:begrenzingPerceel><gml:Polygon xmlns:gml="http://www.opengis.net/gml/3.2" gml:id="GEOMETRY_6dbfe67d-bc95-4821-b24e-69c1a8b6477f" srsName="28992"><gml:exterior><gml:LinearRing><gml:posList>263479.287 528364.746 263489.915 528310.527 263485.071 528309.242 263485.713 528306.824 263492.818 528308.710 263481.734 528365.257 263481.618 528365.721 263490.384 528367.954 263489.427 528371.733 263492.888 528372.608 263492.970 528374.184 263494.543 528404.572 263492.046 528404.701 263490.487 528374.580 263480.043 528371.939 263467.703 528420.665 263427.532 528413.414 263390.723 528403.474 263395.872 528377.036 263372.461 528371.989 263376.850 528352.374 263381.680 528353.483 263381.206 528356.040 263382.295 528356.356 263388.422 528357.691 263393.258 528335.508 263389.813 528334.757 263389.937 528334.186 263389.346 528334.057 263390.044 528330.856 263387.985 528330.407 263386.820 528330.197 263386.300 528332.477 263381.534 528331.445 263384.523 528318.088 263388.268 528318.912 263389.526 528313.336 263409.166 528317.685 263415.692 528291.512 263422.926 528292.826 263422.479 528295.287 263417.550 528294.391 263408.343 528331.315 263408.365 528331.321 263410.250 528331.763 263402.643 528365.922 263400.693 528365.448 263400.677 528365.445 263393.700 528401.689 263428.128 528410.986 263428.139 528410.989 263465.852 528417.791 263479.287 528364.746</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></oz:begrenzingPerceel>
        <oz:kadastraleGrootte>
            <oz:TypeOppervlak>
                <oz:waarde>2214</oz:waarde>
                <oz:soortGrootte>
                    <oz:SoortGrootte>
                        <t:code>1</t:code>
                        <t:waarde>Vastgesteld</t:waarde>
                    </oz:SoortGrootte>
                </oz:soortGrootte>
            </oz:TypeOppervlak>
        </oz:kadastraleGrootte>
        <oz:perceelnummerRotatie>-12.0</oz:perceelnummerRotatie>
        <oz:perceelnummerVerschuiving>
            <oz:TypePerceelnummerVerschuiving>
                <oz:deltaX>0.0</oz:deltaX>
                <oz:deltaY>0.0</oz:deltaY>
            </oz:TypePerceelnummerVerschuiving>
        </oz:perceelnummerVerschuiving>
        <oz:plaatscoordinaten><gml:Point xmlns:gml="http://www.opengis.net/gml/3.2" gml:id="GEOMETRY_6b9ebec7-7d6d-4ce8-9616-0549f2a0236c" srsName="28992"><gml:pos>263416.461 528409.052</gml:pos></gml:Point></oz:plaatscoordinaten>
    </oz:Perceel>
</kk:brkkadastralekaartMember>
проще это sql'ем распарсить

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

Re: создать схему для gml

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

Это же только фрагмент исходного gml, как есть?
Как решить задачу без другого ПО?

trir
Гуру
Сообщения: 5271
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1013
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: создать схему для gml

Сообщение trir » 06 апр 2021, 22:24

можешь попробывать править xml'ки в C:\Program Files\Common Files\Autodesk Shared\GIS\ImportExport\12.0\xml\gml_v3.2
но даже я туда не лезу

Skywalker
Участник
Сообщения: 79
Зарегистрирован: 01 май 2013, 22:38
Репутация: 30
Откуда: Сыктывкар

Re: создать схему для gml

Сообщение Skywalker » 07 апр 2021, 08:14

АлексЮстасу,
год назад решал подобную проблему, нужно было достать геометрию и множество атрибутов из gml-файлов, тоже работал с голландским кадастром. Тоже создавал тему на форуме. Всё закончилось написанием скрипта на Питоне, без него никак.

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: создать схему для gml

Сообщение lam » 07 апр 2021, 10:51

Попробуйте через формат mid/mif

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

Re: создать схему для gml

Сообщение АлексЮстасу » 07 апр 2021, 15:12

lam писал(а):
07 апр 2021, 10:51
Попробуйте через формат mid/mif
Да, наверное, можно через Mapinfo, можно и в QGIS, и в Global Mapper, и пр., и пр., но нужно разобраться с максимально прямым путем, без стороннего ПО.
Skywalker писал(а):
07 апр 2021, 08:14
Всё закончилось написанием скрипта на Питоне, без него никак.
Человекоподобый gml я еще способен хоть как-то понимать, но совсем не программист.
trir писал(а):
06 апр 2021, 22:24
править xml'ки
Схема, созданная AutoCAD Map 3D, позволяет видеть нужные атрибуты. Как бы ее заставить еще и читать геометрию?

Ответить

Вернуться в «Общий - ПО»

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

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