Поделиться через


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

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

Элементы GeoRSS

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

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

Элементы GML

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

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

Дополнительные заметки

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

Элементы GPX

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

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

Дополнительные заметки

При записи:

  • 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

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

Первая строка данных сканируется для строк, которые находятся в хорошо известном текстовом формате.

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

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

Числа

  • edm.int64
  • INT
  • длинный
  • edm.double
  • с плавающей запятой
  • двойной точности
  • number

Логические значения

  • edm.boolean
  • bool
  • boolean

Даты

  • edm.datetime
  • Дата
  • datetime

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

  • edm.geography
  • география

Строки

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

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

Следующие шаги

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

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