SQL地理数据类型不识别纬度和经度

时间:2015-06-17 16:46:21

标签: sql-server-2008 geolocation sql-insert geography

我创建了一个表

CREATE TABLE [dbo].[Geographic](
    [SEPM_Code] [varchar](50) NOT NULL,
    [Rack_Code] [varchar](50) NOT NULL,
    [Team] [varchar](50) NOT NULL,
    [Address] [varchar](max) NOT NULL,
    [Longitude] [geography] NOT NULL,
    [Latitude] [geography] NOT NULL,
 CONSTRAINT [PK_Geographic] PRIMARY KEY CLUSTERED 
(
    [SEPM_Code] ASC
)

当我尝试以下插入

insert into dbo.Geographic
values ('31R001','31R001','Staten Island','100 Cool Ave',-74.243950,40.508638)

我得到了

Msg 206, Level 16, State 2, Line 1
Operand type clash: numeric is incompatible with geography

我希望创建一个包含纬度和经度的代码,地址数据库,最终导入R编程并创建热图。

现在我正在尝试了解geography数据类型,因为它可能对此有所帮助。

我认为纬度和经度浮点值与geography兼容,但我收到错误。

请告知

1 个答案:

答案 0 :(得分:1)

纬度和经度是浮点数。如果要将它们作为单独的列存储在数据库中,请使用float数据类型。请记住,在这种情况下,您无法利用数据库的空间要素,例如空间索引。

地理数据类型用于点,线,折线等对象。当地理列存储点时,它包含纬度和经度。