自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server 2008空間數據應用系列五:數據表中使用空間數據類型

開發(fā)
這篇文章在前面幾篇文章介紹了關于SQL Server 2008中有關空間數據,空間數據類型等的知識點上繼續(xù)介紹如何在數據表中使用空間數據類型列,如何存儲空間數據到空間數據類型等知識點。

  前面幾篇文章介紹了關于SQL Server 2008中空間數據類型相關的知識點,了解到了什么是空間數據,什么是空間數據類型,如何在SQL中變成定義基礎的空間對象實例。這篇文章將繼續(xù)介紹SQL Server 2008中空間數據類型的應用知識點,主要介紹如何在數據表中使用空間數據類型列,如何存儲空間數據到空間數據類型,以及如何查詢、預覽空間數據等相關知識點。

 

  選擇使用空間數據類型,意味著必須在SQL數據表中添加空間數據類型列以存儲空間數據。通常有兩種情況:

  1、創(chuàng)建一張帶有空間數據類型的新表。

  2、向已有數據表中添加空間數據類型列字段。

 

一、創(chuàng)建空間數據類型新表

  創(chuàng)建一個帶有空間數據類型的新表和創(chuàng)建普通的表基本沒有區(qū)別,唯一的不同就是使用了空間數據類型字段。以下SQL演示了創(chuàng)建帶有空間數據類型的數據表:

  1. CREATE TABLE [Cities] (  
  2.     [ID] [int] IDENTITY(1,1) NOT NULL,  
  3.     [CityName] [varchar](255) NOT NULL,  
  4.     [CityLocation] [geometry] NOT NULL 
  5. )  
  6. GO 

二、添加空間數據類型到已有表

  向已有表中添加空間數據類型列和普通表添加新的列是一樣的,同樣使用alter table xxx add yyy datatype命令完成。下面代碼演示了向剛創(chuàng)建的新表添加一空間數據類型字段:

  1. --向已有表中添加空間數據類型字段  
  2. ALTER TABLE [Cities]  
  3.     ADD geo geography  
  4. GO 

三、為空間數據類型列制定空間引用標識(SRID

  任何空間數據類型字段都可以向其指派相應的空間引用標識(SRID),部分空間數據類型字段還是必須制定SRID的。實現對空間數據類型列指派SRID也非常簡單,SQL提供了指派命令來完成,下面的SQL命令演示了給上面新添加的空間數據類型指派SRID的實現。

  1. --指派空間數據類型列的SRID  
  2. ALTER TABLE [Cities]   
  3.     ADD CONSTRAINT [enforce_srid_geographycolumn]   
  4.     CHECK (geo.STSrid = 4326)  
  5. GO 

四、插入空間數據到空間數據類型字段

  插入數據導表格中同樣使用“insert into table.....”語法實現,不同的是插入空間數據的時候需要對數據進行格式化處理才能被成功的插入到空間數據類型列。針對于兩種(geography和geometry)空間數據類型,系統(tǒng)提供了專門的空間格式化語法來處理,比如通過將WKT文本插入到空間數據列,可以使用geometry::STGeomFromText()或者geography::STGeomFromText()函數來對WKT文本進行空間數據類型格式轉化。

  1. insert into Cities   
  2.     (CityName,CityLocation)   
  3.         values   
  4.             ('chongqing',geometry::STGeomFromText('POLYGON ((107.04352 28.870554, 107.043891 28.873231......)',4326));  

  注:上面SQL代碼塊實現了將重慶市區(qū)區(qū)域WKT格式的空間數據插入到Cities表的CityLocation字段中,由于WKT內用太長,代碼段中對其進行了截取。

 

四、查詢空間數據類型數據

  查詢空間數據和普通的數據查詢幾乎沒有區(qū)別,同樣使用“select xxx from table where x=y”的方式實現數據查詢。下面SQL命令演示了查詢剛剛插入的數據記錄:

  1. select * from Cities; 
      

4.1

  同樣可以使用系統(tǒng)函數將查詢出的空間結果轉化為WKT文本格式輸出,下面的SQL命令詳細演示了改功能函數的使用:

  1. --轉換空間數據為WKT文本  
  2. DECLARE @chongqing geometry;  
  3. select @chongqing = CityLocation from Cities where ID=1;  
  4. select @chongqing as 重慶市;  
  5. select @chongqing.ToString() as 重慶市;  
  6. select @chongqing.STAsText() as 重慶市;   --WKT 
 

 

4.2

五、相關資料

  [1]、空間數據庫(百度百科):http://baike.baidu.com/view/1194566.htm

  [2]、使用空間數據實現位置智能:http://tech.ddvip.com/2008-04/120816526343873.html

  [3]、基礎空間對象(MSDN):http://msdn.microsoft.com/de-de/library/bb964711.aspx

  [4]、幾何實例上的OGC方法:http://msdn.microsoft.com/zh-cn/visualc/bb933960.aspx

  [5]、幾何圖形實例上的擴展方法:http://msdn.microsoft.com/zh-cn/library/bb933880.aspx

  [6]、OGC 靜態(tài)幾何圖形方法:http://msdn.microsoft.com/zh-cn/library/bb933894.aspx

  [7]、擴展靜態(tài)幾何圖形方法:http://msdn.microsoft.com/zh-cn/library/bb933805.aspx

【編輯推薦】

  1. SQL Server 2008應用 阻塞(Blocking)
  2. 微軟 SQL Server 2008中自動化數據采集器
  3. 微軟SQL Server 2008令商業(yè)智能平民化
  4. SQL Server 2008幾項新特性概述

 

責任編輯:佚名 來源: 博客園
相關推薦

2011-02-21 13:06:42

Microsoft S

2011-02-21 13:06:34

SQL Servr 2

2009-04-16 17:55:55

SQL Server 空間數據.NET

2011-03-22 15:10:49

Bing MapsSQL Server

2011-03-22 10:20:18

Bing MapsSQL Server

2011-03-22 09:17:12

SQLCRLSQL Server

2011-02-21 10:26:53

Microsoft S

2011-02-21 10:47:44

Microsoft S

2011-02-21 13:23:54

微軟 SQL Serv

2009-04-16 17:38:24

SQL Server 空間數據智能

2011-09-01 13:24:42

SQL Server 呈現GeoRSS訂閱的Bing Maps

2011-03-22 15:36:44

Spatial TooSQL Server

2009-08-28 11:38:15

MapPoint

2009-01-20 13:39:56

數據挖掘空間數據方法

2022-03-30 09:30:00

數據庫地理空間查詢SQL

2010-05-07 12:35:05

Oracle spat

2010-09-07 16:28:58

DB2 空間數據

2022-09-14 11:27:19

物聯(lián)網大數據智慧城市

2011-08-09 18:40:21

Oracle控制文件重做日志文件

2024-10-18 17:03:16

Python地理空間數據處理
點贊
收藏

51CTO技術棧公眾號