最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中shapefile庫(kù)讀取shapefile文件信息

 更新時(shí)間:2023年06月29日 10:03:35   作者:努力搬磚的giser  
本文主要介紹了python中shapefile庫(kù)讀取shapefile文件信息,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

shapefile是GIS中非常重要的一種數(shù)據(jù)類(lèi)型,在ArcGIS中被稱為要素類(lèi)(Feature Class),主要包括點(diǎn)(point)、線(polyline)和多邊形(polygon)。Python腳本是ArcGIS官方推薦的腳本語(yǔ)言,通過(guò)Python腳本能夠很方便的調(diào)用ArcGIS中的各種工具和函數(shù)批量完成所需操作。本文所介紹的這個(gè)庫(kù)(Python Shapefile Library)是一個(gè)Python庫(kù),用于在Python腳本中對(duì)ArcGIS中的Shapefile文件(.shp,.shx,.dbf等格式)進(jìn)行讀寫(xiě)操作。

開(kāi)發(fā)準(zhǔn)備

安裝命令:pip install pyshp

使用導(dǎo)入:import shapefile

Shapefile文件的讀操作

通過(guò)創(chuàng)建Reader類(lèi)的對(duì)象進(jìn)行shapefile文件的讀操作。

file = shapefile.Reader('shapefile name')

“幾何數(shù)據(jù)”通過(guò)Reader類(lèi)的shapes( )和shape( )方法來(lái)讀取,二者的區(qū)別在于:shapes()方法不需要指定參數(shù),其返回值是一個(gè)列表,包含該文件中所有的"幾何數(shù)據(jù)"對(duì)象,而shape( )方法則需要通過(guò)指定參數(shù)返回所需要的"幾何數(shù)據(jù)"對(duì)象。

shape = file.shape(i)#讀取第i+1個(gè)要素,索引序列從0開(kāi)始(參數(shù)是整數(shù)類(lèi)型)
shapes = file.shapes()#讀取全部要素
# -*- coding: utf-8 -*-
import shapefile# 使用pyshp
file = shapefile.Reader("E://arcgisData//行政區(qū)劃數(shù)據(jù)//省界_region.shp")#讀取
#讀取元數(shù)據(jù)
print(str(file.shapeType))  # 輸出shp類(lèi)型
print(file.encoding)# 輸出shp文件編碼
print(file.bbox)  # 輸出shp的文件范圍(外包矩形)
print(file.numRecords)  # 輸出shp文件的要素?cái)?shù)據(jù)
print(file.fields)# 輸出所有字段信息
# print(file.records())  # 輸出所有屬性表

補(bǔ)充 shp類(lèi)型信息

shp屬性表字段信息

字段索引字段類(lèi)型
C字符,文字
N數(shù)字,帶或不帶小數(shù)
F浮動(dòng)(與“N”相同)
L邏輯,表示布爾值True / False值
D日期
M備忘錄,在GIS中沒(méi)有意義,而是xbase規(guī)范的一部分

展示單個(gè)要素
實(shí)現(xiàn)代碼:

import shapefile  # 使用pyshp
from matplotlib import pyplot as plt
file = shapefile.Reader("E://arcgisData//行政區(qū)劃數(shù)據(jù)//省界_region.shp")
border_shape = file
# 通過(guò)創(chuàng)建reader類(lèi)的對(duì)象進(jìn)行shapefile文件的讀取
# border_points
border = border_shape.shapes()
# .shapes()讀取幾何數(shù)據(jù)信息,存放著該文件中所有對(duì)象的 幾何數(shù)據(jù)
# border是一個(gè)列表
border_points = border[0].points
print(border_points)# 返回第1個(gè)對(duì)象的所有點(diǎn)坐標(biāo)
# border_points = [(x1,y1),(x2,y2),(x3,y3),…]
x, y = zip(*border_points)
# x=(x1,x2,x3,…)
# y=(y1,y2,y3,…)
fig, ax = plt.subplots()  # 生成一張圖和一張子圖
# plt.plot(x,y,'k-') # x橫坐標(biāo) y縱坐標(biāo) ‘k-'線性為黑色
plt.plot(x, y, color='#6666ff', label='fungis')  # x橫坐標(biāo) y縱坐標(biāo) ‘k-'線性為黑色
ax.grid()  # 添加網(wǎng)格線
ax.axis('equal')
plt.show()

展示效果:

shapefile文件的寫(xiě)操作

創(chuàng)建點(diǎn)狀要素類(lèi)

import shapefile  # 使用pyshp
file = shapefile.Writer("E://arcgisData//test//站點(diǎn)_2")#新建數(shù)據(jù)存放位置
#創(chuàng)建兩個(gè)字段
file.field('FIRST_FLD')
file.field('SECOND_FLD','C','40')     #'SECOND_FLD'為字段名稱,C代表數(shù)據(jù)類(lèi)型為字符串,長(zhǎng)度為40
file.point(1,1)
file.record('First','Point')
file.point(300,10)
file.record('Second','Point')
file.point(400,30)
file.record('Third','Point')
file.point(200,200)
file.record('Fourth','Point')
#寫(xiě)入數(shù)據(jù)
file.close()

創(chuàng)建線狀要素類(lèi)

import shapefile  # 使用pyshp
file = shapefile.Writer("E://arcgisData//test//polyline")#新建數(shù)據(jù)存放位置
#創(chuàng)建兩個(gè)字段
file.field('FIRST_FLD')
file.field('SECOND_FLD','C','40')     #'SECOND_FLD'為字段名稱,C代表數(shù)據(jù)類(lèi)型為字符串,長(zhǎng)度為40
file.line([[[1,5],[5,5],[5,1],[3,3],[1,1]]])
file.record('First','polyline')
file.line([[[1,500],[300,30],[1,16]]])
file.record('Second','polyline')
#寫(xiě)入數(shù)據(jù)
file.close()

創(chuàng)建面狀要素類(lèi)

import shapefile  # 使用pyshp
file = shapefile.Writer("E://arcgisData//test//polygon")#新建數(shù)據(jù)存放位置
#創(chuàng)建兩個(gè)字段
file.field('FIRST_FLD')
file.field('SECOND_FLD','C','40')     #'SECOND_FLD'為字段名稱,C代表數(shù)據(jù)類(lèi)型為字符串,長(zhǎng)度為40
file.poly([[[1,5],[5,5],[5,1],[3,3],[1,1]]])
file.record('First','polygon')
file.poly([[[1,500],[300,30],[1,16],[1,500]]])
file.record('Second','polygon')
#寫(xiě)入數(shù)據(jù)
file.close()

到此這篇關(guān)于python中shapefile庫(kù)讀取shapefile文件信息的文章就介紹到這了,更多相關(guān)python讀取shapefile文件信息內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python刪除列表中特定元素的幾種方法

    python刪除列表中特定元素的幾種方法

    這篇文章主要介紹了python刪除列表中特定元素的幾種方法,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • python類(lèi)中super() 的使用解析

    python類(lèi)中super() 的使用解析

    super() 函數(shù)是用于調(diào)用父類(lèi)(超類(lèi))的一個(gè)方法。這篇文章主要介紹了python類(lèi)中super() 的使用,需要的朋友可以參考下
    2019-12-12
  • Python遍歷目錄的4種方法實(shí)例介紹

    Python遍歷目錄的4種方法實(shí)例介紹

    這篇文章主要介紹了Python遍歷目錄的4種方法實(shí)例介紹,本文講解了使用os.popen運(yùn)行shell列表命令、利用glob模塊、利用os.listdir(推薦)、利用os.walk(推薦)等4種方法,需要的朋友可以參考下
    2015-04-04
  • Python streamlit庫(kù)快速構(gòu)建交互式Web應(yīng)用

    Python streamlit庫(kù)快速構(gòu)建交互式Web應(yīng)用

    Streamlit 是一個(gè)專(zhuān)為數(shù)據(jù)科學(xué)家和機(jī)器學(xué)習(xí)工程師設(shè)計(jì)的Python庫(kù),它可以快速構(gòu)建交互式Web應(yīng)用,下面就來(lái)詳細(xì)的介紹一下streamlit庫(kù)的使用,感興趣的可以了解一下
    2025-12-12
  • Python實(shí)現(xiàn)準(zhǔn)確獲取PDF文件中的標(biāo)題

    Python實(shí)現(xiàn)準(zhǔn)確獲取PDF文件中的標(biāo)題

    想要在PDF文件中,解析獲取全部的標(biāo)題,是一件比較麻煩的事情,這篇文章將介紹一種較為準(zhǔn)確的提取標(biāo)題的方式,感興趣的小伙伴可以了解一下
    2024-02-02
  • Python使用sorted對(duì)字典的key或value排序

    Python使用sorted對(duì)字典的key或value排序

    這篇文章主要介紹了Python使用sorted對(duì)字典的key或value排序,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • python 利用棧和隊(duì)列模擬遞歸的過(guò)程

    python 利用棧和隊(duì)列模擬遞歸的過(guò)程

    這篇文章主要介紹了python 利用棧和隊(duì)列模擬遞歸的過(guò)程,文中并通過(guò)兩段代碼給大家介紹了下遞歸和非遞歸的區(qū)別,需要的朋友可以參考下
    2018-05-05
  • 一文帶你了解Python中的延遲綁定

    一文帶你了解Python中的延遲綁定

    Python中的延遲綁定是指在嵌套函數(shù)中,內(nèi)部函數(shù)在被調(diào)用時(shí)才會(huì)綁定外部函數(shù)的變量,而不是在定義內(nèi)部函數(shù)時(shí)就綁定。本文將通過(guò)一些例子帶大家深入了解Python中的延遲綁定,感興趣的可以了解一下
    2023-05-05
  • pytorch實(shí)現(xiàn)對(duì)輸入超過(guò)三通道的數(shù)據(jù)進(jìn)行訓(xùn)練

    pytorch實(shí)現(xiàn)對(duì)輸入超過(guò)三通道的數(shù)據(jù)進(jìn)行訓(xùn)練

    今天小編就為大家分享一篇pytorch實(shí)現(xiàn)對(duì)輸入超過(guò)三通道的數(shù)據(jù)進(jìn)行訓(xùn)練,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python使用Tkinter庫(kù)如何設(shè)置tkinter ttk框架背景顏色

    Python使用Tkinter庫(kù)如何設(shè)置tkinter ttk框架背景顏色

    本文介紹了在Python的Tkinter庫(kù)中,如何使用style.configure方法為ttk框架設(shè)置背景顏色及其他樣式屬性,以定制美觀的GUI界面
    2024-09-09

最新評(píng)論

虎林市| 开鲁县| 安顺市| 巴里| 新竹县| 灌云县| 历史| 渭源县| 水城县| 尉氏县| 临桂县| 濉溪县| 曲水县| 夏河县| 华亭县| 福州市| 大兴区| 乐安县| 普定县| 仁布县| 林周县| 淳安县| 韶山市| 新乡县| 鸡西市| 台前县| 黄龙县| 营口市| 临武县| 长武县| 北票市| 阿克陶县| 贺兰县| 江陵县| 策勒县| 盘山县| 吉林省| 兴化市| 瑞金市| 吉林市| 札达县|