Сведения о поддерживаемых форматах данных
Эта статья содержит сведения о поддержке чтения и записи для всех тегов 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 , , heading colorMode и 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
- строка
Если данные о типе не могут быть извлечены из заголовка, а параметр динамического ввода включен при чтении, каждая ячейка анализируется по отдельности, чтобы определить, какой тип данных лучше всего подходит для приведения.
Следующие шаги
Дополнительные примеры кода для добавления в карты см. в следующих статьях: