当前位置: 首页 > news >正文

域名不作网站用途指数函数图像及性质

域名不作网站用途,指数函数图像及性质,神马网站快速排名软件,互联网建造公司有哪些零、背景 这几天在选样点#xff0c;发现GEE有强大的ui功能#xff0c;于是应用在我的工作上。 下述代码实现了几个功能#xff1a; ①用户可以自己勾勒多边形#xff0c;随后程序会按面积比例在多边形中自动生成样点#xff0c;同时根据改多边形的区域生成区域平均月N…零、背景 这几天在选样点发现GEE有强大的ui功能于是应用在我的工作上。 下述代码实现了几个功能 ①用户可以自己勾勒多边形随后程序会按面积比例在多边形中自动生成样点同时根据改多边形的区域生成区域平均月NDVI曲线可以实现选取多个多边形。 ②设置【Export】ui按钮将已选的多边形和生成的样点以shp文件形式导出。 ③如果对刚才画的多边形不满意点击【Delete】ui按钮即可将最近画的一个多边形以及其上生成的样点删除。 一、录了个小视频先来感受一下效果吧 用户自画多边形 按面积比例在多边形中自动生成样点导出多边形 二、代码 GEE链接https://code.earthengine.google.com/31d8edcd71f7b5d27201b88fc46c1e05 /*----------- --------------Sample ------------- --------------*/ // 创建地图 var map1 ui.Map().setOptions(Hybrid).setZoom(4); var map2 ui.Map().setOptions(Hybrid).setZoom(4);// map1 监听 map2 的缩放级别变化map2 监听 map1 的缩放级别变 map1.onChangeZoom(function(zoom){zoom parseInt(zoom); // 转换为整数类型map2.setZoom(zoom); });map2.onChangeZoom(function(zoom){zoom parseInt(zoom);map1.setZoom(zoom); });// 当在一个地图上平移时其他两个地图会同步平移。 var linker ui.Map.Linker([map1, map2], change-center);// 添加图层到地图面板 map1.centerObject(aoi,8);map1.addLayer(lucc_img.clip(aoi), luccVis, year_Land Cover Map);//lucc_img可替换为自己的可视化数据// 获取MODIS影像集合 var modisCollection ee.ImageCollection(MODIS/061/MOD13Q1).filterBounds(aoi).filterDate(year-01-01, year-12-31); // 修正日期范围// 创建时间序列面板 var chartPanel ui.Panel({style: {width: 34%} });// 创建一个空的 FeatureCollection 来存储样本polygon var polygonsCollection ee.FeatureCollection([]); // 创建一个空的 FeatureCollection 来存储样本points var pointsCollection ee.FeatureCollection([]); var numPoints; // 全局变量// 创建region 的NDVI时间序列图表 var plotNDVI function(geometry, title) {// 选择NDVI波段并将值乘以0.0001var adjustedModisCollection modisCollection.map(function(image) {return image.reproject(EPSG:4326).select(NDVI).multiply(0.0001).copyProperties(image, [system:time_start]);});// ee.Reducer.mean() 计算该区域内像素值的平均值var timeSeries ui.Chart.image.series({imageCollection: adjustedModisCollection,region: geometry,reducer: ee.Reducer.mean(),scale: 250,xProperty: system:time_start}).setOptions({title: title,vAxis: {title: NDVI},hAxis: {title: Date},lineWidth: 1,pointSize: 3});chartPanel.clear();chartPanel.add(timeSeries); };// 导出函数 function exportPolygons_points() {// 检查 FeatureCollection 是否包含元素if (polygonsCollection.size().getInfo() 0) {// 导出 FeatureCollection 到 Google Drive 为 SHP 格式Export.table.toDrive({collection: polygonsCollection,description: Exported_Polygons,fileFormat: SHP // 指定文件格式为 SHP});print(Exporting polygons to Google Drive as SHP...);} else {print(No polygons to export.);}if (pointsCollection.size().getInfo() 0) {// 导出 FeatureCollection 到 Google Drive 为 SHP 格式Export.table.toDrive({collection: pointsCollection,description: Exported_Points,fileFormat: SHP // 指定文件格式为 SHP});print(Exporting points to Google Drive as SHP...); } else {print(No points to export.); } } // 创建导出按钮 var exportPolygons_points_Button ui.Button({label: Export Polygons/points,onClick: exportPolygons_points }); // 将导出按钮添加到 map2 map2.add(exportPolygons_points_Button);// Function to add drawing tools to the map function addDrawingTools(map, mapTitle) {var drawingTools map.drawingTools();drawingTools.addLayer([], geometry);drawingTools.setShape(polygon);drawingTools.draw();// Draw a polygonfunction onClickToDrawPoint(){var polygon drawingTools.layers().get(0).getEeObject(); // Get the point drawn by the userdrawingTools.layers().reset(); // Clear the drawing toolsvar areaInMeters polygon.area();print(areaInMeters,areaInMeters);// Create a feature with the coordinates as propertiesvar polygon_feature ee.Feature(polygon);// Add the new point to the points collectionpolygonsCollection polygonsCollection.merge(ee.FeatureCollection([polygon_feature])); // Merge the feature into the collection//print(polygonsCollection,polygonsCollection)// Calculate the number of random points based on the areanumPoints areaInMeters.divide(1572500).ceil(); // Area / 1572500 (in square meters)不加var 即更新全局变量 numPoints而不是定义局部变量print(numPoints, numPoints);// Generate random points within the polygonvar randomPoints ee.FeatureCollection.randomPoints(polygon_feature.geometry(), numPoints);//print(randomPoints,randomPoints);pointsCollection pointsCollection.merge(ee.FeatureCollection(randomPoints)); // Merge the feature into the collection//print(pointsCollection,pointsCollection)// Update the map with the new points collectionmap1.layers().set(4, ui.Map.Layer(polygonsCollection, {color: FF0000}, Sample Polygons));map2.layers().set(0, ui.Map.Layer(polygonsCollection, {color: FF0000}, Sample Polygons));map1.layers().set(5, ui.Map.Layer(pointsCollection, {color: 000000}, Sample Points));map2.layers().set(1, ui.Map.Layer(pointsCollection, {color: 000000}, Sample Points));// Redraw the NDVI chart (or any other chart youre displaying)plotNDVI(polygon_feature, mapTitle);drawingTools.draw();}drawingTools.onDraw(onClickToDrawPoint); // Enable drawing tools }// Add drawing tools and delete button addDrawingTools(map1, Click map 1 and add polygons!); addDrawingTools(map2, Click map 2 and add polygons!); addDeleteButton(); // Add the delete button to the UI// Function to add a delete button to remove the last drawn Polygon/Points function addDeleteButton() {// Create the delete buttonvar deleteButton ui.Button({label: Delete Last Polygon/Points,onClick: function() {// Delete last polygonif (polygonsCollection.size().getInfo() 0) {// Get the index of the last featurevar lastPolygon polygonsCollection.toList(polygonsCollection.size()).get(-1); // Get the last polygon// Remove the last polygon by filtering it outpolygonsCollection polygonsCollection.filter(ee.Filter.neq(system:index, ee.Feature(lastPolygon).get(system:index)));print(Last polygon deleted);} else {print(No polygon to delete); // Print if no polygon exists}// Delete last pointsif (pointsCollection.size().getInfo() 0) {// Calculate the size of the collectionvar collectionSize pointsCollection.size();// Convert FeatureCollection to listvar pointsList pointsCollection.toList(collectionSize);//var n numPoints // assuming numPoints is defined elsewhere//print(numPoints2,numPoints)// Slice the list to exclude the last n pointsvar slicedPointsList pointsList.slice(0, ee.Number(collectionSize).subtract(numPoints)); // Slice to remove last numPoints points// Convert the sliced list back to a FeatureCollectionpointsCollection ee.FeatureCollection(slicedPointsList);// Update the map with the new polygon/points collectionmap1.layers().set(4, ui.Map.Layer(polygonsCollection, {color: FF0000}, Sample Polygons));map2.layers().set(0, ui.Map.Layer(polygonsCollection, {color: FF0000}, Sample Polygons));map1.layers().set(5, ui.Map.Layer(pointsCollection, {color: 000000}, Sample Points));map2.layers().set(1, ui.Map.Layer(pointsCollection, {color: 000000}, Sample Points));print(Last numPoints.getInfo() points deleted);} else {print(No points to delete.);}}});// Add the delete button to map2map2.add(deleteButton); }// 创建水平分割面板宽度为整个用户界面的66%其中 map1 和 map2 分别位于左侧和右侧 var split1 ui.Panel(ui.SplitPanel({firstPanel: map1,secondPanel: map2,orientation: horizontal,wipe: false, }), null, {width: 66%, height:100%});// 创建水平分割面板宽度为整个用户界面的34%其中 chartPanel 位于map1和map2的右侧 var split2 ui.Panel(ui.SplitPanel({firstPanel: split1,secondPanel: chartPanel,orientation: horizontal,wipe: false, }), null, {width: 100%, height: 100%});map2.setControlVisibility(false);//设置 map2 地图的控制面板如缩放、平移、图层选择等控制元素不显示 ui.root.clear(); // 清空当前用户界面上的所有内容 ui.root.insert(0, split2); // 将新的布局 split2 插入到用户界面的根容器中位置索引为 0即第一个位置 完结撒花
http://www.dnsts.com.cn/news/265408.html

相关文章:

  • 建设房产网站网站用哪些系统做的比较好用
  • 网站建设 试卷dedecms 如何关闭网站
  • 湖北建设科技中心网站首页西安网站建设 美科动
  • 云霄县建设局网站网络营销推广服务商
  • 网站建设虍金手指花总网上营销网站
  • 社区微网站建设方案菏泽哪家网站设计公司好
  • 网站 设计 文档静态做网站
  • icp备案通过了 怎么修改我的网站苏州建设交通职业技术学院官网
  • 奇想网站建设wordpress 3.9 wp_editor not work
  • 整网站代码 带数据 免费 下载做简历的什么客网站
  • ai生成建筑网站网上营销培训课程
  • 池州最好的网站建设网站诊断
  • 濮阳住房和城乡建设部网站移动互联网应用程序指的是什么
  • 网站出现乱码怎么办山东省建设厅招标网站首页
  • 标准型网站---北京网站建设比较大的建站公司
  • 如何创作个人网站wordpress吾爱破解版
  • 做网站需要什么学历智汇隆网站建设
  • 百度推广 网站要备案吗如何用虚拟主机建设网站
  • 网站及其建设的心得体会关于网站建设分类
  • 四川省建设厅官方网站付费推广方式有哪些
  • 德州市建设街小学网站首页editplus建设网站教学
  • 网站建设公司市场开发方案用记事本做电影介绍的网站
  • 金融行业网站开发php购物商城
  • 网站推广公司就去柚米网站建设留言板怎么做
  • 宿迁seo优化网站排名解析推广
  • 网站注册手机号安全吗怎么在凡科做自己网站
  • 金融网站模版下载网站建设与管理升学就业方向
  • 如何做网站步骤宣传片制作公司有哪些类型
  • 做一个像qq空间的网站做家装的网站有什么区别
  • 阜阳做网站公司修改wordpress的tag页