Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance
Azure SQLKoncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Geografický prostorový datový typ, geografie, představuje data v souřadnicovém systému s kruhovou zemí. Tento typ je implementován jako datový typ clr (Common Language Runtime) .NET v SQL Serveru. Zeměpisný typ SQL Serveru ukládá tři tečky (kulatá země) data, jako jsou souřadnice zeměpisné šířky GPS a délky.
Zeměpisný typ je předdefinovaný a dostupný v každé databázi. Sloupce tabulky typu geografie můžete vytvářet a pracovat se zeměpisnými daty stejným způsobem, jako byste používali jiné typy zadané systémem.
Vytvoření nebo konstruování nové geografické instance
Vytvoření nové geografické instance z existující instance
Datový typ zeměpis poskytuje řadu předdefinovaných metod, které můžete použít k vytvoření nových zeměpisných instancí na základě existujících instancí.
Vytvoření zóny kolem geografického útvaru
STBuffer (zeměpisný datový typ)
Vytvoření vyrovnávací paměti kolem zeměpisné oblasti, což umožňuje toleranci
BufferWithTolerance (zeměpisný datový typ)
Vytvoření zeměpisné oblasti z průsečíku dvou zeměpisných instancí
STIntersection (zeměpisný datový typ)
Vytvoření zeměpisné oblasti ze sjednocení dvou zeměpisných instancí
STUnion (zeměpisný datový typ)
Vytvoření geografie z bodů, z nichž jedna geografie nepřekrývá jinou
STDifference (zeměpisný datový typ)
Vytvoření zeměpisné instance ze Well-Known textového vstupu
Datový typ zeměpis poskytuje několik předdefinovaných metod, které generují geografii ze reprezentace WKT (Open Geospatial Consortium). Standard WKT je textový řetězec, který umožňuje výměnu zeměpisných dat v textové podobě.
Vytvoření libovolného typu geografické instance ze vstupu WKT
STGeomFromText (zeměpisný datový typ)
Vytvoření instance zeměpisného bodu ze vstupu WKT
STPointFromText (zeměpisný datový typ)
Vytvoření geografické instance MultiPointu ze vstupu WKT
STMPointFromText (zeměpisný datový typ)
Vytvoření geografické instance LineString ze vstupu WKT
STLineFromText (zeměpisný datový typ)
Vytvoření geografické instance MultiLineString ze vstupu WKT
STMLineFromText (zeměpisný datový typ)
Vytvoření geografické instance Polygonu ze vstupu WKT
STPolyFromText (zeměpisný datový typ)
Vytvoření zeměpisné instance MultiPolygon ze vstupu WKT
STMPolyFromText (zeměpisný datový typ)
Vytvoření geografické instance GeometryCollection ze vstupu WKT
STGeomCollFromText (zeměpisný datový typ)
Vytvoření geografické instance z "Well-Known Binary" vstupu
WKB je binární formát určený OGC, který umožňuje výměnu geografických dat mezi klientskou aplikací a databází SQL. Následující funkce přijímají vstup WKB pro vytváření geografických instancí:
Vytvoření libovolného typu geografické instance ze vstupu WKB
STGeomFromWKB (zeměpisný datový typ)
Vytvoření instance zeměpisného bodu ze vstupu WKB
STPointFromWKB (zeměpisný datový typ)
Vytvoření geografické instance MultiPointu ze vstupu WKB
STMPointFromWKB (zeměpisný datový typ)
Vytvoření geografické instance LineString ze vstupu WKB
STLineFromWKB (zeměpisný datový typ)
Vytvoření geografické instance MultiLineString ze vstupu WKB
STMLineFromWKB (zeměpisný datový typ)
Vytvoření geografické instance Mnohoúhelníku ze vstupu WKB
STPolyFromWKB (zeměpisný datový typ)
Vytvoření geografické instance MultiPolygon ze vstupu WKB
STMPolyFromWKB (zeměpisný datový typ)
Vytvoření geografické instance GeometryCollection ze vstupu WKB
STGeomCollFromWKB (zeměpisný datový typ) STGeomCollFromWKB (zeměpisný datový typ)
Vytvoření geografické instance z textového vstupu GML
Datový typ geografických dat poskytuje metodu, která generuje geografickou instanci z GML, což je XML reprezentace geografické instance. SQL Server podporuje podmnožinu GML.
Další informace o Geography Markup Language naleznete v OGC Specifikace: OGC Specifikace, Geography Markup Language.
Vytvoření libovolného typu geografické instance ze vstupu GML
GeomFromGML (zeměpisný datový typ)
Vrácení Well-Known Textu a Well-Known Binary z instance geografie
Následující metody můžete použít k vrácení formátu WKT nebo WKB zeměpisné instance:
Vrácení reprezentace WKT zeměpisné instance
STAsText (zeměpisný datový typ)
ToString (zeměpisný datový typ)
Vrácení reprezentace zeměpisné instance WKT včetně všech hodnot Z a M
AsTextZM (zeměpisný datový typ)
Vrácení reprezentace WKB zeměpisné instance
StAsBinary (zeměpisný datový typ)
Vrácení reprezentace GML geografické instance
AsGml – zeměpisný datový typ
Dotazování na vlastnosti a chování zeměpisných instancí
Všechny zeměpisné instance mají řadu vlastností, které lze načíst pomocí metod, které SQL Server poskytuje. Následující témata definují vlastnosti a chování zeměpisných typů a metody pro dotazování jednotlivých typů.
Informace o platnosti, typu instance a sbírce geometrií
Po vytvoření instance geografické můžete použít následující metody k vrácení typu instance, nebo pokud se jedná o instanci GeometryCollection, vrátit konkrétní geografickou instanci.
Vrácení typu instance zeměpisné oblasti
STGeometryType (zeměpisný datový typ)
Určení, jestli je zeměpis daným typem instance
InstanceOf (zeměpisný datový typ)
Určení, jestli je geografická instance dobře vytvořená pro daný typ instance
STNumGeometries (zeměpisný datový typ)
Vrácení konkrétní geografické oblasti v instanci GeometryCollection
STGeometryN (zeměpisný datový typ) STGeometryN (zeměpisný datový typ)
Počet bodů
Všechny neprázdné geografické instance se skládají z bodů. Tyto body představují souřadnice zeměpisné šířky a délky země, na které jsou nakresleny zeměpisné instance. Zeměpis datového typu poskytuje řadu předdefinovaných metod pro dotazování bodů instance.
Vrácení počtu bodů, které tvoří instanci
STNumPoints (zeměpisný datový typ)
Vrátit konkrétní bod v instanci
STPointN (datový typ geometrie)
Vrácení počátečního bodu instance
STStartPoint (zeměpisný datový typ)
Vrácení koncového bodu instance
STEndPoint (zeměpisný datový typ)
Dimension
Neprázdná zeměpisná instance může být 0, 1 nebo 2rozměrná. Nedimenzionální geografické instance, jako je například Point a MultiPoint, nemají žádnou délku ani oblast. Jednorozměrné objekty, například LineString, CircularString, CompoundCurve a MultiLineString, mají délku. Dvojrozměrné instance, jako je Polygon, CurvePolygon a MultiPolygon, mají oblast a délku. Prázdné instance hlásí dimenzi -1 a GeometryCollection hlásí maximální rozměr jeho obsahu.
Vrácení dimenze instance
STDimension (zeměpisný datový typ)
Vrácení délky instance
STLength (zeměpisný datový typ)
Vrácení oblasti instance
StArea (zeměpisný datový typ)
Empty
Prázdnázeměpisná instance neobsahuje žádné body. Délka prázdných instancí LineString, CircularString, CompoundCurve a MultiLineString je 0. Oblast prázdných instancí Polygon, CurvePolygon a MultiPolygon je 0.
Určení, jestli je instance prázdná
StIsEmpty (zeměpisný datový typ)
Closure
Uzavřenázeměpisná instance je obrázek, jehož počáteční a koncové body jsou stejné. Mnohoúhelníky jsou považovány za uzavřené. Instance bodů nejsou uzavřeny.
Kruh je jednoduchá uzavřená instance LineString .
Určení, jestli je instance uzavřená
Seznam stIsClosed (zeměpisný datový typ)
Vrátit počet okruhů v instanci mnohoúhelníku
NumRings (zeměpisný datový typ)
Vrácení zadaného okruhu zeměpisné instance
RingN (zeměpisný datový typ)
ID prostorového odkazu (SRID)
ID prostorového odkazu (SRID) je identifikátor určující, v jakém elipsoidálním souřadnicovém systému je geografická instance reprezentována. Nelze porovnat dvě zeměpisné instance s různými identifikátory SRID.
Nastavení nebo vrácení SRID instance
STSrid (zeměpisný datový typ)
Tuto vlastnost lze upravit.
Určení vztahů mezi geografickými instancemi
Datový typ zeměpis poskytuje mnoho předdefinovaných metod, které můžete použít k určení vztahů mezi dvěma zeměpisnými instancemi.
Určení, zda dvě instance tvoří stejnou množinu bodů
STEquals (datový typ geometrie)
Určení, jestli jsou dvě instance oddělené
STDisjoint (datový typ geometrie)
Určení, jestli se dvě instance protínají
STIntersects (datový typ geometrie)
Určení bodu nebo bodů, kde se protínají dvě instance
STIntersection (zeměpisný datový typ)
Určení nejkratší vzdálenosti mezi body ve dvou zeměpisných instancích
STDistance (datový typ geometrie)
Určení rozdílu v bodech mezi dvěma zeměpisnými instancemi
STDifference (zeměpisný datový typ)
Odvození symetrického rozdílu nebo jedinečných bodů jedné geografické instance ve srovnání s jinou instancí
STSymDifference (zeměpisný datový typ)
Zeměpisná instance musí používat podporované SRID.
SQL Server podporuje SRID na základě standardů EPSG. Při provádění výpočtů nebo používání metod s geografickými prostorovými daty je nutné použít SRID sql Serveru pro geografické instance. Identifikátor SRID se musí shodovat s jedním ze identifikátorů SRID zobrazených v zobrazení katalogu sys.spatial_reference_systems . Jak už bylo zmíněno dříve, při provádění výpočtů s prostorovými daty pomocí zeměpisného datového typu budou výsledky záviset na tom, který elipsoid byl použit při vytváření vašich dat, protože každému elipsoidu je přiřazen konkrétní identifikátor prostorového odkazu (SRID).
SQL Server používá výchozí SRID 4326, který se při použití metod v geografických instancích mapuje na prostorový referenční systém WGS 84. Pokud používáte data z jiného systému prostorového odkazu než WGS 84 (nebo SRID 4326), budete muset určit konkrétní SRID pro zeměpisná prostorová data.
Remarks
Geometrické a geografické typy nelze použít jako sloupce tabulky v koncovém bodu analýzy SQL v Microsoft Fabric nebo
Warehouse v Microsoft Fabric.
Examples
Následující příklady ukazují, jak přidat a dotazovat se na zeměpisná data.
Příklad A.
Tento příklad vytvoří tabulku se sloupcem identity a sloupcem geographyGeogCol1. Třetí sloupec vykreslí geography sloupec do reprezentace Open Geospatial Consortium (OGC) Well-Known Text (WKT) a použije metodu STAsText() . Pak se vloží dva řádky: jeden řádek obsahuje LineString instanci geographya jeden řádek obsahuje Polygon instanci.
IF OBJECT_ID ( 'dbo.SpatialTable', 'U' ) IS NOT NULL
DROP TABLE dbo.SpatialTable;
GO
CREATE TABLE SpatialTable
( id int IDENTITY (1,1),
GeogCol1 geography,
GeogCol2 AS GeogCol1.STAsText()
);
GO
INSERT INTO SpatialTable (GeogCol1)
VALUES (geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326));
INSERT INTO SpatialTable (GeogCol1)
VALUES (geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326));
GO
Příklad B.
Tento příklad používá metodu STIntersection() k vrácení bodů, kde se obě dříve vložené geography instance protínají.
DECLARE @geog1 geography;
DECLARE @geog2 geography;
DECLARE @result geography;
SELECT @geog1 = GeogCol1 FROM SpatialTable WHERE id = 1;
SELECT @geog2 = GeogCol1 FROM SpatialTable WHERE id = 2;
SELECT @result = @geog1.STIntersection(@geog2);
SELECT @result.STAsText();