Сведения о поддерживаемых форматах данных
Эта статья содержит сведения о поддержке чтения и записи для всех тегов 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 , если у фигуры еще нет свойства rights properties . |
rss:description |
да | partial | Записывается в виде atom:content , если у фигуры еще нет свойства content properties . |
rss:docs |
да | нет | |
rss:enclosure |
да | нет | |
rss:generator |
да | нет | |
rss:guid |
да | partial | Записывается в виде atom:id , если у фигуры еще нет свойства id properties . |
rss:image |
да | partial | Записывается в виде atom:logo , если у фигуры еще нет свойства logo properties . |
rss:item |
да | partial | Записывается в виде atom:entry . |
rss:language |
да | нет | |
rss:lastBuildDate |
да | partial | Записывается в виде atom:updated , если у фигуры еще нет свойства updated properties . |
rss:link |
да | partial | Записывается в виде atom:link . |
rss:managingEditor |
да | partial | Записывается в виде atom:contributor . |
rss:pubDate |
да | partial | Записывается в виде atom:published , если у фигуры еще нет свойства published properties . |
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
- строка
Если данные о типе не могут быть извлечены из заголовка и параметр динамического ввода включен при чтении, то каждая ячейка анализируется по отдельности, чтобы определить, какой тип данных лучше всего подходит для приведения.
Дальнейшие действия
Дополнительные примеры кода для добавления в карты см. в следующих статьях: