Dettagli sul formato dati supportato

Questo articolo fornisce informazioni specifiche sul supporto di lettura e scrittura per tutti i tag XML e i tipi di geometria testo noti. Illustra anche come vengono analizzati i dati spaziali delimitati nel modulo di I/O spaziale.

Spazi dei nomi XML supportati

Il modulo di I/O spaziale supporta i tag XML dagli spazi dei nomi seguenti.

Prefisso spazio dei nomi URI dello spazio dei nomi Note
atom http://www.w3.org/2005/Atom
geo http://www.w3.org/2003/01/geo/wgs84_pos# Supporto di sola lettura nei file GeoRSS.
georss http://www.georss.org/georss
geourl http://geourl.org/rss/module/ Supporto di sola lettura nei file GeoRSS.
gml http://www.opengis.net/gml
gpx http://www.topografix.com/GPX/1/1
gpxx http://www.garmin.com/xmlschemas/GpxExtensions/v3 Supporto di sola lettura nei file GPX. Analizza e usa DisplayColor. Tutte le altre proprietà aggiunte ai metadati della forma.
gpx_style http://www.topografix.com/GPX/gpx_style/0/2 Supportato nei file GPX. Usa il colore della linea.
gx http://www.google.com/kml/ext/2.2
kml http://www.opengis.net/kml/2.2
rss Sola lettura. Scritture GeoRSS tramite il formato Atom.

Elementi XML supportati

Il modulo di I/O spaziale supporta gli elementi XML seguenti. Tutti i tag XML non supportati vengono convertiti in un oggetto JSON. Ogni tag viene quindi aggiunto come proprietà nel campo properties della forma o del livello padre.

Elementi KML

Il modulo di I/O spaziale supporta gli elementi KML seguenti.

Nome elemento Lettura Scrittura Note
address partial yes L'oggetto viene analizzato ma non viene usato per il posizionamento della forma.
AddressDetails partial no L'oggetto viene analizzato ma non viene usato per il posizionamento della forma.
atom:author yes sì
atom:link sì sì
atom:name sì yes
BalloonStyle partial partial displayMode non è supportata. Convertito in un PopupTemplate. Per scrivere, aggiungere una proprietà popupTemplate come proprietà della funzionalità per cui la si vuole scrivere.
begin yes sì
color sì yes Include #AABBGGRR e #BBGGRR. Analizzato in una stringa di colori CSS
colorMode yes no
coordinates yes sì
Data sì sì
description sì sì
displayName sì sì
Document sì yes
drawOrder partial no Letto per le sovrapposizioni a terra e usato per ordinarle.
east yes sì
end sì sì
ExtendedData sì yes Supporta sostituzioni di Data, SimpleData o Schema non tipizzate e dell'entità del modulo $[dataName].
extrude partial partial Supportato solo per i poligoni. La multigeometria con poligoni di altezze diverse è suddivisa in singole funzionalità. Gli stili di linea non sono supportati. I poligoni con altitudine pari a 0 vengono sottoposti a rendering come poligoni piatti. Durante la lettura, l'altitudine della prima coordinata nell'anello esterno viene aggiunta come proprietà altezza del poligono. Quindi, l'altitudine della prima coordinata viene usata per eseguire il rendering del poligono sulla mappa.
fill yes sì
Folder sì sì
GroundOverlay sì yes color non è supportato
heading partial no Analizzato ma non sottoposto a rendering da SimpleDataLayer. Scrive solo se i dati vengono archiviati nella proprietà della forma.
hotSpot yes partial Scrive solo se i dati vengono archiviati nella proprietà della forma. Le unità vengono restituite solo come "pixel".
href yes yes
Icon partial partial Analizzato ma non sottoposto a rendering da SimpleDataLayer. Scrive solo la proprietà icona della forma se contiene dati URI. È supportato solo href.
IconStyle partial partial I valori icon, heading, colorMode e hotspots vengono analizzati ma non vengono sottoposti a rendering da SimpleDataLayer
innerBoundaryIs yes sì
kml sì sì
LabelStyle no no
LatLonBox yes sì
gx:LatLonQuad sì sì
LinearRing sì sì
LineString sì sì
LineStyle sì yes colorMode non è supportata.
Link yes no Solo la proprietà href è supportata per i collegamenti di rete.
MultiGeometry partial partial Può essere suddivisa in singole funzionalità durante la lettura.
name yes sì
NetworkLink sì no I collegamenti devono trovarsi nello stesso dominio del documento.
NetworkLinkControl no no
north yes sì
open sì sì
outerBoundaryIs sì sì
outline sì sì
overlayXY no no
Pair partial no È supportato solo lo stile normal in un StyleMap. highlight non è supportata.
phoneNumber yes sì
PhotoOverlay no no
Placemark yes sì
Point sì sì
Polygon sì sì
PolyStyle sì yes
Region partial partial LatLongBox è supportato a livello di documento.
rotation no no
rotationXY no no
scale no no
Schema yes sì
SchemaData sì yes
schemaUrl partial yes Non supporta il caricamento di stili da documenti esterni non inclusi in un KMZ.
ScreenOverlay no no
screenXY no no
SimpleData yes sì
SimpleField sì sì
size no no
Snippet partial partial L'attributo maxLines viene ignorato.
south yes sì
Style sì yes
StyleMap partial no È supportato solo lo stile normale in un StyleMap.
styleUrl partial yes Gli URL di stile esterni non sono supportati.
text yes yes La sostituzione di $[geDirections] non è supportata
textColor yes sì
TimeSpan sì sì
TimeStamp sì sì
value sì yes
viewRefreshMode partial no Se punta a un servizio WMS, solo onStop è supportato per le sovrimpressioni a terra. Aggiunge BBOX={bboxWest},{bboxSouth},{bboxEast},{bboxNorth} all'URL e si aggiorna quando la mappa viene spostata.
visibility yes sì
west sì sì
when sì sì
width sì yes

Elementi GeoRSS

Il modulo di I/O spaziale supporta gli elementi GeoRSS seguenti.

Nome elemento Lettura Scrittura Note
atom:author yes sì
atom:category sì sì
atom:content sì sì
atom:contributor sì sì
atom:email sì sì
atom:entry sì sì
atom:feed sì sì
atom:icon sì sì
atom:id sì sì
atom:link sì sì
atom:logo sì sì
atom:name sì sì
atom:published sì sì
atom:rights sì sì
atom:source sì sì
atom:subtitle sì sì
atom:summary sì sì
atom:title sì sì
atom:updated sì sì
atom:uri sì sì
geo:lat sì no Scritto come georss:point.
geo:lon yes no Scritto come georss:point.
geo:long yes no Scritto come georss:point.
georss:box yes no Letto come poligono e dotato di una proprietà subType di "Rettangolo"
georss:circle yes sì
georss:elev sì sì
georss:featurename sì sì
georss:featuretypetag sì sì
georss:floor sì sì
georss:line sì sì
georss:point sì sì
georss:polygon sì sì
georss:radius sì sì
georss:relationshiptag sì sì
georss:where sì sì
geourl:latitude sì no Scritto come georss:point.
geourl:longitude yes no Scritto come georss:point.
position yes no Alcuni feed XML incapsulano GML con un tag di posizione invece di eseguire il wrapping con un tag georss:where. Il tag viene letto ma la scrittura viene effettuata tramite un tag georss:where.
rss yes no GeoRSS scritto in formato ATOM.
rss:author yes partial Scritto come atom:author.
rss:category yes partial Scritto come atom:category.
rss:channel yes no
rss:cloud yes no
rss:comments yes no
rss:copyright yes partial Scritto come atom:rights se la forma non ha già una proprietà rights properties.
rss:description yes partial Scritto come atom:content se la forma non ha già una proprietà content properties.
rss:docs yes no
rss:enclosure yes no
rss:generator yes no
rss:guid yes partial Scritto come atom:id se la forma non ha già una proprietà id properties.
rss:image yes partial Scritto come atom:logo se la forma non ha già una proprietà logo properties.
rss:item yes partial Scritto come atom:entry.
rss:language yes no
rss:lastBuildDate yes partial Scritto come atom:updated se la forma non ha già una proprietà updated properties.
rss:link yes partial Scritto come atom:link.
rss:managingEditor yes partial Scritto come atom:contributor.
rss:pubDate yes partial Scritto come atom:published se la forma non ha già una proprietà published properties.
rss:rating yes no
rss:skipDays yes no
rss:skipHours yes no
rss:source yes partial Scritto come atom:source contenente un atom:link.
rss:textInput yes no
rss:title yes partial Scritto come atom:title.
rss:ttl yes no
rss:webMaster yes no

Elementi GML

Il modulo di I/O spaziale supporta gli elementi GML seguenti.

Nome elemento Lettura Scrittura Note
gml:coordinates yes no Scritto come gml:posList.
gml:curveMember yes no
gml:curveMembers yes no
gml:Box yes no Scritto come gml:Envelope.
gml:description yes sì
gml:Envelope sì sì
gml:exterior sì sì
gml:Feature sì no Scritto come forma.
gml:FeatureCollection yes no Scritto come raccolta di geometria.
gml:featureMember yes no Scritto come raccolta di geometria.
gml:geometry yes no Scritto come forma.
gml:geometryMember yes sì
gml:geometryMembers sì sì
gml:identifier sì sì
gml:innerBoundaryIs sì no Scritto con gml.interior.
gml:interior yes sì
gml:LinearRing sì sì
gml:LineString sì sì
gml:lineStringMember sì sì
gml:lineStringMembers sì no
gml:MultiCurve yes no Legge solo membri gml:LineString. Scritto come gml.MultiLineString
gml:MultiGeometry partial partial Letto solo come FeatureCollection.
gml:MultiLineString yes sì
gml:MultiPoint sì sì
gml:MultiPolygon sì sì
gml:MultiSurface sì no Legge solo membri gml:Polygon. Scritto come gml.MultiPolygon
gml:name yes sì
gml:outerBoundaryIs sì no Scritto con gml.exterior.
gml:Point yes sì
gml:pointMember sì sì
gml:pointMembers sì no
gml:Polygon yes sì
gml:polygonMember sì sì
gml:polygonMembers sì no
gml:pos yes sì
gml:posList sì sì
gml:surfaceMember sì yes

Altre note

  • Gli elementi membro vengono analizzati alla ricerca di una geometria che può trovarsi all'interno di elementi figlio. Questa operazione di ricerca è necessaria perché molti formati XML che si estendono da GML potrebbero non inserire una geometria come elemento figlio diretto di un elemento membro.
  • srsName è parzialmente supportato per le coordinate WGS84 e i codici seguenti:EPSG:4326) e Web Mercator (EPSG:3857 o uno dei relativi codici alternativi. Qualsiasi altro sistema di coordinate viene analizzato come WGS84 così com'è.
  • A meno che non venga specificato durante la lettura di un feed XML, l'ordine degli assi viene determinato in base agli hint nel feed XML. Viene assegnata una preferenza per l'ordine degli assi "latitudine, longitudine".
  • A meno che non venga specificato uno spazio dei nomi GML personalizzato per le proprietà durante la scrittura in un file GML, non vengono aggiunte altre informazioni sulle proprietà.

Elementi GPX

Il modulo di I/O spaziale supporta gli elementi GPX seguenti.

Nome elemento Lettura Scrittura Note
gpx:ageofdgpsdata yes sì
gpx:author sì sì
gpx:bounds sì yes Convertito in LocationRect durante la lettura.
gpx:cmt yes sì
gpx:copyright sì sì
gpx:desc sì yes Copiato in una proprietà di descrizione quando viene letto per allinearsi ad altri formati XML.
gpx:dgpsid yes sì
gpx:ele sì yes
gpx:extensions partial partial Quando viene letto, vengono estratte le informazioni sullo stile. Tutte le altre estensioni vengono rese flat in un semplice oggetto JSON. Vengono scritte solo le informazioni sullo stile della forma.
gpx:geoidheight yes sì
gpx:gpx sì sì
gpx:hdop sì sì
gpx:link sì sì
gpx:magvar sì sì
gpx:metadata sì sì
gpx:name sì sì
gpx:pdop sì sì
gpx:rte sì sì
gpx:rtept sì sì
gpx:sat sì sì
gpx:src sì sì
gpx:sym sì yes Il valore viene acquisito, ma non viene usato per modificare l'icona della puntina da disegno.
gpx:text yes sì
gpx:time sì sì
gpx:trk sì sì
gpx:trkpt sì sì
gpx:trkseg sì sì
gpx:type sì sì
gpx:vdop sì sì
gpx:wpt sì sì
gpx_style:color sì yes
gpx_style:line partial partial Sono supportati color, opacity, width e lineCap.
gpx_style:opacity yes sì
gpx_style:width sì sì
gpxx:DisplayColor sì no Utilizzato per specificare il colore di una forma. Se si scrive, viene invece utilizzato il colore gpx_style:line.
gpxx:RouteExtension partial no Tutte le proprietà vengono lette in properties. Viene usato solo DisplayColor.
gpxx:TrackExtension partial no Tutte le proprietà vengono lette in properties. Viene usato solo DisplayColor.
gpxx:WaypointExtension partial no Tutte le proprietà vengono lette in properties. Viene usato solo DisplayColor.
gpx:keywords yes sì
gpx:fix sì yes

Altre note

Durante la scrittura;

  • MultiPoints è suddiviso in singoli punti di tragitto.
  • I valori Polygons e MultiPolygons vengono scritti come tracce.

Tipi di geometria Well-Known Text supportati

Tipo di geometria Lettura Scrittura
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] Solo il parametro Z viene acquisito e aggiunto come terzo valore nel valore Posizione.

[2] Il parametro M non viene acquisito.

Supporto dei dati spaziali delimitati

I dati spaziali delimitati, ad esempio file con valori delimitati da virgole (CSV), spesso contengono colonne con dati spaziali. Ad esempio, potrebbero essere presenti colonne contenenti informazioni sulla latitudine e la longitudine. In formato testo noto potrebbe essere presente una colonna che contiene dati di geometria spaziale.

Rilevamento colonne di dati spaziali

Quando si legge un file delimitato che contiene dati spaziali, l'intestazione viene analizzata per determinare quali colonne contengono campi di posizione. Se l'intestazione contiene informazioni sul tipo, viene usata per eseguire il cast dei valori delle celle al tipo appropriato. Se non viene specificata alcuna intestazione, la prima riga viene analizzata per generarne una. Quando si analizza la prima riga, viene eseguito un controllo di corrispondenza con i nomi di colonna e i nomi seguenti senza distinzione tra maiuscole e minuscole. L'ordine dei nomi è la priorità, nel caso in cui due o più nomi esistano in un file.

Latitude

  • latitude
  • lat
  • latdd
  • lat_dd
  • latitude83
  • latdecdeg
  • y
  • ycenter
  • point-y

Longitude

  • longitude
  • lon
  • lng
  • long
  • longdd
  • long_dd
  • longitude83
  • longdecdeg
  • x
  • xcenter
  • point-x

Elevazione

  • elevation
  • elv
  • altitude
  • alt
  • z

Geografia

La prima riga di dati viene analizzata per individuare le stringhe in formato testo noto.

Tipi di colonne di dati delimitati

Durante l'analisi della riga di intestazione, vengono estratte tutte le informazioni sul tipo nel nome della colonna e vengono usate per eseguire il cast delle celle in tale colonna. Di seguito è riportato un esempio di nome di colonna con un valore di tipo: "ColumnName (typeName)". Sono supportati i nomi dei tipi senza distinzione tra maiuscole e minuscole seguenti:

Numeri

  • edm.int64
  • int
  • long
  • edm.double
  • float
  • double
  • number

Valori booleani

  • edm.boolean
  • bool
  • boolean

Date

  • edm.datetime
  • data
  • datetime

Geografia

  • edm.geography
  • geografia

Stringhe

  • edm.string
  • varchar
  • Testo
  • string

Se non è possibile estrarre informazioni sul tipo dall'intestazione e l'opzione di digitazione dinamica è abilitata durante la lettura, ogni cella viene analizzata singolarmente per determinare il tipo di dati più adatto per il cast.

Passaggi successivi

Per altri esempi di codice da aggiungere alle mappe, vedere gli articoli seguenti:

Leggere e scrivere dati spaziali