如何让地理字段填充半径值
Posted
技术标签:
【中文标题】如何让地理字段填充半径值【英文标题】:How do I get a geography field to populate with a radius value 【发布时间】:2019-11-07 19:49:38 【问题描述】:我有一个接受地理值的 SQL 数据库字段,我正在尝试用地理点的半径填充该值。我希望能够通过 SSMS 对表执行此更新,因此 SQL 脚本将很有帮助。例如我有以下详细信息
Longitude: -87.6648
Latitude: 41.6747
我能够从以下 sql 语句计算地理点并将其保存到我的位置表中的地理编码字段
Update Locations
set geocode = geography::STGeomFromText ('POINT(' + @long + ' ' + @lat + ')', 4326)
where ID = @LocationID
geopoint = 0xE6100000010C3C4ED1915CD644405F984C158CEA55C0
现在我正在尝试获取此地理点半径 25 英里的值,并将该值保存到位置表中的另一个地理值。我将在代码的其他区域使用此值来确定位于这 25 英里范围内的供应商。
期待一个看起来像这样的值 0xE61000000104010400001299B63E963F4640BED9C566D7F154C0C7685C4F1D424640BF4C8A9870F354C0166EE998A0444640376D6DD30CF554C0E1943614204746400DC1AC13ACF654C0329125BA9B49464077EB79554EF854C09AFBA083134C4640C7B0FA94F3F954C0876D9C69874E464082FA48CE9BFB54C09F9D1465F7504640E1DB72FD46FD54C0107C0F6F6353464090967A1EF5FE54C0CE4E9C80CB554640CD9F562DA60055C0D7CDD3922F584640E0A5F1255A0255C0623FD89E8F5A4640DB952A04110455C00994D59DEB5C4640C4A1D4C3CA0555C0EA820189435F46400147B760870755C0B5A59B59976146402D558ED6460955C0B394ED08E76346403BF50921090B55C0B9024B9032664640F7B0CE3BCE0C55C015D911E9 ........ P>
【问题讨论】:
【参考方案1】:试试 STBuffer()。像这样:
declare @metersPerMile = 40234;
select geocode.STBuffer(25*@metersPerMile)
From locations;
【讨论】:
以上是关于如何让地理字段填充半径值的主要内容,如果未能解决你的问题,请参考以下文章