国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python基于Excel生成矢量圖層及屬性表信息:ArcPy

這篇具有很好參考價(jià)值的文章主要介紹了Python基于Excel生成矢量圖層及屬性表信息:ArcPy。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

??本文介紹基于PythonArcPy模塊,讀取Excel表格數(shù)據(jù)并生成帶有屬性表矢量要素圖層,同時(shí)配置該圖層的坐標(biāo)系的方法。

1 任務(wù)需求

??首先,我們來明確一下本文所需實(shí)現(xiàn)的需求。

??現(xiàn)有一個(gè)記錄北京市部分PM2.5濃度監(jiān)測站點(diǎn)信息的Excel表格數(shù)據(jù),格式為.xls;文件內(nèi)包含站點(diǎn)編號(hào)、XY坐標(biāo)、站點(diǎn)名稱等四列數(shù)據(jù),部分?jǐn)?shù)據(jù)如下所示。

Python基于Excel生成矢量圖層及屬性表信息:ArcPy

??我們需要將該表格文件中所記錄的全部站點(diǎn)信息導(dǎo)入到Python中,并將全部站點(diǎn)創(chuàng)建為一個(gè)點(diǎn)要素的矢量圖層;此外,需要同時(shí)可以指定該矢量圖層的投影坐標(biāo)系,并將表格文件中的四列信息作為矢量圖層屬性表的字段與內(nèi)容

2 代碼實(shí)現(xiàn)

??接下來,我們就基于PythonArcPy模塊,進(jìn)行詳細(xì)代碼的撰寫與介紹。

??首先,需要說明的是:當(dāng)初在編寫代碼的時(shí)候,為了方便執(zhí)行,所以希望代碼后期可以在ArcMap中直接通過工具箱運(yùn)行,即用到Python程序腳本新建工具箱與自定義工具的方法;因此,代碼中對(duì)于一些需要初始定義的變量,都用到了arcpy.GetParameterAsText()函數(shù)。大家如果只是希望在IDLE中運(yùn)行代碼,那么直接對(duì)這些變量進(jìn)行具體賦值即可。關(guān)于Python程序腳本新建工具箱與自定義工具,大家可以查看ArcMap將Python寫的代碼轉(zhuǎn)為工具箱與自定義工具詳細(xì)了解。

??上面提到需要初始定義的變量一共有四個(gè),其中arcpy.env.workspace參數(shù)表示當(dāng)前工作空間,excel_path參數(shù)表示存儲(chǔ)有北京市PM2.5濃度監(jiān)測站點(diǎn)信息的Excel數(shù)據(jù)文件,spatial_reference_txt參數(shù)表示需要對(duì)站點(diǎn)矢量數(shù)據(jù)進(jìn)行投影的坐標(biāo)系類型(在本文中我們以“WGS 1984 UTM Zone 50N”投影為例),shapefile_name參數(shù)表示投影后站點(diǎn)矢量數(shù)據(jù)的具體文件。

# -*- coding: cp936 -*-
# @author: ChuTianjia

import xlrd
import arcpy

arcpy.env.workspace=arcpy.GetParameterAsText(0)
excel_path=arcpy.GetParameterAsText(1) # 站點(diǎn)信息表格文件
shapefile_name=arcpy.GetParameterAsText(3) # 需要生成的矢量要素的路徑與名稱

file_data=xlrd.open_workbook(excel_path)
sheet_data=file_data.sheets()[0]
sheet_row_num=sheet_data.nrows

point_geometry_list=[]
point_object=arcpy.Point()

# Read Spatial Coordinate Information
spatial_reference_txt=arcpy.GetParameterAsText(2) # 指定投影坐標(biāo)系
spatial_reference=arcpy.SpatialReference()
spatial_reference.loadFromString(spatial_reference_txt)

# Import the Coordinates of Each Point
for i in range(1,sheet_row_num):
    x=sheet_data.row(i)[1].value
    y=sheet_data.row(i)[2].value
    point_object.X=float(x)
    point_object.Y=float(y)
    point_geometry=arcpy.PointGeometry(point_object,spatial_reference)
    point_geometry_list.append(point_geometry)

arcpy.CopyFeatures_management(point_geometry_list,shapefile_name)

# Import the Filed Information
field_list=["X","Y","ID_Own","Name"]
arcpy.AddField_management(shapefile_name,field_list[0],"FLOAT")
arcpy.AddField_management(shapefile_name,field_list[1],"FLOAT")
arcpy.AddField_management(shapefile_name,field_list[2],"SHORT")
arcpy.AddField_management(shapefile_name,field_list[3],"TEXT")

with arcpy.da.UpdateCursor(shapefile_name,field_list) as cursor:
    n=1
    for row in cursor:
        row[0]=sheet_data.row(n)[1].value
        row[1]=sheet_data.row(n)[2].value
        row[2]=sheet_data.row(n)[0].value
        row[3]=sheet_data.row(n)[3].value
        cursor.updateRow(row)
        n+=1

3 運(yùn)行結(jié)果

??執(zhí)行上述代碼,即可得到包含有表格文件中所列全部站點(diǎn)的點(diǎn)要素矢量圖層文件,且其屬性表中包含了原有表格文件中全部列所對(duì)應(yīng)的字段與內(nèi)容。

Python基于Excel生成矢量圖層及屬性表信息:ArcPy

??查看該圖層屬性,可以看到其已經(jīng)具有了我們?cè)诖a中所指定的投影坐標(biāo)系。

Python基于Excel生成矢量圖層及屬性表信息:ArcPy

??至此,大功告成。文章來源地址http://www.zghlxwxcb.cn/news/detail-841726.html

到了這里,關(guān)于Python基于Excel生成矢量圖層及屬性表信息:ArcPy的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 8.3 矢量圖層點(diǎn)要素單一符號(hào)使用六

    8.3 矢量圖層點(diǎn)要素單一符號(hào)使用六

    上一篇教程介紹了矢量圖層點(diǎn)要素單一符號(hào)中幾何生成標(biāo)記的用法 本章繼續(xù)介紹單一符號(hào)中各種標(biāo)記的用法 說明:文章中的示例代碼均來自開源項(xiàng)目qgis_cpp_api_apps qgis默認(rèn)使用單一符號(hào)、簡單標(biāo)記(Simple Marker)進(jìn)行渲染,以places_33S.shp為例,添加places_33S圖層后,默認(rèn)顯示如下圖

    2024年02月06日
    瀏覽(21)
  • 全新CorelDRAW2023最新版矢量圖軟件功能簡介

    全新CorelDRAW2023最新版矢量圖軟件功能簡介

    CorelDRAW2023簡介 :設(shè)計(jì)繪畫 CorelDraw 是一個(gè)繪圖與排版的軟件,它廣泛地應(yīng)用于商標(biāo)設(shè)計(jì)、標(biāo)志制作、模型繪制、插圖描畫、排版及分色輸出等諸多領(lǐng)域。 作為一個(gè)強(qiáng)大的繪圖軟件,它被喜愛的程度可用下面的事實(shí)說明:用作商業(yè)設(shè)計(jì)和美術(shù)設(shè)計(jì)的PC機(jī)幾乎都安裝了CorelDraw!

    2023年04月09日
    瀏覽(33)
  • uni-app引用外部圖標(biāo)庫(阿里矢量圖)

    uni-app引用外部圖標(biāo)庫(阿里矢量圖)

    作為前端程序員,nui-app是必備的,但是有時(shí)候內(nèi)置的圖標(biāo),組件又不完全滿足,這里就可以引進(jìn)外部圖標(biāo),這里引用的是阿里矢量圖標(biāo) 第一步,在項(xiàng)目目錄中新建文件夾,如圖 第二步,登上阿里矢量圖官網(wǎng),將自己需要的圖片先加入購物車,再點(diǎn)擊右上角購物車? ? 第三部

    2024年02月14日
    瀏覽(23)
  • python ERA5 畫水汽通量散度圖地圖:風(fēng)速風(fēng)向矢量圖、疊加等高線、色彩分級(jí)、添加shp文件、添加位置點(diǎn)及備注

    python ERA5 畫水汽通量散度圖地圖:風(fēng)速風(fēng)向矢量圖、疊加等高線、色彩分級(jí)、添加shp文件、添加位置點(diǎn)及備注

    有個(gè)同事吧,寫論文,讓我?guī)兔Τ鰝€(gè)圖,就寫了個(gè)代碼,然后我的博客好久沒更新了,就順便貼上來了! 很多人感興趣風(fēng)速的箭頭怎樣畫,可能這種圖使用 NCL 非常容易,很多沒用過代碼的小朋友,就有點(diǎn)犯怵,怕 python 畫起來很困難。但是不然,看完我的代碼,就會(huì)發(fā)現(xiàn)很

    2024年04月25日
    瀏覽(44)
  • arcgis 柵格數(shù)據(jù)處理2——柵格轉(zhuǎn)地級(jí)市(柵格轉(zhuǎn)矢量圖)

    arcgis 柵格數(shù)據(jù)處理2——柵格轉(zhuǎn)地級(jí)市(柵格轉(zhuǎn)矢量圖)

    選中“自定義”中的“擴(kuò)展模塊” 在彈出的模塊中選中能選的模塊,此處需要選擇“spatial analysis”以進(jìn)行下一步分析 選中并輸出柵格 注意是否需要“簡化面” 按照需求選擇平均值,或者總和等 conversion tools ——表轉(zhuǎn)excel

    2024年03月11日
    瀏覽(42)
  • WPF-UI HandyControl 控件簡單實(shí)戰(zhàn)+IconPacks矢量圖導(dǎo)入

    WPF-UI HandyControl 控件簡單實(shí)戰(zhàn)+IconPacks矢量圖導(dǎo)入

    因?yàn)镠andyControl 的功能非常的豐富,我打算完整的了解一下HandyControl 整個(gè)控件的基本使用,而且我的網(wǎng)易云WPF項(xiàng)目也打算用UserControl 進(jìn)行重構(gòu) WPF-UI HandyControl 簡單介紹 HandyControl Visual Studio 插件 HandyControl Github地址 HandyControl 官方中文文檔 HandyControl 實(shí)戰(zhàn)Gitee倉庫 我們下載了Han

    2024年02月02日
    瀏覽(118)
  • 將Matlab圖窗中的可視化保存為背景透明的矢量圖

    將matlab繪制的結(jié)果復(fù)制為矢量圖時(shí),去除背景的操作如下: 先打開/繪制圖形窗口(不要關(guān)閉) 在命令行終端輸入 axis off 關(guān)閉坐標(biāo)系 繼續(xù)在命令行終端分別輸入: ax = gca; copygraphics(ax,\\\'ContentType\\\',\\\'vector\\\',\\\'BackgroundColor\\\',\\\'none\\\'); 此時(shí),背景透明的矢量圖就保存在系統(tǒng) 剪貼板 上了,詳

    2024年01月21日
    瀏覽(23)
  • 矢量圖斑局部狹長判斷和定位局部狹長部分(PostGIS、Java、C#實(shí)現(xiàn))

    矢量圖斑局部狹長判斷和定位局部狹長部分(PostGIS、Java、C#實(shí)現(xiàn))

    矢量數(shù)據(jù)在數(shù)據(jù)采集過程中由于數(shù)據(jù)處理導(dǎo)致出現(xiàn)局部狹窄的面狀部分,如下圖 狹長結(jié)構(gòu)是指圖斑幾何形態(tài)上窄而長的部分,符號(hào)化后出現(xiàn)圖形粘連壓蓋現(xiàn)象,導(dǎo)致難以在圖面上清晰地表達(dá)出來。因此,依據(jù)地圖表達(dá)比例尺因素需要對(duì)狹長結(jié)構(gòu)進(jìn)行融解處理。在遙感影像提取的地

    2023年04月23日
    瀏覽(38)
  • 優(yōu)化MATLAB中quiver函數(shù)繪制箭頭圖或矢量圖(1)-MATLAB開發(fā)

    優(yōu)化MATLAB中quiver函數(shù)繪制箭頭圖或矢量圖(1)-MATLAB開發(fā)

    Matlab的基本數(shù)據(jù)單位是矩陣,利用Matlab可以較方便得繪制向量分布圖,比如空氣流的采樣數(shù)據(jù);函數(shù)的梯度;曲面的法線向量等等。Matlab自帶的quiver和quiver3函數(shù)可以滿足這一需求,但是箭頭的箭型較為簡單,這里主要目的即是進(jìn)一步繪制更好看的矢量圖。 Matlab中自帶的quiv

    2023年04月21日
    瀏覽(19)
  • draw.io導(dǎo)出矢量圖到word報(bào)錯(cuò)text is not svg - cannot display

    draw.io導(dǎo)出矢量圖到word報(bào)錯(cuò)text is not svg - cannot display

    先參考https://blog.csdn.net/a625750076/article/details/126384831 如果不行,可能是轉(zhuǎn)存的問題 解決方法:直接在draw.io上操作 第一步 第二步 然后再word中粘貼,依舊是矢量圖哦!

    2024年02月12日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包