我剛剛使用地理數據類型,但我已經想出瞭如何使用它從一個點獲取郵編列表(在存儲過程中,我只是把它指向了varchar我提供了「經度緯度」),這非常棒。從地理存儲過程獲得里程
但是,我需要能夠展示的下一個東西大概是距離這些點的距離。我看了幾個答案,找不到任何東西。
這裏是我的存儲過程:
ALTER PROCEDURE [dbo].[GetZipCodesByDistance]
@point varchar(500),
@distance int
AS
BEGIN
SET NOCOUNT ON;
declare @geoPoint geography
set @geoPoint = geography::STGeomFromText('POINT (' + @point + ')', 4326)
.STBuffer(@distance/0.0006213712)
SELECT zc.zip_id AS ZipId
,zc.zip_code AS ZipCodeId
,zc.zip_type AS ZipType
,zc.zip_city AS ZipCity
,zc.zip_utc AS ZipUtc
,zc.zip_dst AS ZipDst
,zc.zip_latitude AS ZipLatitude
,zc.zip_longitude AS ZipLongitude,
(Geo.MakeValid()).STDistance(@geoPoint)
FROM zip_code zc
WHERE zc.Geo.STIntersects(@geoPoint) = 1
所以,我的問題是...我怎麼得到它從點返回哩?我試圖添加列「(Geo.MakeValid()).STDistance(@geoPoint)」,但它返回全零。
謝謝你的幫助!
AJ
那麼你的問題是什麼?請閱讀[** How-to-Ask **](http://stackoverflow.com/help/how-to-ask) \t \t這裏是[** START **](http ://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/),瞭解如何提高您的問題質量並獲得更好的答案。 –
對不起,我不明確,我編輯我的帖子,有問題在那裏。謝謝! – ajtatum