精华内容
下载资源
问答
  • 适合正在准备毕业论文或是相关学术研究的人员
  • 地理距离权重矩阵

    2019-02-23 20:49:30
    空间距离权重矩阵, 用于使用空间计量模型中的权重矩阵
  • 要开始接触或者已经接触了空间计量的朋友们想必已经知道啦,空间计量里最基础的一步就是要将空间权重矩阵选择好,而空间权重矩阵分为三种,空间邻接矩阵、地理距离矩阵、经济距离矩阵。 下面附上中国30个省市(除...

    要开始接触或者已经接触了空间计量的朋友们想必已经知道啦,空间计量里最基础的一步就是要将空间权重矩阵选择好,而空间权重矩阵分为三种,空间邻接矩阵、地理距离矩阵、经济距离矩阵。

    我已在上传资源中附上中国30个省市(除西藏外)空间邻接矩阵,地理距离矩阵,经济距离矩阵文件,可直接导入stata。大家可以看一下。

    展开全文
  • 基于地理距离的空间权重矩阵(标准化).xlsx
  • matlab计算空间权重矩阵地理距离和经济地理距离),distance函数的应用。

    如需转载,请注明来源,谢谢合作。
    若本文对您有一点点的帮助,欢迎点赞、评论和关注。您的鼓励和支持是我继续学习和分享的动力。
    可用以下数据进行验证链接:https://pan.baidu.com/s/10gWu-Dx6vmcJCVujkaAA4g 密码:imh0
    已共享链接和密码,不用再留邮箱了。

    计算地理距离空间权重矩阵

    %主要应用了matlab的distance函数。
    %计算30个省区市行标准化后的地理空间权重矩阵 W。要计算别的,更改以下的30为对应数字即可
    %{
    选中下面两行,按F9快捷键新建纬度x和经度y矩阵
    x=[] %x为纬度,按列粘贴
    y=[] %y为经度,按列粘贴
    %}
    A=[x y]  
    for i=1:30
        for j=1:30
            B(i,j)=distance(A(i,1),A(i,2),A(j,1),A(j,2)); %根据经纬度计算地点间的距离,主要应用distance函数,详细可以百度
        end
    end
    %B算出来的单位是度。换算成距离的话,需要再乘以Pi/180再乘以6378.2,单位为千米。(此处将地球当做一个球体,半径为6378.2千米)
    C=B*pi/180*6378.2  %C即为地点间地理距离矩阵,单位为千米
    D=1./C  %D的元素为距离的倒数。即距离数值越小,倒数后构成的权重越大;反之亦然。
    D(D==inf)=0  %当矩阵元素为无限大时,将其变为0
    %以下行标准化
    E=sum(D,2)  %计算各行之和
    F=repmat(E,1,30)  %主要应用repmat函数
    W=D./F   %W即为行标准化后的地理距离空间权重矩阵
    
    

    计算经济地理距离空间权重矩阵

    %以下为计算经济地理距离空间权重矩阵 Wes的matlab程序。
    %主要思想是:通过上一个matlab程序获得行标准化后的地理距离W,现在获得行标准化后的人均实际GDP经济距离矩阵,再将二者相乘再行标准化。
    %与一些文章的细节处理不大一样。但我觉得本处理更合理些,因为多了几次行标准化,避免了地理距离和经济距离量级不一样造成的较大影响。
    %注意:地理距离不变,但经济距离(很多人使用人均实际GDP的差额表示)是每年都改变的,所以有几年就有几个Wes
    %{
    选中下面一行,按F9(F9是matlab运行选中程序的快捷键),新建某年(例2003年)30个省(市,区)的人均实际GDPx列向量
    x=[] %将2003年30个省(市,区)的人均实际GDP粘贴入x
    W=[] %将上一个matlab计算的地理距离空间权重矩阵粘贴入W
    %}
    y=x %y与x是一样的,这样做是为了后面计算经济距离
    for i=1:30
        for j=1:30
            A(i,j)=x(i,1)-y(j,1);  %A中的元素即为2003年对应两个省区市之间人均实际GDP的差值
        end
    end
    B=abs(A)  %取A元素的绝对值。因为空间权重矩阵考虑的是距离,不是差值大小
    C=1./B
    C(C==inf)=0
    %以下行标准化
    D=sum(C,2)  %计算各行之和
    E=repmat(D,1,30)  %主要应用repmat函数
    We=C./E   %We即为行标准化后的经济距离权重矩阵
    Wes1=W.*We  %地理距离倒数点乘经济距离倒数
    %以下再行标准化
    F=sum(Wes1,2)
    G=repmat(F,1,30)
    Wes=Wes1./G  
    
    展开全文
  • 我国各省间的地理距离,可用于确定地理距离的省际空间权重矩阵,Excel形式,可以直接在spss、stata、eviews 中使用。 使用时注意:数据需按照各省顺序排列,使用时切记把非数字的行和列(也就是省的名称的行和列)...
  • 基于地理距离的省际空间权重矩阵

    万次阅读 2018-11-07 19:29:10
    附件是我国各省间的地理距离,以及基于地理距离的省际空间权重矩阵,Excel形式,可以直接在spss、stata、eviews 中使用 使用时注意:数据需按照各省顺序排列,使用时切记把非数字的行和列(也就是省的名称的行和列...

    附件:我国31个省市间的地理距离
    附件是我国各省间的地理距离,以及基于地理距离的省际空间权重矩阵,Excel形式,可以直接在spss、stata、eviews 中使用
    使用时注意:数据需按照各省顺序排列,使用时切记把非数字的行和列(也就是省的名称的行和列)删除再使用

    展开全文
  • 给定一个矩阵,计算距离矩阵是一个非常常见的需求,比如给定一个特征矩阵需要计算距离矩阵。自己写的话虽然简单每次写也往往很烦,而且自己写的代码效率过低了,使用scipy中的包的话无疑会好一点,具体来说,使用...

    给定一个矩阵,计算距离矩阵是一个非常常见的需求,比如给定一个特征矩阵需要计算距离矩阵。自己写的话虽然简单每次写也往往很烦,而且自己写的代码效率过低了,使用scipy中的包的话无疑会好一点,具体来说,使用scipy.spatial.distance,该包的具体介绍可以看一下官网和这个博客。
    下面贴一个我写的基于经纬度矩阵,计算两两间的距离的代码:
    具体矩阵的形式是一个dataframe,一列是经度,一列是纬度,如下图所示,下面代码中的cam就是这个dataframe。
    在这里插入图片描述

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    from scipy.spatial.distance import pdist
    from scipy import spatial
    import math
    
    # 定义通过经纬度计算直线距离的函数
    from math import radians, cos, sin, asin, sqrt
    def geodistance(lng1,lat1,lng2,lat2):
        if lng1 == None or lng2 == None or lat1 == None or lat2 == None:
            return 999999
        elif (lng1 < 119 or lng1 > 121) or (lng2 < 119 or lng2 > 121) or (lat1 < 29 or lat1 > 30) or (lat2 < 29 or lat2 > 30):
            return 999999
        lng1 = float(lng1) ; lng2 = float(lng2) ; lat1 = float(lat1) ; lat2 = float(lat2)
        lng1,lat1,lng2,lat2 = map(radians,[lng1,lat1,lng2,lat2])
        dlon = lng2-lng1
        dlat = lat2-lat1
        a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
        distance = 2* asin(sqrt(a))*6371*1000
        distance = round(distance/1000,3)
        return distance
    def caldis(u,v):
        # 计算输入矩阵中两个向量的距离
        return geodistance(u[0],u[1],v[0],v[1])
        
    # 将cam转化为向量的形式
    X = cam.values
    X_mat = spatial.distance.squareform(pdist(X , metric=caldis))
    
    

    上面代码得到的X_mat就是每两个经纬度点之间的直线距离了。
    下面我还希望求出这个距离矩阵中每一行中距离小于等于1的个数,并将这个个数保存到dataframe cam中去,代码如下:

    def sma1(ser):
        return (len(ser[ser<=1]))
    cam['devdes'] = np.apply_along_axis(sma1, 1, X_mat)
    

    如果不是一个矩阵各个样本两两间的距离,而是两个矩阵两两间的距离,则可以使用函数from scipy.spatial.distance import cdist,代码如下:

    X_mat = cdist(cam[['lng','lat']].values , tmp[['lng','lat']].values , metric=caldis)
    

    得到的结果是len(cam[[‘lng’,‘lat’]])行,len(tmp[[‘lng’,‘lat’]].values)列的一个矩阵,第i,j个元素代表的含义是cam[[‘lng’,‘lat’]]第i行和tmp[[‘lng’,‘lat’]]第j列两个元素的距离。

    展开全文
  • Geoda如何生成距离权重矩阵和stata如何导入.gwt文件

    万次阅读 多人点赞 2019-01-09 22:07:43
    Geoda如何生成距离权重矩阵和stata如何导入.gwt文件第一步,打开Geoda软件,导入包含经纬度的地图文件,文件格式为.shp;第二步,打开tools—Weights Manager,点击Create,出现Weights File Creation窗口;第三步,...
  • 前情回顾:空间权重矩阵 一年前的博客介绍了基本权重矩阵的定义,今天在其基础上分享Python构建的方式 目录一、经济权重矩阵定义二、数据准备三、全部代码 一、经济权重矩阵定义 ...#经济距离矩阵构建 dat
  • %计算30个省区市行标准化后的地理空间权重矩阵 W。要计算别的,更改以下的30为对应数字即可 %{ 选中下面两行,按F9快捷键新建纬度x和经度y矩阵 x=[] %x为纬度,按列粘贴 y=[] %y为经度,按列粘贴 %} x = [40.48 26....
  • 02pysal距离权重矩阵

    2021-06-06 19:20:17
    距离权重矩阵主要是借助距离来构建权重矩阵。 import numpy as np import pysal as ps import libpysal as lps import geopandas as gpd 1.1k最近邻二元权重 需要指定最近邻居个数,默认值为2,p是距离度量的方幂...
  • Goodchild(1992)指出,几乎所有的空间数据都具有空间依赖(或者称空间自相关)特征,也就是说一个地区空间单元的某种经济地理现象或者某一属性值与邻近地区空间单元上同一现象或属性值是相关的。 ...
  • 全国省级行政区域,为excel版,含有各省份的经纬度,以及权重矩阵
  • 矩阵之间欧式距离的快捷计算方法

    千次阅读 2021-01-13 12:02:04
    最近工作中需要用到矩阵中各个样本之间欧氏距离,因此记录一下,如何简便快捷地进行tensor间欧氏距离的计算(使用Pytorch框架)。 按照我之前的想法,会进行两轮或者一轮循环一个个地求出样本间的欧氏距离,但是看...
  • 地理空间距离计算

    2019-07-14 11:52:02
    1、球面半正矢公式 ... 1.1、代码 ...业务场景仅仅是在一个城市范围内进行距离计算,也就是说两个点之间的距离...美团点评技术团队 地理空间距离计算优化   转载于:https://www.cnblogs.com/z-sm/p/4473566.html
  • 距离权重是最符合人们对空间关系认知的一种模型,也是所谓“地理学第一定律”最经典的解答:相互之间的距离越大,权重就越小。而距离的越近,影响权重就越大。 在ArcGIS里面,反距离权重是所有空间统计统计默认...
  • 地级市空间权重矩阵(包括距离和反距离两种空间权重矩阵
  • [0-1]二进制空间权重矩阵:一般用Rook相邻和Queen相邻。Rook相邻指的是有一段公共边即认为他俩相邻。Queen相邻:只要存在顶点相接,就认为两地区为相邻关系。
  • 本人最近写了一些如何创建空间权重命令,具体内容包括如下:1、直接利用stata创建空间距离矩阵和空间邻接矩阵, 2、Moran' I分析; 3、空间杜宾模型计算; 4、相关命令说明(部分命令为英文,不影响阅读); 5、同时...
  • int[][] Dist={ {max ,22 ,90 ,86 ,133 ,147 ,148 ,228 ,272 ,426 ,490 ,527 ,465 ,63 ,180 ,145 ,371 ,488 ,225 ,102 ,109 },//广州到各市距离 {22 ,max ,112 ,78 ,128 ,169 ,170 ,250 ,286 ,456 ,520 ,557 ,495 ,...
  • 中国省级空间权重矩阵,包含地理相邻、地理距离、铁路、经济空间等
  • 第一步是将距离矩阵转换为OD图的数据格式,用df.stack()函数,得到一个这样的DataSeries: 清洗掉零值: 加入出发位置和到达位置的地理坐标信息: 效果图有点丑。。。。。。感觉用geopandas和与gis相关的package做...
  • print(geodesic((31.237872, 121.470259), (31.246946, 121.513919)).m) #计算两个坐标直线距离 # 4279.081922014711 结果: 4279.081922014711 那么,给定一组经纬度坐标的二维数组如何对每个位置的距离进行计算...
  • 在电脑上利用stata软件直接创建空间距离矩阵和空间邻接矩阵,可进行Moran' I分析;同时包含相关命令说明以及实验相关的数据。
  • Stata: 空间权重矩阵的构建

    万次阅读 2019-09-12 18:23:34
    空间计量方法已经成为了时下最为热门和常用的计量方法之一,而空间权重矩阵的构建则是运用空间计量方法时必不可少的“标准动作”。但在实际研究过程中,我们往往会遇到很多问题。例如,目前网络上能获取到的矩阵与我...
  • 距离矩阵计算 请注意,该库不提供地理编码功能(出于这些目的,您可以使用)。 例子 use Distance \ Model \ Distance ; use Distance \ Model \ Coordinate ; use Distance \ Exception \ PoolError ; // for ...
  • 白话空间统计二十四:地理加权回归(三)

    万次阅读 多人点赞 2017-03-12 18:49:16
    如果说,空间统计有别于经典统计学的两大特征:空间相关性和空间异质性,莫兰指数等可以用来量化空间相关性,那么地理加权回归,就可以用来量化空间异质性。 在对全局回归问题的改进中,局部回归可以说是最简单的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,346
精华内容 1,738
关键字:

地理距离矩阵