急求:arcgis10中计算面积数值很小,与实际不符?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急求:arcgis10中计算面积数值很小,与实际不符?相关的知识,希望对你有一定的参考价值。

计算出来的面积不管怎么换单位最终只有不到1平米,实际上大约有2平方千米,怎么办?急用在线等!

您好,采用矩形提取工具进行栅格裁剪,也可以输入对应已有的矢量或栅格要素,但是始终会作为矩形进行裁剪,因而结果与上述裁剪工具中未勾选“将输入要素用于裁剪几何”的结果一致,即将利用输入几何的最小外接矩形进行裁剪栅格处理。
利用已有矢量或栅格范围对已有栅格数据进行裁剪的另一个有效快速的方法是利用空间分析工具箱中按掩模提取工具,如下图所示,直接输入对应的输入栅格和用来提取范围的栅格或矢量要素,即可。
另外,就是利用栅格计算器,进行栅格处理,可将对应的用来裁剪的栅格数据值处理为1,直接与输入栅格进行乘法运算即可。如果输入为矢量数据,则可利用面转栅格,或者要素转栅格将其先转为栅格数据,再进行栅格计算器运算即可。
通过上述工具,不难发现,如果已有待裁剪的范围的栅格数据,直接利用影像分析窗口进行裁剪最快速,如果有对应范围的矢量数据,则利用栅格数据处理工具集中的裁剪工具或按掩模提取工具都能快速得到想要范围的栅格数据,而如果已有指定结果范围的坐标信息,则利用矩形、多边形、圆形提取工具进行裁剪也可获得相应的结果。
参考技术A

我也碰到了,可以建个数据库,又搜了一下可以用一个工具。但是原因没找到

参考技术B 兄弟,我猜这矢量图是不是你自己用JPG矢量的,比例没设置对,不是参考现实的大小 参考技术C 坐标系未投影,把这个投影一下,就自动跟上了 参考技术D 你好,你解决了么?我也遇到了这样的问题,请问你怎么解决的呢

基尼系数

概念

  基尼系数是指国际上通用的、用以衡量一个国家或地区居民收入差距的常用指标。基尼系数介于0-1之间,基尼系数越大,表示不平等程度越高。

 

通用计算方法

  赫希曼根据洛伦茨曲线提出的判断分配平等程度的指标。设实际收入分配曲线和收入分配绝对平等曲线之间的面积为A,实际收入分配曲线右下方的面积为B。并以A除以(A+B)的商表示不平等程度。这个数值被称为基尼系数或称洛伦茨系数。如果A为零,基尼系数为零,表示收入分配完全平等;如果B为零则系数为1,收入分配绝对不平等。收入分配越是趋向平等,洛伦茨曲线的弧度越小,基尼系数也越小,反之,收入分配越是趋向不平等,洛伦茨曲线的弧度越大,那么基尼系数也越大。另外,可以参看帕累托指数(是指对收入分布不均衡的程度的度量)。
  国内不少学者对基尼系数的具体计算方法作了探索,提出了十多个不同的计算公式。山西农业大学经贸学院张建华先生提出了一个简便易用的公式:假定一定数量的人口按收入由低到高顺序排队,分为人数相等的n组,从第1组到第i组人口累计收入占全部人口总收入的比重为wi,则说明:该公式是利用定积分的定义将对洛伦茨曲线的积分(面积B)分成n个等高梯形的面积之和得到的。

 技术分享图片

 

应用

  通过这个指标,我们可以看一项内容的分布是否均衡,或者分布区间的走向。举个例子,假如我们需要看推荐算法一日推荐出来的商品的类目的分布,我们可以先统计出各个类目的一个数量,然后计算基尼系数,这样就可以看出来的分布是否均衡。当然在推荐的过程中,也不能完全看这个指标,因为有些场景可能就希望推荐一些头部商品,所以在使用这个指标的时候需要灵活处理。

 

代码

  下面是python的一段实现代码:

#-*- coding:utf-8 -*-
#!/usr/bin/python

import numpy as np 
from matplotlib import pyplot as pl 

# 绘图用
fig, ax = pl.subplots()

# 绘制
def Drawing(xarray, yarray):
    # 绘制洛伦兹曲线
    ax.plot(xarray, yarray)
    # 绘制均衡直线
    ax.plot(xarray, xarray)
    ax.set_xlabel(u横坐标)
    ax.set_ylabel(u纵坐标)
    pl.show()

# 计算基尼系数
def Gini():
    # 计算数组累计值,从 0 开始
    
    # 原始数据
    numlist = [1.5, 2, 3.5, 10, 4.2, 2.1, 1.1, 2.2, 3.1, 5.1, 9.5, 9.7, 1.7, 2.3, 3.8, 1.7, 2.3, 5, 4.7, 2.3, 4.3, 12]

    # 按照个数累计统计后,分别求总数,得到一个平均分的一列坐标。例如5的话,得到的值是[0,1,2,3,4]/4
    # 得到的是洛伦兹曲线上方的均衡直线
    xarray = np.array(range(0, len(numlist)+1)) / np.float(len(numlist))
    #print "xarray", xarray


    # 计算基尼系数,第一个数字需要从 0 开始;先排序
    numsort = sorted(np.append(numlist, 0))
    #print "numsort", numsort

    # 累加值计算
    csum_numlist = np.cumsum(numsort)
    #print "csum_numlist", csum_numlist

    # 取最后一个,也就是原数组的和
    sum_num = csum_numlist[-1]

    # 得到洛伦兹曲线
    yarray = csum_numlist / sum_num
    #print "yarray", yarray


    # 计算曲线下面积的通用方法
    B = np.trapz(yarray, x=xarray)
    # 总面积 0.5
    A = 0.5 - B
    G = A / (A + B)

    # 绘制图像
    Drawing(xarray, yarray)

    return G

a = Gini()
print Gini:, a

  最终得到 0.37025408173123364

  绘制的图为:

技术分享图片

 


以上是关于急求:arcgis10中计算面积数值很小,与实际不符?的主要内容,如果未能解决你的问题,请参考以下文章

arcgis计算面积

arcgis打碎图斑

怎么用arcgis计算面积和体积

ArcGIS怎么分别计算每个重叠的缓冲区与其他多边形的重叠面积?

arcgis椭球面积误差

arcgis裁剪后比shp面大