SQL Server 2008 - 从记录中获取地理信息

发布于 2024-09-03 14:31:08 字数 566 浏览 7 评论 0原文

我刚开始使用 SQL Server 2008 中的地理类型。我的数据库中有一个名为“位置”的表。 “位置”具有以下列和类型:

Location
--------
City nvarchar(256)
State nvarchar(256)
PostalCode nvarchar(25)
Latitude decimal(9, 6)
Longitude decimal(9, 6)

每个位置都与我的数据库中的商店记录相关。我正在尝试查找用户输入的 10 英里半径内的商店或邮政编码或城市/州。为了实现这一目标,我知道我需要依靠地理位置。此时我有:

DECLARE @startingPoint geography;
SET @startingPoint=geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);

这为我提供了硬编码文本值的起点。但是,我不知道如何将位置表中的纬度/经度转换为地理实例。

如何将数据库中的纬度/经度转换为地理实例,以便我可以继续处理我的查询?

谢谢你!

I am new to using the geography types in SQL Server 2008. I have a table in my database called "Location". "Location" has the following columns and types:

Location
--------
City nvarchar(256)
State nvarchar(256)
PostalCode nvarchar(25)
Latitude decimal(9, 6)
Longitude decimal(9, 6)

Each Location is related to a Store record in my database. I am trying to find the stores within a 10 mile radius or postal code or city/state that a user enters. To accomplish this, I know that I need to rely on geographies. At this time I have:

DECLARE @startingPoint geography;
SET @startingPoint=geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);

That gives me the starting point from a hard-coded textual value. However, I do not know how to convert a lat/long from my Location table into a geography instance.

How do I convert a lat/long in my database to a geography instance so I can continue to work on my query?

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

滥情空心 2024-09-10 14:31:08
select geography :: Point (Latitude,  Longtitude, 4326)
from Location.Location
select geography :: Point (Latitude,  Longtitude, 4326)
from Location.Location
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文