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

SQL Server 2008數(shù)據(jù)表中使用空間數(shù)據(jù)類型

數(shù)據(jù)庫 SQL Server 數(shù)據(jù)庫運維
我們將要談到的是大家比較少關(guān)注的空間數(shù)據(jù)類型問題,本文將基于SQL Servr 2008數(shù)據(jù)表來展開。

友情提示,您閱讀本篇博文的先決條件如下:

1、本文示例基于Microsoft SQL Server 2008 R2調(diào)測。

2、具備 Transact-SQL 編程經(jīng)驗和使用 SQL Server Management Studio 的經(jīng)驗。

3、熟悉或了解Microsoft SQL Server 2008中的空間數(shù)據(jù)類型。

4、具備相應(yīng)(比如OGC)的GIS專業(yè)理論知識。

5、其他相關(guān)知識。

通過前面幾篇文章介紹了關(guān)于SQL Server 2008中空間數(shù)據(jù)類型相關(guān)的知識點,了解到了什么是空間數(shù)據(jù),什么是空間數(shù)據(jù)類型,如何在SQL中變成定義基礎(chǔ)的空間對象實例,這些知識點主要是為了后續(xù)學習空間數(shù)據(jù)應(yīng)用和做地理空間分析做準備。本篇將繼續(xù)介紹SQL Server 2008中空間數(shù)據(jù)類型的應(yīng)用知識點,主要介紹如何在數(shù)據(jù)表中使用空間數(shù)據(jù)類型列,如何存儲空間數(shù)據(jù)到空間數(shù)據(jù)類型,以及如何查詢、預(yù)覽空間數(shù)據(jù)等相關(guān)知識點。

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

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

2、向已有數(shù)據(jù)表中添加空間數(shù)據(jù)類型列字段。

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

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

  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 

二、添加空間數(shù)據(jù)類型到已有表

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

--向已有表中添加空間數(shù)據(jù)類型字段

  1. ALTER TABLE [Cities]  
  2.     ADD geo geography  
  3. GO 

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

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

--指派空間數(shù)據(jù)類型列的SRID

  1. ALTER TABLE [Cities]   
  2.     ADD CONSTRAINT [enforce_srid_geographycolumn]   
  3.     CHECK (geo.STSrid = 4326)  
  4. GO 

四、插入空間數(shù)據(jù)到空間數(shù)據(jù)類型字段

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

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

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

四、查詢空間數(shù)據(jù)類型數(shù)據(jù)

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

  1. select * from Cities; 

 

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

--轉(zhuǎn)換空間數(shù)據(jù)為WKT文本

  1. DECLARE @chongqing geometry;  
  2. select @chongqing = CityLocation from Cities where ID=1;  
  3. select @chongqing as 重慶市;  
  4. select @chongqing.ToString() as 重慶市;  
  5. select @chongqing.STAsText() as 重慶市;   --WKT 

  

原文鏈接:http://www.cnblogs.com/beniao/archive/2011/02/21/1959347.html

【編輯推薦】

  1. SQL Server 2000刪除實戰(zhàn)演習
  2. SQL Server存儲過程的命名標準如何進行?
  3. 卸載SQL Server 2005組件的正確順序
  4. 對SQL Server字符串數(shù)據(jù)類型的具體描述
  5. SQL Server數(shù)據(jù)類型的種類與應(yīng)用
責任編輯:彭凡 來源: 博客園
相關(guān)推薦

2011-02-21 13:41:14

SQL Server

2011-02-21 13:06:42

Microsoft S

2009-04-16 17:55:55

SQL Server 空間數(shù)據(jù).NET

2009-04-16 17:38:24

SQL Server 空間數(shù)據(jù)智能

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-09-01 13:24:42

SQL Server 呈現(xiàn)GeoRSS訂閱的Bing Maps

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-08-28 11:38:15

MapPoint

2011-03-22 15:36:44

Spatial TooSQL Server

2010-05-07 12:35:05

Oracle spat

2010-09-13 10:21:26

sql server2

2009-01-20 13:39:56

數(shù)據(jù)挖掘空間數(shù)據(jù)方法

2010-09-13 09:58:17

SQL Server2

2022-03-30 09:30:00

數(shù)據(jù)庫地理空間查詢SQL

2010-10-19 15:54:38

sql server創(chuàng)

2010-09-07 16:28:58

DB2 空間數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號