Сведения о поддерживаемых форматах данных

Эта статья содержит сведения о поддержке чтения и записи для всех тегов XML и геометрических типов Well-Known Text (WKT). В нем также подробно описано, как выполняется синтаксический анализ пространственных данных с разделителями в модуле пространственного ввода-вывода.

Поддерживаемые пространства имен XML

Модуль пространственного ввода-вывода поддерживает теги XML из следующих пространств имен.

Префикс пространства имен Универсальный код ресурса (URI) пространства имен Примечания
atom http://www.w3.org/2005/Atom
geo http://www.w3.org/2003/01/geo/wgs84_pos# Поддержка только чтения в файлах GeoRSS.
georss http://www.georss.org/georss
geourl http://geourl.org/rss/module/ Поддержка только чтения в файлах GeoRSS.
gml http://www.opengis.net/gml
gpx http://www.topografix.com/GPX/1/1
gpxx http://www.garmin.com/xmlschemas/GpxExtensions/v3 Поддержка только чтения в файлах GPX. Выполняет синтаксический анализ и использует DisplayColor. Все остальные свойства добавляются в метаданные фигуры.
gpx_style http://www.topografix.com/GPX/gpx_style/0/2 Поддерживается в файлах GPX. Использует цвет линии.
gx http://www.google.com/kml/ext/2.2
kml http://www.opengis.net/kml/2.2
rss Только для чтения. GeoRSS выполняет запись с использованием формата Atom.

Поддерживаемые элементы XML

Модуль пространственного ввода-вывода поддерживает перечисленные ниже элементы XML. Все xml-теги, которые не поддерживаются, преобразуются в объект JSON. Затем каждый тег добавляется в качестве свойства в properties поле родительской фигуры или слоя.

Элементы KML

Модуль пространственного ввода-вывода поддерживает перечисленные ниже элементы KML.

Имя элемента Чтение запись Примечания
address partial yes Объект анализируется, но не используется для позиционирования фигуры.
AddressDetails partial Нет Объект анализируется, но не используется для позиционирования фигуры.
atom:author да да
atom:link да да
atom:name да да
BalloonStyle partial partial displayMode не поддерживается. Преобразуется в PopupTemplate. Чтобы выполнить запись, добавьте свойство popupTemplate в качестве свойства компонента, для которого его необходимо записать.
begin да да
color да да Включает #AABBGGRR и #BBGGRR. Выполняется синтаксический анализ в строку цвета CSS.
colorMode да нет
coordinates да да
Data да да
description да да
displayName да да
Document да да
drawOrder partial Нет Чтение объектов наземного наложения; используется для их сортировки.
east да да
end да да
ExtendedData да да Поддерживает нетипизированные данные Data, SimpleData и Schema, а также замену сущностей в форме $[dataName].
extrude partial partial Поддерживается только для многоугольников. MultiGeometry с многоугольниками разной высоты разбиваются на отдельные признаки. Стили линий не поддерживаются. Многоугольник с высотой 0 отображается как плоский многоугольник. При чтении высота первой координаты в внешнем кольце добавляется как свойство высоты многоугольника. Затем высота первой координаты используется для отрисовки многоугольника на карте.
fill да да
Folder да да
GroundOverlay да да color не поддерживается.
heading partial Нет Модуль SimpleDataLayer выполняет анализ, но не преобразование для просмотра. Запись выполняется только в том случае, если данные хранятся в свойстве фигуры.
hotSpot yes partial Запись выполняется только в том случае, если данные хранятся в свойстве фигуры. При отображении в качестве единиц используются только пиксели.
href да да
Icon partial partial Модуль SimpleDataLayer выполняет анализ, но не преобразование для просмотра. Свойство icon фигуры записывается только в том случае, если оно содержит данные URI. Поддерживается только href.
IconStyle partial partial iconЗначения , heading, colorModeи hotspots анализируются, но не отображаются SimpleDataLayer
innerBoundaryIs да да
kml да да
LabelStyle нет нет
LatLonBox да да
gx:LatLonQuad да да
LinearRing да да
LineString да да
LineStyle да да colorMode не поддерживается.
Link да Нет Для сетевых соединений поддерживается только свойство href.
MultiGeometry partial partial Может быть разбито на отдельные компоненты при чтении.
name да да
NetworkLink да Нет Ссылки должны находиться в том же домене, что и документ.
NetworkLinkControl Нет нет
north да да
open да да
outerBoundaryIs да да
outline да да
overlayXY нет Нет
Pair partial Нет В StyleMap поддерживается только стиль normal. highlight не поддерживается.
phoneNumber да да
PhotoOverlay нет нет
Placemark да да
Point да да
Polygon да да
PolyStyle да да
Region partial partial LatLongBox поддерживается на уровне документа.
rotation Нет нет
rotationXY нет нет
scale нет нет
Schema да да
SchemaData да да
schemaUrl partial yes Не поддерживает загрузку стилей из внешних документов, которые не входят в KMZ.
ScreenOverlay Нет нет
screenXY нет нет
SimpleData да да
SimpleField да да
size нет Нет
Snippet partial partial Атрибут maxLines не учитывается.
south да да
Style да да
StyleMap partial Нет В StyleMap поддерживается только обычный стиль.
styleUrl partial yes URL-адреса внешних стилей не поддерживаются.
text да да Замена $[geDirections] не поддерживается.
textColor да да
TimeSpan да да
TimeStamp да да
value да да
viewRefreshMode partial Нет При указании на службу WMS для наземных наложений поддерживается только onStop. BBOX={bboxWest},{bboxSouth},{bboxEast},{bboxNorth} Добавляет к URL-адресу и обновляется по мере перемещения карты.
visibility да да
west да да
when да да
width да да

Элементы GeoRSS

Модуль пространственного ввода-вывода поддерживает перечисленные ниже элементы GeoRSS.

Имя элемента Чтение запись Примечания
atom:author да да
atom:category да да
atom:content да да
atom:contributor да да
atom:email да да
atom:entry да да
atom:feed да да
atom:icon да да
atom:id да да
atom:link да да
atom:logo да да
atom:name да да
atom:published да да
atom:rights да да
atom:source да да
atom:subtitle да да
atom:summary да да
atom:title да да
atom:updated да да
atom:uri да да
geo:lat да Нет Записывается как georss:point.
geo:lon да Нет Записывается как georss:point.
geo:long да Нет Записывается как georss:point.
georss:box да Нет Считывается как многоугольник; задается свойство subType объекта "Rectangle".
georss:circle да да
georss:elev да да
georss:featurename да да
georss:featuretypetag да да
georss:floor да да
georss:line да да
georss:point да да
georss:polygon да да
georss:radius да да
georss:relationshiptag да да
georss:where да да
geourl:latitude да Нет Записывается как georss:point.
geourl:longitude да Нет Записывается как georss:point.
position да нет Некоторые XML-каналы упаковывают GML с тегом position, а не с помощью тега georss:where . Считывает этот тег, но записывает с помощью тега georss:where .
rss да Нет GeoRSS записывается в формате ATOM.
rss:author yes partial Записывается в виде atom:author.
rss:category да partial Записывается в виде atom:category.
rss:channel да нет
rss:cloud да нет
rss:comments да нет
rss:copyright да partial Записывается в виде atom:rights, если у фигуры еще нет свойства rightsproperties.
rss:description да partial Записывается в виде atom:content, если у фигуры еще нет свойства contentproperties.
rss:docs да нет
rss:enclosure да нет
rss:generator да нет
rss:guid да partial Записывается в виде atom:id, если у фигуры еще нет свойства idproperties.
rss:image да partial Записывается в виде atom:logo, если у фигуры еще нет свойства logoproperties.
rss:item да partial Записывается в виде atom:entry.
rss:language да нет
rss:lastBuildDate да partial Записывается в виде atom:updated, если у фигуры еще нет свойства updatedproperties.
rss:link да partial Записывается в виде atom:link.
rss:managingEditor да partial Записывается в виде atom:contributor.
rss:pubDate да partial Записывается в виде atom:published, если у фигуры еще нет свойства publishedproperties.
rss:rating да нет
rss:skipDays да нет
rss:skipHours да нет
rss:source да partial Записывается как объект atom:source, содержащий atom:link.
rss:textInput да нет
rss:title да partial Записывается в виде atom:title.
rss:ttl да нет
rss:webMaster да Нет

Элементы GML

Модуль пространственного ввода-вывода поддерживает перечисленные ниже элементы GML.

Имя элемента Чтение запись Примечания
gml:coordinates да Нет Записывается в виде gml:posList.
gml:curveMember да нет
gml:curveMembers да нет
gml:Box да Нет Записывается в виде gml:Envelope.
gml:description да да
gml:Envelope да да
gml:exterior да да
gml:Feature да Нет Записывается как фигура.
gml:FeatureCollection да Нет Записывается как коллекция геометрических объектов.
gml:featureMember да Нет Записывается как коллекция геометрических объектов.
gml:geometry да Нет Записывается как фигура.
gml:geometryMember да да
gml:geometryMembers да да
gml:identifier да да
gml:innerBoundaryIs да Нет Записывается с использованием gml.interior.
gml:interior да да
gml:LinearRing да да
gml:LineString да да
gml:lineStringMember да да
gml:lineStringMembers да нет
gml:MultiCurve да Нет Считываются только элементы gml:LineString. Записывается в виде gml.MultiLineString.
gml:MultiGeometry partial partial Считывается только в виде FeatureCollection.
gml:MultiLineString да да
gml:MultiPoint да да
gml:MultiPolygon да да
gml:MultiSurface да Нет Считываются только элементы gml:Polygon. Записывается в виде gml.MultiPolygon.
gml:name да да
gml:outerBoundaryIs да Нет Записывается с использованием gml.exterior.
gml:Point да да
gml:pointMember да да
gml:pointMembers да нет
gml:Polygon да да
gml:polygonMember да да
gml:polygonMembers да нет
gml:pos да да
gml:posList да да
gml:surfaceMember да да

Дополнительные примечания

  • Элементы-члены ищут геометрию, которая может быть похоронена в дочерних элементах. Такой поиск необходима, так как многие форматы XML на базе GML могут не размещать геометрический объект в качестве прямого дочернего объекта элемента-члена.
  • srsName частично поддерживается для координат WGS84 и следующих кодов:EPSG: 4326) и веб-представления Mercator (EPSG: 3857: или одного из альтернативных кодов. Любая другая система координат анализируется как WGS84 как есть.
  • Если при чтении веб-канала XML не указан порядок осей, он определяется на основе подсказок в веб-канале XML. Предпочтение отдается порядку осей "широта, долгота".
  • Если для свойств при записи в GML-файл не указано пользовательское пространство имен GML, другие сведения о свойствах не добавляются.

Элементы GPX

Модуль пространственного ввода-вывода поддерживает перечисленные ниже элементы GPX.

Имя элемента Чтение запись Примечания
gpx:ageofdgpsdata да да
gpx:author да да
gpx:bounds да да При чтении преобразуется в LocationRect.
gpx:cmt да да
gpx:copyright да да
gpx:desc да да При чтении копируется в свойство описания для согласования с другими форматами XML.
gpx:dgpsid да да
gpx:ele да да
gpx:extensions partial partial При чтении извлекаются сведения о стиле. Все остальные расширения объединяются в простой объект JSON. Записываются только сведения о стиле фигуры.
gpx:geoidheight да да
gpx:gpx да да
gpx:hdop да да
gpx:link да да
gpx:magvar да да
gpx:metadata да да
gpx:name да да
gpx:pdop да да
gpx:rte да да
gpx:rtept да да
gpx:sat да да
gpx:src да да
gpx:sym да да Значение фиксируется, но не используется для изменения значка вешки.
gpx:text да да
gpx:time да да
gpx:trk да да
gpx:trkpt да да
gpx:trkseg да да
gpx:type да да
gpx:vdop да да
gpx:wpt да да
gpx_style:color да да
gpx_style:line partial partial Поддерживаются значения color, opacity, width, lineCap.
gpx_style:opacity да да
gpx_style:width да да
gpxx:DisplayColor да Нет Используется для указания цвета фигуры. При записи gpx_style:line вместо него используется цвет.
gpxx:RouteExtension partial Нет Все свойства считываются в объект properties. Используется только DisplayColor.
gpxx:TrackExtension partial Нет Все свойства считываются в объект properties. Используется только DisplayColor.
gpxx:WaypointExtension partial Нет Все свойства считываются в объект properties. Используется только DisplayColor.
gpx:keywords да да
gpx:fix да да

Дополнительные примечания

При записи:

  • MultiPoints разбивается на отдельные путевые точки.
  • Многоугольник и Многополигоны записываются в виде дорожек.

Поддерживаемые типы геометрических объектов Well-Known Text

Тип геометрического объекта Чтение запись
POINT x x
POINT Z x x
POINT M x x[2]
POINT ZM x[1][2]
LINESTRING x x
LINESTRING Z x x
LINESTRING M x x[2]
LINESTRING ZM x[1][2]
POLYGON x x
POLYGON Z x x
POLYGON M x x[2]
POLYGON ZM x[1][2]
MULTIPOINT x x
MULTIPOINT Z x x
MULTIPOINT M x x[2]
POMULTIPOINTINT ZM x[1][2]
MULTILINESTRING x x
MULTILINESTRING Z x x
MULTILINESTRING M x x[2]
MULTILINESTRING ZM x[1][2]
MULTIPOLYGON x x
MULTIPOLYGON Z x x
MULTIPOLYGON M x x[2]
MULTIPOLYGON ZM x[1][2]
GEOMETRYCOLLECTION x x
GEOMETRYCOLLECTION Z x x
GEOMETRYCOLLECTION M x x[2]
GEOMETRYCOLLECTION ZM x[1][2] x

[1] Фиксируется только параметр Z, который добавляется в качестве третьего значения в значение Position.

[2] Параметр M не фиксируется.

Поддержка пространственных данных с разделителями

Форматы пространственных данных с разделителями, например файлы значений с разделителями-запятыми (CSV), часто содержат столбцы с пространственными данными. Например, столбцы могут содержать сведения о широте и долготе. В формате Well-Known Text может быть столбец, содержащий данные пространственных геометрических объектов.

Обнаружение столбцов пространственных данных

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

Широта

  • latitude
  • lat
  • latdd
  • lat_dd
  • latitude83
  • latdecdeg
  • y
  • ycenter
  • point-y

Долгота

  • longitude
  • lon
  • lng
  • long
  • longdd
  • long_dd
  • longitude83
  • longdecdeg
  • x
  • xcenter
  • point-x

Elevation

  • elevation
  • elv
  • altitude
  • alt
  • z

Географический регион

Первая строка данных проверяется на наличие строк в Well-Known текстовом формате.

Типы столбцов данных с разделителями

При сканировании строки заголовка все сведения о типе, которые содержатся в имени столбца, извлекаются и используются для приведения ячеек в этом столбце. Ниже приведен пример имени столбца со значением типа : "Имя_столбца (имя_типа)". Поддерживаются указанные ниже имена типов без учета регистра.

Числа

  • edm.int64
  • INT
  • long
  • edm.double
  • FLOAT
  • double
  • number

Boolean

  • edm.boolean
  • bool
  • Логическое

Даты

  • edm.datetime
  • Дата
  • DATETIME

Географический регион

  • edm.geography
  • geography

Строки

  • edm.string
  • varchar
  • text
  • строка

Если данные о типе не могут быть извлечены из заголовка и параметр динамического ввода включен при чтении, то каждая ячейка анализируется по отдельности, чтобы определить, какой тип данных лучше всего подходит для приведения.

Дальнейшие действия

Дополнительные примеры кода для добавления в карты см. в следующих статьях:

Чтение и запись пространственных данных