ArcGIS使用及二次开发培训-ArcGIS API for Javascript-开发教程-2
- 格式:pptx
- 大小:4.43 MB
- 文档页数:19
arcgis api for javascript 引用摘要:1.ArcGIS API for JavaScript 简介2.ArcGIS API for JavaScript 的功能与应用3.ArcGIS API for JavaScript 的优势与不足4.总结正文:【1.ArcGIS API for JavaScript 简介】ArcGIS API for JavaScript 是Esri 公司开发的一款地理信息系统(GIS)软件开发工具包。
它允许开发人员在JavaScript 环境中轻松地创建和发布地图,同时提供了大量的地理信息处理和分析功能。
借助ArcGIS API for JavaScript,开发者可以在Web 应用、桌面应用和移动应用中实现地理信息的展示、查询、编辑和分析等操作,从而为用户提供丰富、高效的空间数据处理与可视化服务。
【2.ArcGIS API for JavaScript 的功能与应用】ArcGIS API for JavaScript 提供了丰富的功能,主要包括以下几个方面:(1)地图展示:开发者可以利用API 创建各种类型的地图,如静态地图、交互式地图和三维地图等,以满足不同应用场景的需求。
(2)地理数据处理与分析:API 提供了地理数据的导入、编辑、查询和分析等功能,支持多种数据格式和数据源,如shapefile、GeoJSON、KML 等。
(3)地图交互:开发者可以利用API 实现地图的缩放、平移、旋转等交互操作,同时还可以添加各种地图工具和控件,如标尺、量距、地图图层等。
(4)地理编码与位置服务:API 提供了地理编码、逆地理编码和位置服务等功能,方便开发者实现地址查询、位置定位和路径规划等应用。
(5)地图分享与发布:开发者可以将地图发布为Web 应用、桌面应用或移动应用,支持多种平台和设备,如Web 浏览器、平板电脑和智能手机等。
【3.ArcGIS API for JavaScript 的优势与不足】(1)优势:- 功能强大,提供全面的地图制作和地理信息处理功能;- 易用性高,支持JavaScript 语言,开发者上手容易;- 跨平台,支持多种操作系统和设备;- 丰富的开发资源,Esri 公司提供大量的文档、教程和示例代码,帮助开发者快速掌握API 的使用。
ArcGISAPIforJavaScript⼩⽩⼊门简单理解就是:通过js调⽤arcgis相关的⽅法和通过html引⼊css等资源来展⽰地图,代码如下:<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport"><title>Intro to MapView - Create a 2D map - 4.8</title><style> //设置显⽰区域的样式,地图全页⾯展⽰html,body,#viewDiv {padding: 0;margin: 0;height: 100%;width: 100%;}</style>// 第⼀步:引⼊js⽂件和css样式表,本⽂使⽤了4.9版本<link rel="stylesheet" href="https:///4.9/esri/css/main.css"><script src="https:///4.9/"></script>//开始使⽤编辑js,实现加载地图效果<script>// 第⼆步,导⼊需要的模块,这⾥引⼊了Map和MapViewrequire(["esri/Map","esri/views/MapView"], function(Map, MapView) {// 第三步,初始化⼀个地图对象var map = new Map({// 设置基地图类型,可根据需要加载⾃⼰的地图服务。
basemap: "streets"});// 新建视图,⽤的是MapView,是2D的,3D的要⽤SceneView模块,SceneView⽅法创建。
arcgis api for js projection用法**ArcGIS API for JavaScript投影变换****一、概述**ArcGIS API for JavaScript提供了一系列强大的工具,用于处理地理空间数据,包括投影变换。
投影是地理空间数据的重要概念,它定义了地理空间数据在三维空间中的位置和方向,以及这些数据在二维平面上表示的方式。
在Web应用中,投影的选择对于正确显示和交互地理空间数据至关重要。
**二、投影变换**投影变换是ArcGIS API for JavaScript的核心功能之一,它允许您在Web应用中轻松地转换地理空间数据从一种投影到另一种投影。
这使得您可以在不同的地图投影之间进行切换,以满足特定的地图需求。
**三、基本用法**在使用ArcGIS API for JavaScript进行投影变换时,您需要使用`projTrans()`方法。
这个方法接受两个参数:源投影和目标投影。
它返回一个新的对象,该对象包含用于执行投影变换的函数。
以下是一个简单的示例:```javascriptvar sourceProj = new esri.SpatialReference({ wkid: 102100 }); // 源投影,这里使用的是102100投影var targetProj = new esri.SpatialReference({ wkid:3857 }); // 目标投影,这里使用的是Web Mercator投影var transform = sourceProj.projTrans(targetProj); // 执行投影变换```在这个例子中,我们创建了一个新的SpatialReference对象,并指定了源投影和目标投影的WKID(Well-Known Identifier)。
然后我们使用`projTrans()`方法执行投影变换,并返回一个包含变换函数的对象。
ArcGISAPIforJavaScript⼊门教程[2]授⼈以渔
这篇仍然不讲怎么做,但是我要告诉你如何获取资源。
⽬录:
转载注明出处,博客园/CSDN/B站:秋意正寒。
1. 官⽅在线帮助、⽰例代码及⼊门导航
JsAPI最新版⾸页:
JsAPI最新版在线帮助(模块查询):
JsAPI最新版⽰例代码:
JsAPI最新版⼊门导航:
很想做⼀次⼊门导航的翻译⼯作,⽐我上⼀篇科普的好多了,如果有机会。
2. ArcGIS Runtime SDKs家族
地址:
⽂档:
Github地址:
⽂档处也有很多好东西,有机会也要做翻译。
3. 获取API和SDK
Runtime SDK家族API和SDK和⽂档:
4. 善⽤搜索引擎
如果百度/必应不到,请⽤⾕歌,总有你需要的。
——————————————————————————
最后说个事,教程和笔记
好多⼈混淆了教程和笔记。
教程是⼒求别⼈能看懂,尽可能抓重点和抓主⼲讲,⽆关痛痒的不要讲太多。
所以,此⼊门教程,我打算10来篇博客讲完,细致的可以⾃⼰慢慢学的,毕竟更新如此之快,我⾃⼰也在不断学习。
⽽笔记,⾃⼰看得懂就⾏了,好多⼈挂着教程写的笔记哦...笔记是⾃⼰反复琢磨⽤的。
•Introduction to the ArcGIS API for JavaScript•March 4–5, 8:30am –5:30pm •Advanced JavaScript and New Features•March 4–5, 8:30am –5:30pm •Building Responsive Web Applications Using Bootstrap •March 4–5, 8:30am –5:30pm•Introduction to TypeScript•March 4–5, 8:30am –5:30pm •Introduction to Dojo, Dijit, and DojoX•March 4–5, 8:30am –5:30pm•ArcGIS Developer Workshop•March 5, 8:30am –5:00pm•Web AppBuilder for ArcGIS for Developers •March 5, 8:30am –5:30pm•Building Ambitious Web ApplicationsIntegrated with ArcGIS Online / Portal•March 5, 8:30am –5:30pmPre-summit Hands-On TrainingLocation: Hilton Palm Springs or Hard Rock Hotel•Inside Scoop: Navigating Your Way Through the ArcGIS API for JavaScript Sessions•Tue, March 06, 1:00pm -2:00pm (Oasis 4)•Getting Started with Web Development and the ArcGIS API for JavaScript•Tue, March 06, 2:30pm -3:30pm (Oasis 4)•Thu, March 08, 10:30am -11:30am (Primrose B)•ArcGIS API for JavaScript: What's New•Tue, March 06, 4:00pm -5:00pm (Pasadena)•2D Visualization with the ArcGIS API for JavaScript •Wed, March 07, 10:30am -11:30am (Primrose C-D)•Getting Started with 3D in the ArcGIS API for JavaScript •Wed, March 07, 1:00pm -2:00pm (Primrose C-D)•ArcGIS API for JavaScript: Tips and Tricks for Developing and Debugging Apps•Wed, March 07, 4:00pm -5:00pm (Pasadena)•Thu, March 08, 9:00am -10:00am (Mesquite C)•JavaScript for Geographers•Wed, March 07, 1:00pm -2:00pm (Primrose B)•Thu, March 08, 5:30pm -6:30pm (Primrose A)•Fri, March 09, 1:00pm -2:00pm (Primrose A)•ArcGIS API for JavaScript: Using Arcade with Your Apps•Thu, March 08, 1:00pm -2:00pm (Primrose A)•Web Development: The Road Ahead•Fri, March 09, 10:00am -11:00am (Primrose B)•Practical Guide for Building a 3D Web App from 2D Data•Thu, March 08, 9:00am -10:00am (Smoketree A-E)•3D Visualization with the ArcGIS API for JavaScript •Thu, March 08, 10:30am -11:30am (Primrose C-D)•Smart 3D City Web Apps with theArcGIS API for JavaScript•Thu, March 08, 10:30am -11:30am (Mesquite G-H)•3D with WebGL in ArcGIS•Thu, March 08, 2:30pm -3:00pm (Demo 1)•Advanced 3D Features in the ArcGIS API forJavaScript •Thu, March 08, 5:30pm -6:30pm (Smoketree A-E)•A Holistic Approach to Building 3D Web Apps•Fri, March 09, 8:30am -9:30am (Primrose C-D)•Better UX with the ArcGIS API for JavaScript Popup•Wed, March 07, 1:00pm -1:30pm (Demo 2)•Making Pop-Ups Pop•Wed, March 07, 1:30pm -2:00pm (Demo 2)•Building Your Own Widget with ArcGIS API for JavaScript•Wed, March 07, 2:30pm -3:30pm (Primrose C-D)•App Design and CSS Styling with the ArcGIS API for JavaScript•Wed, March 07, 5:30pm -6:30pm (Pasadena)•ArcGIS API for JavaScript: Building Mobile Web Apps•Wed, March 07, 5:30pm -6:30pm (Primrose A)•Customizing the ArcGIS API for JavaScript Widgets•Thu, March 08, 4:00pm -5:00pm (Primrose A)•ArcGIS API 4.x for JavaScript: Programming Patterns and API Fundamentals•Tue, March 06, 5:30pm -6:30pm (Oasis 4)•Fri, March 09, 1:00pm -2:00pm (Primrose B)•Angular and the ArcGIS API for JavaScript•Wed, March 07, 10:30am -11:30am (Mesquite B)•Using TypeScript with ArcGIS API for JavaScript •Wed, March 07, 2:30pm -3:30pm (Primrose A)•Fri, March 09, 1:00pm -2:00pm (Smoketree A-E)•ArcGIS API for JavaScript: Creating Custom Layers and Layer Views•Wed, March 07, 4:00pm -5:00pm (Primrose C-D)•Optimizing Your JavaScript App for Performance •Thu, March 08, 10:30am -11:30am (Primrose A)•JavaScript Applications for the Enterprise: Test More, Work Less•Thu, March 08, 1:00pm -2:00pm (Pasadena)•Using Frameworks with the ArcGIS API for JavaScript •Thu, March 08, 2:30pm -3:30pm (Primrose A)•Building Interactive Web Apps Using the ArcGIS API for JavaScript Geometry Engine•Thu, March 08, 4:00pm –5:00pm (Smoketree A-E)。
文档编号:PTM02_WAPI201306130102版本号:V1.0范围:公开ArcGIS API for Javascript开发教程2013 年 3 月易智瑞(中国)信息技术有限公司1——制定及修订记录——版本修订时间修订人修订类型修订章节修订内容刘宇 A杜保坤M黄超M高杰M张楠M马鑫M伏伟伟M* 修订类型分为 A - ADDED M - MODIFIED D – DELETED注:对该文件内容增加、删除或修改均需填写此记录,详细记载变更信息,以保证其可追溯性。
2目录1 基本概念 (9)Javascript 介绍 (9)Dojo 介绍 (10)REST 介绍 (10)JSON 介绍 (11)ArcGIS API for Javascript 介绍 (13)ArcGIS API for Javascript 介绍 (13)ArcGIS API for Javascript 主要特点 (13)ArcGIS for Server 服务类型 (14)主要服务具备的能力 (15)2 应用开发起步 (18)集成开发环境和API的准备 (18)ArcGIS API for Javascript 离线部署 (19)ArcGIS API for Javascript 帮助的离线部署 (20)关于智能提示 (21)第一个应用程序 (21)3 基础入门 (26)基本概念 (26)地图 (26)图层 (26)Geometry (27)Symbol (28)Graphic (29)Render (29)FeatureSet (29)常用控件(小部件) (30)鹰眼图 (30)Scalebar (32)3书签 (34)InfoWindow (36)编辑控件 (38)图例 (39)时间滑块 (42)4服务访问 (45)预备知识 (45)Dojo 基本函数 (46)动态2D地图服务加载 (49)动态2D地图服务主要方法 (49)主要属性 (50)动态2D地图服务加载示例 (50)切片服务加载(缓存2D地图服务) (52)切片服务加载示例 (53)要素服务加载 (53)如何使用要素服务 (54)要素图层按需模式显示示例 (54)影像服务加载 (58)什么是影像服务 (58)ArcGIS 影像服务可以做什么 (59)ArcGISImageServiceLayer 介绍 (60)影像服务动态处理 (61)影像服务加载示例 (63)影像服务的时态展示示例 (64)OpenStreetMap 地图服务 (68)OpenStreetMap 加载示例代码 (68)OGC 标准服务 (69)WMS 服务加载示例 (70)GraphicsLayer (71)GraphicsLayer 的主要方法 (72)GraphicsLayer 的主要属性 (72)GraphicsLayer 示例 (72)动态图层 (76)4什么是动态图层76如何注册工作空间77动态图层使用示例785地图操作 (80)地图 (80)Map 的主要方法81属性82事件84地图操作示例85导航 (86)Navigation 定义的主要方法86事件86导航示例87绘图 (87)绘图工具的主要方法88属性89事件89绘图示例90图形编辑 (90)编辑工具的主要方法91事件916符号渲染 (92)渲染器 (92)简单符号渲染 (93)示例93唯一值渲染 (94)示例94分级渲染 (95)示例957任务知多少 (96)查询检索 (97)QueryTask 975。
arcgisapiforjava...我们在arcgis api for javascript 学习(三)已经学习到了关于调用地图信息进行属性输出的问题,不过通过代码我们实现后会发现还是有一些小瑕疵的,比如我们只能单个数据属性的输出,如果想输出多个数据的时候就要一次次的运行代码,这样的话每次运行都要导出一个excel文件,不仅占内存还十分的麻烦!本次进阶就是通过对前面代码的改进,可以实现对多个信息进行批量的导出,节省了不少的时间,快来看看吧!第一步和前面的一样,首先找到我已经发布过地图并找到URL,了解直接要发布地图的属性表信息,如图:字段的信息如图:视图下我发布的地图吧!运行在代码中的情况,看下点击输出按键看下结果吧!大功告成,放下代码咯<!DOCTYPE html><html><head><title>图层属性查询</title><meta http-equiv="content-type" content="text/html;charset=utf-8"><meta http-equiv="Access-Control-Allow-Origin" content="*"><link rel="stylesheet" href="/3.29/esri/css/esri.css"><script src="/3.29/"></script><style>#map{position:relative;height:500px;width:100%;}</style></head><body><div>输入省份或省会名称:<input type="text" id="searchText" size="40" value="东北" /><input type="button" value="查询" id="find"/><div style="width:200px;margin:auto;text-align:center;"><button onclick="ok()">导出查询地区excel文件</button> </div><div id="tbl"> </div></div><div id='map'></div><script>require(["esri/map","esri/tasks/FindTask","esri/tasks/FindParameters","dojo/_base/array","esri/layers/ArcGISDynamicMapServiceLayer"],function (Map,FindTask,FindParameters,Array,ArcGISDynamicMapServiceLayer) {var map = new Map("map", {center: [116.403119,39.915599],zoom:3,basemap: "topo"});//调用地图服务DyLayer=new ArcGISDynamicMapServiceLayer('http://local host:6080/arcgis/rest/services/dtmapsever1/MapServer');map.addLayer(DyLayer);var find = new FindTask("http://localhost:6080/arcgis/rest/s ervices/dtmapsever1/MapServer");var params = new FindParameters();// layerIds、seachFields、searchTextyerIds = [3]; //对layerid=0和1的图层查询params.searchFields = ["FID", "name1","NAME","AREA","DZ M","name"];//查该图层的哪些字段document.getElementById("find").onclick = doFind;function doFind() {params.searchText = document.getElementById("searchText ").value;find.execute(params, showResults); //执行查询}function showResults(results) {console.log("results", results);let result, attribs;let s = ["<table border=\"2\"> " +"<thead>" +"<tr style=\" background-color:#cc3c46;\">" +"<td>Name1</td> <td>FID</td> <td>NAME</td> <td>a rea</td> <td>Dzm</td> </tr> " +"</thead> " +"<tbody id=\"state\">"];Array.forEach(results, function (result) {attribs = result.feature.attributes;s.push("<tr> <td>" + 1 + "</td> <td>" + attr ibs.FID + "</td> <td>" ++ "</td> <td>" + attribs.AREA + "</td> <td>" + attribs.DZM + "</td> </tr>" );});s.push("</tbody> </table>");console.log('arr',s);document.getElementById("tbl").innerHTML = s.join("");//str ing.split('');}});var ok = (function () {var uri = 'data:application/vnd.ms-excel;base64,',template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" ' +'xmlns="/TR/2018/SPSD-html401-20180327/">' +'<head><!--[if gte mso 9]><xml><x:ExcelWorkbook>' +'<x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{works heet}</x:Name>' +'<x:WorksheetOptions><x:DisplayGridlines/></x:Workshee tOptions></x:ExcelWorksheet>' +'</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif ]--></head><body><table>{table}</table></body></html>', base64 = function (s) { return window.btoa(unescape(encod eURIComponent(s))) },format = function (s, c) { return s.replace(/{(\w+)}/g, functio n (m, p) { return c[p]; }) }return function (table, name) {var tables = document.getElementById('state');var ctx = { worksheet: name || 'Worksheet', table: tables.inne rHTML }window.location.href = uri + base64(format(template, ctx));}})();function ExportSupplierMonthlyData() {try {tableToExcel();} catch (err) {bootbox.alert('没有数据,导出失败');}}</script></body></html>文章版权由作者鱼吃鱼罐头和博客园共有,若转载请于明显处标明出处:https:///yxd000/希望各位大神多交流,提出自己的宝贵意见,共同进步!。
With faster feature layers, optimized querying via vector feature tiles, and a growing collection of client-side process-ing capabilities that enable rapid interac-tion and analysis, the ArcGI S API 4.8 for JavaScript removes performance barriers for developers.WebGL-Powered Feature Layers For years, browser limitations meant that developers had to be careful about how much data was brought into the browser for use in interactive visualizations. Processing was performed almost entirely on the server side, limiting the kinds of workflows that could be accomplished in web apps while still providing a good user experience. Typically, a web app consists of a basemap and one or more feature layers that contain data that is downloaded to the client and used for interaction and analy-sis. In September 2017, the ArcGIS API for JavaScript’s feature layer was enhanced to take advantage of WebGL. This enabled hardware-accelerated rendering of the graphics using the graphics processing unit (GPU) instead of the browser.This has resulted in the far more rapid dis-play of both small and large datasets. The number of features that can be displayed in 2D and 3D feature layers—while still maintaining a high level of performance—went from tens of thousands of features to hundreds of thousands of features.The ability to have access to large datasets on the client opened up new possibilities. Datasets that had previouslybeen treated more like basemaps with onlylimited interaction can now be more effec-tively used as operational layers. For exam-ple, end users can explore large datasetscompletely on the client side by dynami-cally changing the visualization of layers tofocus on the aspect of the data they areinterested in or filter the data by attribute.More Efficient QueryingAlthough WebGL enables large datasetsto be rendered on the client, that doesn’taddress the challenge of optimizing thetransfer of large datasets from the server.Vector feature tiles now make that possibleand practical.Feature layers published to ArcG I SOnline now access the data via vector fea-ture tiles. Vector feature tiles have manyof the benefits of traditional vector tiles:requests are split into consistent, smallerspatial queries and server-side and client-side caching is enabled for quick responsetimes. Queries are also performed usingthe Protocolbuffer Binary Format (PBF),which reduces the size of the data deliv-ered to the browser. Feature layers pow-ered by ArcGIS Enterprise feature serviceswill be rendered using WebGL at 10.6.1.Full server-side caching and PBF will be inan upcoming release.Vector feature tiles, unlike vector tiles, con-struct continuous layers containing the fea-ture geometries and attributes that can bemapped and analyzed on the client withoutworrying about tile boundaries. Also, vectorfeature tiles are not “precooked.” They aredirectly linked to their data source: as thedata changes, features are updated.By Julie Powell, ArcGIS API for JavaScript TeamDespite the conventional wisdom that urges “less is more,” with the latest release of the ArcGIS API for JavaScript, more is more.â This image shows the hurricane data inWorld Geodetic System (WGS) 1984 before being dynamically reprojected.Moving More Processing to the ClientOnce features are on the client, it makes sense to do as much processing as pos-sible on the client rather than waiting for round trips to a server to perform tasks. Client processing using this approach feels almost instantaneous and allows for dy-namic workflows.Built upon some of the latest advances in web technology, the client-side capabili-ties of the ArcGIS API for JavaScript have been incrementally growing with each re-lease. A few of these capabilities are theability to query features in the layer, access the full geometry engine, and use client-side projection.Developers can perform queries and calculate statistics using the data currently available for drawing. The API uses webworkers to execute the query on a separate thread from the display. To perform que-ries, the API maintains an in-memory data-base and spatial index of all features, alongwith a SQL engine that is used to evaluate WHERE clause expressions.Geometric operations, such as buffering and calculating spatial relationships, can be performed in a variety of scenarios in-cluding real-time validation while drawing. The projection engine, used by ArcGIS Pro and the ArcGIS Runtime SDKs, was packagedDeveloper’s Corneras a WebAssembly (WASM), included with the API, and enables fast client-side projec-tion for feature layers and CSV layers.API tools and widgets already part of the API and those that will be available in up-coming releases take advantage of these client-side capabilities to provide an inter-active user experience.Seeing the Power of Client-Side ProcessingA web app, showcased during the 2018 Esri Developer Summit and available online at /hurricanes, demon-strates the client-side processing capa-bilities of the ArcGIS API for JavaScript. Itis based on an Esri Story Maps app calledEyes of the Hurricanes that was featuredon the Maps We Love website. This appvisualizes hurricane data obtained fromthe National Oceanic and AtmosphericAdministration (NOAA) National Centersfor Environmental I nformation. More than130,000 features are added by simplydropping the CSV file on the app’s map.For each hurricane, the CSV file containseach hurricane track location in latitude-longitude, its maximum wind speed, andits Saffir-Simpson hurricane category.I nstead of using the World GeodeticSystem (WGS) 1984, the standard coordi-nate system used by GPS, the data is repro-jected into the South Pole Stereographiccoordinate system. This not only matchesthe basemap but also showcases the cir-cuitous path of hurricanes. The reproject-ed data is visualized with a unique valuerenderer using firefly image symbologybased on the hurricane category on theGeospatial Education Programs OnlineOperate at the forefront of the geospatial industry. With an online degree from Penn State, you can explore the latest trends in:G IS G eospatial Intelligence H omeland Security R emote SensingLearn from the online leader in geospatial education./arcuserfirefly basemap, which is available from the ArcGIS Living Atlas of the World.When rotating the view from the South Pole to the North Pole, the animation is smooth. I ndividual hurricane tracts can be interrogated interactively on the client at the cursor’s location to see the hurri-cane’s track, the year it occurred, and its maximum wind speed. As the user moves the cursor, a spatial query is performed to identify the hurricane within the search area that has the maximum wind speed. To highlight the hurricane track, the dataset is queried to find all the points that are partof the path.The 4.8 release of the ArcGI S API for JavaScript includes additional enhance-ments to labeling, drawing improvements, the ability to create heat maps, enhance-ments to underground navigation, and many other capabilities. Read the release notes on the ArcGIS for Developers site at /javascript/latest/guide/release-notes/index.html.About the AuthorJulie Powell is a technical product man-ager. Her primary focus is the ArcGIS APIã In the hurricane app, the data wasreprojected from latitude-longitude coordinates into the South Pole Stereographic coordinate system toshowcase the circuitous path of hurricanes.å Individual hurricane tracts can beinterrogated interactively to learn the hurricane’s path and characteristics.for JavaScript. She has more than 17 years of experience working with software devel-opment, delivering solutions for both en-terprise and consumer markets. Powell has worked on a wide range of projects and consulting endeavors, including serving as a technical lead for web mapping solutions for strategic customers. She interfaces with a wide user community to maintain aware-ness and insight into GIS community needs, meanwhile contributing feedback to devel-opment teams to help ensure users can be successful in building state-of-the-art, pur-poseful solutions using ArcGIS software.Developer’s Corner。