Wie validiert Geographie polygon in SQL server 2008?

In der SQL Server 2012 gibt es Methoden, um zu überprüfen Geographie “ .IsValidDetailed() ‚ und ändern Sie die Ausrichtung ‚.ReorientObject (Geographie)‚.

Ich arbeite mit SQL server 2008 und Probleme von polygon-Orientierung.

Frage ist –

  1. ist es eine Lösung zu validieren Geographie polygon oder ändern Sie die Ausrichtung auf gültige Geographie?
  2. ist es möglich zu kopieren, dass IsValidDetailed Methode von SQL Server 2012 auf 2008?
  3. wenn ich es manuell mache, was ist dann die korrekte Orientierung des Polygons für gültig geography-Datentyp?
  4. Wir bestätigen können, geometry-Datentyp in SQL server 2008, ist es ok zu konvertieren Geographie polygon in der geometrie polygon und validiert?

Bitte helfen. Vielen Dank im Voraus

InformationsquelleAutor Amol Patil | 2016-01-11



2 Replies
  1. 2

    Dies ist für mich arbeiten auf SQL Server 2008. Nach dem laden der Form, wie einer geometrie, die Verwendung MakeValid() zu korrigieren, laden Sie dann in eine Geographie.

    declare @gt nvarchar(max)
    declare @gm geometry
    declare @gmvalid geometry
    
    set @gmvalid = @gm.MakeValid()
    
      set @gt = @gmvalid.STAsText()
    
      --select @gt
      if LEFT(@gt,7 ) = 'POLYGON'
      begin
      set @gg = geography::STPolyFromText(@gt, 4326)
      end
      else
      begin
      set @gg = geography::STMPolyFromText(@gt, 4326)
      end
  2. 0

    Fand ich die Lösung, SQL Server-Tools Saptial

    http://sqlspatialtools.codeplex.com/

    Folgenden werden die Methoden, die mein problem gelöst.

    IsValidGeographyFromText(string inputWKT, int srid)

    Prüfen, ob eine Eingabe WKT darstellen können, ist eine gültige Geographie. Diese Funktion erfordert, dass
    die WTK-Koordinate Werte Längen – /Breitengrad-Werte, in dieser Reihenfolge, und dass eine gültige
    Geographie SRID-Wert angegeben ist. Diese Funktion wird nicht werfen eine Ausnahme, auch in
    Rand-Bedingungen (d.h. Längen – /Breitengrad-Koordinaten vertauscht werden, um Breitengrad – /Längengrad).

    SqlGeography MakeValidGeographyFromText(string inputWKT, int srid)

    Konvertieren einer Eingabe WKT auf einen gültigen geography-Instanz.
    Diese Funktion erfordert, dass die WKT-Werte in einem Koordinatensystem sind die longitude/latitude-Werte,
    in dieser Reihenfolge, und dass eine gültige Geographie SRID-Wert angegeben ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.