arcgis中屬性表計算國家利用等指數的操作方法

2021-08-21 01:12:54 字數 4542 閱讀 4167

#所有資料均未涉及商業機密,只包含公開的轉換引數。並且不同區域每個引數不同,需要對應後更改。

#適用於杭州餘杭國土分局資料庫的耕地質量等級計算

#根據不同的代號,更改return可以實現質量分,自然等指數等相關資料的計算。

#注意選擇python

#注意只有arcgis10及以上的版本支援

屬性表中字段計算器樣式:

#指令碼內容

#coding:utf-8

from __future__ import division

import math

__author__ = "杭州華耕__楊勇"

__date__ = r"2018/5/16"

#選擇python

#所有等指數均為四捨五入後的值,四捨五入後才能計算後面的值

def yy(a_sd,b_sd,c_sd,d_sd,e_sd,f_sd,d_yc,e_yc,j_tdlyxs,k_tdjjxs):

if c_sd == 30.0:

c_sd = 30

#水稻質量分數相關分等因素

# a_sd = float(input('請輸入浙北平原水稻基礎肥力質量分值:')) #有 trfl 有轉換公式

# b_sd = float(input('請輸入浙北平原水稻土壤質地質量分值:')) #有 bctrzd 有轉換公式

# c_sd = float(input('請輸入浙北平原水稻有機質含量質量分值:')) #有 tryjzhl

# d_sd = float(input('請輸入浙北平原水稻耕層厚度質量分值:')) # zacjdbsd

# e_sd = float(input('請輸入浙北平原水稻灌溉條件質量分值:')) # ggbzl

# f_sd = float(input('請輸入浙北平原水稻排水條件質量分值:')) # pstj

# #油菜質量分數相關分等因素

# a_yc = float(input('請輸入浙北平**菜土壤質地質量分值:')) # 同bctrzd,即b_sd

# b_yc = float(input('請輸入浙北平**菜有機質含量質量分值:'))

# c_yc = float(input('請輸入浙北平**菜耕層厚度質量分值:'))

# d_yc = float(input('請輸入浙北平**菜ph值質量分值:')) # trsjd

# e_yc = float(input('請輸入浙北平**菜地下水位質量分值:')) # dxsms

#土壤肥力轉換土壤肥力質量分值

trflzlfz =

a_sd = trflzlfz["%s"%a_sd]

# 油菜土壤質地質量分值

yc_trzdzlfz =

a_yc = yc_trzdzlfz["%s"%b_sd]

#水稻土壤質地質量分值

sd_trzdzlfz =

b_sd = sd_trzdzlfz["%s"%b_sd]

# 油菜有機質含量質量分值

yc_yjzzlfz =

b_yc = yc_yjzzlfz["%s"%c_sd]

#水稻有機質含量質量分值

sd_yjzhlzlfz =

c_sd = sd_yjzhlzlfz["%s"%c_sd]

# 油菜耕作層厚度質量分值

yc_gzchdzlfz =

c_yc = yc_gzchdzlfz["%s" % d_sd]

#水稻耕作層厚度質量分值

sd_gzchdzlfz =

d_sd = sd_gzchdzlfz["%s"%d_sd]

#水稻灌溉條件質量分值

sd_ggtjzlfz=

e_sd = sd_ggtjzlfz["%s"%e_sd]

#水稻排水條件

sd_pstjzlfz =

f_sd = sd_pstjzlfz["%s"%f_sd]

# 油菜酸鹼度質量分值

d_yc = long(d_yc)

yc_sjdzlfz =

d_yc = yc_sjdzlfz["%s" % d_yc]

#油菜地下水位質量分值

yc_dxswzlfz =

e_yc = yc_dxswzlfz["%s"%e_yc]

#水稻的光溫生產潛力

g_sd_gwscql = 1604

#油菜的光溫生產潛力

g_yc_gwscql = 568

#水稻的產量比係數

h_sd_clxs = 1

#油菜的產量比係數

h_yc_clxs = 1.64

#專案區所在地土地利用係數

# j_tdlyxs = float(input('請輸入專案區所在地土地利用係數:')) # lyxs

#專案所在地土地經濟係數

# k_tdjjxs = float(input('專案所在地土地經濟係數:')) # jjxs

#水稻一年成熟次數

l_sd = 2

#油菜一年成熟次數

l_yc = 1

#以下為公式關係

#水稻的自然質量分(cli_sd)

cli_sd = (0.25 * a_sd + 0.10 * b_sd + 0.20 * c_sd + 0.10 * d_sd + 0.15 * e_sd + 0.20 * f_sd)/100

#cli_油菜的自然質量分(cli_yc)

cli_yc = (0.15 * a_yc + 0.25 * b_yc + 0.20 * c_yc + 0.15 * d_yc + 0.25 * e_yc)/100

#rij 水稻標準糧產量(rij_sd)

rij_sd = g_sd_gwscql * cli_sd * h_sd_clxs

#rij 油菜標準糧產量(rij_yc)

rij_yc = g_yc_gwscql * cli_yc * h_yc_clxs

#省級自然質量等指數 浙江省(rij_zjs_sswr)

rij_zjs = rij_sd * l_sd + rij_yc * l_yc

rij_zjs_sswr = round(rij_zjs)

#國家級自然質量等指數(rij_china_sswr)

rij_china = rij_zjs_sswr * 1.2058 - 246.96

rij_china_sswr = round(rij_china)

#yij_水稻 農用地利用等指數(yij_sd_sswr)

yij_sd = rij_sd * j_tdlyxs

yij_sd_sswr = round(yij_sd)

#yij_油菜 農用地利用等指數(yij_yc_sswr)

yij_yc = rij_yc * j_tdlyxs

yij_yc_sswr = round(yij_yc)

#浙江省農用地利用等指數(y_zjs_sswr)

y_zjs = yij_sd_sswr * l_sd + yij_yc_sswr * l_yc

y_zjs_sswr = round(y_zjs)

#國家級利用等指數(y_china_sswr)

y_china = y_zjs_sswr * 0.5778 + 116.67

y_china_sswr = round(y_china)

#國家利用等別(lydb_china)

lydb_china = 15 - math.floor(y_china_sswr/200)#注意,1599.8先四捨五入為1600再去與表進行比較

#省經濟等指數(g_zjs_sswr)

g_zjs = y_zjs_sswr * k_tdjjxs

g_zjs_sswr = round (g_zjs)

#國家經濟等指數(g_china_sswr)

g_china = g_zjs_sswr * 0.6029 + 509.57

g_china_sswr = round(g_china)

del a_sd

del b_sd

del c_sd

del d_sd

del e_sd

del f_sd

del d_yc

del e_yc

del j_tdlyxs

del k_tdjjxs

return ( lydb_china)

# 輸入公式 yy( !trfl! , !bctrzd! , !tryjzhl! , !zacjdbsd! , !ggbzl! , !pstj! , !trsjd! , !dxsms! , !lyxs! , !jjxs! )

ArcGIS讀取DBF屬性表中文亂碼

環境win10,arcgis desktop 10.2 解決方案一 建立乙個dbf同名的cpg檔案寫入編碼方式utf 8。解決方案二 在 arcgis desktop arcmap,arccatalog,and arctoolbox 中,有編碼頁轉換功能 code page conversion 可...

在ArcGIS屬性表中增加需要的字段,並自動賦值

在arcgis屬性表中,一般不會包含實體幾何資訊,可以採取vba進行計算。下面是幾個簡單的 載自集思學院 特點 1推薦給不會使用ao的朋友 2可以儲存為cal檔案以備下次方便使用 使用方法 1開啟屬性表,選擇計算的字段,右點選擇calculate values 2.選擇 是 進入field calc...

ARCGIS 匯出shp屬性表中文亂碼解決

arcgis10.2以後,shp檔案屬性表中文會有亂碼的情況 解決方法 解決方法 在cmd命令列中輸入以下命令 reg add hkey current user software esri desktop10.3 common codepage v dbfdefault t reg sz d 93...