sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Spatial polygon vrangen ud

Du kan kontrollere, om resultatet af EnvelopeAngle() metoden for geografien var 180, brug derefter ReorientObject() funktion til at rette det.

Her er eksemplet:

--A CW polygon DECLARE @G3 GEOGRAPHY = 'POLYGON ((45 45, 44 45, 44 46, 45 46, 45 45))'; SELECT @G3.EnvelopeAngle(); --180 SELECT @G3.ReorientObject().STAsText(); --POLYGON ((44 46, 44 45, 45 45, 45 46, 44 46))

REDIGER som angivet i kommentarerne kan du rette aktuelle geometrier ved hjælp af en simpel opdateringskommando (hvis du er sikker på, at de ikke er korrekte):

UPDATE foo_table SET bar_column = bar_column.ReorientObject() 
    WHERE bar_column.EnvelopeAngle() > 90
 


  1. Fejl under forsøg på at vælge x rækker fra DB2 (V4R5M0) via sql server forbundet server ved hjælp af OPENQUERY

  2. ODP.NET Managed bibliotek løser alias, men 32-bit bibliotek gør

  3. Vælg 2 kolonner og flet data

  4. Sådan opretter du forbindelse til MySQL ved hjælp af PHP