ArcGis中地理数据库(sde)中概念及常见函数
以下概念及函數(shù)均在在Oracle中配置地理數(shù)據(jù)庫(kù)(sde庫(kù))中使用:
一.空間類型
1.概念:存儲(chǔ)幾何數(shù)據(jù)的數(shù)據(jù)類型。所有空間信息均存儲(chǔ)在空間列中;不存在其他的要素表。將空間信息包含在一個(gè)字段中使得在 ArcGIS 之外訪問(wèn)空間數(shù)據(jù)變得更加容易。
2.用途:空間類型具有關(guān)聯(lián)的函數(shù)或方法,可用于通過(guò)結(jié)構(gòu)化查詢語(yǔ)言 (SQL) 訪問(wèn)和操作數(shù)據(jù)
二.SRID
1.概念:空間參考標(biāo)識(shí)符, 是與特定坐標(biāo)系、容差和分辨率關(guān)聯(lián)的唯一標(biāo)識(shí)符。
2.用途:SRID 的填充方式及其所示含義取決于存儲(chǔ)數(shù)據(jù)所用的數(shù)據(jù)庫(kù)。
某些數(shù)據(jù)庫(kù)和空間類型(如 PostgreSQL 中的 PostGIS 幾何或 SQL Server 中的地理類型)使用預(yù)定義的 EPSG 代碼子集,只可使用具有這些 SRID 的空間參考。
其他情況下(如 Oracle、PostgreSQL、IBM DB2 和 Informix 中的 ST_Geometry 類型)可使用具有 Esri 定義的 SRID 的空間參考。
三.空間參考
1.概念:包括一個(gè) x、y、z 值的坐標(biāo)系。在企業(yè)級(jí)地理數(shù)據(jù)庫(kù)中,空間參考還包含容差值和分辨率值。所有這些信息組合在一起將有助于指示平面地圖上的形狀表示地球上的哪個(gè)位置。
2.應(yīng)用:在企業(yè)級(jí)地理數(shù)據(jù)庫(kù)(以及已安裝 ST_Geometry 類型的 Oracle 或 PostgreSQL 數(shù)據(jù)庫(kù))中,所有空間參考系統(tǒng)都存儲(chǔ)在地理數(shù)據(jù)庫(kù)系統(tǒng)表中。
數(shù)據(jù)庫(kù)和存儲(chǔ)類型 地理數(shù)據(jù)庫(kù)系統(tǒng)表
Oracle (ST_Geometry) sde.st_spatial_references
四.ST_Geometry 存儲(chǔ)類型
1.概念:
ST_Geometry是一種用戶定義數(shù)據(jù)類型 (UDT),使用該數(shù)據(jù)類型可定義存儲(chǔ)空間數(shù)據(jù)的列。本身是抽象的、無(wú)法實(shí)例化的超類。但其子類可以實(shí)例化。實(shí)例化的數(shù)據(jù)類型是可定義為表列的數(shù)據(jù)類型,并且其類型值插入表列之中。雖然可以將列定義為類型 ST_Geometry,但是您無(wú)法將 ST_Geometry 值插入此列,因?yàn)闊o(wú)法對(duì) ST_Geometry 進(jìn)行實(shí)例化。相反,您可以插入子類值。
2.結(jié)構(gòu)圖:
3.子類
ST_Geometry 的子類分為兩類:基礎(chǔ)幾何子類和同類集合子類。基礎(chǔ)幾何包括 ST_Point、ST_LineString 和 ST_Polygon,而同類集合包括 ST_MultiPoint、ST_MultiLineString 和 ST_MultiPolygon。與名稱的含義一致,同類集合是基礎(chǔ)幾何的集合。除了共享基礎(chǔ)幾何屬性之外,同類集合還具有某些自身的屬性。
如下圖:
4.常用函數(shù)
創(chuàng)建表community:
CREATE TABLE community(id integer,shape sde.st_geometry);
4.1 ST_Geometry:
定義:通過(guò)熟知文本表示構(gòu)造幾何。
對(duì)于點(diǎn)線面:
語(yǔ)法:sde.st_geometry (wkt clob, srid integer)
示例:
INSERTINTOcommunity(id,shape)VALUES(1,sde.st_geometry('point (1 2)',0));
INSERTINTOcommunity(id,shape)VALUES(2,sde.st_geometry(1,2,null,null,0));
INSERTINTOcommunity(id,shape)VALUES(3,sde.st_geometry('linestring (33 2, 34 3, 35 6)',0));
INSERTINTOcommunity(id,shape)VALUES(4,sde.st_geometry('polygon ((3 3, 4 6, 5 3, 3 3))',0));
4.2 ST_Point:
定義:以熟知文本對(duì)象或坐標(biāo)和空間參考 ID 作為輸入?yún)?shù),返回 ST_Point 類型的對(duì)象。
語(yǔ)法:
sde.st_point (wkt clob, srid integer)
sde.st_point (x number, y number, srid integer)
sde.st_point (x number, y number, m number, srid integer)
sde.st_point (x number, y number, z number, srid integer)
sde.st_point (x number, y number, z number, m number, srid integer)
在 INSERT 語(yǔ)句將 ST_Point 幾何插入到 shape列之前,首先用 ST_Point 函數(shù)將點(diǎn)坐標(biāo)轉(zhuǎn)換為 ST_Point 幾何。
示例:
INSERTINTOcommunityVALUES(1,sde.st_point(10.01,20.03,0));
4.3 ST_PointFromText:
定義:在Oracle中,ST_PointFromText 以點(diǎn)類型的熟知文本表示和空間參考 ID 作為輸入?yún)?shù),返回點(diǎn)對(duì)象。
語(yǔ)法:
sde.st_pointfromtext (wkt varchar2, srid integer)
在調(diào)用 INSERT 語(yǔ)句將點(diǎn)插入到 shape列之前,首先使用 ST_Point 函數(shù)將點(diǎn)文本坐標(biāo)轉(zhuǎn)換為點(diǎn)格式。
示例:
INSERTINTOcommunityVALUES(1,sde.st_pointfromtext('point (10.01 20.03)',0));
4.4 ST_LineString:
定義:是一個(gè)通過(guò)熟知文本表示構(gòu)造線串的存取函數(shù)。
語(yǔ)法:sde.st_linestring (wkt clob, srid integer)
示例:
INSERTINTOcommunity(id,shape)VALUES(1,sde.st_linestring('linestring (750 150, 750 750)',0));
4.5 ST_LineFromText:
定義:以 ST_LineString 類型的熟知文本表示和空間參考 ID 作為輸入,并返回 ST_LineString 類型的對(duì)象。
語(yǔ)法:sde.st_linefromtext (wkt clob, srid integer)
示例:INSERTINTOcommunityVALUES(1,sde.st_linefromtext('linestring (10.01 20.03, 35.93 19.04)',0));
4.6 ST_Polygon:
定義:存取器函數(shù)以熟知文本 (WKT) 表示和空間參考 ID (SRID) 作為輸入?yún)?shù),并生成 ST_Polygon 類型的對(duì)象。
語(yǔ)法:
sde.st_polygon(wktclob,sridinteger)
示例:
INSERTINTOcommunityVALUES(1,sde.st_polygon('polygon ((10.01 20.03, 20.94 21.34, 35.93 10.04, 10.01 20.03))',0));
4.7 ST_PolyFromText:
定義:以熟知文本表示和空間參考 ID 作為輸入?yún)?shù),返回 ST_Polygon 類型的對(duì)象。
語(yǔ)法:
sde.st_polyfromtext (wkt clob, srid integer)
示例:
INSERTINTOcommunityVALUES (1,sde.st_polyfromtext ('polygon ((10.01 20.03, 10.52 40.11, 30.29 41.56,31.78 10.74, 10.01 20.03))', 0));
4.8 ST_SRID:
定義:以 ST_Geometry 對(duì)象作為輸入?yún)?shù),返回其空間參考 ID
語(yǔ)法:
sde.st_srid (shapesde.st_geometry)
示例:
SELECTsde.st_srid(shape)SRIDFROMcommunity;
4.1 ST_AsText:
定義:獲取一個(gè) ST_Geometry 對(duì)象,然后返回其可識(shí)別的文本表示。
語(yǔ)法:sde.st_astext (shape sde.st_geometry)
示例:
SELECTid,sde.st_astext(shape)points FROMcommunity;
總結(jié)
以上是生活随笔為你收集整理的ArcGis中地理数据库(sde)中概念及常见函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: HBase-site.xml 常见重要配
- 下一篇: 3137102127 林志坤(实验3)