#所有資料均未涉及商業機密,只包含公開的轉換引數。並且不同區域每個引數不同,需要對應後更改。
#適用於杭州餘杭國土分局資料庫的耕地質量等級計算
#根據不同的代號,更改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...