sql >> Databáze >  >> RDS >> Sqlserver

SQL Server 2012, geography.STContains, špatný výsledek?

Teď jsem problém našel. Uživatel nakreslil polygon začínající vpravo dole a šel po směru hodinových ručiček. Pokud změním pořadí bodů od největší zeměpisné šířky a pak půjdu proti směru řazením podle dlouhé, zeměpisné šířky, funguje to. Našel jsem pro to pomocníka, ale ten funguje pouze tehdy, když „víš, že je to špatně“:

if(sqlGeography.EnvelopeAngle() > 90)
    sqlGeography ? sqlGeography.ReorientObject();

Stačí dát dohromady malé řešení, které opraví mé hodnoty:https://github.com/danielwertheim/GeographyFactory

a blogový příspěvek o tom: http://danielwertheim.se/sqlgeography-in-sql-server-2012-polygon-must-start-on-correct-position/

a pokračování o skutečném „problému“, pravidle levé ruky:

http:// danielwertheim.se/sqlgeography-in-sql-server-2012-polygon-must-start-on-correct-position-no/




  1. Jak zvládnout vývoj databáze Play Framework 2 v produkci

  2. Jak zalomit dlouhé řádky textu ve výsledcích SQLite

  3. Postgresql konektory pomocí VC++

  4. Jak najít n-tý řádek v MySQL