Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Server 2012, address.STContains, kết quả sai?

Bây giờ tôi đã tìm thấy vấn đề. Người dùng đã vẽ đa giác bắt đầu từ phía dưới bên phải và đi theo chiều kim đồng hồ. Nếu tôi sắp xếp lại thứ tự các điểm từ vĩ độ lớn nhất và sau đó đi ngược chiều kim loại bằng cách sắp xếp theo vĩ độ dài thì nó hoạt động. Đã tìm thấy người trợ giúp cho nó, nhưng điều đó chỉ hoạt động nếu bạn "biết nó sai":

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

Chỉ cần kết hợp một giải pháp nhỏ sẽ khắc phục các giá trị của tôi: https://github.com/danielwertheim/GeographyFactory

và một bài đăng trên blog về nó: http://danielwertheim.se/sqlgeography-in-sql-server-2012-polygon-must-start-on-correct-position/

và phần tiếp theo về "vấn đề" thực sự, quy tắc bên trái:

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. SqlException (0x80131904):Tên đối tượng 'dbo.Categories' không hợp lệ

  2. Sự cố về quyền khi chạy gói SSIS từ Sql Job

  3. Sử dụng RegEx trong SQL Server

  4. Chuyển đổi ‘smalldatetime’ thành ‘datetimeoffset’ trong SQL Server (Ví dụ T-SQL)

  5. SQL Server - Bảng PIVOT động - SQL Injection