查询选举结果

时间:2015-11-29 02:38:52

标签: arcgis arcmap

在过去的3个选举周期中,我在ArcGIS的市长竞赛中建立选举地图,试图看看该镇的某个特定部分是否像镇上其他地方一样投票。

市长有多个候选人,示例表如下:

PRECINCT_NUMBER    TOTAL_BALLOTSCAST    CANDIDATE1   CANDIDATE2  CANDIDATE3
           500                  1000           500          300         200
           501                  2000           800          700         500
           502                  1000           400          500         100

我可以通过计算candidatex / total_ballotcast以确定每个区域的百分比来显示特定候选人如何通过区域进行操作,并按候选人的百分比类别显示区域。

但是,我也试图通过百分比显示每个区域中最大的赢家,我不确定如何查询数据以反映这一点。

1 个答案:

答案 0 :(得分:1)

要在ArcMap中完成此任务:

创建一个新字段(例如WINNER)。使用field calculator比较三个字段中的值并输出最大值(最大赢家),如下所示:

选中“显示代码块”以在字段计算器工具中执行高级python表达式。

表达式应为:

find_winner(!CANDIDATE1!, !CANDIDATE2!, !CANDIDATE3!)

预逻辑脚本代码是您定义表达式调用的函数find_winner的地方:

def find_winner(a, b, c):
    if a > b and a > c:      # if a got more votes than b and c
        return "Candidate 1"
    elif b > a and b > c:    # if b got more votes than a and c
        return "Candidate 2"
    elif c > a and c > b:    # if c got more votes than a and b
        return "Candidate 3"
    else:
        return "TIE?"

使用值填充WINNER后,可以直接根据该属性对多边形进行符号化。