developers road map to arcgis desktop and arcgis engine · • easy way to deliver access to gis...
TRANSCRIPT
ESRI Developer Summit 2008ESRI Developer Summit 2008 11
Core ArcObjects Desktop TeamCore ArcObjects Desktop Team
Developers Road Map to ArcGIS Desktop and Developers Road Map to ArcGIS Desktop and ArcGIS EngineArcGIS Engine
AgendaAgenda
•• Dev SummitDev Summit•• ArcGIS Developer OpportunitiesArcGIS Developer Opportunities•• Desktop 9.3 SDKDesktop 9.3 SDK•• Engine 9.3 SDKEngine 9.3 SDK•• Explorer Explorer •• The Road Beyond 9.3The Road Beyond 9.3
ESRI Developer Summit 2008ESRI Developer Summit 2008 22
Dev Summit HighlightsDev Summit Highlights
•• Allan Cooper Keynote Allan Cooper Keynote –– Wednesday morningWednesday morning•• Meet the Teams Meet the Teams –– Tuesday & WednesdayTuesday & Wednesday•• Demo Theater Demo Theater –– Tuesday & WednesdayTuesday & Wednesday•• Tech SessionsTech Sessions•• Dinner on Tuesday nightDinner on Tuesday night•• SIGs on Tuesday and Wednesday eveningSIGs on Tuesday and Wednesday evening•• Closing SessionClosing Session
ESRI Developer Summit 2008ESRI Developer Summit 2008 33
We want your feedback
ServicesTier
Data Tier
ArcGIS Online
Web ADFJavaScript
ArcGISExplorer
DesktopWeb
MobileDevice
Mobile
ArcGISEngine
ArcGISDesktop
ArcGIS SystemArcGIS System
FilesFiles
Application Tier
DBMSDBMSDBMS
ArcGISServer
ArcSDE Data Server
ArcGIS DesktopArcGIS DesktopDeveloper PerspectiveDeveloper PerspectiveDeveloper Perspective
ArcReader•• DesktopsDesktops––ArcReaderArcReader––ArcViewArcView
•• ExtensionsExtensions––ArcEditorArcEditor
•• ExtensionsExtensions––ArcInfoArcInfo
•• ExtensionsExtensions
•• Desktop Dev Kit Desktop Dev Kit --APIsAPIs–– .NET.NET––COMCOM
ArcGIS Desktop
ArcView
ArcEditor
ArcInfo
Desktop Dev Kit
.NET COM
VBA Customization of ArcGIS DesktopVBA Customization of ArcGIS Desktop
•• Easy to create custom tools, toolbarsEasy to create custom tools, toolbars•• Easy to share via documents (.mxd) or document Easy to share via documents (.mxd) or document
templates (.mxt)templates (.mxt)•• No installation necessaryNo installation necessary
But..But..•• CanCan’’t protect code effectivelyt protect code effectively•• CanCan’’t create libraries (.dll)t create libraries (.dll)•• CanCan’’t create executables (.exe)t create executables (.exe)
Extending ArcGIS DesktopExtending ArcGIS Desktop
•• ArcObjects development with Visual StudioArcObjects development with Visual Studio–– Custom Extensions / Commands / ToolsCustom Extensions / Commands / Tools
•• Compile into DLLs and deliver as extensionsCompile into DLLs and deliver as extensions•• PlugPlug--in to existing Desktop Frameworkin to existing Desktop Framework•• Desktop SDKs provide everything neededDesktop SDKs provide everything needed
–– Wizards, helper tools, utilities, doc, diagrams, samplesWizards, helper tools, utilities, doc, diagrams, samples
Desktop Development SessionsDesktop Development Sessions
•• Extending the ArcGIS Desktop ApplicationsExtending the ArcGIS Desktop Applications–– Wednesday 10:30am and 2:45pmWednesday 10:30am and 2:45pm
•• Developing Desktop Applications with the Developing Desktop Applications with the Geoprocessing FrameworkGeoprocessing Framework–– Wednesday 10:30amWednesday 10:30am
ESRI Developer Summit 2008ESRI Developer Summit 2008 88
Supported Programming Languages / IDEsSupported Programming Languages / IDEs
•• 9.2 Desktop SDKs9.2 Desktop SDKs–– VBAVBA–– Visual Basic 6Visual Basic 6–– Visual C++ (VS 2005)Visual C++ (VS 2005)–– Visual Studio 2005 (VB.NET and C#)Visual Studio 2005 (VB.NET and C#)
•• 9.3 9.3 –– Updating VBA to version 6.5Updating VBA to version 6.5–– Add support for Visual Studio 2008Add support for Visual Studio 2008–– Last release with support for Visual Basic 6Last release with support for Visual Basic 6
ESRI Developer Summit 2008ESRI Developer Summit 2008 99
ArcGIS Desktop and Engine SDKs at 9.3?ArcGIS Desktop and Engine SDKs at 9.3?
•• LanguageLanguage--specific resources that help developers specific resources that help developers –– Customize and extend the ArcGIS Desktop application suiteCustomize and extend the ArcGIS Desktop application suite–– Build custom desktop GIS applicationsBuild custom desktop GIS applications
•• Resources include:Resources include:–– API Reference HelpAPI Reference Help–– ““How toHow to””, conceptual, & best practices help topics, conceptual, & best practices help topics–– SamplesSamples–– Code snippetsCode snippets–– Tools & utilitiesTools & utilities
.NET Engine & Desktop SDKs.NET Engine & Desktop SDKs
•• Goal Goal -- Raise the visibility & usability of available Raise the visibility & usability of available resourcesresources–– Visual Studio Snippet Finder toolVisual Studio Snippet Finder tool–– API Help crossAPI Help cross--referencesreferences–– Improved linking between SDKs and to the webImproved linking between SDKs and to the web--sitesite
ArcGIS Snippet Finder
• Integrated tool within Visual Studio • Keyword Search of ArcGIS code snippets• Insert snippet based on your preferences
– Fully qualified– Using statements– Comments
API Help crossAPI Help cross--refsrefs
#1 user request #1 user request –– ““Better API HelpBetter API Help””•• Developers go directly to API Help pages (F1) & do not Developers go directly to API Help pages (F1) & do not
see/find samples, snippets, how to, & conceptual see/find samples, snippets, how to, & conceptual material that may be availablematerial that may be available
Solution: Solution: •• Create linkages between the API Help pages and the Create linkages between the API Help pages and the
other stuff that illustrates usage of that type.other stuff that illustrates usage of that type.
WhatWhat’’s New in ArcGIS Desktop 9.3s New in ArcGIS Desktop 9.3ImprovementsImprovements::•• Bookmarks Bookmarks •• Joins and Relates are Layer Properties Joins and Relates are Layer Properties •• Layer files registered with Windows, publishable via webLayer files registered with Windows, publishable via web•• New HTML Popup with Field, URL or XSL custom optionsNew HTML Popup with Field, URL or XSL custom options•• New Create Time Layer Animation dialogNew Create Time Layer Animation dialog•• Multiple Viewer windows for multiple data framesMultiple Viewer windows for multiple data frames•• Table / Attribute flexibility, identify dialog agreement with reTable / Attribute flexibility, identify dialog agreement with relateslates•• Scatterplot matrix data explorationScatterplot matrix data exploration•• Graphic Improvements, conversionGraphic Improvements, conversion•• Geoprocessing FeedbackGeoprocessing Feedback•• KML SupportKML Support•• Printing and Export (PDF embeds attributes)Printing and Export (PDF embeds attributes)•• Maplex placement enhancementsMaplex placement enhancements•• Publisher ink export/ ArcMap importPublisher ink export/ ArcMap import•• And moreAnd more……
ESRI Developer Summit 2008ESRI Developer Summit 2008 1414
ArcGIS 9.3 Editing ProductivityArcGIS 9.3 Editing Productivity
•• New sketching shortcutsNew sketching shortcuts–– Snap Snap -->, ABS/Delta XY, Direction>, ABS/Delta XY, Direction
•• New edit tool shortcutsNew edit tool shortcuts–– Pan to, IdentifyPan to, Identify
•• Split & Fillet feedbackSplit & Fillet feedback•• DD Unit hintingDD Unit hinting•• Clip with any featureClip with any feature•• Suspend stream modeSuspend stream mode•• ZZ--value interpolationvalue interpolation
ARCGIS DESKTOP 9.3ARCGIS DESKTOP 9.3Demo Demo -- EditingEditing
ESRI Developer Summit 2008ESRI Developer Summit 2008 1616
ArcGIS EngineArcGIS Engine•• Custom standalone Custom standalone
application developmentapplication development
•• Developer KitsDeveloper Kits
•• Cross Platform RuntimeCross Platform Runtime
•• Runtime ExtensionsRuntime Extensions– Geodatabase Update– 3D Analyst– Spatial Analyst– Network Analyst– Tracking Analyst– Schematics– Maplex– Data Interoperability
ArcGIS Engine
Engine Dev Kit
.NET COM
.C++ Java
ArcGIS Engine Developer KitArcGIS Engine Developer Kit
•• 9.2 SDKs9.2 SDKs–– Visual Basic 6Visual Basic 6–– Visual C++ (VS 2005)Visual C++ (VS 2005)–– Visual Studio 2005 (VB.NET and C#)Visual Studio 2005 (VB.NET and C#)–– Java Eclipse Java Eclipse –– Cross Platform C++Cross Platform C++
•• 9.3 SDKs9.3 SDKs–– Add Visual Studio 2008 Add Visual Studio 2008 •• Last release for Visual Basic 6 SDKLast release for Visual Basic 6 SDK
ESRI Developer Summit 2008ESRI Developer Summit 2008 1818
Typical ArcGIS Engine Applications GenresTypical ArcGIS Engine Applications Genres
StandaloneStandalone NonNon--visualvisual
Embedded Embedded applicationsapplications
Standalone ArcGIS Engine ApplicationsStandalone ArcGIS Engine Applications
•• The most common deploymentThe most common deployment•• Mapping and VisualizationMapping and Visualization
–– 9.2 functionality very capable9.2 functionality very capable–– 9.3 adds to these capabilities9.3 adds to these capabilities
•• GIS AnalysisGIS Analysis–– Geoprocessing provides a solid frameworkGeoprocessing provides a solid framework–– 9.3 enhancements will help engine develops create better 9.3 enhancements will help engine develops create better
performing applicationsperforming applications
Expanding ArcGIS Engine ApplicationsExpanding ArcGIS Engine Applications
•• Editing ApplicationsEditing Applications–– Specifically field based editing solutionsSpecifically field based editing solutions
•• Real Time MonitoringReal Time Monitoring•• 9.3 development targeted these application types9.3 development targeted these application types
ArcGIS Engine EditingArcGIS Engine Editing
•• Engine editing framework added at 9.2Engine editing framework added at 9.2–– Before 9.2 developers worked at the Geodatabase levelBefore 9.2 developers worked at the Geodatabase level–– Extensibility of editing framework limited at 9.2Extensibility of editing framework limited at 9.2
•• 9.3 Enhancements9.3 Enhancements–– Extensible frameworkExtensible framework–– SQL Server Express SupportSQL Server Express Support
Extensible Editing FrameworkExtensible Editing Framework
•• Engine Editor exposedEngine Editor exposed–– Start / Stop Edit SessionsStart / Stop Edit Sessions–– Editable LayersEditable Layers–– Control of Edit OperationsControl of Edit Operations–– Editing EventsEditing Events
•• Custom Edit TasksCustom Edit Tasks•• Custom attribute editorsCustom attribute editors•• Custom snapping environment and agentsCustom snapping environment and agents•• More Editing tools and context commands includedMore Editing tools and context commands included
Add task to
existing group
Java Engine SDKJava Engine SDK
•• Eclipse PlugEclipse Plug--in for Debuggingin for Debugging•• Support JDK 6 Support JDK 6 •• Lots of new contentLots of new content
–– 145 topics/samples @ 9.2, 145 topics/samples @ 9.2, 430 at 9.3 Beta with more to come430 at 9.3 Beta with more to come
–– Fill key javadoc gaps identified user feedbackFill key javadoc gaps identified user feedback
•• MXDEditor toolMXDEditor tool
Geodatabase Geodatabase -- SQL Server ExpressSQL Server Express
•• Free, easyFree, easy--toto--use, lightweight, and embeddable version use, lightweight, and embeddable version of SQL Server 2005of SQL Server 2005
•• Included with ArcGIS Desktop at 9.2Included with ArcGIS Desktop at 9.2•• ArcGIS Engine will include a copy at 9.3ArcGIS Engine will include a copy at 9.3•• Allows developers to build and deploy rich editing Allows developers to build and deploy rich editing
applicationsapplications
•• ArcGIS Engine + GDB Update Extension + SQL Server ArcGIS Engine + GDB Update Extension + SQL Server Express = Extremely Powerful GIS Editing PlatformExpress = Extremely Powerful GIS Editing Platform
ARCGIS ENGINE 9.3ARCGIS ENGINE 9.3Demo Demo -- JavaJava
ESRI Developer Summit 2008ESRI Developer Summit 2008 2626
Dynamic DisplayDynamic Display
•• Near Real Time Monitoring applications utilize many Near Real Time Monitoring applications utilize many components, and require Dynamic Display Functionalitycomponents, and require Dynamic Display Functionality
•• Dynamic Display introduced at 9.2Dynamic Display introduced at 9.2–– The display of information with frequent refresh rates to clearlThe display of information with frequent refresh rates to clearly y
convey geographic information.convey geographic information.–– Rapidly updates without interruptionRapidly updates without interruption–– Smooth panning, zooming, rotation, navigation, and display of Smooth panning, zooming, rotation, navigation, and display of
dynamic graphicsdynamic graphics–– Allows for the display performance required of near realAllows for the display performance required of near real--time time
applicationsapplications
Dynamic Display Dynamic Display -- Cache EnhancementsCache Enhancements
•• MultiMulti--threaded cache managementthreaded cache management•• Reused during dynamic sessionsReused during dynamic sessions•• Reused between dynamic sessionsReused between dynamic sessions•• Generate before useGenerate before use•• Invalidating areasInvalidating areas•• Direct read for raster and Map Server layersDirect read for raster and Map Server layers•• Text ImprovementsText Improvements•• SelectionsSelections•• SDKSDK
Dynamic Display Dynamic Display -- Text improvementsText improvements
•• Allow text boxAllow text box•• Better support for right to left languagesBetter support for right to left languages•• Generic support of drawing text around a markerGeneric support of drawing text around a marker•• Better control of distance between textBetter control of distance between text•• Draw compound markers to the screenDraw compound markers to the screen•• Line pattern continuationLine pattern continuation
Dynamic Display Dynamic Display –– Other ImprovementsOther Improvements
•• SelectionSelection•• Continuous zoomContinuous zoom•• SDK Enhanced with more samples and technical SDK Enhanced with more samples and technical
documents documents
ENGINE 9.3 DEMOENGINE 9.3 DEMODynamic DisplayDynamic Display
ESRI Developer Summit 2008ESRI Developer Summit 2008 3131
ArcGIS Desktop / ArcGIS Engine: ArcGIS Desktop / ArcGIS Engine: Platform ChangesPlatform Changes•• Desktop / EngineDesktop / Engine
–– New Platforms:New Platforms:•• Operating Systems: Windows Vista SP1Operating Systems: Windows Vista SP1•• Development Environment: Visual Studio 2008Development Environment: Visual Studio 2008
–– Last Release for:Last Release for:•• Operating Systems: Windows 2000Operating Systems: Windows 2000•• Development Tools: Visual Basic 6Development Tools: Visual Basic 6
3232
ARCGIS EXPLORERARCGIS EXPLORER
ESRI Developer Summit 2008ESRI Developer Summit 2008 3333
What is ArcGIS Explorer?
•• A client for ArcGIS ServerA client for ArcGIS Server•• Free to deploy, lightweight, easy to use 3D desktop Free to deploy, lightweight, easy to use 3D desktop
applicationapplication•• Easy way to deliver access to GIS content and Easy way to deliver access to GIS content and
capabilities, integrate, and utilize GIS services, capabilities, integrate, and utilize GIS services, geographic content, and other web services .geographic content, and other web services .
•• Independent release cycle, the latest build can install Independent release cycle, the latest build can install alongside any existing ESRI software.alongside any existing ESRI software.
ESRI Developer Summit 2008ESRI Developer Summit 2008 3434
ArcGIS Explorer Tasks
•• A task based architectureA task based architecture–– Default Tasks (e.g. Get Directions)Default Tasks (e.g. Get Directions)–– Geoprocessing Tasks (e.g. Viewshed Analysis)Geoprocessing Tasks (e.g. Viewshed Analysis)–– Custom TasksCustom Tasks
•• Custom Tasks are the only extension point for AGXCustom Tasks are the only extension point for AGX•• Compact Microsoft .NET API & comprehensive SDKCompact Microsoft .NET API & comprehensive SDK•• Free to download SDK & Free to deployFree to download SDK & Free to deploy•• Leverage the multi threaded application frameworkLeverage the multi threaded application framework
ESRI Developer Summit 2008ESRI Developer Summit 2008 3535
ARCGIS EXPLORERARCGIS EXPLORERDemoDemo
ESRI Developer Summit 2008ESRI Developer Summit 2008 3636
Further down the roadFurther down the road……
ESRI Developer Summit 2008ESRI Developer Summit 2008 3737
ArcGIS Explorer for DevelopersArcGIS Explorer for Developers
•• Developer Kit (SDK) for creating custom applications Developer Kit (SDK) for creating custom applications based on the Explorer Map Controlbased on the Explorer Map Control
•• Goals: Goals: The developer experience must be:The developer experience must be:–– Intuitive Intuitive -- Common scenarios should be easy to codeCommon scenarios should be easy to code–– Concise Concise -- Aim is for < 200 objectsAim is for < 200 objects–– True .NET experienceTrue .NET experience
•• Easy to deploy / Version independentEasy to deploy / Version independent
•• First rate SDK First rate SDK
ESRI Developer Summit 2008ESRI Developer Summit 2008 3838
Thanks!Thanks!
•• Please remember to complete conference survey and Please remember to complete conference survey and session feedbacksession feedback
•• Feel fee to contact me with other questions or feedback Feel fee to contact me with other questions or feedback –– Rob Elkins (Product Management)Rob Elkins (Product Management)–– [email protected]@esri.com
ESRI Developer Summit 2008ESRI Developer Summit 2008 3939