» Publishers, Monetize your RSS feeds with FeedShow: More infos (Show/Hide Ads)
Esri builds tools to make decisions. The ArcGIS platform is the core of this system focused on geospatial data management, conversion, analysis, and visualization. This platform is built to be stable, secure, performant, scale, and provide the general capabilities that our users need to address complex and important issues. There are many components, from Content, through Code, Libraries, and more generally Services.
While we work closely with users to understand their needs, we can’t address every specific feature. Each community of users: government, military, NGO, urban planning, journalism, and so on each have their own methods, requirements, and integration. And in particular users need tools that speak their language and allow them to work in their domain without having to learn potentially complex technical terminology.
Fortunately, code is amazingly flexible. As said best by Fred Brooks in his seminal “The Mythical Man Month“:
The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures…
Anyone who is a software developer, or even has written a small script, has felt the exhilaration of expressing a tedious and complex task where the computer seemed to magically do all the work. In cyberspace anything is possible and we have now have amazing tools to quickly implement and push our applications to millions of users.
Freedom

Many of us grew up playing with and exploring Lego. We probably received some fascinating Pirate Ship, Airplane, or other kit of a well-designed Lego structure. We built it once and admired it but likely we soon took it apart and starting mixing and matching the pieces together. Lego provided us the medium to explore new concepts and quickly try them out. Sometimes I would leave individual creations together for years – pulling them out, admiring and slightly modifying them. They would become components of larger constructions that then were disassembled.
Lego gives us a well engineered, stable, and fun platform that we can freely mix and match. With software we want this same freedom to choose, to innovate, to explore. Websites encouraged and really helped enable this. With a simple right-click of your mouse you can “View Source…” of any website and get insight into how the developer built the site, their code, and the services they use. Through this we learn and are inspired by seeing under the hood. It’s a good argument this is why Javascript is now so popular. Along the path of HTML, DHTML, AJAX, HTML5 as a technical community we’ve been looking at each other’s Lego creations. Seeing how they’re built, inspired to recreate or extend an idea.
History of Open
Open technology and open-source code is not a new idea for Esri. We have a long history of working with and supporting the open-source community and using open technology and data throughout our platform. Back before open-source code was a ‘thing‘ Esri had ArcScript and many other tools that developers could download and share their code.
Esri has always supported our developer community with source samples and detailed SDK documentation for configuring and extending the ArcGIS system. We’ve also been a big supporter of the open-source community, providing code and sponsorships for efforts relevant to the users of our system. Popular tools such as GDAL/OGR, PostgreSQL, Dojo, MongoDB, and others have all been actively supported by Esri.
We are embarking on a new set of initiatives to subtly change from contributing to the various open communities to being more active members of these communities.
Social Coding
This doesn’t work if we’re just publishing. We’ve done Resource centers and code examples. This time it is different. Open collaboration is a different mindset and methodology – and it’s permeating how Esri operates in the public and internally.
Open source is an opportunity to work together. Technology reduces the friction of communication and creation. What we need now is the community to more easily share our ideas.
Eric Raymond’s famous essay “The Cathedral and the Bazaar” posited a new paradigm where the old ways of building things were going away in favor of more ad-hoc, and collaborative, creation. I think it’s a hybrid. The cathedral acts as inspiration, gathering, structure, and sanctity. The bazaar offers unique communication and self-organization.
Open-source code has a history of small, individual initiatives creating new software that slowly, but effectively grows a community that consists of individuals, organizations, and companies all supporting the common code.
Recently this has popularly being referred to as “Social Coding”. But don’t be fooled that this is like “social networks” where people only share pictures of their kids and cats. It means emergent collaboration within and across groups and communities. The ability to discover, follow, and converse with the people that write code brings a humanity and comraderie to what has often been considered purely technical.
Esri Community
There are many amazing engineers that work at Esri but too often the community doesn’t have any opportunity to interact or work with them. As part of this initiative they will be working more directly in the open, contributing to these Github projects – as well as many of their own repositories that they already work on. We hope that you will get a chance to see and work with this great team to build new awesome software.
The software that we are publishing as open-source cuts across many domains – not just the web. There are mobile phone libraries and applications, desktop extensions, big data analytis tools, and of course many web application templates in ActionScript, Java and JavaScript.
Right now there are nearly 50 repositories at esri.github.com, and we have many more that we are getting ready to release. As we get close to and at the Esri International Developer Summit you will likely be suprised by some of the tools we will be releasing.
We are excited to be embarking on this together. In particular discovering areas where you can really innovate and create new ideas and solutions that we didn’t think of. I recently presented at our Washington DC Meetup and you can see my slides on Github.
The use of a Definition Expression is an extremely powerful technique for displaying a subset of features in a layer that is satisfied by a standard SQL statement. For example, I have a “countries” layer used in my map, but at certain times in my application’s life-cycle I may only want to display Germany on the map. I could apply a temporary definition expression to the layer by giving a query such as “Country_name = ‘GERMANY’”. At this stage, only the polygon feature for Germany will be available for display and querying in that map layer.
ArcGIS applications built with the Runtime SDK for Java (or WPF, by the way) can have this same capability.
Dynamic Layers and LayerInfos
Of course, as you may already know, your Map Packages that you create with ArcGIS for Desktop will honor all definition expressions that have been applied to layers in the map. These can remain static as you use these map layers in your ArcGIS Runtime applications.
However, this discussion explains how the client API can be used to dynamically apply and remove definition expressions on the fly during application runtime.
The first thing to keep in mind if you decide to use this technique is that it is a function of the DynamicLayer capability of the Runtime. To be able to apply and remove definition expressions on a layer, you must call setEnableDynamicLayers(true) on that layer before using definition expressions.
The key object to use in the model for making this work is the LayerInfo class. It has setDefinitionExpression(String expression) and getDefinitionExpression() members.
Try it out
Here is a quick example. We have a Map Package that we want to use in an application. It has a layer in it called “cities” that we want to apply a definition expression to. Later, we want to “unset” or “clear” away that expression.
Here we go:
Create your layer, setEnableDynamicLayers(true) and add it to the map.
final ArcGISLocalDynamicMapServiceLayer localMSLayer =
new ArcGISLocalDynamicMapServiceLayer("C:\\data\\mpks\\USCitiesStates.mpk");
localMSLayer.setEnableDynamicLayers(true);
map.getLayers().add(localMSLayer);
An ArcGISLocalDynamicMapServiceLayer instance contains a collection of LayerInfos, one for each layer in the ArcGISLocalDynamicMapServiceLayer. You will want to keep a reference to this collection in case you want to clear away the applied definition expression.
...
private DynamicLayerInfoCollection defaultInfosColl ;
...
map.addMapEventListener(new MapEventListener(){
public void mapDispose(MapEvent event) {
}
public void mapExtentChanged(MapEvent event) {
}
public void mapReady(MapEvent event) {
defaultInfosColl = localMSLayer.getDynamicLayerInfos();
toolBar.setEnabled(true);
}
});
Once the map is ready and fully initialized, you can get the LayerInfo for your layer and set a definition expression. In this case, layer (0) is the cities layer I want to set the expression on.
DynamicLayerInfo citiesInfo = localMSLayer.getDynamicLayerInfos().get(0);
citiesInfo.setDefinitionExpression("STFIPS = '06'");
localMSLayer.refresh();
When you want to dynamically clear all the definitions, use the original DynamicLayerInfoCollection and set it back to the ArcGISLocalDynamicMapServiceLayer.
localMSLayer.setDynamicLayerInfos(defaultInfosColl);
With our recent release of the ArcGIS Runtime SDK for Android v10.1.1 we dropped support for Android 2.2 API level 8. This allowed us to move up our support level to Android 2.3.3 API level 10 which has almost half, 47.4%, of the Android platform distribution as of Jan. 3, 2013. This is causing projects built prior to v10.1.1 not to be recognized by our Eclipse feature tooling.
We are working on fixing this known issue, so in the mean time I have a work-around for developers interested in migrating projects to v10.1.1.
Update Project Build Path to Android v2.3.3
- Right click your project and select Properties.
- Select Android from the tree on left hand side and choose Android 2.3.3 from the Project Build Target table Target Name column.
- Open the projects Android Manifest file.
- Change the min SDK version to 10, <uses-sdk android:minSdkVersion=”10” /
Now your project is ready to be upgraded to v10.1.1.
Upgrade your project to v10.1.1
- In Eclipse right click on your old project and select ArcGIS Tools > Fix Project Properties
- A progress information dialog will show the progress of your update.
Once the fix project properties tool completes you should be ready to start development against the ArcGIS Runtime SDK for Android v10.1.1.
Google’s Android team recently released the ADT Bundle which provides everything you need to develop with the Android SDK including a version of the Eclipse IDE with a built in ADT (Android Developer Tools) plugin. This greatly simplifies setting up an Android developer environment.
Eclipse 3.8 and 4.2 were released concurrently as part of the Juno release. The Android team uses the 3.8 platform which is just the core and not a full packaged release. Features and plugins can be added from within the IDE. The Android team bundles the ADT in this fashion. You can install and develop with the ArcGIS Runtime SDK for Android v10.1.1 and the ADT bundle in the same way you would install and develop with a supported Eclipse platform. When installing features and plugins into the IDE Eclipse will contact all update sites during install to find any required software needed for the plugins. Since 3.8 is part of the Juno release it checks Juno repository during this process and will update the platform to 4.2. This results in ADT bundle branding and appearance to be overridden by Eclipse Juno. In order to keep the ADT branding you must make sure that the installer dialog checkbox for ‘Contact all update sites during install to find required software’, is not selected as shown below:
You can track this issue with Android.
The ArcGIS Runtime SDK v10.1.1 for Windows Phone is available for download from the ArcGIS Resource Center. This release adds support for Visual Studio 2012, the ArcGIS Online World Geocoding Service, an ArcGISWebClient class to handle web requests to ArcGIS services, improved support for the ArcGIS Portal API, a new CsvLayer, numerous quality enhancements, and improved support for Windows Phone 8. See the What’s New in 10.1.1 page for a complete list of what’s new in this release.
This is the final release of the ArcGIS Runtime SDK for Windows Phone to support the Windows Phone 7.1 platform. For those developers who need to maintain existing Windows Phone applications that target the 7.1 platform, this release provides the latest updates and fixes for your applications. If you are building an application targeting Windows Phone 8.0, you can include the ArcGIS Runtime SDK for Windows Phone assemblies that target Windows Phone 7.1.
Note that the version number of this release (10.1.1) is significantly different from the version numbers we’ve used in the past. This was done to synchronize version numbers across Runtime SDKs (Android, iOS, Java SE, WPF) and the ArcGIS system. This synchronization reflects a common path of evolution and parity going forward for all Runtime SDKs.
Enjoy!
The ArcGIS Windows Phone Development Team
NetBeans is another great development environment that allows programmers to quickly and easily build great desktop, mobile and web applications with Java. NetBeans also supports mobile and Web development with Java, C++, and many different scripting languages. The NetBeans IDE is free, open source, and has a worldwide community of users and developers.
Because the ArcGIS Runtime SDK for Java provides a pure Java API and development experience, it plugs in nicely with IDEs such as NetBeans, even though the ArcGIS Runtime SDK does not ship with NetBeans modules.
It is very simple to configure your NetBeans environment for ArcGIS development, and this blog describes these easy steps. We will use an example of creating a basic Java application in NetBeans 7.3 (Beta 2) that displays a Map containing layers of information from an ArcGIS Online Webmap.
Create a NetBeans project
To create a project, go to File–>New Project and select Java Application from the Java category.
Supply a project name, location on disk, and a package and class name of your choice.
Create a new library to be used in your project
There are a number of ways to add the individual ArcGIS jars as library references to your new project. In this case, let’s create a new library from scratch that will contain all the jars. This is a good approach if you want that one library to be shared across any of your Netbeans projects.
From the Netbeans main menu bar, select ‘Tools’ and click ‘ANT Libraries’:
In the dialog that appears, click the ‘New Library…‘ button in the lower left part of the dialog. Give the library a name, something like ‘ArcGIS Runtime’.
Now, add all of the ArcGIS Runtime SDK Java jar files to your new library. Click on the ‘Classpath‘ tab in the ANT Library Manager dialog and click the ‘Add JAR/Folder..‘ button. Navigate to the location on disk where your SDK was installed and go further down to the sdk\jars folder. Select all of these jars and click the ‘Add JAR/Folder’ button.
Optionally, you can configure the Javadoc access for your new ArcGIS Java library by clicking the Javadoc tab and adding the javadoc jars for the ArcGIS Runtme SDK. These jars are located in <SDK_installation_home>\sdk\help\api reference\.
Add the new library to your Project
Right-click on your project node in the ‘Projects’ window and open the Project Properties dialog. In the Categories section, select ‘Libraries’. On the right-hand side of the dialog, click the ‘Add Library’ button. In the dialog that opens, choose the new library you created and click ‘Add Library’
Start coding!
And… that’s it! You are ready to start building applications or embeddable solutions with the world’s richest and most powerful geospatial API, in one of the world’s most widely-used Java development platforms. To finish things off, you can build a simple Java app in your project using the following code. This adds a JMap component to a JFrame, and adds layers from ArcGIS Online to the map.
package com.esri.arcgis;
import com.esri.map.JMap;
import com.esri.map.WebMap;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
public class ArcGISApp extends JFrame {
// The ID of an ArcGIS Online public Webmap
private static final String MAP_ID = "4778fee6371d4e83a22786029f30c7e1";
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ArcGISApp application = new ArcGISApp();
application.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public ArcGISApp(){
try{
JMap map = new JMap();
WebMap wmap = new WebMap(MAP_ID);
wmap.initializeMap(map);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(map,BorderLayout.CENTER);
this.setSize(600,400);
}catch(Exception e){
e.printStackTrace();
}
}
}
Harnessing data quality feedback on a daily basis is a great way to keep your GIS data up-to-date and relevant. Of even greater value is the ability to extend your data quality workflows to include participation from the public, who often times have unique insight to share on features in the real-world.
The Data Reviewer team is pleased to announce the release of the Report Feature widget for ArcGIS Viewer for Flex. The data reporting capabilities of this widget allows a broad community of subject matter experts, stakeholders, and other consumers of your published data to detect data quality issues, and provide timely and relevant feedback on the integrity of your organization’s data.
The widget leverages data validation capabilities of ArcGIS Data Reviewer for Server to “redline” features that are missing, miscoded, or positionally incorrect. For example, a simple “Report Error” workflow can now be easily added to your public facing web applications without the burden of implementing the entire quality control (QC) process from scratch. When your customers discover an error, they can easily submit their feedback by identifying an error’s source, location, and other relevant information.
This feedback is written to the Reviewer workspace where it enters Data Reviewer’s error life cycle management process. The Reviewer workspace serves as a centralized location for storing and managing errors, including those detected using Data Reviewer’s automated checks.
Using ArcGIS Data Reviewer for Desktop, technicians can then quickly navigate to errors, investigate the issues using customer provided input for guidance, and finally conduct edits on the data if there are errors to be corrected.
The Report Feature widget for the ArcGIS Viewer for Flex is a great way to gather feedback from those who use your data on a daily basis. Further, by leveraging Data Reviewer’s error management capabilities it makes it easier to manage and track this feedback throughout the review/correction/verification process.
Content contributed by Jay Cary
Today is the day! The ArcGIS Runtime SDK for WPF v10.1.1 has officially been released!
To get it, simply log on to the Esri Customer Care Portal with your EDN subscription and find the ArcGIS Runtime SDK 10.1.1 download link.
Get started right away on building world-class mapping and geo-analytical apps for the Windows platform, or start right away in building custom Widgets for your own Operations Dashboards. Even use Visual Studio 2012!
Stay connected with the WPF development team and the community of users by logging on to the WPF Resource Center, where you’ll find the latest product news, Esri developer events and story lines, reference API and conceptual docs, developer forums, blogs, and more. This is your chance to directly engage with the team!
We are pleased to announce the release of the ArcGIS Runtime SDK for Android v10.1.1. This release adds support for Network Analysis, secure communication using PKI client certificates, creating samples from ArcGIS Online, new layer types supporting KML, WMS, & Open Street Map, and much more. You can download the SDK here.
Those of you closely following the SDK releases will notice that the version number of this release (10.1.1) is significantly different from the version numbers we’ve been using in the past. This was done to synchronize the version numbers between various Runtime SDKs (Android, Java SE, WPF, Windows Phone) and the overall ArcGIS system. This synchronization not only reflects a common path of evolution going forward for each of the SDKs, but also a commonality in terms of their functionality and architecture.
We invite you to browse our updated ArcGIS Resources site. We have added lots of new developer guide documentation, updated our javadoc, and introduced online samples to compliment the samples that come with the SDK. We look forward to sharing all the new features with you as well as your feedback through our forum.
Time to start coding again: Java-style. The 10.1.1 update of the ArcGIS Runtime SDK for Java has arrived! Developers who have an Esri Developer Network (EDN) subscription can go to the Esri Customer Care Portal to download the SDKs for both Windows and Linux.
You will find some great resources for getting started in building native standalone and embeddable ArcGIS apps for the Java platform quickly and easily on the Java Resource Center. Here, you will also have access to the latest product news, discussion forums, blog posts, and more. The team is waiting to engage with you, so come on in!
This blog post from last November talks about the key features of the 10.1.1 update, but for complete information please read the Release Notes.
Have fun!
With ArcGIS Data Reviewer, you can configure and save custom checks in your Reviewer batch job and run your entire automated data validation in one easy step. A custom check allows you to create validation rules that are specific to your organization’s quality control requirements that cannot be configured using the 42 checks delivered with the product.
We have updated the Create Custom Check developer sample for ArcGIS 10.1. It includes two Microsoft Visual Studio 2010 Solution files for VB .Net and CSharp.
You must have ArcGIS 10.1 for Desktop Basic, Standard, or Advanced and ArcGIS Data Reviewer 10.1 installed in order to run the samples provided. For those of you on ArcGIS 10, you can access that version here.
Version 3.3 of the ArcGIS API for JavaScript is now available! Please refer to the What’s New in 3.3 document for the full list of features and bug fixes. Highlights include:
New geocoder widget
Add a geographic search box to your app with a couple of lines of code. The widget defaults to the ArcGIS Online World Geocoding Service but can be customized to use one or more ArcGIS Server geocoding services.

New map constructor options
The map class has new constructor options that can help you get your map set up using less code.
basemap: ArcGIS.com basemap, such as “streets”, “satellite”, “osm”, etc.center: Array of two coordinates (longitude, latitude) or an esri.geometry.Point.zoom: Starting zoom level for the map.minZoom: Smallest scale zoom level for the map.maxZoom: Largest scale zoom level for the map.
The map now auto-resizes so it is no longer necessary to set up an event listener for resize events on the map’s container to call map.resize when a map’s container resizes.
Below is a comparision of pre-3.3 code and equivalent 3.3 code.

New Samples
Check out the Latest Samples category for a list of the ten or so samples added to the SDK at this release.
Re-designed SDK Site
The site that hosts the conceptual help, API reference and samples has been given a facelift. It is now easier to link to individual help topics, API classes and samples. A specific tutorials section has been added as well.
Plus More…
As with every release, the latest version of the ArcGIS API for JavaScript includes several bug fixes. Please refer to the full What’s New in 3.3 document for the full list of updates and fixes.
At the start of this new year, we’re happy to announce that a new version of ArcGIS Runtime SDK for iOS is now available. . This release adds support for commonly requested functionality such as advanced military symbology, secure communication using PKI client certificates, simulating location updates, sorting and grouping query results, and much more. You can download the SDK here.
Those of you closely following the SDK releases will notice that the version number of this release (10.1.1) is significantly different from the version numbers we’ve been using in the past. This was done to synchronize the version numbers between various Runtime SDKs (Android, Java SE, WPF, Windows Phone) and the overall ArcGIS system. This synchronization not only reflects a common path of evolution going forward for each of the SDKs, but also a commonality in terms of their functionality and architecture.
Speaking of architecture, we’ve had to make significant changes to the map control and display subsystem in order to take advantage of hardware acceleration and pave the way for functionality that just couldn’t have been possible earlier. As much as we’ve tried to shield you from these internal changes, some of them have bubbled up to the public API. These changes are listed in the Migration section of the What’s New document. We encourage you to refer to this document as you migrate your applications. As always, we will be monitoring the user forum for your feedback and to offer help along the way.
‘Tis the season for “What’s New” blog posts, right? That’s because the the ArcGIS Runtime SDKs are releasing at the same time, give or take a day or two, to ring in the 2013 new year! So, in keeping with this trend , we bring you some exciting insights into what is about to be released in the ArcGIS Runtime SDK for WPF product. EDN subscribers can look for this important update on the Customer Care portal shortly before Christmas (which is coming up way too fast!). The formal announcement will be forthcoming. As you may have heard, these SDK version numbers have been synchronized as “10.1.1″. Stay tuned for more information about this and why this makes sense.
Now, let’s look at what the focus and theme of this SDK “update” is.
The ArcGIS Runtime SDK 10.1.1 for WPF includes SDK resources to develop custom widgets for the Operations Dashboard for ArcGIS. You may or may not have heard about this Operations Dashboard application, but this story will be told very soon. These custom widget resources are integrated with the existing SDK and include the ESRI.ArcGIS.OperationsDashboard API assembly, samples in the Sample Application (accessed from the Start Menu), conceptual documentation and API reference.
Ok. What else?
The Sample Application installed with the SDK contains several new and enhanced samples, which showcase the new features, best-practices and capabilities in this update.
The ArcGIS Runtime SDK 10.1.1 provides support for development of Windows Desktop applications targeted for the Windows 8 platform (NOT Windows Store Apps, however) and also supports development of applications within Visual Studio 2012, with integrated project templates and help. That’s right. VS 2012 is supported with this update!
And, of course, numerous fixes and enhancements have been made to the API, including:
- Enhanced support for working with secure content including client certificates, native authentication, and federated services. This is PKI support.
- Integer overloads on the GraphicsLayer.FindGraphicsInHostCoordinate methods to allow greater control over potential number of results.
- A new ArcGISWebClient class which allows you to create raw web requests that integrate within the API framework (e.g. IdentityManager)
- The ability to override the default application data and temp locations used by the RuntimeLocalServer.
- A new CSV layer and support for CSVLayers from WebMaps.
- The introduction of ToJson and FromJson methods on FeatureLayerInfo and Geometry.
- Support for custom URL on the OpenStreetMapLayer.
- Grid overlay (MGRS, Polar MGRS, UTM, USNG) when using the accelerated display mode.
- A new S57 layer for the display of hydrographic S57 cells following the S52 standard.
- An improved Military Message Processing API which now allows messages to be processed on a background thread.
- The ability to retrieve control points and geometry type for advanced military symbols.
- Improved performance when adding batches of graphics to the accelerated display.
- Enhancements to the Portal API for connecting to ArcGIS Online and the ArcGIS Portal (item group query, update item properties, popups on KML layers, editing overrides)
- Support for new “Find” operation and properties on the global geocoder.
This update to the WPF SDK is also important from the standpoint of functional parity with the other ArcGIS APIs. At the same time, all of the Runtime SDKs are standardizing upon the ArcGIS System 10.1.x core capabilities as a whole.
Some exciting and revolutionary updates are happening in the ArcGIS System. This SDK update, including all of the Runtime SDKs for that matter, are strong and growing to make the System more easily accessible and usable, from anywhere and everywhere.
Version 3.1 of both the ArcGIS API for Flex and ArcGIS Viewer for Flex were released on Thursday, December 13.
This is a significant release with many new features, enhancements and bug fixes. The Flex Development Team is very excited to deliver these new capabilities to our Flex users and we hope you’ll be inspired to get started integrating this new functionality. Here are a few of the key new features:
- Support for Attribute Tables
- Viewing and editing related records
- Map rotation
- Local tile package support for mobile applications
- Support for more layer types: CSV, GeoRSS and generic Web Tiled layers
- Summary
Attribute Table Widget and Component
This interactive editable data table is for feature layers and tables. Aside from providing a tabular display of the layer’s data, graphics can be selected, deselected, and zoomed to by interacting with the AttributeTable. If the layer is editable, the feature attributes will be editable and it supports domains and subtypes as defined by the Feature Service. It is a reusable component in the API and a widget in the Viewer.

Viewing and editing related records
The new RelationshipInspector component in the API makes discovering relationships easy. Viewing and editing related records is now supported out of the box in the API through the RelationshipInspector or AttributeTable component and via the Edit widget or AttributeTable widget in the Viewer.
Map rotation
The Map component can now be rotated. There are two sample components included in the API download to support desktop and mobile applications that require map rotation.
Local tile package support for mobile applications
The new ArcGISLocalTiledLayer class now supports offline applications that need basemap layers. Create an Esri tile package (*.tpk) using ArcGIS for Desktop and use the tile package in your Adobe AIR for mobile or Adobe AIR for desktop applications.
Support for more layer types: CSV, GeoRSS and generic Web Tiled layers
There are three new layer types to simplify adding operational data to your applications. The WebTiledLayer class makes it easy to add services from standard web mapping tiled layer sources from the web. The CSVLayer class transforms comma separated values files into an operational layer, and the GeoRSSLayer class provides a streamlined workflow for converting georss feeds into layers for the API and Viewer. See the samples: WebTiledLayer sample, CSVLayer sample, GeoRSSLayer sample.
Summary
For users who will use the Viewer Application Builder to quickly configure and deploy applications, read the System Requirements and Getting Started topics for more information. Developers also still have full access to the Viewer source code on Github - note the new URL – https://github.com/Esri/arcgis-viewer-flex.
Note: The latest ArcGIS API for Flex requires the latest version of ArcGIS 10.1 for Server. For PrintTask, dynamic layers, and dynamic workspaces, the ArcGIS API 3.0 for Flex (or later) and ArcGIS 10.1 for Server (or later) are required. Please refer to the comprehensive list for full functionality.
- What’s new in ArcGIS API 3.1 for Flex
- What’s new in ArcGIS Viewer 3.1 for Flex
- What’s new in the ArcGIS REST API
- ArcGIS Viewer for Flex: Concepts and Samples
- ArcGIS API for Flex: Concepts and Samples
2012 is coming to a close. Already. We have all witnessed and experienced lot of great innovation within the ArcGIS System this past year. Now, to kick off your 2013, we are preparing a very exciting ”update” of the ArcGIS Runtime SDK for Android, a version we are calling the 10.1.1 update. You’ll hear a lot more about the new version numbers soon, but in this quick post, we want to unveil some highlights for you. So here we go…
New capabilities:
- There are new Network Analyst Tasks for supporting the following operations (in an “always connected” scenario) :
- Routing
- Service Area
- Closest Facility
- We’ve added a new “Find” Task for searching through multiple layers and fields in a Map.
- There is now support for continuous panning in the Map across the International Date Line (“wrap around”).
- Time aware layers – We’ve added support for time-aware layers which store information about the changing state of a dataset over time.
- Highlight Features – Selected features have highlight symbology representation. There was always feature highlighting, but they were simple symbols.
- PKI Security support for accessing secured services from ArcGIS Online.
- Graphic elements in a GraphicsLayer now have a Z order property, giving developers control and management of the draw order of graphic objects.
- We’ve implemented a new Geocode service, which now handles single-line input fields.
New Layer Types
- WMS
- KML (Support is limited to KML over the Internet)
- CSV- A comma-separated list of values (CSV) storing tabular data in plain text format.
- Open Street Map
SDK enhancements
- New Samples Wizard that includes remote samples from ArcGIS online – Sample wizard has been re-designed to allow for local or remote samples to be brought into your Eclipse developer environment.
- The Javadoc has a new look and feel
- Javadoc API searching made easier - you can search directly in the API reference.
- UML model integration into the Javadoc - There is much better visualization of object model relationships inside the API.
Changes to the API
- Advanced Symbology API changes have been made to support the updated 2525C Symbol Dictionary
- 10.1 Query Improvements
This new update strengthens the ArcGIS Android API for building world-class geo-centric applications for phones and tablets. We encourage your involvement in working with this new update, so stay tuned for the announcement in a short couple of weeks, and let us and your developer community hear from you on the user forums and on twitter: @ArcGIS_Runtime.
This month we launched a series of ArcGIS for Local Government GitHub repositories to share source code for our web, desktop, and mobile applications. For those that aren’t familiar with GitHub, it is a code sharing and social networking site for the developer community.
We’ve always provided source code with our ArcGIS for Local Government maps and apps but the new GitHub presence will make it easier for the developer community to access the code base and participate in the development of Esri’s local government apps. As a team, we’ll also be using the GitHub repositories to manage our development efforts and look forward to collaborating with developers inside Esri and across the local government community using the GitHub platform.
We’ve started with more than twelve applications and should have the rest of our applications available via GitHub by early 2013. Even though we have this new channel for our developers, we will continue shipping supported versions of the ArcGIS for Local Government maps and apps via ArcGIS.com. We’ve got a lot planned for our next release, which is scheduled for March 2013 and to coincide with ArcGIS 10.1 SP2 (officially named 10.1.2).
Finally, we look forward to using GitHub as another way to collaborate on the development of great GIS applications for local governments across the globe.
Do you have a custom quality control tool developed for a very specific business rule that cannot be configured using one of the 42 automated checks provided in ArcGIS Data Reviewer? If you answered yes, then the Write Results to Reviewer Table (ArcGIS 10.1) developer sample will help you centralize how these results are stored!
The updated sample script for 10.1 enables you to take the results from your custom tool and store them in the Reviewer workspace. That way you can manage all of your results, whether from automated validation, manual data review, or your custom tool, in one central location.
You must have ArcGIS 10.1 for Desktop Basic, Standard or Advanced and ArcGIS Data Reviewer 10.1 installed in order to run the sample.
There has been lots of excitement about building custom applications for the desktop with the new Runtime SDKs for Java and WPF, there are also important questions from our developers, like “Should I migrate from ArcGIS Engine?” and “If I migrate, what pieces of my code will I need to rewrite?”
New developers are also asking questions, like, “Since both ArcObjects/ArcGIS Engine and the new Runtime SDKs support development of custom desktop GIS applications, which is right for me?”
If you’re migrating
Esri will continue to have updates to ArcObjects. Version 10.1 was released earlier this year and 10.1 SP1 became available in October.
If your application is in Java, you’ll likely want to take advantage of the overwhelming benefits that ArcGIS Runtime SDK for Java has over ArcObjects for Java. To help you with this effort, here’s the first article in a series to help make the move to ArcGIS Runtime.
If your application is in .NET, the decision of whether or not to migrate should depend on the capabilities in your existing application that you want to keep. Not all the capabilities of ArcObjects is supported by the Runtime SDKs, so you’ll want to have a good understanding of what is and what isn’t supported before you migrate. If you’ve created any custom ArcObjects, such as custom renderers, custom data sources, or custom symbols, you cannot migrate those to a ArcGIS Runtime application.
If you’re starting fresh
Below is a list of capabilities that you can include in your custom desktop application if you are programming with ArcObjects. These capabilities are not available in ArcGIS Runtime SDK for Java and WPF at this time, so you must use ArcObjects to get them:
- 3D visualization. Although you can perform 3D analysis in the Runtime SDKs, you cannot display 3D in your application at the current release.
- Data management and complex features. If you want your application to create, manage, or maintain geodatabases (whether file or enterprise) you must use ArcObjects. Runtime SDKs support reading all aspects of the geodatabase and editing/updating simple features only. Editing of complex features (parcels with topologies, the parcel fabric, network datasets, and geometric networks) is not supported in the Runtime SDKs but is supported in ArcObjects.
- Building a map that is a map authoring product or cartographic product requires ArcObjects. For example, if you have your application start with a blank screen, have the user browse for data, symbolize the data, set up the labeling, rendering, and scale dependency—this all requires ArcObjects.
- Some extensions are not available in the Runtime SDKs. Schematics and Data Interoperability are available only with ArcGIS for Desktop and ArcGIS Engine.
Here are some resources to help you get started with ArcGIS Runtime SDK if you are new to ArcGIS or an existing ArcGIS Engine developer.
RoboGuice is a framework which brings dependency injection to Android using Google’s Guice library. Dependency injection provides a simple convenience to programming. Here is an example of such convenience:
HelloWorld app
HelloWorld with RoboGuice
Dependency injection provided by RoboGuice simplifies your code down to your apps business logic. It may be subtle in this simple example but as your app gets complicated with initialization and lifecycle code using RoboGuice allows your code to be about your app.
































