Sdílet prostřednictvím


MakeValid (zeměpisný datový typ)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Převede geografickou instanci, která není platná, na platnou zeměpisnou instanci s platným typem OGC (Open Geospatial Consortium).

Pokud vstupní objekt vrátí hodnotu False pro stIsValid(), MakeValid() převede instanci, která není platná na platnou instanci.

Tato metoda zeměpisného datového typu podporuje instance FullGlobe nebo prostorové instance, které jsou větší než polokoule.

Syntax

  
.MakeValid ()  

Návratové typy

Návratový typ SQL Serveru: zeměpisná oblast

Návratový typ CLR: SqlGeography

Remarks

Tato metoda může změnit typ zeměpisné instance. Body zeměpisné instance se navíc můžou mírně posunout. Výsledky některých metod, jako je například NumPoint(), se můžou změnit.

V případech, kdy neplatná prostorová instance protíná rovník a má ObálkaAngle() = 180, vrátí se instance FullGlobe . Metoda MakeValid() zeměpisného datového typu zajistí nejlepší pokus o vrácení platných instancí, ale výsledky nejsou zaručené, že budou přesné nebo přesné.

Note

Objekty, které nejsou platné, mohou být uloženy v databázi. Metody, které se dají spustit u neplatných instancí (těch instancí, pro které funkce STIsValid() vrací false, jsou metody, které kontrolují platnost nebo umožňují export: STIsValid(), MakeValid(), STAsText(), STAsBinary(), ToString(), AsTextZM() a AsGml().

Tato metoda není přesná.

Examples

První příklad vytvoří neplatnou LineString instanci, která se překrývá sama sebe a používá STIsValid() k potvrzení, že se jedná o neplatnou instanci. STIsValid() vrátí hodnotu 0 pro neplatnou instanci.

DECLARE @g geography;  
SET @g = geography::STGeomFromText('LINESTRING(0 2, 1 1, 1 0, 1 1, 2 2)', 4326);  
SELECT @g.STIsValid();  

Druhý příklad používá MakeValid() k ověření platnosti instance a k otestování, že instance je skutečně platná. STIsValid() vrátí hodnotu 1 pro platnou instanci.

SET @g = @g.MakeValid();  
SELECT @g.STIsValid();  

Třetí příklad ověřuje, jak byla instance změněna, aby byla platná instance.

SELECT @g.ToString();  

Pokud je v tomto příkladu LineString vybrána instance, vrátí se hodnoty jako platná MultiLineString instance.

MULTILINESTRING ((0 2, 1 1, 2 2), (1 1, 1 0))  

Viz také

STIsValid (datový typ geometrie)
Rozšířené metody v zeměpisných instancích