sql 通过@maplion为@simplot获取Lat / Long的FIPS代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 通过@maplion为@simplot获取Lat / Long的FIPS代码相关的知识,希望对你有一定的参考价值。

/* 
	Returns County Data for given LATITUDE and LONGITUDE
	
	Example usage:
	select a.Latitude, a.Longitude, a.Area, f.NAME, f.FIPS from World.dbo.Locations a --any table with Latitude and Longitude
	cross apply dbo.Get_County_From_Lat_Long(a.Latitude, a.Longitude) f
*/
CREATE FUNCTION [dbo].[Get_County_From_Lat_Long] (
	@LATITUDE NUMERIC(10,6),
	@LONGITUDE NUMERIC(10,6)
)
RETURNS @COUNTY_TABLE TABLE (
	NAME NVARCHAR(32),
	STATE_NAME NVARCHAR(25),
	STATE_FIPS NVARCHAR(2),
	CNTY_FIPS NVARCHAR(3),
	FIPS NVARCHAR(5),
	SHAPE GEOMETRY
)
as
BEGIN

	/* Test Variables -- Morgan County Colorado */
		--DECLARE @LATITUDE NUMERIC(10,6) = 40.4
		--DECLARE @LONGITUDE NUMERIC(10,6) = -103.9
		--DECLARE @FIPS NVARCHAR(5)

		DECLARE @POINT GEOMETRY
		SET @POINT = geometry::STPointFromText('POINT(' + CAST(@LONGITUDE AS VARCHAR(20)) + ' ' + CAST(@LATITUDE AS VARCHAR(20)) + ')', 4326)

		insert into @COUNTY_TABLE
			select
				NAME,
				STATE_NAME,
				STATE_FIPS,
				CNTY_FIPS,
				FIPS,
				SHAPE
			from United_States.dbo.Counties
			where Shape.STIntersects(@POINT) = 1
	RETURN
END

GO

以上是关于sql 通过@maplion为@simplot获取Lat / Long的FIPS代码的主要内容,如果未能解决你的问题,请参考以下文章

SQL 通过微秒时间戳获取过去几个月的行?

通过sql注入漏洞读写文件获取webshell

通过PHP从SQL中的表中获取ID

sql如何通过当前日期获取上周,上上周,上上上周的起始日期(周一_周七)

SQL 获取 CreatedDate = 2 天前

如何通过 LINQ 将 TimeSpan 计算转换为 SQL