9/18/2020 Arcgis 10 Engine Developer Kit License
ArcGIS 10.1 Engine Developer Kit and ArcGIS 10.1 Engine Quick Start Guide Table of Contents. For existing ArcGIS 10.0 users, automatic license upgrade functionality has been introduced at ArcGIS 10.1 which allows for a much easier license upgrade process. Instead of deauthorizing older licenses and authorizing the latest version, users can. ArcGIS Runtime Local Server is a component that enhances functionality of desktop-focused ArcGIS Runtime SDKs: Runtime SDK for.NET (WPF), Runtime SDK for Java, and Runtime SDK for Qt. With ArcGIS Runtime SDK version 10.2.x it was packaged with desktop-focused ArcGIS Runtime SDKs. » arcgis diagrammer 10.2下载 » arcgis diagrammer software » arcgis diagrammer » manuale italiano arcgis diagrammer » arcgis diagrammer magyar » download arcgis diagrammer » arcgis license manager 10 下载 » arcgis engine developr kit 10 下载 » arcgis engine developer kit 10 下载 » arcgis 10 0license 下载.
This document was published with and applies to ArcGIS 9.3.
A 10 version also exists. A 9.2 version also exists.
Click here to get the sample associated with this walkthrough.
This document demonstrates the steps required to create a GIS application for viewing pre-authored ESRI map documents (*.mxd).
Concepts
This scenario is implemented using the Microsoft Visual Studio .NET development environment and uses the ESRI interop assemblies to host the ArcGIS Engine controls inside .NET Windows controls in a .NET form. These interoperability assemblies act as a bridge between the unmanaged code of the Component Object Model (COM) and the managed .NET code. Any references to the members of the COM ArcGIS Engine controls are routed to the interop assemblies and forwarded to the actual COM object. Likewise, responses from the COM object are routed to the interop assembly and forwarded to the .NET application. Each ArcGIS Engine control has events, properties, and methods that can be accessed once embedded within a container, such as a .NET form. The objects and functionality in each control can be combined with other ESRI ArcObjects and custom controls to create customized end user applications.
The scenario has been written in both C# and Visual Basic .NET. Many developers will feel more comfortable with Visual Basic .NET, as the code looks familiar to Visual Basic 6.0, while the syntax of the C# programming language will be familiar to Java and C++ programmers. Whichever development environment you use, your future success with the ArcGIS Engine controls depends on your skill in both the programming environment and ArcObjects.
The MapControl, PageLayoutControl, TOCControl and ToolbarControl are used in this scenario to provide the user interface of the application, and the LicenseControl is used to configure the application with an appropriate license. The ArcGIS Engine controls are used in conjunction with other ArcObjects and control commands by the developer to create a GIS map viewing application.
Design
The scenario has been designed to highlight how the ArcGIS Engine controls interact with each other and to expose a part of each ArcGIS Engine control's object model to the developer.
Each .NET ArcGIS Engine control has a set of property pages that can be accessed once the control is embedded in a .NET form. These property pages provide shortcuts to a selection of a control's properties and methods and allow a developer to build an application without writing any code. This scenario does not use the property pages but rather builds up the application programmatically.
The ArcGIS Engine controls and libraries used in this scenario are as follows:
The ESRI.ArcGIS.AxControls .NET Framework component represents each control that is hosted in a .NET form, while the ESRI.ArcGIS.Controls assembly contains the object and interfaces from inside each control's type library.
The following implementation provides you with all the necessary code to successfully complete the scenario. It does not provide step-by-step instructions to develop applications in Microsoft Visual Studio .NET, as it assumes that you already have a working knowledge of the development environment.
Loading the ArcGIS Engine controls
Before you start programming your application, the ArcGIS Engine controls and the other ArcGIS Engine assembly references that the application will use should be loaded into the development environment.
The ESRI .NET assemblies will be used to instantiate and make calls on the objects in the ESRI object libraries from your C# or VB.NET project using the COM interoperability services provided by the .NET Framework.
Embedding the ArcGIS Engine controls in a container
Before you can access each control's properties, methods, and events, each control needs embedding in a .NET container. Once the controls are embedded in the form, they will shape the application's user interface.
In .NET a variable is fully-qualified using a namespace. Namespaces are a concept in .NET that allow objects to be organized hierarchically, regardless of the assembly they are defined in. To make code simpler and more readable, the directives act as shortcuts when referencing items specified in namespaces.
If you start by typing ESRI., the autocompletion feature of IntelliSense allows you to complete the next section of code by pressing the Tab key.
Remember that C# is case sensitive. By default, when the project is created, C# will add some using directives to some of the system namespaces.
[C#] [VB.NET]
To successfully deploy this application on another machine, the application must configure a license. First, it must check that a product license is available and second, it must initialize the product license. If this license configuration fails, the application cannot run. License configuration can be performed either by using the LicenseControl or by programmatically using the AoInitialize object. For the purpose of this application, the LicenseControl will be used to handle license configuration.
When developing a stand-alone executable using ArcObjects, it is the responsibility of the application to check and configure the licensing options. A license can be configured using either the LicenseControl or the AoInitialize class and the IAoInitialize interface it implements, that is designed to support license configuration. License initialization must be performed at application start time, before any ArcObjects functionality is accessed. Failure to do so will result in application errors.
The LicenseControl will appear on a form at design time so that it can be selected and its property pages viewed. However, at run time the LicenseControl is invisible so its position on the form is irrelevant.
This application can be initialized with an ArcGIS Engine license but you may optionally initialize the application with a higher product license. For example, if you select the ArcGIS Engine license and the ArcView license check boxes, the LicenseControl will initially try to initialize the application with an ArcGIS Engine license (the lower license). If that license is not available, the LicenseControl will try to initialize the application with an ArcView license (the next higher level license selected). If no product licenses are available, then the application will fail to initialize.
In this application the LicenseControl will handle license initialization failure. If the application cannot be initialized with an ArcGIS Engine product license, a License Failure dialog box appears before the application is automatically shut down. Alternatively, a developer can handle license initialization failure using the ILicenseControl interface members to obtain information on the nature of the failure before the application is programmatically shut down.
Loading map documents into the PageLayoutControl and MapControl
Individual data layers or pre-authored map documents can be loaded into the MapControl and PageLayoutControl. You can either load the sample map document that is provided or you can load your own map document. Later, you will add a command to browse to a map document.
[C#] [VB.NET]
[C#] [VB.NET]
Setting the TOCControl and ToolbarControl buddy controls
For the purpose of this application, the TOCControl and ToolbarControl will work in conjunction with the PageLayoutControl, rather than the MapControl. To do this, the PageLayoutControl must be set as the buddy control. The TOCControl uses the buddy control's ActiveView to populate itself with maps, layers, and symbols, while any command, tool, menu or palette items present on the ToolbarControl will interact with the buddy control's display.
[C#] [VB.NET]
Handling form resize
When the form is resized at run time, the PageLayoutControl and MapControl do not automatically resize. To resize the controls so that they always fill the extent of the form, you must anchor the controls to the form. If the PageLayoutControl or MapControl contain a lot of data, redrawing this data while the form is resized can be costly. To increase performance, you can suppress the data redraw until the resizing is complete. During the resize a stretched bitmap will be drawn instead.
[C#] [VB.NET] ![]()
[C#] [VB.NET]
Adding commands to the ToolbarControl
ArcGIS Engine comes with more than 230 commands and tools that work directly with the MapControl, PageLayoutControl, and ToolbarControl. These commands and tools provide you with a lot of frequently used GIS functionality for map navigation, map inquiry, graphics management, and feature selection. In addition, there are commands and tools to work with the ArcGIS Engine extensions. You will now add some of these commands and tools to your application to work with the PageLayoutControl.
[C#] [VB.NET]
Creating a pop-up menu for the PageLayoutControl
In addition to adding ArcGIS Engine commands to the ToolbarControl to work with the buddy control (as in the previous step), you can also create pop-up menus and palettes from the ArcGIS Engine commands. You will add to your application, a pop-up menu that works with the PageLayoutControl. The pop-up menu will appear when you right-click the display area of the PageLayoutControl.
[C#] [VB.NET]
[C#] [VB.NET]
[C#] [VB.NET]
In addition to creating stand-alone pop-up menus and palettes to work with a control (as in the previous step), menus and palettes can be added to a ToolbarControl. You will create a palette containing some ArcGIS Engine commands and add it to the ToolbarControl.
[C#] [VB.NET]
By default, the TOCControl allows users to automatically toggle the visibility of layers and to change the map and layer names that appear in the table of contents. You will add code to prevent users from editing a name and replacing it with an empty string.
[C#] [VB.NET]
[C#] [VB.NET]
Drawing shapes on the MapControl
You will now use the MapControl as an overview window and draw on its display the current extent of the focus map in the PageLayoutControl. As you navigate around the data in the data frame of the PageLayoutControl, you will see the MapControl overview window update.
[C#] [VB.NET]
The variable declared as visBoundsUpdatedE is a delegate. A delegate is a class that can hold a reference to a specific method and link it to a specific event. The linking process between the event and the method is sometimes known in .NET as wiring.
[C#] [VB.NET]
[C#] [VB.NET]
[C#] [VB.NET]
[C#] [VB.NET]
[C#] [VB.NET]
Navigating around the focus map using the map navigation tools will change the extent of the focus map in the PageLayoutControl and cause the MapControl to update. Navigating around the page layout with the page layout navigation tools will change the extent of the page layout (not the extent of the focus map in the PageLayoutControl), so the MapControl will not update.
Creating custom commands and tools to work with the MapControl and PageLayoutControl is very similar to creating commands for the ESRI ArcMap application that you may have done previously. You will create a custom tool that adds a text element containing today's date to the PageLayoutControl at the location of a mouse click. However, you will create the command to work with the MapControl and ToolbarControl, as well as the PageLayoutControl.
The AddDateTool class inherits from the ESRI BaseTool abstract class. Abstract classes are classes that cannot be instantiated and frequently contain only partial implementation code or no implementation at all. They are closely related to interfaces; however, they differ significantly from interfaces in that a class may implement any number of interfaces but it can inherit from only one abstract class. Inheriting the ESRI BaseCommand and BaseTool abstract classes will allow you to create commands and tools more quickly and simply than directly implementing the esriSystemUI ICommand and ITool interfaces.
The sealed class modifier in C# and the NotInheritable modifier in VB.NEt states that a class cannot be inherited from. As this class is not designed for this purpose, it is prudent to add this modifier to prevent other classes from inheriting this class.
[C#] [VB.NET]
The class constructor is a method that is called when the class is created. It can be used to set up members of the class. In C# the constructor method has the same name as the class. It differs from other methods in that it has no return type.
Instead of implementing the Bitmap, Caption, Category, Name, Message, and ToolTip methods individually, you can set the values that should be returned from these methods and rely on the BaseTool class to provide the implementation for these methods. The other members will be left to return the default values as implemented by the BaseTool class.
[C#] [VB.NET]
The ICommand.OnCreate method is passed a handle or hook to the application that the command will work with. In this case, it can be a MapControl, PageLayoutControl, ToolbarControl, or the ArcMap application. Rather than adding code into the OnCreate method to determine the type of hook that is being passed to the command, the HookHelper is used to handle this. A command or tool needs to know how to handle the hook it gets passed, so a check is needed to determine the type of ArcGIS Engine control that has been passed. The HookHelper is used to hold the hook and return the ActiveView regardless of the type of hook (in this case a MapControl, PageLayoutControl, ToolbarControl, or ArcMap).
[C#] [VB.NET]
ArcGIS Engine expects a custom command or tool to be a COM class; therefore, the .NET class you have created must be exposed as a COM class by creating a COM callable wrapper for it. The BaseTool has already provided the attributes and globally unique identifiers (GUIDs) required by COM in the class.
The Commands project properties have also been automatically amended to set Register for COM Interop to true. Setting the Register for COM Interop property to true will invoke the Assembly Registration tool (Regasm.exe). This will add the information about the class to the registry that a COM client would expect to find.
Visual Studio .NET provides the ability to specify functions that execute when an assembly exposed for COM interop is registered and unregistered on a system. This allows you to register your class in a component category that the Customize dialog box will look for. The BaseTool has already provided these COM Registration Functions in the class and will register the tool with the ESRI Controls Commands and ESRI Mx Commands component categories. The ComVisible attribute is set to false to ensure that this method cannot be called directly by a COM client. It does not affect the method being called when the assembly is registered with COM.
[C#] [VB.NET]
In addition to adding ArcGIS Engine commands and tools to the ToolbarControl in the Form_Load event, you can also add them by customizing the ToolbarControl at run time using the CustomizeDialog. To do this, you will place the ToolbarControl in customize mode and display the CustomizeDialog.
[C#] [VB.NET]
[C#] [VB.NET]
[C#] [VB.NET]
[C#] [VB.NET]
[C#] [VB.NET]
The contents of a ToolbarControl can be persisted into a user's profile when an application exits to preserve any customizations made to the ToolbarControl by the end user. An application can load the persisted contents back into the ToolbarControl at application start time. You will persist the contents of the ToolbarControl into a file located in the same directory as the applications executing assembly.
[C#] [VB.NET]
[C#] [VB.NET]
[C#] [VB.NET] Arcgis 10 Engine Developer Kit License![]()
[C#] [VB.NET]
The PageLayoutControl encapsulates the page layout that manages the page that can be sent to any available printer. You will add code to allow users to send output to the system default printer.
Hover Engine Developer KitArcgis License Manager 10.5[C#][VB.NET]
Deployment
To successfully deploy this application on a user's machine:
The following resources may help you understand and apply the concepts and techniques presented in this scenario:
See Also:How to write your first MapControl application
Active2 years, 9 months ago
Can anyone help me find the link to download ArcGIS Engine 10? I have tried to find it, but unfortunately I have not found it.
PolyGeo♦
55k1717 gold badges8787 silver badges258258 bronze badges
GIS ManGIS Man
57311 gold badge88 silver badges2626 bronze badges
3 Answers
you need to buy it, get a login, then login, then there's a download option inside the portal.
patrickpatrick
The ArcGIS Engine software development toolkit is included for no extra charge as part of your annual subscription to the Esri Developer Network (EDN). Once you subscribe to EDN, you can download all of the software included with the bundle, including ArcGIS Engine through the Esri Customer Care Portal here: http://customers.esri.com/
For more information: http://www.esri.com/edn
Arcgis Engine 10.4 Download
JimBarryJimBarry
If you're not an existing customer, you won't be able to download it (you need a portal login for that). If you contact your local ESRI rep however, they'll post you out a DVD for evaluation.
BlinkyBillBlinkyBill
88611 gold badge88 silver badges1919 bronze badges
Not the answer you're looking for? Browse other questions tagged arcgis-10.0arcgis-enginedownload or ask your own question.Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |