Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Developing.NET Applications.

Slides:



Advertisements
Similar presentations
Publishing GIS Services to ArcGIS for Server
Advertisements

Microsoft Office SharePoint Portal Server 2007 Introduction to InfoPath Forms Services Daryl L. Rudolph.
Introduction to Visual Basic.NET Uploaded By: M.Sheraz anjum.
Technical Workshops | Esri International User Conference San Diego, California Building Applications with ArcGIS Runtime SDK for Windows Phone Rex Hansen.
ESRI Computational Science for NRM D. Wang Environmental Systems Research Institute, Inc. (ESRI) Redlands, CA Leader in GIS with at least 1/3rd of market.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS Viewer for Flex—
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Introduction to ESRI Add-Ins
Esri International User Conference | San Diego, CA Technical Workshops | Migrating Custom Desktop Solutions from 9.3 to 10 John Hauck and Ralf Gottschalk.
Esri International User Conference | San Diego, CA Technical Workshops | Writing and Deploying Your First Applications for ArcGIS Engine John Hauck and.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS Explorer Desktop.
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS for SharePoint, An Introduction Art Haddad Rich Zwaap.
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS Runtime Euan Cameron Mary Harvey Ralf Gottschalk Road Ahead.
Esri International User Conference | San Diego, CA Technical Workshops | Managing and Editing Annotation Natalie Vines Samantha Keehan July 14, 2011.
Technical Workshops | Esri International User Conference San Diego, California Building Applications with the ArcGIS Runtime SDK for WPF Euan Cameron &
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Editing in ArcMap:
Sharing Geographic Content
Creating and Running Your First C# Program Telerik Software Academy Telerik School Academy.
Editing With ArcGIS Pro
Introduction to.NET Content : – Introduction to.NET Technology – Introduction to Web Based Applications – Introduction to ASP.NET 1 By : Amrendra Sharan.
ArcGIS Workflow Manager An Introduction
Technical Workshops | Esri International User Conference San Diego, California ArcMap: Tips and Tricks Miriam Schmidts Jorge Ruiz-Valdepena July 23 – 27,
Sep , 2006 v FME Worldwide User Conference - Vancouver What’s New in ArcGIS Data Interoperability Extension Kim Avery, ESRI, California, USA, and.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Introduction to ArcGIS API for JavaScript
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Creating.NET Add-ins.
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Writing Geoprocessing Scripts With ArcGIS Lecture 9.
Introduction to Spatial Analysis and Spatial Modeling
Visual Basic Advanced Programming.
Python: An Introduction
Extending ArcGIS for Server
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
9. Introduction to ArcObjects Most GIS analysis carried out within a GIS consists of a labor- intensive sequence of steps. Automating a GIS makes it possible.
2. Introduction to the Visual Studio.NET IDE. Chapter Outline Overview of the Visual Studio.NET IDE Overview of the Visual Studio.NET IDE Menu Bar and.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Migrating your Data.
Integrated Development Environment (IDE)
Enabling High-Quality Printing in Web Applications
Object Oriented Software Development 9. Creating Graphical User Interfaces.
Technical Workshops | Esri International User Conference San Diego, California Creating Geoprocessing Services Kevin Hibma, Scott Murray July 25, 2012.
Slide 1.NET Development for Project 2003 Samples from the Project 2003 SDK Jim Corbin Programmer Writer Office Developer Documentation Microsoft Corporation.
ArcGIS Server for Administrators
Esri UC 2014 | Technical Workshop | Python Map Automation – Beyond the Basics of arcpy.mapping Jeff Barrette Jeff Moulds.
Esri UC 2014 | Technical Workshop | Developing Offline Apps with ArcGIS Runtime SDKs Euan Cameron Justin Colville Will Crick.
Esri UC 2014 | Technical Workshop | Operations Dashboard for ArcGIS: Extending the Functionality Jay Chen Kylie Donia Tif Pun.
Esri UC 2014 | Technical Workshop | Creating Geoprocessing Services Kevin Hibma.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Customizing the Operations.
Presented by Vishy Grandhi.  Architecture (Week 1) ◦ Development Environments ◦ Model driven architecture ◦ Licensing and configuration  AOT (Week 2)
Imagine Creating Software Without a Single Line of Code!
Developing Cross Platform Apps with the ArcGIS Runtime SDK for Qt
Esri UC 2014 | Technical Workshop | ArcPad – An Introduction Chris LeSueur, Marika Vertzonis, Hannah Ferrier.
INTRODUCTION CHAPTER #1 Visual Basic.NET. VB.Net General features It is an object oriented language  In the past VB had objects but focus was not placed.
COMPUTER III. Fundamental Concepts of Programming Control Structures Sequence Selection Iteration Flowchart Construction Introduction to Visual Basic.
Publishing GIS Services to ArcGIS Server
Lecture Set 1 Part B: Understanding Visual Studio and.NET – Structure and Terminology 1/16/ :04 PM.
Esri UC 2014 | Technical Workshop | ArcGIS API for JavaScript: An Introduction Kelly Hutchins Derek Swingley.
Esri UC 2014 | Technical Workshop | Editing in ArcMap: An Introduction Lisa Stanners, Phil Sanchez.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
A Detailed Introduction To Visual Studio.NET CRB Tech ReviewsCRB Tech Reviews introduces you to the world of Visual.
Sharing Maps and Layers to Portal for ArcGIS Melanie Summers, Tom Shippee, Ty Fitzpatrick.
Introduction to ArcGIS API for Microsoft Silverlight
PYTHON: AN INTRODUCTION
Geoprocessing with ArcGIS for Server
Python Map Automation – Beyond the Basics of arcpy.mapping
CMPE419 Mobile Application Development
ArcGIS Pro: An Introduction Overview
Presentation transcript:

Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Developing.NET Applications for ArcGIS Engine Deep Dhanasekaran and John Hauck

Esri UC2013. Technical Workshop. Agenda Introduction to Engine Controls SDK Requirements Runtime Binding Authoring content for ArcGIS Engine Adding functionality to ArcGIS Engine ArcGIS Engine and ArcGIS Runtime Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Introduction to.NET Creating.NET Add-Ins for ArcGIS for Desktop

Esri UC2013. Technical Workshop. Development framework to build applications for the Windows Platform Key Features - Common Language Runtime - Interoperability - Base Class Library - Windows Forms What is.NET? Creating.NET Add-Ins for ArcGIS for Desktop

Esri UC2013. Technical Workshop. Coded solutions to common programming problems - Interacting with databases - Parsing XML - File reading and writing - String manipulation - Working with collections Base Class Library Creating.NET Add-Ins for ArcGIS for Desktop

Esri UC2013. Technical Workshop. Tools and Controls to build GUIs - Toolbars and Menus - Text Box, Combo Box, List View, Button - Layout and Data Binding Events driven Windows Forms Creating.NET Add-Ins for ArcGIS for Desktop

Esri UC2013. Technical Workshop. When building your add-in you need to target a specific version of.NET 3.5 is recommended for 10, 10.1 and NET 3.5 is required for ArcGIS Desktop 4.0 is supported at 10.1 and 10.2 Supported.NET Versions Creating.NET Add-Ins for ArcGIS for Desktop

Esri UC2013. Technical Workshop. VB.NET - Syntax closest to VBA and VB6 C# - Syntax similar to C++ & Java No difference in performance Same access to.NET BCL and ArcObjects API Selecting a Language Creating.NET Add-Ins for ArcGIS for Desktop

Esri UC2013. Technical Workshop. Where to write your code? Integrated Development Environment (IDE) - Source code editor, Debugger Visual Studio - Visual Studio 2008 (10.0) - Visual Studio 2010 (10*, 10.1, 10.2) - Visual Studio 2012 (10.2) - Free express version is supported - *2010 VS Express not supported at 10.0 Creating.NET Add-Ins for ArcGIS for Desktop

Esri UC2013. Technical Workshop. One IDE for all.NET projects - Templates Code Editor - Syntax highlighting, code completion Debugger Windows Forms Designer - Drag/Drop controls Visual Studio Key Features Creating.NET Add-Ins for ArcGIS for Desktop

Esri UC2013. Technical Workshop. What is ArcGIS Engine? Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. What is ArcGIS Engine? Product used to build custom standalone GIS solutions - ArcObjects - ArcGIS Engine Controls Leverage the power of ArcGIS Desktop and Server - Use Desktop to author content - Use Engine to consume content Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Where to write your code? Integrated Development Environment (IDE) - Source code editor, Debugger Visual Studio - Visual Studio 2008 (10.0) - Visual Studio 2010 (10*, 10.1, 10.2) - Visual Studio 2012 (10.2) - Free express version is supported - *2010 VS Express not supported at 10.0 Creating.NET Add-Ins for ArcGIS for Desktop

Esri UC2013. Technical Workshop. When building your application you need to target a specific version of.NET 3.5 is recommended for 10, 10.1 and NET 3.5 is required for ArcGIS Desktop 4.0 is supported at 10.1 and Need to handle distribution - Don’t embed interop types Supported.NET Versions Creating.NET Add-Ins for ArcGIS for Desktop

Esri UC2013. Technical Workshop. 64 Bit Support ArcGIS Engine is a 32 bit application - Run as a 32 bit application on 64 bit OS - Target x86 Default is “Any CPU” At Version 10 Engine applications are Large Address Aware When compiling VS 2010 applications on a x64 machine - Follow KB Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Runtime Binding and Licensing Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Runtime Binding Starting at ArcGIS 10 each product has it’s own runtime - Separate install locations - Service pack products separately - Uninstall service packs ArcObjects must be pointed to a runtime to work - Before any other ArcObjects calls - Required for all standalone applications - Engine applications can bind to either Desktop or Engine Runtimes What is Runtime Binding? Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Runtime Binding Add reference to: ESRI.ArcGIS.Version Bind using the RuntimeManager static class How to bind to a runtime ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine) Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Runtime Binding When and Where - Preferably in your main method (C#) - Preferably in your application events StartUp method (VB) Tip: - The Assembly is called ESRI.ArcGIS.Version - The Namespace is ESRI.ArcGIS - Bind method returns a Boolean that you can use to handle binding errors When to bind to a runtime? Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Runtime Binding RuntimeManager.BindLicense - Bind and License with one method RuntimeCollection - Identify Installed Runtimes RuntimeInfo - Identify the Path, Product, & Version ActiveRuntime - Currently bound runtime Additional Functionality and uses Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Licensing Licenses are checked out at Runtime - Either Desktop or Engine - Licenses are checked out for the life of the application - Extensions can be checked out and returned as needed Concurrent Engine licenses are available starting at 10.0 Licensing is not the same as binding - Binding specifies the runtime - Licensing specifies product functionality Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Licensing Engine ArcView / Basic Geodatabase Update Single UseConcurrent Use Developing.NET Applications for ArcGIS Engine ArcEditor / Standard ArcInfo / Advanced

Esri UC2013. Technical Workshop. Controls and Binding Demo demo Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Binding and Deployment ArcGIS Engine is not required on the target machine - Can leverage Desktop or Engine Runtime Can mix and match Licensing and runtime for flexible Engine applications - Leverage existing Desktop licenses and runtime on clients machine Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Content for ArcGIS Engine Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Basemap and RasterBasemap Layers Layers that draw with a high-performance multi- threaded drawing engine - Improves display speed and responsiveness - Seamless display Limitations - Layers in a Basemap Layer have less functionality - Cannot modify layer properties - Some data sources, layer types, and symbols are not supported What are Basemap Layers Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Basemap and RasterBasemap Layers Best to author through ArcMap - Make use of the analyzers for optimization For optimal performance - Test to see if you can enable hardware acceleration - IGlobalScreenDisplaySettings.CanEnableHardwareAcceleration - Enable hardware acceleration - IGlobalScreenDisplaySettings.EnableHardwareAcceleration Using Basemap Layers in Engine Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Working with Packages Packages are a single file - Contains a map or layer[s] and supporting data - Also can contain references to SDE data Easy to share ArcGIS 10.0 supports - Layer Packages (*.lpk) - Map Packages (*.mpk) ArcGIS 10.1 adds additional support for - Geoprocessing Packages (*.gpk) - Locator Packages (*.apk) - Tile Packages (*.tpk) What are packages? Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Working with Packages At ArcGIS 10 sp1 - Programmatically consume packages IMapDocument.Open - Map Packages - Layer Packages - Web Maps ILayerFile.Open - Layer Packages Just point to the path of the package Using Packages in Engine Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Working with Packages Using Packages in Engine Opening Layer Packages Opening Map Packages Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Working with Packages Consume data on ArcGIS Online - Pass in a URL with the id as the filename Using Online Content Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Working with Packages Add reference to: ESRI.ArcGIS.EngineCore Unpack using IPackageFile.Unpack Using IPackageFile at 10.1 Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Working with Packages Easily deploy maps, data, and functionality - Simple deployment of a single file - Easy to update off cycle Packages can be uploaded to ArcGIS Online - Once a package is downloaded it can be used locally - Use ArcGIS Online groups to manages access Why use Packages in Engine? Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Adding Functionality to ArcGIS Engine Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Adding Functionality to Engine Leverage existing commands and tools provided with the Engine SDK - On a ToolbarControl - Programmatically Build your own components - Such as Commands, Tools, Extensions, Custom Layers, etc… - Specific to your Engine Application - Generic for all Engine applications - Work in both Engine and Desktop applications Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Using Geoprocessing in Engine Why use geoprocessing in Engine? - Why reinvent the wheel? - ArcGIS comes with hundreds of Geoprocessing tools - Developed by specialists in their field Provides a framework to author Model and Script tools in ArcGIS Desktop - Consume these tools in Engine Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Using Geoprocessing in Engine Using system tools Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Using Geoprocessing in Engine Using custom tools Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Background Geoprocessing in Engine Framework to allow Geoprocessing tools to execute in a separate process Great alternative to multi-threaded applications Allows User Interface to remain responsive while processing What is Background Geoprocessing Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Background Geoprocessing Execute tool using ExecuteAsync method on the Geoprocessor object Wire in the events - ToolExcuted - Must handle to know when tools complete - ProgressChanged - MessagesCreated - ToolExecuting Run system tools, models, and script tools What is Background Geoprocessing Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Geoprocessing in Engine demo Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Background Geoprocessing Tips: - Set OverwriteOutput = True - Tools require different license levels or extensions - Desktop help is your friend - Understand GP Messaging - Learn about the Result Object Tips for working with the Geoprocessor Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. New Runtime for ArcGIS Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. New Runtime for ArcGIS New Architecture Easy to Deploy Solutions - Software, maps and data 64 bit Native Support Modern API - WPF and Java Reduced Memory and Disk Footprint Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. New Runtime for ArcGIS Not a functional equivalent to Engine Not an ArcObjects replacement New APIs - Code will need to be re-written - Should leverage general patterns for data sharing and distribution Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop. Please don’t forget to fill out the surveys Questions? Developing.NET Applications for ArcGIS Engine

Esri UC2013. Technical Workshop.Developing.NET Applications for ArcGIS Engine