Импорт данных из формата GML(XML), GeoJSON |
Задача предназначена для импорта векторных пространственных данных форматов GML(XML) или GeoJSON. Для выполнения задачи необходимо выбрать исходный файл, указать имя создаваемой векторной карты и цифрового классификатора RSC (RSCZ).
Запись объекта в формате GML может иметь вид:
<gml:featureMember> <bsd:Street gml:id="N-37-002.16126237"> <bsd:StreetCode>44200000</bsd:StreetCode> <bsd:WidthRange>МЕНЕЕ 20М</bsd:WidthRange> <bsd:Height>123.5</bsd:Height> <bsd:Category>ПРОЧИЕ УЛИЦЫ</bsd:Category> <gml:LineString srsName="urn:ogc:def:crs:EPSG:4326"><gml:posList srsDimension="2" count="3">109.677853573416.7314060146109.677754264116.7308147892109.677358836716.7300170164</gml:posList> </gml:LineString> </bsd:Street> </gml:featureMember>
Координаты объектов формируются в соответствии со спецификацией GML. Семантика объектов в файле GML выбирается из узлов, имеющих префикс прикладной схемы (например, bsd:). Имя узла ищется среди ключей семантик в классификаторе карты (например, StreetCode, WidthRange, Height и другие). В объект будут добавлены те атрибуты (семантики), ключи которых совпали с именем узла без префикса. Если в описании метрики объекта есть узел gml:name, то считается, что это текст подписи. Например:
<gml:featureMember> <topo100t:LAYER17 gml:id="_0.N-37-016.16803349"> <topo100t:SEM214>1.4 мм</topo100t:SEM214> <gml:LineString srsName="urn:ogc:def:crs:EPSG:4326"> <gml:name>Битца</gml:name> <gml:posList srsDimension="2" count="2">55.504131280 37.709670012 55.500860199 37.716630692 </gml:posList></gml:LineString> </topo100t:LAYER17> </gml:featureMember>
Код объекта (условный знак) может быть назначен в диалоге для всех объектов одной локализации (площадной, линейный, точечный, подпись) или выбран из узла, ключ которого совпадает с ключом служебной семантики с кодом 32800.
Запись объекта в формате GeoJSON может иметь вид:
{"type":"Feature", "geometry": {"type":"Polygon", "coordinates": [ [ [38.386942060,55.963682015],[38.386787317,55.963321806],[38.386472310,55.962960711], [38.386804368,55.962243924],[38.387448577,55.962067848],[38.388243122,55.962521401], [38.388231937,55.963240048],[38.387905569,55.963597603],[38.386942060,55.963682015]] ] }, "properties":{ "id":"Ногинский район.18148", "perimeter": 469.672, "area": 14673.403, "code":31120000,"layer":"ГИДРОГРАФИЯ", "layerid":"Hydrography", "schema":"_200t05g", "name":"ОЗЕРА ПОСТОЯННЫЕ ", "Shoreline":"ПОСТОЯННЫЙ", "AbsoluteHeight":"149,5"} },
Координаты объектов формируются в соответствии со спецификацией GeoJSON. Семантика объектов выбирается в разделе properties. Имя поля ищется среди ключей семантик в классификаторе карты (например, Shoreline, AbsoluteHeight и другие). В объект будут добавлены те атрибуты (семантики), ключи которых совпали с именем поля. Поле с именем "key" может содержать ключ объекта из классификатора RSC, поле с именем "code" может содержать код объекта. Если есть поле с именем «title», то оно обрабатывается как текст подписи.
Особенности формирования цифровых топографических карт в формате GML приведены в документе «Форматы и спецификации данных. Спецификация GML для ЦТК» (https://gistoolkit.ru/download/doc/specgml4topo.pdf).
|