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

創(chuàng)建Shapefile文件并寫入數(shù)據(jù)的例子

 更新時間:2019年11月26日 10:41:09   作者:TheOneGIS  
今天小編就為大家分享一篇創(chuàng)建Shapefile文件并寫入數(shù)據(jù)的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

基本思路

使用GDAL創(chuàng)建Shapefile數(shù)據(jù)的基本步驟如下:

使用osgeo.ogr.Driver的CreateDataSource()方法創(chuàng)建osgeo.ogr.DataSource矢量數(shù)據(jù)集

使用osgeo.ogr.DataSource的CreateLayer()方法創(chuàng)建一個圖層

使用osgeo.ogr.FieldDefn()定義Shapefile文件的屬性字段

創(chuàng)建osgeo.ogr.Feature對象,設(shè)置每個屬性字段的值,使用Feature對象的SetGeometry()定義幾何屬性

創(chuàng)建Feature對象以后,使用osgeo.ogr.Layer的CreateFeature()添加Feature對象到當前圖層

重復(fù)步驟4和5依次添加所有的Feature到當前圖層即可

代碼實現(xiàn)

下面的例子中,我們讀取GeoJSON表示的中國省區(qū)數(shù)據(jù),然后其轉(zhuǎn)為Shapefile格式。

GeoJSON編碼片段如下:

可以看到每個Feature都有一個properties字段和geometry字段,我們需要根據(jù)properties字段的信息創(chuàng)建Shapefile數(shù)據(jù)的屬性表,根據(jù)geometry字段創(chuàng)建Shapefile中的幾何數(shù)據(jù)。

from osgeo import ogr
from osgeo import osr
import json
import os
os.environ['SHAPE_ENCODING'] = "utf-8"


with open('China.json') as f:
 china = json.load(f)

# 創(chuàng)建DataSource
driver = ogr.GetDriverByName('ESRI Shapefile')
ds = driver.CreateDataSource('China.shp')

# 創(chuàng)建WGS84空間參考
srs = osr.SpatialReference()
srs.ImportFromEPSG(4326)

# 創(chuàng)建圖層
layer = ds.CreateLayer('province', srs, ogr.wkbPolygon)
# 添加屬性定義
fname = ogr.FieldDefn('Name', ogr.OFTString)
fname.SetWidth(24)
layer.CreateField(fname)
fcx = ogr.FieldDefn('CenterX', ogr.OFTReal)
layer.CreateField(fcx)
fcy = ogr.FieldDefn('CenterY', ogr.OFTReal)
layer.CreateField(fcy)

# 變量GeoJSON中的features
for f in china['features']:
 # 新建Feature并且給其屬性賦值
 feature = ogr.Feature(layer.GetLayerDefn())
 feature.SetField('Name', f['properties']['name'])
 feature.SetField('CenterX', f['properties']['cp'][0])
 feature.SetField('CenterY', f['properties']['cp'][1])

 # 設(shè)置Feature的幾何屬性Geometry
 polygon = ogr.CreateGeometryFromJson(str(f['geometry']))
 feature.SetGeometry(polygon)
 # 創(chuàng)建Feature
 layer.CreateFeature(feature)
 del feature
ds.FlushCache()

del ds

以上這篇創(chuàng)建Shapefile文件并寫入數(shù)據(jù)的例子就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python matplotlib擬合直線的實現(xiàn)

    python matplotlib擬合直線的實現(xiàn)

    這篇文章主要介紹了python matplotlib擬合直線的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Python LMDB庫的使用示例

    Python LMDB庫的使用示例

    這篇文章主要介紹了Python LMDB庫的使用示例,幫助大家更好的利用python處理數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-02-02
  • python虛擬環(huán)境創(chuàng)建的兩種方法

    python虛擬環(huán)境創(chuàng)建的兩種方法

    本文主要介紹了python虛擬環(huán)境創(chuàng)建的兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Python pathlib模塊實例詳解

    Python pathlib模塊實例詳解

    本文給大家介紹了Python的pathlib 模塊,為 Python 工程師對該模塊的使用提供了支撐,讓大家了解如何使用 pathlib 模塊讀寫文件、操縱文件路徑和基礎(chǔ)文件系統(tǒng),統(tǒng)計目錄下的文件類型以及查找匹配目錄下某一類型文件等,需要的朋友參考下吧
    2023-05-05
  • 如何在Win10系統(tǒng)使用Python3連接Hive

    如何在Win10系統(tǒng)使用Python3連接Hive

    這篇文章主要介紹了如何在Win10系統(tǒng)使用Python3連接Hive,幫助大家更好的利用python讀取數(shù)據(jù),進行探索、分析和挖掘工作。感興趣的朋友可以了解下
    2020-10-10
  • 淺析python中numpy包中的argsort函數(shù)的使用

    淺析python中numpy包中的argsort函數(shù)的使用

    這篇文章主要介紹了python中numpy包中的argsort函數(shù)的使用,argsort()函數(shù)在模塊numpy.core.fromnumeric中,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2018-08-08
  • Python代碼生成視頻的縮略圖的實例講解

    Python代碼生成視頻的縮略圖的實例講解

    在本篇文章里小編給大家正里的是一篇關(guān)于Python代碼生成視頻的縮略圖的實例講解,對此有需要的朋友們可以跟著學(xué)習(xí)下。
    2019-12-12
  • 淺談pytorch池化maxpool2D注意事項

    淺談pytorch池化maxpool2D注意事項

    今天小編就為大家分享一篇淺談pytorch池化maxpool2D注意事項,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python網(wǎng)絡(luò)爬蟲之如何偽裝逃過反爬蟲程序的方法

    python網(wǎng)絡(luò)爬蟲之如何偽裝逃過反爬蟲程序的方法

    本篇文章主要介紹了python網(wǎng)絡(luò)爬蟲之如何偽裝逃過反爬蟲程序的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 簡單談?wù)刾ython中的lambda表達式

    簡單談?wù)刾ython中的lambda表達式

    Lambda表達式在Python中經(jīng)常使用到,本文是給大家分享的小編總結(jié)出來的Lambda表達式的常用方法。
    2018-01-01

最新評論

金川县| 湘阴县| 德江县| 疏勒县| 尚义县| 南澳县| 安乡县| 涞源县| 竹山县| 莫力| 凌海市| 凤凰县| 黑水县| 广州市| 嘉定区| 石狮市| 清新县| 兖州市| 衡东县| 太湖县| 武威市| 巴马| 疏附县| 四会市| 敖汉旗| 西昌市| 南昌市| 伊春市| 沧源| 贡嘎县| 汉中市| 常宁市| 苗栗市| 特克斯县| 九龙城区| 阳原县| 许昌县| 洛浦县| 博白县| 乡宁县| 汶上县|