Szczegóły obsługiwanego formatu danych
Ten artykuł zawiera szczegółowe informacje dotyczące obsługi odczytu i zapisu dla wszystkich tagów XML i dobrze znanych typów geometrii tekstu. Szczegółowe informacje o tym, jak rozdzielane dane przestrzenne są analizowane w module we/wy przestrzennym.
Obsługiwane przestrzenie nazw XML
Moduł przestrzennego we/wy obsługuje tagi XML z następujących przestrzeni nazw.
Prefiks przestrzeni nazw | Identyfikator URI przestrzeni nazw | Uwagi |
---|---|---|
atom |
http://www.w3.org/2005/Atom |
|
geo |
http://www.w3.org/2003/01/geo/wgs84_pos# |
Obsługa tylko do odczytu w plikach GeoRSS. |
georss |
http://www.georss.org/georss |
|
geourl |
http://geourl.org/rss/module/ |
Obsługa tylko do odczytu w plikach GeoRSS. |
gml |
http://www.opengis.net/gml |
|
gpx |
http://www.topografix.com/GPX/1/1 |
|
gpxx |
http://www.garmin.com/xmlschemas/GpxExtensions/v3 |
Obsługa tylko do odczytu w plikach GPX. Analizuje i używa metody DisplayColor. Wszystkie inne właściwości dodane do metadanych kształtu. |
gpx_style |
http://www.topografix.com/GPX/gpx_style/0/2 |
Obsługiwane w plikach GPX. Używa koloru linii. |
gx |
http://www.google.com/kml/ext/2.2 |
|
kml |
http://www.opengis.net/kml/2.2 |
|
rss |
Tylko do odczytu. Funkcja GeoRSS zapisuje przy użyciu formatu Atom. |
Obsługiwane elementy XML
Moduł we/wy przestrzenne obsługuje następujące elementy XML. Wszystkie nieobsługiwane tagi XML są konwertowane na obiekt JSON. Następnie każdy tag jest dodawany jako właściwość w properties
polu kształtu nadrzędnego lub warstwy.
Elementy KML
Moduł przestrzennego we/wy obsługuje następujące elementy KML.
Nazwa elementu | Przeczytaj | Napisz | Uwagi |
---|---|---|---|
address |
partial | tak | Obiekt jest analizowany, ale nie jest używany do pozycjonowania kształtu. |
AddressDetails |
partial | nie | Obiekt jest analizowany, ale nie jest używany do pozycjonowania kształtu. |
atom:author |
tak | tak | |
atom:link |
tak | tak | |
atom:name |
tak | tak | |
BalloonStyle |
partial | partial | displayMode nie jest obsługiwany. Przekonwertowano na element PopupTemplate . Aby napisać, dodaj popupTemplate właściwość jako właściwość funkcji, dla której chcesz ją napisać. |
begin |
tak | tak | |
color |
tak | tak | Zawiera #AABBGGRR i #BBGGRR . Przeanalizowane w ciągu koloru CSS |
colorMode |
tak | nie | |
coordinates |
tak | tak | |
Data |
tak | tak | |
description |
tak | tak | |
displayName |
tak | tak | |
Document |
tak | tak | |
drawOrder |
partial | nie | Odczytaj nakładki naziemne i służy do ich sortowania. |
east |
tak | tak | |
end |
tak | tak | |
ExtendedData |
tak | tak | Obsługuje nietypowe Data SimpleData zamiany jednostek , lub Schema i formularza $[dataName] . |
extrude |
partial | partial | Obsługiwane tylko w przypadku wielokątów. MultiGeometry, które mają wielokąty o różnych wysokościach, są podzielone na poszczególne cechy. Style linii nie są obsługiwane. Wielokąty o wysokości 0 są renderowane jako płaski wielokąt. Podczas odczytywania wysokość pierwszej współrzędnej w pierścieniu zewnętrznym jest dodawana jako właściwość wysokości wielokąta. Następnie wysokość pierwszej współrzędnej jest używana do renderowania wielokąta na mapie. |
fill |
tak | tak | |
Folder |
tak | tak | |
GroundOverlay |
tak | tak | color nie jest obsługiwana |
heading |
partial | nie | Przeanalizowane, ale nie renderowane przez SimpleDataLayer . Zapisuje tylko wtedy, gdy dane są przechowywane we właściwości kształtu. |
hotSpot |
tak | partial | Zapisuje tylko wtedy, gdy dane są przechowywane we właściwości kształtu. Jednostki są zwracane tylko jako "piksele". |
href |
tak | tak | |
Icon |
partial | partial | Przeanalizowane, ale nie renderowane przez SimpleDataLayer . Zapisuje właściwość ikony kształtu tylko wtedy, gdy zawiera dane identyfikatora URI. Obsługiwany jest tylko warunek href . |
IconStyle |
partial | partial | icon wartości , heading , colorMode i hotspots są analizowane, ale nie są renderowane przez SimpleDataLayer |
innerBoundaryIs |
tak | tak | |
kml |
tak | tak | |
LabelStyle |
nie | nie | |
LatLonBox |
tak | tak | |
gx:LatLonQuad |
tak | tak | |
LinearRing |
tak | tak | |
LineString |
tak | tak | |
LineStyle |
tak | tak | colorMode nie jest obsługiwany. |
Link |
tak | nie | Tylko właściwość jest obsługiwana href w przypadku łączy sieciowych. |
MultiGeometry |
partial | partial | Podczas odczytywania mogą być podzielone na poszczególne funkcje. |
name |
tak | tak | |
NetworkLink |
tak | nie | Linki muszą znajdować się w tej samej domenie co dokument. |
NetworkLinkControl |
nie | nie | |
north |
tak | tak | |
open |
tak | tak | |
outerBoundaryIs |
tak | tak | |
outline |
tak | tak | |
overlayXY |
nie | nie | |
Pair |
partial | nie | normal Obsługiwany jest tylko styl w obiekcie StyleMap . highlight nie jest obsługiwany. |
phoneNumber |
tak | tak | |
PhotoOverlay |
nie | nie | |
Placemark |
tak | tak | |
Point |
tak | tak | |
Polygon |
tak | tak | |
PolyStyle |
tak | tak | |
Region |
partial | partial | LatLongBox program jest obsługiwany na poziomie dokumentu. |
rotation |
nie | nie | |
rotationXY |
nie | nie | |
scale |
nie | nie | |
Schema |
tak | tak | |
SchemaData |
tak | tak | |
schemaUrl |
partial | tak | Nie obsługuje ładowania stylów z dokumentów zewnętrznych, które nie są uwzględnione w kmZ. |
ScreenOverlay |
nie | nie | |
screenXY |
nie | nie | |
SimpleData |
tak | tak | |
SimpleField |
tak | tak | |
size |
nie | nie | |
Snippet |
partial | partial | maxLines atrybut jest ignorowany. |
south |
tak | tak | |
Style |
tak | tak | |
StyleMap |
partial | nie | Obsługiwany jest tylko normalny styl w obiekcie StyleMap . |
styleUrl |
partial | tak | Adresy URL stylu zewnętrznego nie są obsługiwane. |
text |
tak | tak | Zamiana nie jest obsługiwana $[geDirections] |
textColor |
tak | tak | |
TimeSpan |
tak | tak | |
TimeStamp |
tak | tak | |
value |
tak | tak | |
viewRefreshMode |
partial | nie | Jeśli wskazuje usługę WMS, obsługiwane są tylko onStop nakładki naziemne. BBOX={bboxWest},{bboxSouth},{bboxEast},{bboxNorth} Dołącza do adresu URL i aktualizuje się w miarę przesuwania mapy. |
visibility |
tak | tak | |
west |
tak | tak | |
when |
tak | tak | |
width |
tak | tak |
Elementy geoRSS
Moduł we/wy przestrzenne obsługuje następujące elementy GeoRSS.
Nazwa elementu | Przeczytaj | Napisz | Uwagi |
---|---|---|---|
atom:author |
tak | tak | |
atom:category |
tak | tak | |
atom:content |
tak | tak | |
atom:contributor |
tak | tak | |
atom:email |
tak | tak | |
atom:entry |
tak | tak | |
atom:feed |
tak | tak | |
atom:icon |
tak | tak | |
atom:id |
tak | tak | |
atom:link |
tak | tak | |
atom:logo |
tak | tak | |
atom:name |
tak | tak | |
atom:published |
tak | tak | |
atom:rights |
tak | tak | |
atom:source |
tak | tak | |
atom:subtitle |
tak | tak | |
atom:summary |
tak | tak | |
atom:title |
tak | tak | |
atom:updated |
tak | tak | |
atom:uri |
tak | tak | |
geo:lat |
tak | nie | Napisana jako .georss:point |
geo:lon |
tak | nie | Napisana jako .georss:point |
geo:long |
tak | nie | Napisana jako .georss:point |
georss:box |
tak | nie | Odczytywanie jako wielokąta i nadane subType właściwości "Prostokąt" |
georss:circle |
tak | tak | |
georss:elev |
tak | tak | |
georss:featurename |
tak | tak | |
georss:featuretypetag |
tak | tak | |
georss:floor |
tak | tak | |
georss:line |
tak | tak | |
georss:point |
tak | tak | |
georss:polygon |
tak | tak | |
georss:radius |
tak | tak | |
georss:relationshiptag |
tak | tak | |
georss:where |
tak | tak | |
geourl:latitude |
tak | nie | Napisana jako .georss:point |
geourl:longitude |
tak | nie | Napisana jako .georss:point |
position |
tak | nie | Niektóre źródła danych XML opakowują język GML za pomocą tagu pozycji zamiast opakowującego go tagiem georss:where . Odczytaj ten tag, ale zapisuje przy użyciu tagu georss:where . |
rss |
tak | nie | GeoRSS napisany w formacie ATOM. |
rss:author |
tak | partial | Napisane jako atom:author . |
rss:category |
tak | partial | Napisane jako atom:category . |
rss:channel |
tak | nie | |
rss:cloud |
tak | nie | |
rss:comments |
tak | nie | |
rss:copyright |
tak | partial | Zapisane jako atom:rights kształt, jeśli nie ma rights properties już właściwości. |
rss:description |
tak | partial | Zapisane jako atom:content kształt, jeśli nie ma content properties już właściwości. |
rss:docs |
tak | nie | |
rss:enclosure |
tak | nie | |
rss:generator |
tak | nie | |
rss:guid |
tak | partial | Zapisane jako atom:id kształt, jeśli nie ma id properties jeszcze właściwości. |
rss:image |
tak | partial | Zapisane jako atom:logo kształt, jeśli nie ma logo properties już właściwości. |
rss:item |
tak | partial | Napisane jako atom:entry . |
rss:language |
tak | nie | |
rss:lastBuildDate |
tak | partial | Zapisane jako atom:updated kształt, jeśli nie ma updated properties jeszcze właściwości. |
rss:link |
tak | partial | Napisane jako atom:link . |
rss:managingEditor |
tak | partial | Napisane jako atom:contributor . |
rss:pubDate |
tak | partial | Zapisane jako atom:published kształt, jeśli nie ma published properties już właściwości. |
rss:rating |
tak | nie | |
rss:skipDays |
tak | nie | |
rss:skipHours |
tak | nie | |
rss:source |
tak | partial | Napisany jako element atom:source zawierający element atom:link . |
rss:textInput |
tak | nie | |
rss:title |
tak | partial | Napisane jako atom:title . |
rss:ttl |
tak | nie | |
rss:webMaster |
tak | nie |
Elementy GML
Moduł we/wy przestrzenne obsługuje następujące elementy GML.
Nazwa elementu | Przeczytaj | Napisz | Uwagi |
---|---|---|---|
gml:coordinates |
tak | nie | Zapisano jako gml:posList . |
gml:curveMember |
tak | nie | |
gml:curveMembers |
tak | nie | |
gml:Box |
tak | nie | Zapisano jako gml:Envelope . |
gml:description |
tak | tak | |
gml:Envelope |
tak | tak | |
gml:exterior |
tak | tak | |
gml:Feature |
tak | nie | Zapisane jako kształt. |
gml:FeatureCollection |
tak | nie | Napisana jako kolekcja geometryczna. |
gml:featureMember |
tak | nie | Napisana jako kolekcja geometryczna. |
gml:geometry |
tak | nie | Zapisane jako kształt. |
gml:geometryMember |
tak | tak | |
gml:geometryMembers |
tak | tak | |
gml:identifier |
tak | tak | |
gml:innerBoundaryIs |
tak | nie | Napisana przy użyciu polecenia gml.interior . |
gml:interior |
tak | tak | |
gml:LinearRing |
tak | tak | |
gml:LineString |
tak | tak | |
gml:lineStringMember |
tak | tak | |
gml:lineStringMembers |
tak | nie | |
gml:MultiCurve |
tak | nie | Odczytuje gml:LineString tylko członków. Zapisane jako gml.MultiLineString |
gml:MultiGeometry |
partial | partial | Tylko odczytane jako featureCollection. |
gml:MultiLineString |
tak | tak | |
gml:MultiPoint |
tak | tak | |
gml:MultiPolygon |
tak | tak | |
gml:MultiSurface |
tak | nie | Odczytuje gml:Polygon tylko członków. Zapisane jako gml.MultiPolygon |
gml:name |
tak | tak | |
gml:outerBoundaryIs |
tak | nie | Napisana przy użyciu polecenia gml.exterior . |
gml:Point |
tak | tak | |
gml:pointMember |
tak | tak | |
gml:pointMembers |
tak | nie | |
gml:Polygon |
tak | tak | |
gml:polygonMember |
tak | tak | |
gml:polygonMembers |
tak | nie | |
gml:pos |
tak | tak | |
gml:posList |
tak | tak | |
gml:surfaceMember |
tak | tak |
Więcej notatek
- Elementy składowe są wyszukiwane pod kątem geometrii, która może być pochowana w elementach podrzędnych. Ta operacja wyszukiwania jest niezbędna, ponieważ wiele formatów XML, które rozciągają się od języka GML, może nie umieszczać geometrii jako bezpośredniego elementu członkowskiego.
srsName
jest częściowo obsługiwany dla współrzędnych WGS84 i następujących kodów:EPSG:4326) i web Mercator (EPSG:3857 lub jeden z jego alternatywnych kodów. Każdy inny układ współrzędnych jest analizowany jako WGS84, jak to jest.- Chyba że określono podczas odczytywania źródła danych XML, kolejność osi jest określana na podstawie wskazówek w kanale informacyjnym XML. Preferencja jest podana dla kolejności osi "szerokość geograficzna, długość geograficzna".
- Jeśli nie określono niestandardowej przestrzeni nazw GML dla właściwości podczas zapisywania w pliku GML, inne informacje o właściwości nie są dodawane.
Elementy GPX
Moduł we/wy przestrzenne obsługuje następujące elementy GPX.
Nazwa elementu | Przeczytaj | Napisz | Uwagi |
---|---|---|---|
gpx:ageofdgpsdata |
tak | tak | |
gpx:author |
tak | tak | |
gpx:bounds |
tak | tak | Przekonwertowane na element LocationRect podczas odczytu. |
gpx:cmt |
tak | tak | |
gpx:copyright |
tak | tak | |
gpx:desc |
tak | tak | Skopiowane do właściwości opisu podczas odczytu w celu dostosowania do innych formatów XML. |
gpx:dgpsid |
tak | tak | |
gpx:ele |
tak | tak | |
gpx:extensions |
partial | partial | Podczas odczytu wyodrębniane są informacje o stylu. Wszystkie inne rozszerzenia są spłaszczone w prosty obiekt JSON. Zapisywane są tylko informacje o stylu kształtu. |
gpx:geoidheight |
tak | tak | |
gpx:gpx |
tak | tak | |
gpx:hdop |
tak | tak | |
gpx:link |
tak | tak | |
gpx:magvar |
tak | tak | |
gpx:metadata |
tak | tak | |
gpx:name |
tak | tak | |
gpx:pdop |
tak | tak | |
gpx:rte |
tak | tak | |
gpx:rtept |
tak | tak | |
gpx:sat |
tak | tak | |
gpx:src |
tak | tak | |
gpx:sym |
tak | tak | Wartość jest przechwytywana, ale nie jest używana do zmiany ikony pinezki. |
gpx:text |
tak | tak | |
gpx:time |
tak | tak | |
gpx:trk |
tak | tak | |
gpx:trkpt |
tak | tak | |
gpx:trkseg |
tak | tak | |
gpx:type |
tak | tak | |
gpx:vdop |
tak | tak | |
gpx:wpt |
tak | tak | |
gpx_style:color |
tak | tak | |
gpx_style:line |
partial | partial | color , , opacity width , lineCap są obsługiwane. |
gpx_style:opacity |
tak | tak | |
gpx_style:width |
tak | tak | |
gpxx:DisplayColor |
tak | nie | Służy do określania koloru kształtu. W przypadku pisania gpx_style:line kolor jest używany zamiast tego. |
gpxx:RouteExtension |
partial | nie | Wszystkie właściwości są odczytywane w pliku properties . Jest używany tylko DisplayColor . |
gpxx:TrackExtension |
partial | nie | Wszystkie właściwości są odczytywane w pliku properties . Jest używany tylko DisplayColor . |
gpxx:WaypointExtension |
partial | nie | Wszystkie właściwości są odczytywane w pliku properties . Jest używany tylko DisplayColor . |
gpx:keywords |
tak | tak | |
gpx:fix |
tak | tak |
Więcej notatek
Podczas pisania;
- Punkty MultiPoint są podzielone na poszczególne punkty drogi.
- Wielokąty i MultiPolygony są zapisywane jako utwory.
Obsługiwane dobrze znane typy geometrii tekstu
Typ geometrii | Przeczytaj | Napisz |
---|---|---|
PUNKT | x | x |
PUNKT Z | x | x |
PUNKT M | x | x[2] |
PUNKT ZM | x[1][2] | |
LINESTRING | x | x |
LINESTRING Z | x | x |
LINESTRING M | x | x[2] |
LINESTRING ZM | x[1][2] | |
WIELOKĄT | x | x |
WIELOKĄT Z | x | x |
WIELOKĄT M | x | x[2] |
WIELOKĄT 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] Przechwytywany jest tylko parametr Z i dodawany jako trzecia wartość w wartości Pozycja.
[2] Parametr M nie jest przechwytywany.
Obsługa rozdzielonych danych przestrzennych
Rozdzielane dane przestrzenne, takie jak pliki wartości rozdzielane przecinkami (CSV), często zawierają kolumny zawierające dane przestrzenne. Na przykład mogą istnieć kolumny zawierające informacje o szerokości i długości geograficznej. W dobrze znanym formacie tekstowym może istnieć kolumna zawierająca dane geometrii przestrzennej.
Wykrywanie kolumn danych przestrzennych
Podczas odczytywania rozdzielanego pliku zawierającego dane przestrzenne nagłówek jest analizowany w celu określenia, które kolumny zawierają pola lokalizacji. Jeśli nagłówek zawiera informacje o typie, jest używany do rzutowania wartości komórek do odpowiedniego typu. Jeśli nagłówek nie zostanie określony, pierwszy wiersz zostanie przeanalizowany w celu wygenerowania nagłówka. Podczas analizowania pierwszego wiersza jest wykonywane sprawdzanie w celu dopasowania nazw kolumn z następującymi nazwami w sposób niewrażliwy na wielkość liter. Kolejność nazw jest priorytetem, jeśli w pliku istnieje co najmniej dwie nazwy.
Szerokość
latitude
lat
latdd
lat_dd
latitude83
latdecdeg
y
ycenter
point-y
Długość
longitude
lon
lng
long
longdd
long_dd
longitude83
longdecdeg
x
xcenter
point-x
Elevation
elevation
elv
altitude
alt
z
Obszar geograficzny
Pierwszy wiersz danych jest skanowany pod kątem ciągów w formacie dobrze znanego tekstu.
Rozdzielane typy kolumn danych
Podczas skanowania wiersza nagłówka wszelkie informacje o typie, które są w nazwie kolumny, są wyodrębniane i używane do rzutowania komórek w tej kolumnie. Oto przykład nazwy kolumny, która ma wartość typu: "Nazwakolumny (typeName)". Obsługiwane są następujące nazwy typów bez uwzględniania wielkości liter:
Liczby
- edm.int64
- int
- długi
- edm.double
- liczba zmiennoprzecinkowa
- double
- Liczba
Wartości logiczne
- edm.boolean
- bool
- boolean
Daty
- edm.datetime
- data
- datetime
Obszar geograficzny
- edm.geography
- obszary geograficzne
Ciągi
- edm.string
- varchar
- text
- string
Jeśli nie można wyodrębnić informacji o typie z nagłówka, a opcja dynamicznego wpisywania jest włączona podczas odczytywania, każda komórka jest analizowana indywidualnie, aby określić, jaki typ danych najlepiej nadaje się do rzutowania jako.
Następne kroki
Więcej przykładów kodu do dodania do map można znaleźć w następujących artykułach: