Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server 2012, география.STContains, грешен резултат?

Сега открих проблема. Потребителят начерта полигона, започващ долу вдясно и тръгнал по посока на часовниковата стрелка. Ако пренаредя точките от най-голямата географска ширина и след това отида в обратна посока, като сортирам по long, lat работи. Намерих помощник за това, но това работи само ако „знаете, че не е наред“:

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

Просто съставете малко решение, което ще коригира моите стойности:https://github.com/danielwertheim/GeographyFactory

и публикация в блог за това: http://danielwertheim.se/sqlgeography-in-sql-server-2012-polygon-must-start-on-correct-position/

и последващи действия относно истинския „проблем“, правилото на лявата ръка:

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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разбиране на заключването на SQL Server за защитена среда на база данни

  2. разделяне на периода от време на месеци

  3. SQL - Изваждане на изчерпваща стойност от редове

  4. Sql сървърът връща стойността на колоната за идентичност след израза за вмъкване

  5. Как да конвертирате DateTime във VarChar