使用Python讀取幾何

2022-06-15 17:06:11 字數 4210 閱讀 4935

要素類中的每個要素都包含一組用於定義面或線折點的點要素,或者包含單個用於定義乙個點要素的座標。可以使用幾何物件( 面 polygon、 折線 polyline、 點幾何 pointgeometry 或 多點 multipoint)訪問這些點,這些幾何物件將以 點物件的陣列形式返回這些點。

要素可具有多個部件。幾何物件的 partcount 屬性將返回要素的部件數。如果指定了索引,則 getpart 方法將返回特定幾何部件的點物件陣列。如果未指定索引,則返回的陣列將包含每個幾何部件的點物件陣列。

pointgeometry 要素將返回單個點物件而不是點物件陣列。所有其他要素型別(面、折線和多點)將返回乙個點物件陣列,或者,如果要素具有多個部分,則返回包含多個點物件陣列的陣列。

如果乙個面包含多個洞,它將由多個環組成。針對面返回的點物件陣列將包含外部環及所有內部環的點。外部環總是先返回,接著是內部環,其中以空點物件作為環之間的分隔符。當指令碼在地理資料庫或 shapefile 中讀取面的座標時,它應包含用於處理內部環的邏輯(如果指令碼需要此資訊);否則,將只讀取外部環。

多部件要素是由多個物理部分組成的,但是只引用資料庫中的一組屬性。例如,在州行政區圖層中,可將夏威夷州看作是乙個多部件要素。雖然它是由許多島嶼組成的,但在資料庫中仍將其記錄為乙個要素。

環是乙個用於定義二維區域的閉合路徑。有效的環是由有效路徑組成的,因而環的起點和終點具有相同的 x,y 座標。順時針環是外部環,逆時針環則定義內部環。

幾何令牌同樣可以作為快捷方式來替代訪問完整幾何物件。附加幾何令牌可用於訪問特定幾何資訊。訪問完整幾何往往更加耗時。如果只需要幾何的某些特定屬性,可使用令牌來提供快捷方式從而訪問幾何屬性。例如,shape@xy 會返回一組代表要素質心的 x,y 座標。

令牌說明

shape@

要素的 幾何物件。

shape@xy

一組要素的質心 x,y 座標。

shape@truecentroid

一組要素的真正質心 x,y 座標。

shape@x

要素的雙精度 x 座標。

shape@y

要素的雙精度 y 座標。

shape@z

要素的雙精度 z 座標。

shape@m

要素的雙精度 m 值。

shape@json

表示幾何的 esri json 字串。

shape@wkb

ogc 幾何的熟知二進位制 (wkb) 製圖表達。該儲存型別將幾何值表示為不間斷的位元組流形式。

shape@wkt

ogc 幾何的熟知文字 (wkt) 製圖表達。其將幾何值表示為文字字串。

shape@area

要素的雙精度面積。

shape@length

要素的雙精度長度。

以下示例將使用 searchcursor 列印所有要素的座標:

點要素類上的搜尋游標

對於上述要素類,指令碼將返回以下資訊:

2.0 4.0

8.0 10.0

7.0 5.0

多點要素類上的搜尋游標

對於上述要素類,指令碼將返回以下資訊:

feature 0:

3.0 8.0

4.0 4.0

6.0 6.0feature 1:

5.0 9.0

8.0 10.0feature 2:

9.0 5.0

面或線要素類上的搜尋游標

對於上述要素類,指令碼將返回以下資訊。要素 0 是單部分面,要素 1 是兩部分面,而要素 2 是帶有內部環的單部分面。

feature 0:

part 0:

3.0 8.0

1.0 8.0

2.0 10.0

3.0 8.0feature 1:

part 0:

5.0 3.0

3.0 3.0

3.0 5.0

5.0 3.0part 1:

7.0 5.0

5.0 5.0

5.0 7.0

7.0 5.0feature 2:

part 0:

9.0 11.0

9.0 8.0

6.0 8.0

6.0 11.0

9.0 11.0interior ring:

7.0 10.0

7.0 9.0

8.0 9.0

8.0 10.0

7.0 10.0

python讀取使用json

學習模組之 json 工作中我們通常會遇到需要資料處理json字串資料,python中我們有乙個特別好的工具json 當然還有picle模組 下面我們就來詳細的介紹一下json工具 安裝,載入 pip install json import json簡單使用,注意區別 dict with open ...

使用python讀取mid mif檔案

1.使用geopandas讀取 df geopandas.read file path,encoding utf 8 gdf geopandas.geodataframe df,geometry geometry crs init epsg 4326 此方法簡單。但是缺點較為明顯,當檔案較大時,會比...

Python使用openpyxl讀取Excel資訊

python的用途越來越廣,不能不開始學習使用了,今天寫個練手的demo,最大的感覺是python和es6挺像的。主要功能是彈出對話方塊,選擇本地excel檔案,然後迴圈讀取出來。使用的是openpyxl模組,只支援xlsx,不支援xls。如下 import openpyxl import tkin...