1、使用ArcGIS API for Python進行空間分析ArcGIS API for Python概述ArcGIS API for Python應用組織管理組織管理資源發布資源發布&共享共享數據分析數據分析GPGP應用應用可視化可視化地理地理編碼編碼幾何關系幾何關系應用LayersWeb GISReal-TimeEnterprise DataImageryWeb MapsWebScenesGIS Maps&DataArcGIS OnlineArcGIS EnterpriseArcGIS API for Python應用適用對象:數據科學家GIS分析師可視化愛好者開發者特點:構建自動化工作流在
2、線交互式數據科學環境地理資源和成果的分享、復用ArcPy適用桌面的地理數據處理、管理、轉換、制圖arcgisscriptingArcGIS API for Python適用WebGIS的管理、查詢、分析、可視化ArcGIS REST APIArcGIS API for Python架構ArcGIS API for Python使用Jupyter Notebook,使得與GIS資源的交互和可視化更加簡單,可在交互的界面運行,支持使用腳本來運行。NotebookServerArcGIS Prohttps:/ install-c esri arcgis,可離線安裝2、ArcGIS Pro:2.1版本
3、后集成了arcgis包自帶Conda更新,conda upgrade-c esri-no-pin arcgishttps:/anaconda.org/Esri/arcgis/filesArcGIS API for Python運行環境https:/ API for Python模塊序號序號模塊名稱模塊名稱模塊說明模塊說明1arcgis.gis管理(創建、獲取、更新、刪除)用戶、群組和內容2arcgis.env存儲全局設置,如分析范圍、輸出空間參考、格網大小3arcgis.features處理要素數據、圖層和要素集,空間分析功能4arcgis.raster處理柵格數據和影像圖層,柵格分析功能wo
4、rk網絡分析(最近設施、最優路徑、OD成本矩陣、服務區)6arcgis.schematics處理邏輯示意圖層和數據集7arcgis.geoanalytics對注冊的大數據和要素圖層進行分析8arcgis.geocoding地址編碼和反編碼9arcgis.geometry幾何處理10arcgis.geoenrichment獲取更多的數據資源和信息,輔助分析和預測11arcgis.geoprocessing創建和共享GP工具12arcgis.realtime獲取實時傳感器數據流,進行處理分析13arcgis.mapping空間數據可視化和分析,WebMap、WebScene、矢量切片14arcgi
5、s.widgets地圖和圖層可視化,MapView微件15arcgis.apps管理平臺中的web應用ArcGIS API for Python與外部資源集成可視化:Matplotlib、seaborn、geoplotlib科學計算:pandas、numpy、scipy機器學習:Theano、TensorFlow、scikit-learnArcGIS API for Python開發arcgis.gisWebGIS資源訪問arcgis.features對象模型圖數據空間化橋梁Spatial Data Frame數據訪問和保存:訪問服務數據訪問本地數據導出空間數據數據可視化:地圖符號渲染(熱力圖
6、、簡單、唯一值、分級)幾何對象操作數據空間化橋梁Spatial Data Frame序號序號輸入輸入方法名稱方法名稱1包含地址列的DataFramefrom_df2Feature Classfrom_featureclass3Hdf文件from_hdf4Feature Layer或者Tablefrom_layer5包含X和Y的DataFramefrom_xy序號序號方法名稱方法名稱輸出輸出1to_feature_collectionFeature Collection2to_featureclassFeature Class3to_hdfHDF5文件4to_featurelayerFeatur
7、e Layer5to_featuresetFeature Set數據空間化橋梁 讀取featurelayer 獲取featureset的結果 數據可視化Spatial Data Framearcgis.features&arcgis.geoanalytics空間分析工具匯總數據查找地址分析模式臨近分析數據管理數據豐富數據分析與機器學習水質數據分析和預測數據說明:不同水質監測站本周水質、上周水質河流水質數據機器學習水質對比分析水質預測空間分析熱點分析大數據分析流域分布聚合分析科學數據分析Numpy、Pandas 本地數據讀取 數據索引 分組統計 刪除空值Series:一維數組,與Numpy中的一
8、維array類似,能保存不同種數據類型,如字符串、boolean值、數字等。DataFrame:二維的表格型數據結構??梢詫ataFrame理解為Series的容器。Train_test_split優點:隨機客觀的劃分數據,減少人為因素Scikit-learn隨機劃分數據集和訓練集參數解釋:train_data:待劃分樣本數據train_target:待劃分樣本數據的結果(標簽)test_size:測試數據占樣本數據的比例random_state:隨機數種子,保證隨機數組一樣。若不填或為0,則每次隨機數組不一樣147個水質監測站,75%訓練集,25%測試集隨機森林是一種有監督學習算法,在sc
9、ikit-learn中,RF的分類類是RandomForestClassifier,回歸類是RandomForestRegressor。n_estimators:是弱學習器的最大迭代次數。一般來說n_estimators太小,容易欠擬合,n_estimators太大,又容易過擬合,一般選擇一個適中的數值。默認是10。Scikit-learn隨機森林算法RandomForestRegressorScikit-learn隨機森林回歸1、數據標準化處理0.6270296198409807 0.6270296198409807 2、數據訓練預測3、結果評估0.7123781148429037 0.71
10、23781148429037 標準化數據,保證每個維度的特征數據方差為1,均值為0。使得預測結果不會被某些維度過大的特征值而主導數據空間分析數據資源創建和共享添加csv、shp發布要素圖層共享資源1、添加資源2、發布資源數據空間分析數據資源創建和共享3、共享資源數據空間分析水質監測站熱點分析大數據分析水質監測站聚合分析柵格分析應用柵格分析應用柵格分析類型arcgis.raster.analytics:持久結果輸出arcgis.raster.functions:實時的影像服務渲染計算沒有中間數據生成,快速構建自定義組合柵格函數arcgis.raster.functions.gbl:不是實時處理函
11、數不能在notebook內直接展示函數結果需要使用ImageryLayer.save()或arcgis.raster.analytics.generate_raster()輸出柵格分析應用柵格分析方法MathCalculatorAbsDivideExpExp10Exp2FloatIntLn,Log10 Log2MinusModNegatePlusPowerRound DownRound UpSquareSquare RootTimesACosACosHASinASinHATanATan2ATanHCosCosHSinSinHTanTanHConSet NullBitwiseAndLeft Sh
12、iftNotOrRight ShiftXorBooleanAndNotOrXorEqual ToGreater ThanGreater Than EqualIs Null Less ThanLess Than EqualNot EqualAnalysis:Image Segmentation&ClassificationSegmentation(Mean Shift)Training(ISO,SVM,ML,Random trees)Supervised ClassificationAnalysis:Overlay Weighted SumWeighted OverlayStatistics:Z
13、onal StatisticsData Management&ConversionColormapColormap To RGBComplexGrayscaleRemap/Reclass Spectral ConversionUnit Conversion Vector FieldClip CompositeExtract BandsMaskMosaic RastersInterpolationInterpolate Irregular DataVisualization&AppearanceContrast and Brightness Convolution Pansharpening R
14、esample Statistics and Histogram StretchSurface Generation&AnalysisAspect Curvature Elevation Void Fill Hillshade Shaded Relief SlopeAnalysis:Band Math&IndicesNDVI/NDVI Colorized SAVI/MSAVI/TSAVIGEMIGVI(Landsat TM)PVITasseled Cap(Kauth-Thomas)Binary ThresholdingStatisticsArg_medianArg_maxArg_minArg_
15、statisticsMultiband MathArithmetic Band Arithmetic Analysis:Distance&DensityEuclidean Distance Cost DistanceLeast Cost PathKernel DensityAnalysis:HydrologyFillFlow AccumulationFlow DirectionFlow DistanceStream LinkWatershedData ManagementNibbleConversionRaster to VectorVector to Raster柵格分析應用柵格函數使用方法
16、調用服務發布的柵格函數(apply柵格函數名稱)客戶端定義arcgis.raster.functions 應用服務端定義柵格函數柵格分析應用影像服務柵格函數發布柵格分析應用影像服務柵格函數發布基于TM影像提取城市區域數據說明:Landsat5影像TM3、TM4、TM5波段分別為紅色、近紅外、中紅外在歸一化裸露指數的基礎上,用歸一化植被指數去掉噪聲點NDVI(歸一化差分植被指數):NDBI(歸一化裸露指數):一般,NDVI0表示城市建設區域和低密度植被覆蓋的裸地城市建設用地提取柵格分析應用arcgis.raster.functions使用 NDVI函數 Math函數 波段提取 重映射柵格分析應用
17、獲取某點像素值柵格分析應用獲取某點像素值柵格分析應用arcgis.raster.analytics使用匯總數據分析模式臨近分析地形分析數據管理深度學習柵格分析應用arcgis.raster.analytics使用NDVI=(NIR-Red)/(NIR+Red)SAVI=(NIR-Red)/(NIR+Red+L)x(1+L)TSAVI=(s(NIR-s*Red-a)/(a*NIR+Red-a*s+X*(1+s2)MSAVI=(1/2)*(2(NIR+1)-sqrt(2*NIR+1)2-8(NIR-Red)GEMI=eta*(1-0.25*eta)-(Red-0.125)/(1-Red)PVI=(
18、NIR-a*Red-b)/(sqrt(1+a2)GVITM=-0.2848*Band1-0.2435*Band2-0.5436*Band3+0.7243*Band4+0.0840*Band5-1.1800*Band7柵格分析應用arcgis.raster.analytics使用持久化結果 波段計算NDVI 波段計算NDBIarcgis.geoprocessing 使用gp toolbox 使用gp service 執行GP工具 帶參GP工具常規參數類型:字符型 整型、浮點型 布爾 時間空間相關參數類型:arcgis.features.FeatureSet arcgis.geoprocessing.LinearUnit arcgis.geoprocessing.DataFile arcgis.geoprocessing.RasterData ArcPy應用精細數據管理與分析桌面工具桌面工具適用較長時間數據處理適用較長時間數據處理后臺自動化數據處理后臺自動化數據處理豐富的數據處理工具豐富的數據處理工具1、導出柵格數據路徑2、柵格轉numpy計算3、numpy轉柵格4、柵格區域統計5、統計柵格轉點6、點與漁網空間相交總結全平臺的數據管理與分析ArcPyArcGIS API for Python數據管理可視化地理分析地理處理服務共享服務管理