【问题标题】:How to add value to geography datatype column?如何为地理数据类型列添加值?
【发布时间】:2014-07-30 08:31:48
【问题描述】:

我正在尝试在t-sql 中插入一条记录,如下所示。我对向地理数据类型列添加值感到震惊。

这是一个地理值:

data = 0xE6100000010C8FE4F21FD26F49406002B7EEE6A9E13F

请告诉我如何在t-sql 语句中为地理值添加价值。

插入语句

    GO

INSERT INTO [dbo].[GeographicLocation]
           ([RecordGUID]
           ,[Postcode]
           ,[Eastings]
           ,[Northings]
           ,[Longitude]
           ,[Latitude]
           ,[MilesFromWisley]
           ,[MilesFromRosemoor]
           ,[MilesFromHarlowCarr]
           ,[MilesFromHydeHall]
           ,[NearestRHSGardenId]
           ,[Geolocation]
           ,[CreatedBy]
           ,[CreatedOn]
           ,[UpdatedBy]
           ,[UpdatedOn])
     VALUES
           (newId()
           ,'A1 3cc'
           ,'579648'
           ,'111337'
           ,'0.55199'
           ,'0.55199'
           ,'0.55199'
           ,'0.55199'
           ,'0.55199'
           ,'0.55199'
           ,1
           ,<Geolocation, geography,> 
           ,'Admin'
           ,GETDATE()
           ,'Admin'
           ,GETDATE())
GO

表格

    GO

/****** Object:  Table [dbo].[GeographicLocation]    Script Date: 29/07/2014 17:23:19 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[GeographicLocation](
    [Id] [int] IDENTITY(1,1) NOT NULL,  
    [Postcode] [nvarchar](10) NOT NULL,
    [Eastings] [varchar](6) NOT NULL,
    [Northings] [varchar](7) NOT NULL,
    [Longitude] [float] NOT NULL,
    [Latitude] [float] NOT NULL,
    [MilesFromWisley] [float] NOT NULL,
    [MilesFromRosemoor] [float] NOT NULL,
    [MilesFromHarlowCarr] [float] NOT NULL,
    [MilesFromHydeHall] [float] NOT NULL,
    [NearestRHSGardenId] [int] NOT NULL,
    [Geolocation] [geography] NOT NULL,
    [CreatedBy] [varchar](50) NOT NULL,
    [CreatedOn] [datetime] NOT NULL,
    [UpdatedBy] [varchar](50) NOT NULL,
    [UpdatedOn] [datetime] NOT NULL,
 CONSTRAINT [PK_GeographicLocation] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

请参阅下面以 csv 文件格式插入的数据:

    RecordGUID,Postcode,Eastings,Northings,Longitude,Latitude,MilesFromWisley,MilesFromRosemoor,MilesFromHarlowCarr,MilesFromHydeHall,NearestRHSGarden,Geolocation,CreatedBy,CreatedOn,UpdatedBy,UpdatedOn
3EA36A53-4A3B-423D-9EE8-00000D7D7D10,TN38 9DU,579648,111337,0.55199,50.8736,54.00910156,204.9701573,232.9195992,54.82085336,4,0xE6100000010C8FE4F21FD26F49406002B7EEE6A9E13F,Tun,29/07/2014 16:11,NULL,NULL
C913CE04-CE58-45D3-A50E-000011B6E7D5,OX20 1RF,444949,215133,-1.349094,51.83299,52.07852776,135.3794838,148.9129785,83.33775562,4,0xE6100000010C91F2936A9FEA49405CAD1397E395F5BF,Tun,29/07/2014 16:11,NULL,NULL

【问题讨论】:

    标签: sql sql-server tsql sqlgeography


    【解决方案1】:

    检查:X 放置经度值,Y 放置纬度值,Z 放置高度值。

     INSERT INTO [dbo].[GeographicLocation]
                   ([RecordGUID]
                   ,[Postcode]
                   ,[Eastings]
                   ,[Northings]
                   ,[Longitude]
                   ,[Latitude]
                   ,[MilesFromWisley]
                   ,[MilesFromRosemoor]
                   ,[MilesFromHarlowCarr]
                   ,[MilesFromHydeHall]
                   ,[NearestRHSGardenId]
                   ,[Geolocation]
                   ,[CreatedBy]
                   ,[CreatedOn]
                   ,[UpdatedBy]
                   ,[UpdatedOn])
             VALUES
                   (newId()
                   ,'A1 3cc'
                   ,'579648'
                   ,'111337'
                   ,'0.55199'
                   ,'0.55199'
                   ,'0.55199'
                   ,'0.55199'
                   ,'0.55199'
                   ,'0.55199'
                   ,1
                   ,STGeomFromWKB(0xE6100000010C8FE4F21FD26F49406002B7EEE6A9E13F, 4326)
                   ,'Admin'
                   ,GETDATE()
                   ,'Admin'
                   ,GETDATE())
        GO
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-03
      • 2011-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      相关资源
      最近更新 更多