《2019年使用ArcGIS API for Python进行空间分析-刘利平.pdf》由会员分享,可在线阅读,更多相关《2019年使用ArcGIS API for Python进行空间分析-刘利平.pdf(46页珍藏版)》请在三个皮匠报告上搜索。
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:二维的表格型数据结构。可以将DataFrame理解为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数据管理可视化地理分析地理处理服务共享服务管理