sql >> Database >  >> RDS >> Sqlserver

Gegevenstype geografie versus gegevenstype Geometrie in SQL Server

Het aardrijkskundetype is iets beperkter dan geometrie. Het kan geen verschillende hemisferen kruisen en de buitenste ring moet tegen de klok in worden getrokken.

Helaas (sommigen vinden dit een goede zaak), geeft SQL Server 2012 niet langer een fout wanneer u de ongeldige geografie aanmaakt. Je moet de volgorde van de punten in de Roben Island-geometrie omkeren, zoals:

DECLARE @robben_island geography = ('POLYGON((18.351803 -33.788421, 18.354464 -33.822369,18.386736 -33.820515, 18.382788 -33.787494, 18.351803 -33.788421))')
DECLARE @point_in_robben_island geography= ('POINT(18.369226 -33.80554)')
DECLARE @point_in_alcatraz geography= ('POINT(-122.423401 37.827006)')

SELECT @robben_island.STContains(@point_in_robben_island)   --returns 'True'
SELECT @robben_island.STContains(@point_in_alcatraz)        --returns 'False'



  1. Verschillen tussen DATA INFILE en LOAD DATA LOCAL INFILE

  2. mysql cpp-connector gooit UnknownException tijdens het verbinden

  3. Invoerveld invullen op basis van keuzemenu met Javascript

  4. Is het mogelijk om een ​​tijdstempelkolom te definiëren die niet null is en geen standaard en geen speciaal gedrag bij de update heeft?