日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

使用arcgis、matlab与R语言GD包进行地理探测器 批量运行,并导出探测结果

發布時間:2023/12/10 循环神经网络 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用arcgis、matlab与R语言GD包进行地理探测器 批量运行,并导出探测结果 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有時我們有大量的數據需要進行地理探測器處理,比如有100個縣的shp, 2010年的全國的NDVI與降雨、LUCC、人口密度的數據,要做100個縣 NDVI與其他因素的地理探測器分析,不能一個一個的進行探測。我在實際應用過程中,大概總結了一個流程,希望大家指正。

首先在arcgis 模型構建器 建模,使用 sample 進行采樣并使用table to excel工具將導出到excel中。迭代的要素便是100個縣的矢量數據。關于如何進行多組迭代我還在學習中,還沒有嘗試在模型中添加模型進行迭代,還是使用python進行處理更好。

獲得EXCEL后需要對excel進行處理,刪掉所有excel中的索引列、經緯度信息列和有空值的行,這里我使用的是matlab,其他語言應該也可以實現。
%篩選需要的數據并導出

%篩選需要的數據并導出,這里例子是一個Y,8個X, clc; clear; path = 'F:\l'; maindir = dir('F:*.xlsx'); for i =1:length(maindir)pathori = strcat(maindir(i).name);dataall = xlsread(pathori);%讀取excel中全部數據dataall(:,1:4)=[];%刪掉矩陣前四列a=all(~isnan(dataall),2);%篩選存在nan的行,含有空值的行為0out=dataall(a,:);%刪掉data中存在空值的行%輸出outpath1=strcat('F:\lunwen3\2020\hotspots\OPGD\excel\excel\\',pathori(1:7));outpath=strcat(outpath1,'.xlsx'); %定義表頭biaotou=[{'Y','X1','X2','X3','X4','X5','X6','X7','X8'};num2cell(out)];xlswrite(outpath,biaotou); disp(outpath); end

處理好的數據就可以使用R語言進行地理探測器分析,并導出結果:

install.packages("GD") install.packages("stringr") memory.limit(102400) library(GD) library(readxl) library(stringr) setwd("F:/")#設置當前工作目錄 getwd()#查看當前工作目錄 temp=list.files(pattern=".xlsx") for (i in xxxx){ #要自己設置循環的修改范圍filename<-substr(temp[i],1,nchar(temp[i]))#提取文件名data <- read_excel(filename)discmethod <-c("equal","natural","quantile")#參數分散方法discitv <- c(4:8) #間隔數continuous_variable<- colnames(data[x :x ])#要自己設置連續變量testgdm<-gdm(Y~.,continuous_variable = continuous_variable,data=as.data.frame(data),discmethod = discmethod,discitv = discitv)out=capture.output(testgdm)filenameout<-substr(temp[i],1,nchar(temp[i])-5)#提取輸出文件名,或者自己重新構建文件名name=paste(filenameout,".txt",seq="")#設置文件名write.table(out, file = name, append = F, quote = T, sep = " ", eol = "\n", na = "NA", dec = ".", row.names = T,col.names = T, qmethod = c(),fileEncoding = "utf-8") }

有時候長時間運行不出結果,可能需要將method中的sd刪掉 或者 修改間隔數。

總結

以上是生活随笔為你收集整理的使用arcgis、matlab与R语言GD包进行地理探测器 批量运行,并导出探测结果的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。