亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python使用pyshp讀寫shp文件的實現(xiàn)

 更新時間:2023年03月28日 11:22:49   作者:代碼就是bug  
本文主要介紹了python使用pyshp讀寫shp文件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

安裝

pip install pyshp

引入

import shapefile

讀取

sf=shapefile.Reader("{路徑名}",encoding='utf-8') # 僅僅讀取

shapes與shape

shapes=sf.shapes()  返回值是一個列表,包含該文件中所有的”幾何數(shù)據(jù)”對象

shape=sf.shape(0) Shape是第1個”幾何數(shù)據(jù)”對象

shapeType返回集合類型

返回第1個對象的數(shù)據(jù)類型屬性

    幾何類型
    NULL = 0
    POINT = 1
    POLYLINE = 3
    POLYGON = 5
    MULTIPOINT = 8
    POINTZ = 11
    POLYLINEZ = 13
    POLYGONZ = 15
    MULTIPOINTZ = 18
    POINTM = 21
    POLYLINEM = 23
    POLYGONM = 25
    MULTIPOINTM = 28
    MULTIPATCH = 31
   print(shape.shapeType)

bbox 返回數(shù)據(jù)范圍

shape.bbox    返回第一個集合對象的數(shù)據(jù)范圍(左下角的x,y坐標和右上角的x,y坐標)

points 所有坐標點

shape.points   返回第一個集合對象的所有坐標點

parts 返回’塊’的第一個點坐標

shape.parts 返回第一個對象的每個”塊”的第一個點坐標

records與record

獲取屬性列表

records

獲取屬性列表,是個函數(shù)

sf.records();

返回的值是個list

record
獲取一條數(shù)據(jù)

sf.record(0)
返回的值是class

shapeRecords

同時獲取record和shape

# 同時讀取geometry and records
sf.shapeRecords()
獲取所有
red=sf.shapeRecords()[0]  #獲取第一條數(shù)據(jù)
print(red.record)  #獲取record
print(red.shape)   #獲取shape

fields

獲取shp文件屬性字段

print(sf.fields)
[('DeletionFlag', 'C', 1, 0), ['OBJECTID', 'N', 9, 0], ['BSM', 'C', 12, 0], ['PXZQDM', 'C', 2, 0], ['PXZQMC', 'C', 50, 0]]

寫入

import shapefile
outshp = 'a.shp'
?
?landlist=[ '84.60212,45.03658,84.60794,45.03938,84.61473,45.04151,84.62442,45.04375,84.62727,45.03632,84.63939,45.0367,84.64906,45.03277,84.63886,45.02233',
? ? '84.58063,45.05523,84.57974,45.04717,84.59864,45.04792,84.60078,45.05523,84.58758,45.05473,84.58223,45.05523'
]
def tramform(lat_lng):
? ? str =lat_lng
? ? str = str.split(',')
? ? arr = []
? ? for i in range(len(str) - 1):
? ? ? ? # 第一列,第二列作為經(jīng)緯度(x,y)創(chuàng)建點
? ? ? ? if i % 2 == 0:
? ? ? ? ? ? arr.append([float(str[i]), float(str[i + 1])])
? ? return arr
fileWrite = shapefile.Writer("create/1.shp",encoding='utf-8') ?# 新建數(shù)據(jù)存放位置

# shp文件屬性字段 Fid,Shape會自動生成。
fileWrite.field('landid')
fileWrite.field('landName')

for i in range(len(landlist)):
? ? # 第一步:塞入形狀
? ? ## 這個形狀指的就是那些點的集合
? ? ## 由于源碼中要求的輸入是列表,因此就算只塞入一個,也要套一個列表
? ? arr=[]
? ? arr=tramform(landlist[i])
? ? #[[84.60212, 45.03658], [84.60794, 45.03938], [84.61473, 45.04151], [84.62442, 45.04375], [84.62727, 45.03632], [84.63939, 45.0367], [84.64906, 45.03277], [84.63886, 45.02233]]
? ? #poly 寫入面,點線面使用不同函數(shù)
? ? fileWrite.poly([arr])

? ? # 第二步:塞入屬性值
? ? fileWrite.record(str(i), '地塊')
# 保存結(jié)束
fileWrite.close()

到此這篇關(guān)于python使用pyshp讀寫shp文件的實現(xiàn)的文章就介紹到這了,更多相關(guān)pyshp讀寫shp內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • OpenCV半小時掌握基本操作之高斯雙邊

    OpenCV半小時掌握基本操作之高斯雙邊

    這篇文章主要介紹了OpenCV基本操作之高斯雙邊,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Python實現(xiàn)格式化輸出的實例詳解

    Python實現(xiàn)格式化輸出的實例詳解

    這篇文章主要為大家介紹了Python語法中實現(xiàn)格式化輸出的方法,本文通過幾個實例為大家進行了詳細的講解,感興趣的小伙伴可以了解一下
    2022-08-08
  • Selenium瀏覽器自動化如何上傳文件

    Selenium瀏覽器自動化如何上傳文件

    本文主要介紹了Selenium瀏覽器自動化如何上傳文件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • pandas使用之寬表變窄表的實現(xiàn)

    pandas使用之寬表變窄表的實現(xiàn)

    這篇文章主要介紹了pandas使用之寬表變窄表的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python打開windows應(yīng)用程序的實例

    python打開windows應(yīng)用程序的實例

    今天小編就為大家分享一篇python打開windows應(yīng)用程序的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python opencv人臉檢測提取及保存方法

    python opencv人臉檢測提取及保存方法

    今天小編就為大家分享一篇python opencv人臉檢測提取及保存方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 如何使用django的MTV開發(fā)模式返回一個網(wǎng)頁

    如何使用django的MTV開發(fā)模式返回一個網(wǎng)頁

    這篇文章主要介紹了如何使用django的MTV開發(fā)模式返回一個網(wǎng)頁,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Python實現(xiàn)打印螺旋矩陣功能的方法

    Python實現(xiàn)打印螺旋矩陣功能的方法

    這篇文章主要介紹了Python實現(xiàn)打印螺旋矩陣功能的方法,簡單描述了螺旋矩陣的概念、原理及Python實現(xiàn)方法,需要的朋友可以參考下
    2017-11-11
  • Flask模擬實現(xiàn)CSRF攻擊的方法

    Flask模擬實現(xiàn)CSRF攻擊的方法

    這篇文章主要介紹了Flask模擬實現(xiàn)CSRF攻擊的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Windows下Sqlmap環(huán)境安裝教程詳解

    Windows下Sqlmap環(huán)境安裝教程詳解

    這篇文章主要介紹了Windows下Sqlmap環(huán)境安裝,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08

最新評論