在arcgis使用python腳本進(jìn)行字段計(jì)算時(shí)是如何解決中文問(wèn)題的
一、引言
在arcgis打開(kāi)一個(gè)圖層的屬性表,可以對(duì)屬性表的某個(gè)字段進(jìn)行計(jì)算,但是在平常一般都是使用arcgis提供的字段計(jì)算器的界面進(jìn)行傻瓜式的簡(jiǎn)答的賦值操作,并沒(méi)有使用到腳本對(duì)字段值進(jìn)行邏輯的操作。由于最近一直在學(xué)python腳本,剛好又碰上一好基友需要我的助攻(使用arcgis制圖),這就用上了。本以為能夠輕松搞定的,沒(méi)想到搬石頭砸腳了,下面就來(lái)說(shuō)我是如何被砸腳的吧。
二、問(wèn)題描述:將test字段中值為“湖南”的變?yōu)椤昂鲜 薄?/strong>
這個(gè)邏輯是相當(dāng)?shù)暮?jiǎn)單,使用python寫(xiě)一個(gè)對(duì)應(yīng)的方法為:
def cal(value): if(value=='湖南'): return value + '省' else: return value
在arcgis中運(yùn)行python代碼如下圖:
注意:引用屬性字段的值得方法為!test!
點(diǎn)擊確定,結(jié)果彈出一個(gè)錯(cuò)誤,沒(méi)有提示具體是什么錯(cuò)誤,最后在查找了一下資料,原來(lái)是python使用中文的時(shí)候一定要進(jìn)行轉(zhuǎn)碼。
三、解決方案
于是將上面代碼中有中文出現(xiàn)的地方對(duì)其進(jìn)行轉(zhuǎn)碼就好了。更改后的代碼如下:
def cal(value): if(value=='湖南'.decode('utf-8')): return value + '省'.decode('utf-8') else: return value
這下就沒(méi)有錯(cuò)誤了,需要更改的就是在字符串”湖南“和‘省”后面添加 decode('utf-8')方法對(duì)其進(jìn)行編碼。
這下就解決了在arcgis中python腳本處理中文的問(wèn)題。
四、小結(jié)
在arcgis中使用python腳本,只要碰到中文就需要對(duì)其進(jìn)行decode('utf-8')進(jìn)行轉(zhuǎn)碼。
另外,在arcgis中提供的python腳本編輯器超級(jí)難用,所以可以先使用好用的python編輯,將邏輯代碼編寫(xiě)好,然后復(fù)制進(jìn)去,然后運(yùn)行,又快又好。
- python創(chuàng)建ArcGIS shape文件的實(shí)現(xiàn)
- 利用arcgis的python讀取要素的X,Y方法
- Python的CGIHTTPServer交互實(shí)現(xiàn)詳解
- 基于Python_腳本CGI、特點(diǎn)、應(yīng)用、開(kāi)發(fā)環(huán)境(詳解)
- 使用FastCGI部署Python的Django應(yīng)用的教程
- 在IIS服務(wù)器上以CGI方式運(yùn)行Python腳本的教程
- Windows 配置Apache以便在瀏覽器中運(yùn)行Python script的CGI模式
- 使用python實(shí)現(xiàn)CGI環(huán)境搭建過(guò)程解析
相關(guān)文章
Python中BeautifuSoup庫(kù)的用法使用詳解
這篇文章主要介紹了Python中BeautifuSoup庫(kù)的用法使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11python爬取數(shù)據(jù)中的headers和代理IP問(wèn)題分析
這篇文章主要為大家介紹了python爬取數(shù)據(jù)中的headers和代理IP問(wèn)題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06使用Python腳本將Bing的每日?qǐng)D片作為桌面的教程
這篇文章主要介紹了使用Python腳本將Bing的每日?qǐng)D片作為桌面的教程,示例基于Windows操作系統(tǒng)環(huán)境實(shí)現(xiàn),需要的朋友可以參考下2015-05-05詳解Python NumPy中矩陣和通用函數(shù)的使用
在NumPy中,矩陣是ndarray的子類(lèi),與數(shù)學(xué)概念中的矩陣一樣,NumPy中的矩陣也是二維的,可以使用 mat 、 matrix 以及 bmat 函數(shù)來(lái)創(chuàng)建矩陣。本文將詳細(xì)講解NumPy中矩陣和通用函數(shù)的使用,感興趣的可以了解一下2022-06-06python腳本執(zhí)行CMD命令并返回結(jié)果的例子
今天小編就為大家分享一篇python腳本執(zhí)行CMD命令并返回結(jié)果的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08yolov5中anchors設(shè)置實(shí)例詳解
在YOLOV5算法之中,針對(duì)不同的數(shù)據(jù)集,一般會(huì)預(yù)先設(shè)置固定的Anchor,下面這篇文章主要給大家介紹了關(guān)于yolov5中anchors設(shè)置的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06