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

SQL Server – od zeměpisné délky a šířky po typ dat geometrie

Máte geometrii, která ukládá tvar do euklidovské geometrie, a chcete k ní přiřadit bod na zeměkouli, reprezentovaný zeměpisnou šířkou a délkou, abyste zjistili, zda je uvnitř. To nebude fungovat kvůli způsobu, jakým SQL ukládá data. Pravděpodobně budete muset použít geografické datové typy, abyste to mohli zkontrolovat - zeměpisná šířka a délka jsou body na kouli (ve skutečnosti geodetické údaje, protože Země není tak docela koule.)

Další informace o tom, proč se liší, naleznete v tomto vysvětlení od společnosti Microsoft . Také tato odpověď na stackoverflow:GEOMETRIE a GEOGRAFIE rozdíl v SQL Server 2008

Chcete-li převést data z geometrie na geografii, zkuste:Geography::STGeomFromText(cast(GeomCol as varchar(max)), 4326)

Pak můžete použít STIntersects metoda zdokumentovaná společností Microsoft zde .




  1. Django:Exception Value (2013, '2013:Ztracené připojení k serveru MySQL během dotazu', Žádné)

  2. TEXT vs VARCHAR v InnoDB MySQL 5.5. Kdy použít každý z nich

  3. 4 způsoby, jak získat definici uložené procedury pomocí Transact-SQL

  4. Co je kvalitní vývojové prostředí pro psaní Oracle SQL?