Jojoxx.net logotyp

 

 

Du är här: Start > Artiklar > MS SQL
Användare ikonAnvändare
Besökare just nu: 109
Snabblänkar ikonSnabblänkar
JavaScript-arkivet
Perl
FAQ

Sök på Jojoxx.net


MS SQL

Hur räknar man ut avståndet mellan 2 koordinater?

DECLARE @LatA float = 59.60;
DECLARE @LngA float = 15.20;
DECLARE @LatB float = 59.61;
DECLARE @LngB float = 15.21;
DECLARE @PositionA geography = geography::Point(@LatA, @LngA, 4326);
DECLARE @PositionB geography = geography::Point(@LatB, @LngB, 4326);
DECLARE @Distance float = @PositionA.STDistance(@PositionB);

Alternativ:

DECLARE @LatA float = 59.60;
DECLARE @LngA float = 15.20;
DECLARE @LatB float = 59.61;
DECLARE @LngB float = 15.21;
DECLARE @Distance float =  ACOS(SIN(PI()*@LatA/180.0)*SIN(PI()*@LatB/180.0)+COS(PI()*@LatA/180.0)*COS(PI()*@LatB/180.0)*COS(PI()*@LngB/180.0-PI()*@LngA/180.0))*6371000;

Hur konverterar man från datatypen float till varchar?

DECLARE @Lat float = 59.6034669;
DECLARE @Lng float = 15.2089374;
DECLARE @Pos nvarchar(34);
SET @Pos = CAST(@Lat AS nvarchar(16)) + ', ' + CAST(@Lng AS nvarchar(16));

,