【问题导向】GWR与MGWR——以南京市中心城区住宅小区为例

3 篇文章 13 订阅
订阅专栏

背景

大二的时候和导师进行过GWR(地理加权回归)的学习,当时只是囫囵吞枣,对于GWR的含义和细节并没有很好的理解。这几天在微信公众号看了城市数据派,古恒宇博士的讲座。 讲座链接.

抽时间实现了GWR和MGWR,温故而知新,本次学习中有以下几点新收获:
1,如何理解GWR,带宽、核函数是什么。MGWR是如何优化GWR的不足。
2,如何解读GWR和MGWR的结果。
3,如何使用python读取和绘制shp文件(geopandas库的使用)

实例:南京市中心城区住宅小区分析

数据预处理

研究区域为南京市的主城区(玄武区、秦淮区、建邺区、鼓楼区、栖霞区、雨花台区)
在这里插入图片描述

从高地地图爬取的POI数据,然后利用Arcgis进行预处理,将研究区域用1km*1km格网划分,统计每个格网内的POI数据量。为了避免多重共线性问题,去除掉小区数为0的格网。
在这里插入图片描述
之后的处理都使用python执行。本次处理是第一次使用一直心念念的geopandas库。值得纪念。
geopandas是用来处理地理空间数据的python第三方库,它是在pandas的基础上建立的,完美地融合了pandas的数据类型,并且提供了操作地理空间数据的高级接口,使得在python中进行GIS操作变成可能。
执行MGWR时spyder会报错(建模时有一段动画),因此要使用Jupyter Notebook运行代码。

首先使用geopandas读取库,并可视化。

import numpy as np
from mgwr.gwr import GWR, MGWR
from mgwr.sel_bw import Sel_BW
import geopandas as gp
import matplotlib
import matplotlib.pyplot as plt
import time
import contextily as ctx
from mgwr.utils import shift_colormap, truncate_colormap
#导入shp数据,可视化并加载在线底图
georgia_shp = gp.read_file('D:\data\data.shp').to_crs('EPSG:3857')#变换投影为web墨卡托即EPSG:3857
fig, ax = plt.subplots(figsize=(10,10))
ax = georgia_shp.plot(ax=ax, alpha=0.1, edgecolor='k')
ax.axis('off')
georgia_shp.plot(ax=ax, alpha=0.5,**{'edgecolor':'black', 'facecolor':'white'})#alpha设置透明度
ctx.add_basemap(ax, 
                source='https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',
                zoom=11)

在这里插入图片描述
加载查看一下数据,可以看见geopandas在pandas最后加了一列geopandas对应点线面形状。
在这里插入图片描述

构建模型

读取自变量,因变量,坐标等准备拟合。

#准备拟合参数
g_y = georgia_shp['小区'].values.reshape((-1,1))
georgia_shp['政府机关']=georgia_shp['政府机']
georgia_shp['休闲娱乐']=georgia_shp['休闲娱']
g_X = georgia_shp[['政府机关','休闲娱乐','零售','医疗','公园','餐饮','酒店']].values
u = georgia_shp['pointx']
v = georgia_shp['pointy']
g_coords = list(zip(u,v))
g_X = (g_X - g_X.mean(axis=0)) / g_X.std(axis=0)
g_y = g_y.reshape((-1,1))
g_y = (g_y - g_y.mean(axis=0)) / g_y.std(axis=0)

执行GWR,带宽唯一为59.0,耗时为0.5271022319793701

#执行GWR
time_start=time.time()
gwr_selector = Sel_BW(g_coords, g_y, g_X)
gwr_bw = gwr_selector.search()
print(gwr_bw)
gwr_results = GWR(g_coords, g_y, g_X, gwr_bw).fit()
time_end=time.time()
print('GWR cost',time_end-time_start)

执行MGWR,带宽为43;184;271;51;271;63;271;74;耗时为112.7812876701355;
可见MGWR相对于GWR能够对每个变量构建带宽,但同时更耗费时间。

#执行MGWR
time_start=time.time()
mgwr_selector = Sel_BW(g_coords, g_y, g_X, multi=True)
mgwr_bw = mgwr_selector.search()
print(mgwr_bw)
mgwr_results = MGWR(g_coords, g_y, g_X, mgwr_selector).fit()
time_end=time.time()
print('MGWR cost',time_end-time_start)

将模型计算的系数添加到shp数据中

georgia_shp['gwr_intercept'] = gwr_results.params[:,0]
georgia_shp['gwr_政府机关'] = gwr_results.params[:,1]
georgia_shp['gwr_休闲娱乐'] = gwr_results.params[:,2]
georgia_shp['gwr_零售'] = gwr_results.params[:,3]
georgia_shp['gwr_医疗'] = gwr_results.params[:,4]
georgia_shp['gwr_公园'] = gwr_results.params[:,5]
georgia_shp['gwr_餐饮'] = gwr_results.params[:,6]
georgia_shp['gwr_酒店'] = gwr_results.params[:,7]
gwr_filtered_t = gwr_results.filter_tvals()

georgia_shp['mgwr_intercept'] = gwr_results.params[:,0]
georgia_shp['mgwr_政府机关'] = gwr_results.params[:,1]
georgia_shp['mgwr_休闲娱乐'] = gwr_results.params[:,2]
georgia_shp['mgwr_零售'] = gwr_results.params[:,3]
georgia_shp['mgwr_医疗'] = gwr_results.params[:,4]
georgia_shp['mgwr_公园'] = gwr_results.params[:,5]
georgia_shp['mgwr_餐饮'] = gwr_results.params[:,6]
georgia_shp['mgwr_酒店'] = gwr_results.params[:,7]
mgwr_filtered_t = mgwr_results.filter_tvals()

对结果可视化

def deal(a,num):
    fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(45,20))
    myfont = matplotlib.font_manager.FontProperties(fname="simsun.ttc")
    ax0 = axes[0]
    ax0.set_title('GWR '+a+' (BW: ' + str(gwr_bw) +')', fontsize=40,fontproperties=myfont)
    ax1 = axes[1]
    ax1.set_title('MGWR '+a+' (BW: ' + str(mgwr_bw[num]) +')', fontsize=40,fontproperties=myfont)

    #Set color map
    cmap = plt.cm.seismic

    #Find min and max values of the two combined datasets
    gwr_min = georgia_shp['gwr_'+a].min()
    gwr_max = georgia_shp['gwr_'+a].max()
    mgwr_min = georgia_shp['mgwr_'+a].min()
    mgwr_max = georgia_shp['mgwr_'+a].max()
    vmin = np.min([gwr_min, mgwr_min])
    vmax = np.max([gwr_max, mgwr_max])

    #If all values are negative use the negative half of the colormap
    if (vmin < 0) & (vmax < 0):
        cmap = truncate_colormap(cmap, 0.0, 0.5)
    #If all values are positive use the positive half of the colormap
    elif (vmin > 0) & (vmax > 0):
        cmap = truncate_colormap(cmap, 0.5, 1.0)
    #Otherwise, there are positive and negative values so the colormap so zero is the midpoint
    else:
        cmap = shift_colormap(cmap, start=0.0, midpoint=1 - vmax/(vmax + abs(vmin)), stop=1.)

    #Create scalar mappable for colorbar and stretch colormap across range of data values
    sm = plt.cm.ScalarMappable(cmap=cmap, norm=plt.Normalize(vmin=vmin, vmax=vmax))

    #Plot GWR parameters
    georgia_shp.plot('gwr_'+a, cmap=sm.cmap, ax=ax0, vmin=vmin, vmax=vmax, **{'edgecolor':'black', 'alpha':.65})
    #If there are insignificnt parameters plot gray polygons over them
    if (gwr_filtered_t[:,0] == 0).any():
        georgia_shp[gwr_filtered_t[:,0] == 0].plot(color='lightgrey', ax=ax0, **{'edgecolor':'black'})

    #Plot MGWR parameters
    georgia_shp.plot('mgwr_'+a, cmap=sm.cmap, ax=ax1, vmin=vmin, vmax=vmax, **{'edgecolor':'black', 'alpha':.65})
    #If there are insignificnt parameters plot gray polygons over them
    if (mgwr_filtered_t[:,0] == 0).any():
        georgia_shp[mgwr_filtered_t[:,0] == 0].plot(color='lightgrey', ax=ax1, **{'edgecolor':'black'})
 
    #Set figure options and plot 
    fig.tight_layout()    
    fig.subplots_adjust(right=0.9)
    cax = fig.add_axes([0.92, 0.14, 0.03, 0.75])
    sm._A = []
    cbar = fig.colorbar(sm, cax=cax)
    cbar.ax.tick_params(labelsize=50) 
    ax0.get_xaxis().set_visible(False)
    ax0.get_yaxis().set_visible(False)
    ax1.get_xaxis().set_visible(False)
    ax1.get_yaxis().set_visible(False)
    plt.show()

num=0
for i in ['政府机关','休闲娱乐','零售','医疗','公园','餐饮','酒店']:
    deal(i,num)
    num=num+1

模型对比

从多个指标分析,可以看到MGWR优于GWR
在这里插入图片描述

结果分析

可以看见MGWR不同变量的带宽不同。比如零售、公园的带宽小,说明影响距离小,服务范围小,这也符合我们生活常识,去零售店或者公园都是就近原则。而餐饮、医疗、娱乐设施的影响距离远,说明服务范围大,吃饭就医远一些也能忍受。
在这里插入图片描述

数据较多,只挑选几个典型的分析。

休闲娱乐设施显著正向影响小区数量,说明娱乐设施越多居住环境越好,小区数量越多。
在这里插入图片描述
零售设施正向影响小区数量,且具有圈层结构。说明零售施能显著提升居住质量。但是距离影响较少,稍微远一些影响就呈现负效果。
在这里插入图片描述
同样公园对居住的影响也是圈层,但是与零售完全相反,且影响力很小。可能是公园的布局与零售不同。
在这里插入图片描述

理解GWR和MGWR

空间统计与空间过程

ps:后面的内容是结合古恒宇博士的讲座总结而来。 讲座链接.

传统统计学中,统计数据时没有考虑到位置信息。如我们中学就学过的OLS。随着人们将数据的地理位置信息纳入考虑,空间统计学也发展而来。

空间数据是一种结果,我们需要对形成这种结果的空间过程进行一定的假设和分析;主要的分析方向是空间自相关(空间依赖性,地理学第一定律)和空间异质性(地理学第二定律,地理数据在空间上的差异性)。而GWR主要是围绕空间异质性展开。
在这里插入图片描述

在这里插入图片描述

如何对空间过程描叙?传统上是用过感性的语言进行描述,比如我们中学时做地理分析题的那种术语。然而随着数学引入地理学中,现代地理学对过程的描叙需要用严谨的数学公式进行。(左边的随机性大一些,右边的随机性小一些)
在这里插入图片描述
GWR更关注的特性是2,过程的异质性,也就是对关系的异质性的描述(A、B关系的异质性,A、B的异质性是关系异质性的结果)

在这里插入图片描述
在这里插入图片描述

GWR的理解

GWR中的空间尺度(也可以理解为带宽),描述了各个样本的空间关系在多大空间范围内是平稳的。
在这里插入图片描述

GWR将位置引入为回归参数,用空间权重来表达,一般是样本回归点到其他各点的距离衰减函数。
GWR能够很直观的表现、处理空间异质性。允许全局空间的变参数。
在这里插入图片描述
GWR的理解:
中间的红点,代表进行回归的点。只有一定距离(带宽,即以任意一点为中心,邻域的范围)的样本点参与回归,距离较远的点影响就趋近于0了。

彩色的“罩子”理解为核函数,他的范围就是带宽。通过核函数确定邻域对该点影响的大小即权重。(根据地理学第一定律,越近的数据点的权重越高)

通过回归就能可视化这种影响的变化。
在这里插入图片描述

求带宽的方式很多,如固定带宽,自适应带宽;带宽越大纳入的点越多。纳入所有的点,就是全局回归。
在这里插入图片描述
自适应带宽
在这里插入图片描述

GWR的不足

GWR的带宽是固定的,比如回归中有多个参数(x1 x2 x3…);在GWR中这些参数的带宽都一样。如下图。

在这里插入图片描述
但是,在实际中不同的参数的影响是不一样的。如对于房价而言面积和教育的影响程度是不同的(学区房面积虽然小,但是价格仍然很高)。因此,对不同的参数,带宽应该是不同的。

MGWR解决了这一点,MGWR(多尺度地理加权回归)中不同参数的带宽是不同的,这比GWR描述异质性上进了一步。如下图
在这里插入图片描述

MGWR

MGWR的优势
在这里插入图片描述
推荐的文献:
第一篇提及GWR的文章
在这里插入图片描述
讨论权重求解问题

在这里插入图片描述
应用
在这里插入图片描述

分析方法

一般是对同一组数据分别进行OLS GWR MGWR三次实验,观察效果。
衡量不同模型精度关注的是: R 2 R^{2} R2、Sigma、AICc(赤则信息量,越低越好)、BIC(贝叶斯信息量,越小越好)
对GWR和MGWR应该分析每个变量的系数。分析改变量是正向影响还是负向影响y
在这里插入图片描述

对MGWR分析应该包括不同变量带宽的差异。

在这里插入图片描述

链接:
1, Jiang, W.; Wang, Y.; Dou, M.; Liu, S.; Shao, S.; Liu, H. Solving Competitive Location Problems with Social Media Data Based on Customers’ Local Sensitivities. ISPRS Int. J. Geo-Inf. 2019, 8, 202. https://doi.org/10.3390/ijgi8050202.

2, 模型选择的一些基本思想和方法.

3, 白话空间统计.

4, 沈体雁,于瀚辰,周麟,古恒宇,何泓浩.北京市二手住宅价格影响机制——基于多尺度地理加权回归模型(MGWR)的研究[J].经济地理,2020,40(03):75-83..

新开通了本人的公众号,欢迎关注:燕南路GISer ,专注GIS干货分享,不定期更新。
主要兴趣:GIS、时空数据挖掘、python、机器学习深度学习
CSDN的部分内容会重写再搬迁到公众号,欢迎关注!
在这里插入图片描述

多尺度地理加权回归(MGWR),地理加权回归(GWR),最小二乘法(OLS)回归模型的对比分析
weixin_41590039的博客
04-16 1万+
MGWR(Multiscale Geographic Weighted Regression多尺度地理加权回归) 一,概念 经典GWR由Fotheringham在1996年提出,基于构建空间权重矩阵的回归模型,普遍用于空间的影响因素分析上。SGWR(半参数地理加权回归)由Fotheringham提出,仅能将不同变量的影响尺度分成全局和局部两类,无法进一步细分,MGWR由2017年由Fotheringham提出,Yu等在2019年补充完善了MGWR的统计推断,从而使得该方法可以普遍地用于实证研究中。202
mgwr:多尺度地理加权回归(MGWR
05-13
中号ultiscaleģeographicallyW¯¯eightedřegression(MGWR) 该模块提供了校准多刻度(M)GWR以及传统GWR的功能。 它建立在稀疏的广义线性建模(spglm)模块上。 特征 通过迭代加权最小二乘对高斯模型,泊松模型和二项式概率模型进行GWR模型校准。 通过黄金分割搜索或等间隔搜索选择GWR带宽 GWR特定的模型诊断,包括多个假设检验校正和局部共线性 参数估计曲面的空间变异性的蒙特卡洛检验 基于GWR的空间预测 通过GAM迭代反拟合对高斯模型进行MGWR模型校准 GWRMGWR的并行计算 MGWR协变量特定的推论,包括多重假设检验校正和局部共线性 GWRMGWR带宽置信区间 引文 Oshan,TM,Li,Z.,Kang,W.,Wolf,LJ,&Fotheringham,AS(2019)。 mgwr:多尺度地理加权回归的Python实现,用
(学习笔记)地理加权回归(GWR)、多尺度地理加权回归(MGWR)原理与软件实现
热门推荐
qq_55655027的博客
09-18 5万+
本文来自多篇文章,本文为学习笔记。 1引言 回归分析是最常用的社会科学统计方法。回归用于评估两个或更多要素属性之间的关系。通过回归分析,我们可以对空间关系进行建模、检查和探究;回归分析还可以帮助解释所观测到的空间模式背后的诸多因素,例如为什么有些地区会持续发生年轻人早逝或者糖尿病的发病率比预期要高的情况。 回归可以分为两类,一类是线性回归,另一类是非线性的基于机器学习算法的回归。 线性回归,用来确定两种或两种以上变量间相互依赖的定量关系。包括普通最小二乘法OLS (Ordinary Lea..
基于python的时空地理加权回归(GTWR)模型
最新发布
frankgis的博客
07-21 1938
时空地理加权回归(GTWR)模型是由美国科罗拉多州立大学的Andy Liaw、Stanley A. Fiel和Michael E. Bock于2008年提出的一种高级空间统计分析方法。它是在传统地理加权回归(GWR)模型的基础上发展起来的,通过结合时间和空间两个维度,提供了一种更为灵活和精确的时空数据分析手段。背景和发展传统的地理加权回归(GWR)模型主要关注地理空间上的数据变化,通过引入地理位置的权重,来刻画不同地理位置下变量之间的关系。
多尺度地理加权回归(MGWR) 安装包,用户手册,源码及示例数据。
03-11
1 源码为python语言编写。 2 兼容地理加权回归和多尺度地理加权回归。 3 软件及源码由马里兰大学地理科学院提供。
混合地理加权回归python实现代码
12-25
通过python编码实现MGWR、MGWTR模型的求解。能够解决空间非平稳性问题
ArcGIS与地理加权回归【三】
weixin_45709844的博客
02-15 4722
这个例子的数据的原因吧,对比一下R²,AICc,有效参数数量,残差平方和,MGWR也没太优于GWR的。在得到的csv表里,根据各变量的p值,筛选出具有显著性的数据,然后在ArcGIS中以beta值进行显示。简而言之,t值的绝对值用来与特定区间值对比(例如0.1水平1.64-1.96,0.05水平1.96-2.58,0.01水平>2.58),来判断在什么水平上显著。p是根据t和自由度计算出的不显著的概率,可以直接与显著性水平对比大小(例如0.1、0.05、0.01),所以最终只使用p值来判断是否显著即可。
基于Python的栅格数据地理加权回归
weixin_44785184的博客
06-05 3323
地理加权回归 (GWR) 是若干空间回归技术中的一种,越来越多地用于地理及其他学科。通过使回归方程适合数据集中的每个要素,GWR 可为您要尝试了解/预测的变量或过程提供局部模型。GWR 构建这些独立方程的方法是:将落在每个目标要素的带宽范围内的要素的因变量和解释变量进行合并。带宽的形状和大小取决于用户输入的核类型、带宽方法、距离以及相邻点的数目参数。MGWR 以地理加权回归 (GWR) 为基础构建。它是一种局部回归模型,允许解释变量的系数随空间变化。每个解释变量都可以在不同的空间尺度上运行。
MGWR2.2软件安装包
04-30
多尺度地理加权回归专用软件,直接安装即可
使用R语言中的spgwr包进行GWR模型的相关运算
tjhxrrr的博客
05-14 7922
前言 GWR4其实是一个非常专业的软件,功能非常强大,无奈bug实在是太多了,通常是在数据量大(大于1w条记录)的时候会出现。所以我不得不求助于R语言。 准备工作 1. 安装R Studio 2. 安装sqgwr的包 install.packages("spgwr") 3. 引入spgwr包 library(spgwr) 读取CSV数据 这里我使用的就是之前在GWR4软件中运...
混合地理加权回归模型的两种估计 (2007年)
06-12
混合地理加权回归模型系数特征是部分回归系数为未知常数,而其它回归系数为地理位置的未知函数。基于这一系数特征,给出反馈和两步估计两种简单有效的方法,对模型中的因变量做了估计。
GTWR\ MGWR\MGWLR 插件 【ArcGIS】
12-25
本文件是最新版更新的Arcgis做地理加权回归 插件。解决了上版本的提示版本错误问题。能够做空间局部及混合加权回归模型。
地理加权回归
02-22
地理加权回归(Geographically weighted regression, GWR)是一种空间分析技术,广泛应用于地理学及涉及空间模式分析的相关学科
GWR的应用相关介绍
08-09
对使用gwr分析方法的人可能有点帮助,内容的英文版的,可能需要借助翻译工具额
GWRMGWR、GTWR)软件.rar
09-25
混合地理加权回归(Mixed Geographically Weighted Regression, MGWR)则是GWR的进一步发展,它允许模型中的部分或所有参数为混合类型,即包含连续变量和分类变量。这种模型增加了模型的灵活性,能更好地处理不同...
论文研究 - 基于人工神经网络的地下水位预测:以越南芹T市特拉诺克工业区为例
05-26
这项研究的目的是使用人工神经网络(ANN)预测不同影响因素下的地下水位(GWL),以越南芹T市Tra Noc工业区为例。 这可以通过评估地下水资源(GWR)的开发,使用和动态现状来实现。 设置,校准和验证人工神经网络; ...
多尺度地理加权回归MGWR以及GWR和GTWR
07-13
多尺度地理加权回归(Multi-Scale Geographically Weighted Regression, MGWR)是地理学领域中一种重要的统计分析方法,它扩展了传统的地理加权回归(Geographically Weighted Regression, GWR)。GWR是一种局部回归...
python3调用arcpy地理加权回归_混合地理加权回归python实现代码
weixin_39942995的博客
12-15 1117
【实例简介】通过python编码实现MGWR、MGWTR模型的求解。能够解决空间非平稳性问题。【实例截图】【核心代码】mgwr-py└── mgwr-master├── CHANGELOG.md├── LICENSE├── MANIFEST.in├── README.md├── doc│ ├── Makefile│ ├── _static│ │ ├── images│ │ ...
gwr python
09-08
GWR是一种局部加权回归模型,它根据每个空间对象的周围信息,逐个对象建立起回归方程,使每个对象都有自己的回归方程。这个模型考虑了空间对象的局部效应,可以用于归因或对未来进行预测。在Python中,使用mgwr包可以实现GWR模型的构建和分析。 在Python中,可以使用以下代码导入所需的包和数据: ``` import numpy as np import libpysal as ps from mgwr.gwr import GWR from mgwr.sel_bw import Sel_BW import geopandas as gp import matplotlib.pyplot as plt import matplotlib as mpl import pandas as pd data_dir = "/home/lighthouse/Learning/pysal/data/" # 导入数据 georgia_data = pd.read_csv(data_dir + "GData_utm.csv") georgia_shp = gp.read_file(data_dir + "G_utm.shp") ``` 导入数据后,您可以使用GWR模型对数据进行分析和建模,以了解佐治亚州受教育程度及各因素的空间差异性。更多关于GWR模型使用的示例和说明,请参考以下链接: 希望这可以帮助您了解GWR模型在Python中的应用。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
写文章

热门文章

  • 时间序列模型——AR、MA、ARMA、ARIMA 43126
  • 空间滞后模型 36204
  • 空间权重矩阵 32525
  • 结构方程模型原理 32049
  • 使用IBM SPSS Modeler进行随机森林算法预测 22496

分类专栏

  • Arcpy 19篇
  • Python 15篇
  • 感兴趣的知识 3篇
  • C与数据结构习题整理 17篇
  • GIS算法 5篇
  • 科研方法 5篇
  • 问题导向学习 3篇
  • C与数据结构背诵知识点整理 7篇
  • 笔记 3篇
  • 个人总结 2篇
  • 高等数学 1篇
  • 上机代码 6篇
  • 统计学 2篇
  • 文献检索与写作 2篇
  • C++
  • 地理建模 8篇

最新评论

  • 【python】geopandas计算最短路径

    Primo_Brown: 这是arcgis几啊,为什么我不能做字段映射对应起来

  • PPT+Visio 联动绘图技巧

    R语言好难虫虫我学不会啊: 请问PPT中图像复制到Visio再导出的时候字体变化了是什么原因呢

  • 【问题导向】GWR与MGWR——以南京市中心城区住宅小区为例

    ApyLemon: 可以用代码吗

  • ArcGIS Pro出图去除底图的水印

    edged863: 难道你真的是天才

  • 【Arcpy】使用python进行水文分析

    叮当399: 第八行代码报错了,请问博主是怎么按装arcpy模块的呢?

最新文章

  • arcpy选中要素 删除要素
  • 基于GEE可视化和下载Sentinel2 L2A数据
  • GEE 处理DEM
2024年5篇
2023年2篇
2022年29篇
2021年70篇

目录

目录

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燕南路GISer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家玻璃钢卡通人物雕塑工程定西户外玻璃钢雕塑制作安阳商场美陈造景玻璃钢鹿雕塑摆件供应不锈钢仿古校园玻璃钢雕塑加工北京大型主题商场美陈市场商丘玻璃钢卡通雕塑定制厂家泉州玻璃钢花盆重庆商场美陈北京玻璃钢小狗雕塑玻璃钢雕塑人物工程玻璃钢仿铜人物雕塑厂家供应徐州玻璃钢雕塑设计方案陕西玻璃钢彩绘雕塑小品开封肖像玻璃钢卡通雕塑定制陕西个性化玻璃钢雕塑图片萍乡创意玻璃钢雕塑定制蚌埠玻璃钢雕塑生产西城区商场美陈哪家公司好黑龙江玻璃钢仿真水果雕塑玻璃钢草莓卡通雕塑郑州镜面玻璃钢人物雕塑小品玻璃钢花盆寿命惠州博罗厂家玻璃钢雕塑南京户外玻璃钢雕塑设计湖北步行街玻璃钢雕塑多少钱广州玻璃钢学校雕塑深圳玻璃钢抽象雕塑批发清远玻璃钢果蔬雕塑深圳大型商场美陈厂家直销香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化