你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

支持的数据格式详细信息

本文提供有关所有 XML 标记和常见文本几何类型的读取和写入支持的详细信息。 本文还详细介绍如何在空间 IO 模块中分析带分隔符的空间数据。

支持的 XML 命名空间

空间 IO 模块支持以下命名空间中的 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 元素

空间 IO 模块支持以下 XML 元素。 任何不受支持的 XML 标记都会转换为 JSON 对象。 然后,每个标记作为属性添加到父形状或图层的 properties 字段中。

KML 元素

空间 IO 模块支持以下 KML 元素。

元素名称 读取 写入 备注
address 部分 系统会分析对象,但对象不用于定位形状。
AddressDetails 部分 系统会分析对象,但对象不用于定位形状。
atom:author
atom:link
atom:name
BalloonStyle 部分 部分 不支持 displayMode。 转换为 PopupTemplate。 若要写入,请添加 popupTemplate 属性作为要写入此元素的特征的属性。
begin
color 包括 #AABBGGRR#BBGGRR。 分析为 CSS 颜色字符串
colorMode
coordinates
Data
description
displayName
Document
drawOrder 部分 读取地面叠加层,并用于对地面叠加层进行排序。
east
end
ExtendedData 支持非类型化 DataSimpleDataSchema 和窗体 $[dataName] 的实体替换。
extrude 部分 部分 只有多边形支持此元素。 具有不同高度的多边形的 MultiGeometry 分解为单独的特征。 不支持线型。 海拔高度为 0 的多边形呈现为平面多边形。 在读取时,系统会添加外环中第一个坐标的海拔高度作为多边形的 height 属性。 然后,第一个坐标的海拔高度用于在地图上呈现多边形。
fill
Folder
GroundOverlay 不支持 color
heading 部分 系统会分析此元素,但它不由 SimpleDataLayer 呈现。 仅当数据存储在形状的属性中时才写入。
hotSpot 部分 仅当数据存储在形状的属性中时才写入。 单位仅输出为“像素”。
href
Icon 部分 部分 系统会分析此元素,但它不由 SimpleDataLayer 呈现。 如果形状包含 URI 数据,则仅写入该形状的 icon 属性。 仅支持 href
IconStyle 部分 部分 SimpleDataLayer 会分析 iconheadingcolorModehotspots 值,但不会呈现这些值
innerBoundaryIs
kml
LabelStyle
LatLonBox
gx:LatLonQuad
LinearRing
LineString
LineStyle 不支持 colorMode
Link 网络链接仅支持 href 属性。
MultiGeometry 部分 部分 读取时可能会分解为单独的特征。
name
NetworkLink 链接必须与文档位于同一个域中。
NetworkLinkControl
north
open
outerBoundaryIs
outline
overlayXY
Pair 部分 仅支持 StyleMap 中的 normal 样式。 不支持 highlight
phoneNumber
PhotoOverlay
Placemark
Point
Polygon
PolyStyle
Region 部分 部分 在文档级别支持 LatLongBox
rotation
rotationXY
scale
Schema
SchemaData
schemaUrl 部分 不支持从 KMZ 中不包含的外部文档加载样式。
ScreenOverlay
screenXY
SimpleData
SimpleField
size
Snippet 部分 部分 系统会忽略 maxLines 属性。
south
Style
StyleMap 部分 仅支持 StyleMap 中的 normal 样式。
styleUrl 部分 不支持外部样式 URL。
text 不支持替换 $[geDirections]
textColor
TimeSpan
TimeStamp
value
viewRefreshMode 部分 如果指向 WMS 服务,则仅支持对地面叠加层使用 onStop。 将 BBOX={bboxWest},{bboxSouth},{bboxEast},{bboxNorth} 附加到 URL,并随着地图的移动进行更新。
visibility
west
when
width

GeoRSS 元素

空间 IO 模块支持以下 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 属性
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 源会使用 position 标记而非 georss:where 标记来包装 GML。 读取此标记,但使用 georss:where 标记写入。
rss GeoRSS 以 ATOM 格式写入。
rss:author 部分 写入为 atom:author
rss:category 部分 写入为 atom:category
rss:channel
rss:cloud
rss:comments
rss:copyright 部分 如果形状还没有 rights properties 属性,则写入为 atom:rights
rss:description 部分 如果形状还没有 content properties 属性,则写入为 atom:content
rss:docs
rss:enclosure
rss:generator
rss:guid 部分 如果形状还没有 id properties 属性,则写入为 atom:id
rss:image 部分 如果形状还没有 logo properties 属性,则写入为 atom:logo
rss:item 部分 写入为 atom:entry
rss:language
rss:lastBuildDate 部分 如果形状还没有 updated properties 属性,则写入为 atom:updated
rss:link 部分 写入为 atom:link
rss:managingEditor 部分 写入为 atom:contributor
rss:pubDate 部分 如果形状还没有 published properties 属性,则写入为 atom:published
rss:rating
rss:skipDays
rss:skipHours
rss:source 部分 写入为包含 atom:linkatom:source
rss:textInput
rss:title 部分 写入为 atom:title
rss:ttl
rss:webMaster

GML 元素

空间 IO 模块支持以下 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 部分 部分 仅读取为 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

更多备注

  • 系统会搜索 Member 元素,查找可能隐藏在子元素中的几何。 此搜索操作是必需的,因为许多从 GML 扩展的 XML 格式可能不会将几何放置为 Member 元素的直接子级。
  • WGS84 坐标和以下代码仅部分支持 srsNameEPSG:4326 和 Web 墨卡托 EPSG:3857 或其替代代码之一。 任何其他坐标系统都会按原样分析为 WGS84。
  • 除非另有指定,否则系统在读取 XML 源时会根据 XML 源中的提示确定轴顺序。 系统首选使用“纬度,经度”轴顺序。
  • 除非为属性指定了自定义 GML 命名空间,否则系统在写入到 GML 文件时不会添加其他属性信息。

GPX 元素

空间 IO 模块支持以下 GPX 元素。

元素名称 读取 写入 备注
gpx:ageofdgpsdata
gpx:author
gpx:bounds 读取时转换为 LocationRect。
gpx:cmt
gpx:copyright
gpx:desc 在读取时复制到 description 属性,以与其他 XML 格式对齐。
gpx:dgpsid
gpx:ele
gpx:extensions 部分 部分 读取时,系统会提取样式信息。 所有其他扩展平展为简单 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 部分 部分 支持 coloropacitywidthlineCap
gpx_style:opacity
gpx_style:width
gpxx:DisplayColor 用于指定形状的颜色。 如果写入,则改用 gpx_style:line 颜色。
gpxx:RouteExtension 部分 所有属性都读取到 properties。 仅使用 DisplayColor
gpxx:TrackExtension 部分 所有属性都读取到 properties。 仅使用 DisplayColor
gpxx:WaypointExtension 部分 所有属性都读取到 properties。 仅使用 DisplayColor
gpx:keywords
gpx:fix

更多备注

写入时:

  • MultiPoint 分解为单独的航点。
  • Polygon 和 MultiPolygon 写入为轨迹。

支持的常见文本几何类型

几何类型 读取 写入
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) 等带分隔符的空间数据通常包含列,而列包含空间数据。 例如,列可能包含纬度和经度信息。 在常见文本格式中,列可能包含空间几何数据。

空间数据列检测

在读取包含空间数据的带分隔符文件时,系统会分析文件头以确定哪些列包含位置字段。 如果文件头包含类型信息,这些信息会用于将单元格值强制转换为相应的类型。 如果未指定文件头,则系统会分析第一行以生成文件头。 分析第一行时,系统会执行检查,以将列名与以下名称进行不区分大小写匹配。 如果文件中存在两个或更多名称,则以名称顺序优先。

纬度

  • 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
  • long
  • edm.double
  • FLOAT
  • Double
  • 数字

布尔型

  • edm.boolean
  • bool
  • boolean

日期

  • edm.datetime
  • date
  • datetime

地理位置

  • edm.geography
  • geography

字符串

  • edm.string
  • varchar
  • text
  • 字符串

如果文件头没有类型信息可供提取,并且在读取时启用了动态类型匹配选项,则会单独分析每个单元格以确定最适合转换为的数据类型。

后续步骤

有关可向地图添加的更多代码示例,请参阅以下文章:

读取和写入空间数据