为不同用户的情绪分配不同的权重并在地理空间分析中显示

时间:2015-09-04 01:38:24

标签: python python-2.7 geospatial arcgis arcpy

我有以下数据:

PERSON  POWER_USER  DATE    TIME    SENTIMENT   LOCATION    WEIGHT
Person A    Yes     3/5/2015    12:00   0.8     LA          1.5
Person A    Yes     3/5/2015    12:01   0.7     LA          1.5
Person B    No      3/5/2015    14:00   -0.5    LA          1
Person B    No      3/5/2015    15:00   0.1     LA          1
Person A    Yes     3/5/2015    16:00   0.4     LA          1.5
Person D    Yes     3/5/2015    17:00   -0.1    WA          1.5

我想按位置计算“平均”情绪分数。但对于高级用户,我想为他们的情绪分配1.5倍的重量,因为他们更有影响力。如何使用ArcGIS,Arcpy或任何地理空间分析工具完成此操作?

我知道如何在没有Arcgis中的重量考虑的情况下这样做。

1 个答案:

答案 0 :(得分:1)

我不知道问题是否比我理解的更多,但您是否想要创建一个总得分字段,其中情感 Power_User 为每一行加权?

您可以使用Field Calculator填充新的得分字段,如下所示:

Field Calculator

这用于预逻辑脚本代码块:

def CalculateScore(sentiment, poweruser):
    weight = 1.5 if poweruser == "Yes" else 1.0
    return sentiment*weight

这是主要的表达方式:

CalculateScore( !Sentiment! , !Power_User! )

请务必选择 Python 解析器。

然后按位置汇总,找到"平均值"每个位置得分 - 例如LA,WA ...... - 我相信你可以使用Summary Statistics工具。

统计字段= 得分,统计类型= 平均值,案例字段= 位置

Summary Stats Stat Table

如果这就是你所追求的,请告诉我们。