共用方式為


支援的資料格式詳細資料

針對所有 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 partial 已剖析物件,但不會用於定位圖形。
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 支援不具類型的 DataSimpleDataSchema 以及 $[dataName] 格式的實體取代。
extrude partial partial 僅支援多邊形。 具有不同高度之多邊形的 MultiGeometry 會拆分為個別功能。 不支援線條樣式。 高度為 0 的多邊形會轉譯為平面多邊形。 在讀取時,外部環形中第一個座標的高度將會新增為多邊形的高度屬性。 然後,第一個座標的高度會用於在地圖上轉譯多邊形。
fill
Folder
GroundOverlay 不支援 color
heading partial 已剖析但並未由 SimpleDataLayer 轉譯。 只有在資料儲存於圖形屬性時才會寫入。
hotSpot partial 只有在資料儲存於圖形屬性時才會寫入。 單位僅作為「像素」輸出。
href
Icon partial partial 已剖析但並未由 SimpleDataLayer 轉譯。 只有在圖形包含 URI 資料時,才會寫入圖形的圖示屬性。 只支援 href
IconStyle partial partial 已剖析 iconheadingcolorModehotspots 值,但不會由 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 不支援從 KMZ 未涵蓋的外部文件中載入樣式。
ScreenOverlay
screenXY
SimpleData
SimpleField
size
Snippet partial partial 會忽略 maxLines 屬性。
south
Style
StyleMap partial 僅支援 StyleMap 中的一般樣式。
styleUrl partial 不支援外部樣式 URL。
text 不支援取代 $[geDirections]
textColor
TimeSpan
TimeStamp
value
viewRefreshMode partial 如果指向 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 讀取為多邊形,並指定「Rectangle」的 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 摘要會以位置標記而非 georss:where 標記包裝 GML。 讀取此標籤,但會使用 georss:where 標記寫入。
rss 以 ATOM 格式寫入的 GeoRSS。
rss:author partial 寫入為 atom:author
rss:category partial 寫入為 atom:category
rss:channel
rss:cloud
rss:comments
rss:copyright partial 如果圖形還沒有 rights properties 屬性,則寫入為 atom:rights
rss:description partial 如果圖形還沒有 content properties 屬性,則寫入為 atom:content
rss:docs
rss:enclosure
rss:generator
rss:guid partial 如果圖形還沒有 id properties 屬性,則寫入為 atom:id
rss:image partial 如果圖形還沒有 logo properties 屬性,則寫入為 atom:logo
rss:item partial 寫入為 atom:entry
rss:language
rss:lastBuildDate partial 如果圖形還沒有 updated properties 屬性,則寫入為 atom:updated
rss:link partial 寫入為 atom:link
rss:managingEditor partial 寫入為 atom:contributor
rss:pubDate partial 如果圖形還沒有 published properties 屬性,則寫入為 atom:published
rss:rating
rss:skipDays
rss:skipHours
rss:source partial 寫入為包含 atom:linkatom:source
rss:textInput
rss:title partial 寫入為 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 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

其他注意事項

  • 會於成員元素中搜尋可能隱藏在子項目中的幾何。 此為必要的搜尋作業,因為許多從 GML 擴充的 XML 格式可能不會將幾何放置為成員元素的直接子系。
  • srsName 部分支援 WGS84 座標和下列程式碼:EPSG:4326) 以及 Web Mercator (EPSG:3857 或其替代程式碼的其中一個。 任何其他座標系統都會按原樣剖析為 WGS84。
  • 除非在讀取 XML 摘要時已指定軸順序,否則會根據 XML 摘要中的提示決定。 已指定「緯度、經度」軸順序的喜好設定。
  • 除非在寫入 GML 檔案時,為屬性指定自訂 GML 命名空間,否則不會新增其他屬性資訊。

GPX 元素

空間 IO 模組支援下列 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 支援 coloropacitywidthlineCap
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

其他注意事項

在寫入時;

  • MultiPoint 會拆分為個別導航點。
  • 多邊形和 MultiPolygon 都會寫入追蹤。

支援的已知文字幾何類型

幾何類型 讀取 寫入
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 參數,並在位置值中新增為第三個值。

[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
  • elv
  • altitude
  • alt
  • z

地理位置

系統會掃描第一個資料列,尋找已知文字格式的字串。

分隔資料行類型

在掃描標頭資料列時,會擷取資料行名稱中任何類型的資訊,並用於轉換該資料行中的儲存格。 以下是具有類型值的資料行名稱範例:"ColumnName (typeName)"。 支援下列類型名稱 (不區分大小寫):

數字

  • edm.int64
  • int
  • long
  • edm.double
  • FLOAT
  • double
  • 數值

布林值

  • edm.boolean
  • bool
  • boolean

日期

  • edm.datetime
  • date
  • Datetime

地理位置

  • edm.geography
  • 地理位置

字串

  • edm.string
  • varchar
  • text
  • string

如果無法從標頭擷取類型資訊,且在讀取時啟用動態類型選項,則會個別分析每個儲存格,以判斷最適合轉換為何種資料類型。

下一步

請參閱下列文章,以取得更多可新增至地圖的程式碼範例:

讀取和寫入空間資料