日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Postgis常用函数

發布時間:2025/3/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Postgis常用函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1,基本操作函數

AddGeometryColumn(<schema_name>, <table_name>,<column_name>, <srid>, <type>, <dimension>)
給一個已存在屬性數據表增加一個幾何字段(geomtrycolumn)。schema_name?指表的模式的名字,srid?必須是一個整數指對應于?SPATIAL_REF_SYS?表,type必須是一個大寫的字符串,用來描述幾何類型,例如:'POLYGON'?或者?'MULTILINESTRING'。

DropGeometryColumn(<schema_name>, <table_name>,<column_name>)
從一個空間數據表中刪除一個幾何字段。

ST_SetSRID(geometry, integer)
給一個幾何對象(geometry)設置一個整型的SRID,對于在一個范圍內的查詢非常有用。?

2.?幾何空間數據關系函數

ST_Distance(geometry, geometry)?
返回兩個幾何對象的距離(笛卡兒距離),不使用索引。?

ST_DWithid(geometry, geometry, float)?
如果一個幾何對象(geometry)在另一個幾何對象描述的距離(float)內,返回TRUE。如果有索引,會用到索引。?

ST_Equals(geometry, geometry)
如果兩個空間對象相等,則返回TRUE。用這個函數比用“=”更好,例如:
equals('LINESTRING(0 0, 10 10)','LINESTRING(0 0, 5 5, 10 10)')?返回?TRUE。

ST_Disjoint(geometry, geometry)
如果兩個對象不相連,則返回TRUE。不要使用GeometryCollection作為參數。

ST_Intersects(geometry, geometry)
判斷兩個幾何空間數據是否相交,如果相交返回true,不要使用GeometryCollection作為參數。
Intersects(g1, g2 ) --> Not (Disjoint(g1, g2 ))
不使用索引可以用_ST_Intersects.

ST_Touches(geometry, geometry)
如果兩個幾何空間對象存在接觸,則返回TRUE。不要使用GeometryCollection作為參數。
a.Touches(b) -> (I(a) intersection I(b) = {empty set} ) and (a intersectionb) not empty
不使用索引可以用_ST_Touches.

ST_Crosses(geometry, geometry)
如果兩個幾何空間對象存在交叉,則返回TRUE。不要使用GeometryCollection作為參數。
不使用索引可以用_ST_Crosses.

ST_Within(geometry A, geometry B)
如果幾何空間對象A存在空間對象B中,則返回TRUE,不要使用GeometryCollection作為參數。
不使用索引可以用_ST_Within

ST_Overlaps(geometry, geometry)
如果兩個幾何空間數據存在交迭,則返回?TRUE,不要使用GeometryCollection作為參數。
不使用索引可以用_ST_Overlaps.

ST_Contains(geometry A, geometry B)
如果幾何空間對象A包含空間對象B,則返回?TRUE,不要使用GeometryCollection作為參數。
這個函數類似于ST_Within(geometry B, geometryA)
不使用索引可以用_ST_Contains.

ST_Covers(geometry A, geometry B)
如果幾何空間對象B中的所有點都在空間對象A中,則返回?TRUE。
不要使用GeometryCollection作為參數。
不使用索引可以用_ST_Covers.

ST_CoveredBy(geometry A, geometry B)
如果幾何空間對象A中的所有點都在空間對象B中,則返回?TRUE。

3,Geometry Processing Functions

幾何空間數據處理函數

ST_Centroid(geometry)
返回質心點,就是根據幾何空間數據,活動該幾何空間數據的中心點,返回一個空間點數據.

ST_Area(geometry)
如果幾何空間數據為多邊形,或者多多邊形,則返回空間數據的外圍(返回類型double precision) ;

ST_Length(geometry)
這個曲線在其相關的空間參考長度(返回類型double precision) ;

ST_PointOnSurface(geometry)
一定在幾何空間線數據上的點,返回一個數據點

ST_Buffer(geometry, double, [integer])
buffer操作一個很有用函數,
這個函數的第一個參數是要操作的空間幾何數據,第二個參數長度(距離),第三個參數為一個整型,
這個函數返回一個空間數據類型,以當前第一個參數空間幾何數據為參考點,返回小于等于距離的空間

幾何數據點,最后由這些點組成一個多邊形空間數據,最后一個參數表示
在組成一個1/4圓的有幾個點分隔。也就是說如果最好一個參數為8那么這個最后組成的多邊形就是32邊

的多邊形,如果不指定這個參數,系統默認的是8
注意:第二個參數,距離它的單位為空間數據單位(度),在運算時需要進行單位換算,最后轉換成度

,單位的換算關系如下:
1英里= 63360?米
1米=1/1852?海里
1海里= 1/60度
如果要進行具體的運算,需要進行一下單位換算,比如要求一個500米的范圍,那么應該是

500*1/1852*1/60(度)

ST_Envelope(geometry)
這個函數可以返回mbr(空間最小外包矩形),傳入參數可以是point line polygon。


ST_extent(geometry set)
這個函數可以對一個空間數據集進行操作,返回一個最小包含矩形(mbr).
如:SELECT EXTENT(GEOM) FROMGEOMTABLE GROUP BY CATEGORY


ST_Difference(geometry A, geometry B)
返回一個幾何空間數據A不同于空間數據B的幾何空間數據類型,不要使用GeometryCollection作為參數。
也就是說,如果A為一個line,B也為一個line,那么他們返回的類型就是B把A分割的多線。
如:
select ST_AsEWKT(ST_Difference(geomfromText('LINESTRING(1 1,2 3,3 4,31)'),geomfromText('LINESTRING(2 0,2 2,5 2,3 1)')))
返回的MULTILINESTRING((1 1,2 3,3 4,32),(3 2,3 1))
如果是A和B都是一個POLYGON多邊形,那么返回的就是多多邊形,如果相交,那么返回的就是B把A分割,并且不再B中的多多邊形。
select ST_AsEWKT(ST_Difference(geomfromText('POLYGON((1 1,2 3,3 4,3 1,11))'),geomfromText('POLYGON((2 0,2 2,5 2,1 3,2 0))')))

ST_Union(geometry, geometry)
返回一個合并的幾何空間數據,將兩個幾何空間數據合并為一個幾何空間數據,或者GeometryCollection,不要使用GeometryCollection作為參數。

ST_LineMerge(geometry)

合并為線


4?,Geometry Accessors

ST_AsText(geometry)
將幾何空間數據,轉換成容易理解的空間數據文本格式,
例如:
(0,0 0,1 1,1 1,0 0,0)
轉換后應該是這樣的結果?POLYGON(0 0,0 1,1 1,1 0,0 0)

ST_SRID(geometry)
返回當前幾何空間數據的SRID值

ST_IsClosed(geometry)
判斷幾何空間數據是否是閉合,就是判斷起始點和終點坐標是相同的,如果是相同的返回true,否則返回false.

ST_IsRing(geometry)
這個函數參數的對象是line,判斷起始點和終點坐標是否相同,
如果閉合(這個曲線除了起始點和終點相同外,沒有其他相交點)怎返回true,否則false,

ST_NumPoints(geometry)
返回幾何空間數據lineString上的第一條線上點的個數。


GeometryType(geometry)
判斷幾何空間數據的類型。
例如
select GeometryType(geomfromText('MULTILINESTRING((1 1,2 3,3 4,3 1,2 1,1 1),(12,2 3,4 5))'))
返回的類型為?MULTILINESTRING。

關于每個polygon過大,致使程序處理超級慢的問題解決:

? ? ? 用geometry ST_Scale(geometry geomA, float XFactor, float YFactor);函數,對原始geometry切割,插入到新的數據表中,這樣就變成了對小polygon的處理

?

總結

以上是生活随笔為你收集整理的Postgis常用函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产成人三级在线观看视频 | 中文字幕不卡一区 | 国产免费av一区二区三区 | 亚洲不卡中文字幕无码 | 国产精品老熟女一区二区 | 激情五月综合色婷婷一区二区 | 黄色69视频| 中文字幕一区二区三区日韩精品 | 无套暴操 | 91中文在线 | 五个女闺蜜把我玩到尿失禁 | 人人澡人人澡人人 | 求毛片网站| 91麻豆精品国产91久久久久久久久 | 秘密基地在线观看完整版免费 | a视频在线观看 | 人人天天夜夜 | 亚洲国产精一区二区三区性色 | 色婷婷狠狠操 | 亚洲综合久久av一区二区三区 | 欧美日韩国产片 | 在线成人毛片 | 日韩高清三区 | 综合精品国产 | 国产精品无码自拍 | av资源首页 | 久久乐国产精品 | 亚洲色视频 | 国产精品久久99 | 麻豆天天躁天天揉揉av | 欧美在线免费看 | www.黄色免费 | 少妇媚药按摩中文字幕 | 欧美大尺度床戏做爰 | 一区二区三区四区中文字幕 | 日本黄色录相 | 91丨九色丨丰满人妖 | 在线精品亚洲欧美日韩国产 | 蜜桃久久av | 狠狠躁天天躁夜夜躁婷婷 | 欧美tickle狂笑裸体vk | 秋霞影院午夜伦 | 国产麻豆成人传媒免费观看 | 亚洲性大片 | 国产精品xxxxx | www.四虎在线观看 | 亚洲一区二区三区黄色 | 婷婷二区| 91精品国产色综合久久不卡98 | 女女调教被c哭捆绑喷水百合 | 亚洲精品一区二区三区不卡 | 欧美成人免费在线视频 | 超碰在线观看91 | 国产精品免费久久久久 | 中日一级片 | 久久精品国产欧美亚洲人人爽 | 青青草十七色 | 小嫩女直喷白浆 | 欧美性一区二区三区 | 寡妇激情做爰呻吟 | 青草91| 日本网站在线看 | 拔擦8x成人一区二区三区 | 欧美激情视频网 | 黄色录像片子 | 欧美一区二区三区激情视频 | 欧美不卡二区 | 亚洲视频在线观看一区二区 | 在线观看免费视频一区 | 成人性色生活片 | 古装做爰无遮挡三级 | ass极品国模人体欣赏 | 一级特黄aa大片免费播放 | 中文字幕在线观看av | 夜夜嗨av色一区二区不卡 | 成人黄色小视频 | 日韩中文字幕免费观看 | 日本国产精品 | 中文字幕第18页 | 国产丰满麻豆 | 少妇三级全黄 | 五月开心播播网 | 亚洲区自拍偷拍 | 超碰在线免费97 | 蜜桃av影视 | 男女男精品视频站 | 国产一区中文 | 亚洲精品黄色 | 欧美三根一起进三p | 四虎精品视频 | 在线黄色网页 | 精品福利片 | 白嫩白嫩国产精品 | 国产精品zjzjzj在线观看 | 丰满白嫩尤物一区二区 | 一级特黄色片 | 午夜精品一二三区 | 国产传媒av在线 | 亚洲国产视频一区二区 |