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: