婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python 使用GDAL實現(xiàn)柵格tif轉(zhuǎn)矢量shp的方式小結(jié)

python 使用GDAL實現(xiàn)柵格tif轉(zhuǎn)矢量shp的方式小結(jié)

熱門標簽:地圖標注與注銷 電梯新時達系統(tǒng)外呼顯示e 無錫智能外呼系統(tǒng)好用嗎 西青語音電銷機器人哪家好 百應(yīng)電話機器人總部 旅游廁所地圖標注怎么弄 南昌地圖標注 成都呼叫中心外呼系統(tǒng)哪家強 宿州電話機器人哪家好

前言

目前有一張tif格式的柵格影像,需要在web地圖上進行展示,使用動態(tài)切片WMS的方式,渲染速度比較慢,而且大的時候會出現(xiàn)模糊的問題。并且后面需要做多期影像的切換,渲染與加載效率也值得關(guān)注。

計劃是使用柵格轉(zhuǎn)矢量的方式,將柵格數(shù)據(jù)轉(zhuǎn)為矢量shp文件,然后進行矢量切片,使用Mapbox進行前端動態(tài)渲染。在網(wǎng)上查詢了很多資料,有人說使用d3-contour在node.js中生成或者使用rasterio在python中進行轉(zhuǎn)換,整體過程都比較麻煩,很不易實現(xiàn)。最終選定了使用GDAL進行柵格轉(zhuǎn)矢量的方法,代碼比較簡單。
原始tif影像(12.8MB)如下:

核心函數(shù)

GDAL中柵格轉(zhuǎn)矢量的函數(shù)主要是以下兩個,二者的參數(shù)沒有任何區(qū)別,只是功能有區(qū)別:

FPolygonize(*args, **kwargs)

FPolygonize(Band srcBand, Band maskBand, Layer outLayer, int iPixValField, char options=None, GDALProgressFunc callback=0, void * callback_data=None) -> int

將每個像元轉(zhuǎn)成一個矩形。

Polygonize(*args, **kwargs) **

Polygonize(Band srcBand, Band maskBand, Layer outLayer, int iPixValField, char ** options=None, GDALProgressFunc callback=0, void * callback_data=None) -> int

將每個像元轉(zhuǎn)成一個矩形,然后將相似的像元進行合并。

轉(zhuǎn)換代碼

from osgeo import gdal, ogr, osr
import os
import datetime
import numpy as np

path = "Z_NAFP20210727.tif"


if __name__ == '__main__':
    start_time = datetime.datetime.now()

    inraster = gdal.Open(path)  # 讀取路徑中的柵格數(shù)據(jù)
    inband = inraster.GetRasterBand(1)  # 這個波段就是最后想要轉(zhuǎn)為矢量的波段,如果是單波段數(shù)據(jù)的話那就都是1
    prj = osr.SpatialReference()
    prj.ImportFromWkt(inraster.GetProjection())  # 讀取柵格數(shù)據(jù)的投影信息,用來為后面生成的矢量做準備

    outshp = path[:-4] + ".shp"  # 給后面生成的矢量準備一個輸出文件名,這里就是把原柵格的文件名后綴名改成shp了
    drv = ogr.GetDriverByName("ESRI Shapefile")
    if os.path.exists(outshp):  # 若文件已經(jīng)存在,則刪除它繼續(xù)重新做一遍
        drv.DeleteDataSource(outshp)
    Polygon = drv.CreateDataSource(outshp)  # 創(chuàng)建一個目標文件
    Poly_layer = Polygon.CreateLayer(path[:-4], srs=prj, geom_type=ogr.wkbMultiPolygon)  # 對shp文件創(chuàng)建一個圖層,定義為多個面類
    newField = ogr.FieldDefn('value', ogr.OFTReal)  # 給目標shp文件添加一個字段,用來存儲原始柵格的pixel value,浮點型,
    Poly_layer.CreateField(newField)

    gdal.Polygonize(inband, None, Poly_layer, 0)  # 核心函數(shù),執(zhí)行的就是柵格轉(zhuǎn)矢量操作
    # gdal.FPolygonize(inband, None, Poly_layer, 0)  # 只轉(zhuǎn)矩形,不合并
    Polygon.SyncToDisk()
    Polygon = None
    end_time = datetime.datetime.now()
    print("Succeeded at", end_time)
    print("Elapsed Time:", end_time - start_time)  # 輸出程序運行所需時間

轉(zhuǎn)換效果

  • 使用FPolygonize

轉(zhuǎn)換之后的矢量數(shù)據(jù)有270MB,非常大,打開非常卡

  • 使用Polygonize

合并之后的矢量數(shù)據(jù)有48MB,相對第一種方法數(shù)據(jù)量大大減少

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

您可能感興趣的文章:
  • 在Python中用GDAL實現(xiàn)矢量對柵格的切割實例
  • python使用gdal對shp讀取,新建和更新的實例
  • python安裝gdal的兩種方法
  • 利用python GDAL庫讀寫geotiff格式的遙感影像方法
  • python 矢量數(shù)據(jù)轉(zhuǎn)柵格數(shù)據(jù)代碼實例

標簽:許昌 濰坊 雅安 渭南 七臺河 辛集 西安 贛州

巨人網(wǎng)絡(luò)通訊聲明:本文標題《python 使用GDAL實現(xiàn)柵格tif轉(zhuǎn)矢量shp的方式小結(jié)》,本文關(guān)鍵詞  python,使用,GDAL,實現(xiàn),柵格,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python 使用GDAL實現(xiàn)柵格tif轉(zhuǎn)矢量shp的方式小結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于python 使用GDAL實現(xiàn)柵格tif轉(zhuǎn)矢量shp的方式小結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91丨porny丨国产| 国产高清精品久久久久| 欧美tickling挠脚心丨vk| 91精品一区二区三区在线观看| 欧美亚洲另类激情小说| 欧美日韩国产成人在线免费| 日韩视频一区二区在线观看| 亚洲自拍偷拍麻豆| 激情综合色播五月| 91亚洲资源网| 欧美mv日韩mv国产网站app| 欧美va亚洲va| 99re8在线精品视频免费播放| 欧美疯狂做受xxxx富婆| 欧美一区二区三区播放老司机| 午夜日韩在线观看| 91老师片黄在线观看| 中文字幕免费观看一区| 蜜臀精品一区二区三区在线观看 | 成人午夜视频福利| 波多野结衣欧美| 欧美巨大另类极品videosbest| 欧美电视剧免费观看| 国产精品久久久久永久免费观看 | 国产suv一区二区三区88区| 国产成人av电影在线播放| 欧美情侣在线播放| 亚洲欧洲av色图| 久久99精品视频| 欧美三级电影精品| 亚洲乱码国产乱码精品精的特点 | 日本成人在线电影网| 91麻豆精品国产自产在线观看一区 | 国产亲近乱来精品视频| 国产嫩草影院久久久久| 99精品热视频| 26uuu另类欧美亚洲曰本| 久久久久久久网| 成人丝袜视频网| 国产真实乱偷精品视频免| 欧美日韩一级片网站| 韩国女主播成人在线观看| 欧美日韩免费在线视频| 精品国产伦一区二区三区观看方式 | 亚洲一区二区三区四区五区中文 | 久久精品国产精品青草| 91精品国产色综合久久不卡电影| 欧美午夜在线一二页| 在线不卡的av| 99视频国产精品| 色美美综合视频| 国产精品影视在线观看| 久久综合久久99| 国产成人午夜高潮毛片| 欧美丝袜丝交足nylons图片| 91成人免费在线视频| 亚洲第一综合色| 欧美一区二区精品在线| 日本国产一区二区| 国产91露脸合集magnet| 国产98色在线|日韩| 日韩和欧美的一区| 美腿丝袜亚洲色图| 久久久久久久久97黄色工厂| 国产精品全国免费观看高清| 在线观看av不卡| 久久精品国内一区二区三区| 亚洲最色的网站| 国产精品久久久久久久久免费相片| 日韩精品91亚洲二区在线观看| 国产精品久久久久三级| 国产精品一品二品| 国产成人亚洲综合a∨猫咪| 国产视频一区二区三区在线观看| 韩国理伦片一区二区三区在线播放| 岛国精品在线播放| 亚洲精品乱码久久久久久黑人| 亚洲国产另类av| 精品欧美久久久| 精品视频在线看| 久久精品网站免费观看| 91浏览器在线视频| 亚洲欧美成aⅴ人在线观看| 亚洲免费观看高清完整版在线观看| 中文字幕一区二区三| 成人性生交大片免费| 中文欧美字幕免费| 97精品视频在线观看自产线路二| 国产精品一区二区x88av| 欧美日韩亚洲高清一区二区| 99久久99久久精品免费观看| 国产精品国产馆在线真实露脸| 国产亚洲精品7777| 6080日韩午夜伦伦午夜伦| 欧美tk丨vk视频| 亚洲国产精品影院| 三级亚洲高清视频| 久久er99热精品一区二区| 亚洲精品欧美激情| 亚洲1区2区3区视频| 97久久精品人人做人人爽50路| 欧美成人激情免费网| 久久久久国产精品麻豆| 亚洲电影视频在线| 蜜臀va亚洲va欧美va天堂| 97久久人人超碰| 久久99国产精品久久99 | 高清成人在线观看| 欧美成人精精品一区二区频| 国产98色在线|日韩| 丝袜亚洲精品中文字幕一区| 欧美一区二区三区视频在线| 一区二区三区日韩在线观看| 欧美在线一二三四区| 日韩精品免费专区| 欧美揉bbbbb揉bbbbb| 亚洲成人精品影院| 色诱视频网站一区| 午夜天堂影视香蕉久久| 欧美大度的电影原声| 久久99精品国产91久久来源| 一本色道久久综合狠狠躁的推荐 | 国产精品网友自拍| 亚洲综合一区二区三区| 亚洲欧美一区二区视频| 日本亚洲三级在线| 日韩色在线观看| 国产精品视频在线看| 午夜激情久久久| 在线观看网站黄不卡| 国产女同性恋一区二区| 日本精品一区二区三区高清| 欧美高清性hdvideosex| 欧美国产日本韩| 亚洲天堂2014| 亚洲国产另类av| 日韩一区二区在线播放| 免费观看成人av| 男女男精品视频| 中文字幕第一区二区| 在线播放中文一区| 午夜久久久久久久久久一区二区| 狠狠色狠狠色综合系列| 99久久免费精品| 亚洲乱码国产乱码精品精可以看| 91最新地址在线播放| 中文字幕佐山爱一区二区免费| 国产剧情av麻豆香蕉精品| 日韩欧美精品三级| 韩日av一区二区| 亚洲欧美视频在线观看视频| 不卡av免费在线观看| 亚洲精品一区在线观看| 亚洲伊人色欲综合网| 99久久99久久精品国产片果冻| 另类小说欧美激情| 91原创在线视频| 五月天网站亚洲| 欧美日韩一区二区在线观看视频 | 久久综合网色—综合色88| 久久99蜜桃精品| 国产三级欧美三级| 国产欧美视频一区二区三区| 亚洲欧美国产高清| 在线播放一区二区三区| 蜜臀久久99精品久久久久宅男 | 亚洲欧美日韩在线| 一本大道久久精品懂色aⅴ| www一区二区| 欧美精品成人一区二区三区四区| 91偷拍与自偷拍精品| 日本韩国精品在线| 亚洲电影激情视频网站| 日韩**一区毛片| 久久先锋影音av鲁色资源| 国产精品久久毛片av大全日韩| 欧美激情一区二区三区蜜桃视频| 亚洲自拍偷拍综合| 亚洲色图一区二区| 国内不卡的二区三区中文字幕| 一区二区三区电影在线播| 麻豆精品视频在线观看免费| 色综合久久99| 欧美三级资源在线| 国产一区二区电影| 日韩理论在线观看| 久久国内精品自在自线400部| 亚洲自拍另类综合| 青青草精品视频| 国产精品一区二区黑丝| 欧美日韩专区在线| 麻豆精品久久精品色综合| 国产综合成人久久大片91| 奇米色一区二区| 欧美一区二区二区| 亚洲综合久久av| 日韩福利电影在线| 国产成a人亚洲精| 91黄色免费观看| 99久久国产综合精品麻豆|