• Shortcuts : 'n' next unread feed - 'p' previous unread feed • Styles : 1 2

» Publishers, Monetize your RSS feeds with FeedShow:  More infos  (Show/Hide Ads)

Date: Thursday, 10 Jul 2014 16:40

Esri’s Disaster Response Program helps support worldwide incidents, such as earthquakes, floods, wildfires, and severe weather. To increase public knowledge of the disaster impacts, we wanted an app to highlight areas and show related statistics, such as data that shows who may be affected within an impacted area. The area could be a wildfire perimeter, an earthquake shake map, a flood delineation, etc. Within that area, we would show data related to the event. Out of these requirements, the Impact Summary template was born.

Demo usage

How does it work?

The Impact Summary template is an interactive map that allows you to select a predetermined area of interest and display information related to that area in report boxes. It works great for presenting disaster impacts, but could be used for nearly anything (eg Crime Maps, Outage Maps, Health Care Maps, etc). You can select one area at a time by clicking on the map, using the renderers in the side panel, or you can also select all areas to get a summary of the data (integer data only).

Wondering where can you get access to this innovative template? You can download the code from GitHub and host it on your web server or let us host it for you by publishing an application on ArcGIS Online. Here are the steps we took to build the example app:

  • Publish a service: To get started, pick a layer you are interested in presenting. In this example, we used a simplified USGS Shakemap from the 1994 Northridge Earthquake and published it as a feature service.
  • Conduct your analysis: We used the Enrich Layer workflow in the web map in conjunction with an aggregation of Critical Infrastructure data from HAZUS. To select our variables for geoenrichment, we used the new Data Browser. We searched for variables we were interested in to understand what the impact of such an earthquake would be today. For this template, the analysis you highlight must consist of counts (integer values), typically answering the question “how many are in this area?”.  
  • Prepare the web map: Add the service to a web map. If your layer of interest has levels of impact or other magnitude, change the symbology accordingly. For instance, we used the “GRID_CODE” which represents the potential impact. 
  • Share the web map using the Impact Summary template
  • Use the Builder: It’s easy to configure the app with the included builder. Using the builder, you can configure which variables you’d like to highlight. You can pick up to 4 main variables (parent variables) to display and users can click on either of those 4 to display a carousel of additional variables (child variables). Essentially, you  can allow your audience to drill down into more information or related variables. You can also customize the interaction and theme of the application. For instance, we suggest the dark theme with light basemaps.

The app is responsive and beautiful; it will adapt to any screen resolution. Also, the template includes functionality to share your app with others or embed in websites or blogs.

This application is provided so that you can share your spatial analysis and present it in a way that your audience can understand. We are looking for your feedback on how to make this easier to use or more compelling for your audience, please use GitHub and ArcGIS Online (use comments) to share your thoughts. Thank you to all of our early adopters who helped improve this application in the past few months.

Get out there and create some impactful maps!

Author: "Matt Driscoll" Tags: "ArcGIS Online, Developer, Mapping, Mobil..."
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 08 Jul 2014 17:00

Frustrated with submitting data via a pop-up? Collecting map information doesn’t need to be so map-centric. Many non-GIS users are accustomed to entering data via a form, not a map pop-up. It’s not always about the map, sometimes it’s about easily collecting data.

You can try the GeoForm out. Build your own by reading the rest of this blog post.

How does it work?

The GeoForm template is an ArcGIS Online web mapping application that allows users to enter point-based data through a form, instead of a map’s pop-up. It loads through the browser and does not require any downloads on your mobile device. The GeoForm is powered by a Webmap that leverages an editable Feature Service and can be configured through an easy-to-use interface. Using this template, you’ll be able to geo-enable data and lower the barrier of entry for completing simple tasks. For the best experience, author a Feature Service containing the fields you want to collect with “Volunteer only” permissions and add it to your Webmap. This will make sure that users can only add data, but not update or delete any data through the GeoForm.

In order to test this template before it is fully released, you’ll need to “Be an Early Adopter

This template can be used to gather input from inside or outside of an organization and collect valuable content for collaboration (see Share Items for more details). It’s also great for when you need a crowdsourcing application that doesn’t require any login information (Share with “Everyone”). If you work for an emergency management agency, the Esri Disaster Response Program suggests that you set up a GeoForm, prior to a disaster. In the example shown here, we modified the Damage Assessment template for simple data entry. Think about the type of information you want to collect and the questions you want to answer, then publish a web map with a hosted feature service and launch the GeoForm so it can be shared when you need it.

Builder interface walks you through each step to build the application. The form is driven by the layer you choose in the map.


This is meant to be simple for your audience to understand and easy for you to build. It is also responsive by design. For more advanced data collection in the field, the Collector for ArcGIS is a better fit.

The GeoForm will look great on all devices as it uses the Bootstrap framework to respond to different device sizes. Currently, the template supports basic offline editing (submitting upon re-connection), but we have other improvements in the works. Additional future features could include: creating services during configuration “on-the-fly”, configurable coordinate systems, customizing map pins, and other style customizations.

When you’re done, share the form with your audience.

Try it Out

The GeoForm is currently in the Early Adopter phase of being a template, but we’re hoping it can graduate into a solid and widely used application. Please send us your feedback via GitHub or on the ArcGIS item to help make this template better. If you are a developer, we would love to see your customizations as well.

If you are going to the 2014 Esri User Conference and want to learn more about this template, visit us at the ArcGIS Online Island or the Esri Disaster Response Program Booth in the Exhibit Hall.

Happy Editing!

Author: "Matt Driscoll" Tags: "Apps, ArcGIS Online, Community Maps, Dev..."
Comments Send by mail Print  Save  Delicious 
Date: Monday, 30 Jun 2014 18:14

Just wanted to give everyone a heads up that we will soon be rolling out a new, evolved discussion forum over the next few weeks as part of the new Esri community platform called GeoNet.

For more information and to discuss further, feel free to jump into the conversation here.

For the past few years, the ArcGIS Discussion Forums have continued to prove their worth as one of the most popular and useful online community tools hosted by Esri. That said, as times change, more and more limitations are found in the tool that restrict our growth. We’re always listening to your feedback and always watching how you use the forums to learn and become more successful with your use of ArcGIS.

This new platform will add some powerful tools that you’ve asked for and we haven’t, until now, been able to deliver. With it, you will find some capabilities similar to those found in popular and useful social media tools like Facebook and StackExchange. You will be able to follow topics, tags, people you trust, join groups, as well as customizing your interface and creating filters to always see information that interests you the most.

Some of the new features include:

1. Discussions are organized by how you use ArcGIS rather than by software product name.
2. You can create “custom streams”, to filter by topics, tags, and users you’re interested in.
3. The Forum no longer stands alone. It is a part of the larger GeoNet community.
4. You can even create your own community groups and discussion forums based on topics you care about.
5. A better gamification engine for recognizing key users and finding the best information across GeoNet.

As for the current Discussion Forum and its over 100,000 threads, nothing will be lost. It is all being imported into GeoNet, tagged, browsable, indexed, and searchable.

As GeoNet gets closer to roll-out, we’ll be back with more details.

Author: "Timothy" Tags: "3D GIS, Analysis & Geoprocessing, App De..."
Comments Send by mail Print  Save  Delicious 
Date: Friday, 13 Jun 2014 19:58

Speed Geeking for developers at Esri UC

The Esri User Conference is an amazing experience for all users of Esri’s software, and it will be especially so for the rockstars of the GIS community – the geospatial developers, or GeoDevs. This July 14-18, there will be about 15,000 people in San Diego for the Esri UC, and we hope to see you there!

What does the UC have in store for developers?

Developer-Focused Sessions

The UC agenda has many sessions for developers. To give you a sample, there will be sessions about the Runtime SDK for Android, transitioning to JavaScript, building real-time web applications, the Geotrigger Service, and designing a geodatabase.


This is a fun and up close way to hear about 10 different developer-related topics from 10 different people who have 5 minutes each. SpeedGeeking is Tuesday, July 15th from 3:15-5 in the Ballroom 06 Lobby.

Developer Island

For the first time, we’re hosting a Developer Island in the Showcase area of the convention center Tuesday through Thursday. There you will be able to chat with Esri folks about the latest APIs and developer tools and resources.

GeoDev Meetup

You’ve hopefully been to a GeoDev Meetup close to home before (if not, join the Meetup group for your region here), but at the UC GeoDev Meetup you can meet and learn from GeoDevs from across the US and world! RSVP here and join us Wednesday, July 16th at 6.

UX & UI Summit

We know that user experience is important to conscientious developers and designers. That’s why the UC has a special track of sessions dedicated to visual design, interaction, information architecture, and user experience. The UX & UI Summit is happening Thursday, July 17th from 10-4 in Ballroom 20 B/C.

OpenStreetMap Editathon Mappy Hour

Have you used OpenStreetMap before? Either way, join folks for the Editathon Mappy Hour on Tuesday, July 15th to learn more about this global dataset and to edit the night away.

Esri developers to meet

There will be more than 500 Esri developers at the Esri UC, and they’ll be happy to talk with you. Catch one of their sessions, hang out with them at the party in Balboa Park, stop by product islands that interest you in the exhibit hall, or chat up people you see with the differently colored staff badges. They’re there for you!

See the latest up close and personal

What better way to see the newest Esri technology than in person from the developers behind it?

We hope to see you next month! To learn more about the Esri UC, or to register, go to esri.com/events/user-conference.

Author: "Kristina Weis" Tags: "App Developers, Developer, 2014 Esri Use..."
Comments Send by mail Print  Save  Delicious 
Date: Sunday, 01 Jun 2014 07:00

This year, there will be more CityEngine releases than in previous years so we can deliver you new features and bug fixes quicker. First up is CityEngine 2014.0, released on the 30th of May 2014 and available for download from the customer care portal.

This version focuses on stability and interoperability with some exciting new features as well. We spent a lot of time and effort going through the various bug reports and are pleased to say that this is one of the most stable releases of CityEngine ever.

CityEngine 2014.0 key new features

Built-in Esri rule library
With the CityEngine 2013, we released the “Esri Vegetation Library with LumenRT Plants”, supporting 75 of the most common and practical genera plants/trees (realistic, compact and analytical).

We are expanding this library concept with more built-in rules such as Building, Façade, Roof and Street rules. You can easily ‘import’ these Esri base rules into your CityEngine projects or copy and modify them to suit your own needs.

Improved donut support
This long-time requirement has been improved again. In CityEngine 2014, holes in polygons are now supported by the following CGA operations: offset, roofGable, roofHip, roofShed operations.

Improved streets

Street creation also got some major improvements in CityEngine 2014. For an overview of what has been improved and fixed, have a look on the CityEngine resource center or on the CityEngine forum.

Unity example plugin based on the CityEngine SDK
The Esri CityEngine SDK enables 3rd party developer to integrate CityEngine’s geometry engine, the so-called Procedural Runtime into client applications. Users can develop their own procedural modeling solution, ranging from a standalone application to CityEngine plugins for commercial 3D/GIS tools. This means, developers can now take full advantage of CityEngine’s procedural capabilities without running CityEngine or ArcGIS. CityEngine is only needed to author the procedural modeling rules. Moreover, using the CityEngine SDK, you can extend CityEngine with additional import and export formats.

With this CityEngine 2014 release, we are providing you with a Unity example showing how you can embed the CityEngine SDK into the Unity game engine for native procedural geometry creation.

Each SDK deployment requires a CityEngine license. This license can be CE advanced or CE basic. The license can be single node locked or coming from a license server. Middleware licensing will be on a case-by-case basis.

The CityEngine SDK and Unity example are available Github.

For those of you that are new to CityEngine, you can download a 30 day, full functional trial version here.

The CityEngine team

Author: "Gert van Maren" Tags: "3D GIS, Defense, Developer, Electric & G..."
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 20 May 2014 22:59

The ArcGIS Runtime SDK for .NET 10.2.3 beta is now available on the Esri Beta Community.   This is a quality release that resolves some issues encountered in the previous beta.  A number of enhancements have also been included with the product:

  • The Windows Phone API only supports Windows Phone 8.1 and targets the new Windows Runtime app model to build Windows Phone Store and Universal apps.  Visual Studio 2013 Update 2 or Visual Studio Express 2013 with Update 2 are required to develop Windows Phone applications.  The Windows Phone Silverlight platform is no longer supported.  See this blog post for more details.
  • A set of Visual Studio 2013 C# project and item templates are available as a separate download.
  • A deployment tool for the Desktop API is available as a separate download.
  • New MapView.NavigationCompleted event can used to determine when map extent has changed and user interaction or zoom animation has stopped.
  • Feature layer editing and attachments are fully supported.

To make ArcGIS Runtime SDK for .NET easier to install and use, we’re also offering a NuGet package (as prerelease) which includes the Windows Store and Windows Phone APIs: https://www.nuget.org/packages/Esri.ArcGISRuntime/

See a more complete list of updates and enhancements in the release notes for version 10.2.3 on the Esri Beta Community.  We also invite you to browse documentation for the ArcGIS Runtime SDK for .NET at: http://developers.arcgis.com/net


ArcGIS Runtime SDK for .NET Team

Author: "rexhansen" Tags: "App Developers, Developer, Mapping, .NET..."
Comments Send by mail Print  Save  Delicious 
Date: Tuesday, 20 May 2014 21:11

Google’s Android Studio is a developer IDE based on IntelliJ IDEA platform.  The platform is still in early access preview. If you are not comfortable using an unfinished product, you may want to continue to use the Eclipse Plugin bundled with the ArcGIS Android SDK.

Android Studio Basics

In Eclipse you have the concept of a workspace which can consist of multiple projects linked or unlinked.  In Android Studio, projects are replaced by App Modules and Libary Modules.  Modules are a discrete unit of functionality that can be run, tested, and debugged independently.  Modules are somewhat similar to an Eclipse project with a few key differences:

  • Each module has it’s own Gradle build file
  • Some modules can be Library Modules which are conceptually the same as Libary Projects in Eclipse.

Including Jar lib dependencies
Local jar files go in the libs folder at the root of your module directory.  In Android Studio you need to add the jars as a gradle dependency.  This should be added to your gradle build file as follows:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])


The code above adds all the *.jar files from the modules libs directory as dependencies.

Including pre-built Native .so libs
Local pre-built native libs go in the jniLibs folder in your modules /src/main/ folder.  There is no need to add a gradle dependency when using this folder.  Native libs outside this folder would require a gradle dependency.

Manifest changes
Several common items and settings which in Eclipse are in the Android Manifest have either automatically added, e.g: allowBackup=true or have been moved to build.gradle such as version codes and minSdkVersion, targetSdkVersion, etc.  Feature and permission requirements are still declared in the manifest.

Integrate ArcGIS Android SDK

In this section we will step through the process of creating a new Android Studio project and integrate the ArcGIS Android SDK in the app module.

Create a new Android Studio Project

  • Open up Android Studio and choose New Project under Quick Start
  • Choose and Application name and Module name.  These can be the same in this example.  We will use Hello World for both.
  • Choose a Package name, e.g. com.arcgis.android.sample.maps.helloworld.
  • Set the Minimum required SDK to API 15: Android 4.0.3 (IceCreamSandwich)
  • Keep the defaults for the rest and click Next.
  • Continue to accept the defaults in the remaining windows by clicking Next and complete the wizard.
  • Your project should open up.

Update the Projects Gradle build

As we stated earlier, each module has it’s own gradle build file.  This include the project as well.  In this step we want to ensure that your project is using the latest Gradle plugin. Gradle plugins are on a different release cycle then Android Studio so you may have to manually update until Android Studio directly supports the latest version of Gradle plugin.

  • Double click on your projects build.gradle file to open it in the editor. This will be the one at the project root directory, not in your app module directory.
  • Ensure that under dependencies you have the following classpath
dependencies {
        classpath 'com.android.tools.build:gradle:0.10.+'
  • Click the Sync Project with Gradle Files button from the toolbar.

Gradle Plugin v0.10.0 is the latest version of the Gradle Plugin at the time of the writing so the version will change as more releases come out.

Update App Module Manifest

The Android.manifest file is now located in the /src/main/ directory of your app module.

  • Double click the manifest file to open it.
  • Add the following to your manifest above the <application> element:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    android:required="true" />

Add ArcGIS Android dependent libraries

The ArcGIS Android dependent libraries are available in the ArcGIS Runtime SDK for Android libs folder.  You will be coping files from this directory into your app module directory in your project.

  • Copy all the jar files from your [sdk-install-dir]/libs folder into your projects HelloWorld/HelloWorld/libs directory.
  • Create a HelloWorld/HelloWorld/src/main/jniLibs folder in your project.
  • Copy the native processor directory containing the libruntimecore_java.so pre-built native library to the jniLibs folder created in the previous step.

Below is a image representing an Android Studio project with module including android sdk jars and native libs.  Note we are only including on native processor directory into jniLibs.

Gradle project structure in Android Studio

Update the App Module Gradle Build

  • Double click on your applications build.gradle file to open it in the editor. This will be the file at the root of your app modules directory.
  • Add the following exclusions above buildTypes
        exclude 'META-INF/LGPL2.1'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
  • Click the Sync Project with Gradle Files button from the toolbar.

Create Hello World App

Our project is now ready to start coding against the ArcGIS Android API.  We will create a Hello World app to ensure everything is working as expected.

Add MapView to the layout

The layout resource file is now located in the /src/res/layout directory of your app module.

  • Double click the activity_main.xml file from the resource layout directory.
  • Remove the <TextView> element and all it’s attributes.
  • Add the MapView XML layout with some mapoptions defined by adding the following code snippet where you removed the <TextView> element:
    <!-- MapView -->
        mapoptions.center="34.056215, -117.195668"

Create MapView in source

Now we need to create a MapView object and access the map from the layout

  • Instatiate a MapView variable by adding the following:
  MapView mMapView;
  • Add the following code to the onCreate method after setContentView():
        // after the content of this activity is set
        // the map can be accessed from the layout
        mMapView = (MapView)findViewById(R.id.map);
  • Run the app!

Hello World – Map in your App


In this post we directly integrated the ArcGIS Runtime SDK for Android into Android Studio and created the Hello World sample app.  I will re-state that Android Studio and the Gradle plugin are still in an early access preview release state.  Several features are either incomplete or not yet implemented so there may be breaking changes when releases are updated.

In part 2 of this series we will introduce a library module to allow multiple app modules the ability to re-use the ArcGIS Android API libraries.

Author: "Dan O'Neill" Tags: "App Developers, Developer, Mobile, Andro..."
Comments Send by mail Print  Save  Delicious 
Date: Monday, 19 May 2014 23:57

We are pleased to announce the 10.2.3 release of ArcGIS Runtime SDK for WPF. You can download the SDK today from ArcGIS for Developers. This release follows the 10.2.2 release in March 2014 and address some specific issues (additional information is available in the release notes):

  • NIM099594: Oracle errors, ORA-29877, ORA-20085 and ORA-06512 are encountered when attempting to make object schema changes, spatial index changes, add Global IDs, registering data as versioned (Register as Versioned tool), or creating a raster dataset in ArcCatalog after upgrading certain ArcSDE 10.0 Oracle geodatabases. For more information please see this support article.
  • OpenSSL Vulnerability CVE-2014-0160 (Heartbleed): The vulnerable OpenSSL library was included with Runtime WPF releases 10.1.1, 10.2, and 10.2.2 but is not utilized in a manner where the vulnerability is exploitable. However the version of the OpenSSL library has now been upgraded to 1.0.1g.
  • Renderer Rotation: When using the accelerated display mode changes to RotationExpression and RotationType are not recognized unless the Renderer is reset.

Note this release does not contain the new features included with other 10.2.3 ArcGIS Runtime SDKs, such as support for the new runtime geodatabase, sync-enabled editing, or offline runtime locators and networks. The new ArcGIS Runtime SDK for .NET, discussed in a blog post last year, will support this new offline functionality. The new ArcGIS Runtime SDK for .NET is available to download now as a public beta. For information on preparing for the new .NET SDK please read this blog post.

Author: "Eric Bader" Tags: "Developer, .NET, ArcGIS Runtime SDK, Arc..."
Comments Send by mail Print  Save  Delicious 
Date: Monday, 19 May 2014 22:56

I’m pleased to announce that the 10.2.3 release of ArcGIS Runtime SDK for Java is now available for download at our developers site.

We have lots of new features including the final version of our offline API released in Beta at 10.2.   We also have a new licensing model for all Runtime SDKs which makes our SDK more accessible allowing developers to get their application to market much quicker.

Other items of interest to our developers include:

-        Additional geoprocessing tools supported by the Local Server (including the much requested data management tools)

-        A new toolkit which supports the new offline API

-        Performance improvements for tiled services

-        Support for symbol rotation based on attributes

Please check out the release notes for more details.

Author: "Eric Bader" Tags: "Developer, arcgis, ArcGIS Runtime SDK, A..."
Comments Send by mail Print  Save  Delicious 
Date: Monday, 19 May 2014 18:39

Congratulations to both our Annual and Semi-Annual Awards of the Forums MVP Winners! Here we have our latest and greatest Forum MVP Winners here to announce. Twice per year we award MVP prizes to those users who contribute the most to our forums, based on the points they earn as you vote on their posts throughout the year. Our forums continue to be the most popular community tool for discussing, sharing, and helping one other to get the most from ArcGIS, as we have over 15,000 active users, 22,000 new threads and over 40,000 posts per year. What helps us to be so successful though, is you, our users. We like to recognize those that put in the time and effort to continue making our forums thrive!

We have some new MVP badges in our list!* Welcome to the team, folks! MVP badges do not need to be renewed. Once an MVP, always an MVP. We also give them additional tools like the ability to move a thread from one forum to the other in order to give your questions a better chance of being answered. They can also mark an answer as being the best one by clicking the green check mark. See more about the MVP Program here.

Not only are the MVPs badged so you can find them, but they’re also eligible for prizes like software, books, training courses, and conference seats as a collective ‘thank you’ from us for all of their great effort. First we have our top three Annual Esri MVP Forums users who are being awarded from May 2013 – April 2014:

Robert Scheitlin            rscheitlin

Richard Fairhurst         rfairhur24

Tim Witt                        timw1984

Next, we are awarding the following Semi-Annual Esri MVP Forums users who are being recognized for their contributions from November 2013 – April 2014:

Robert Scheitlin             rscheitlin
William Craft*              crafty762
Richard Fairhurst          rfairhur24
Tim Witt                          timw1984
Anthony Giles                 ad_giles@hotmail.com
Ken Buja                          kenbuja
Joshua Chisholm*         hua17
Nidhin Karthikeyan*    nidhinkn
T. Wayne Whitley         Wayne_Whitley
Marco Boeringa            mboeringa2010

Again, thank you so much to all of you who help to continue building a great system that supports our Esri community.

Author: "Amy" Tags: "Developer, annual, Forum, MVP, semi-annu..."
Comments Send by mail Print  Save  Delicious 
Date: Friday, 16 May 2014 16:55

Esri is pleased to announce the 10.2.3 release of the ArcGIS Runtime SDK for Qt. It is live and ready for download from our developers site.

10.2.3 is a very significant release for Qt/C++ developers, and it builds on the 10.2 release (November 2013) in a number of ways:

  • 10.2.3 completes the APIs for offline map use, which are now production-ready and formally released.
  • 10.2.3 completes the streamlining of the development and deployment licensing model
  • Additional geoprocessing tools have been added to the local server

…and more. Please check out the release notes for more detailed information about what’s new in 10.2.3.

Author: "Eric Bader" Tags: "Developer, arcgis, ArcGIS Runtime SDK fo..."
Comments Send by mail Print  Save  Delicious 
Date: Friday, 16 May 2014 15:15

The ArcGIS API for JavaScript Web Optimizer is a web application that generates custom builds of Esri’s JavaScript API. Today, we’re happy to announce that the web optimizer is in public beta and available to all with an organizational or developer account in ArcGIS Online.

web optimizer

To get started, visit jso.arcgis.com. We recommend you take a quick glance through our help to get a better understanding of what’s required to use the Web Optimizer and how to use it.

This is a public beta and we want to hear about issues or hiccups you run into using the app. To give feedback, feel free to post in our user forum, contact us on twitter or send us an email. We look forward to hearing from you.

Author: "Derek Swingley" Tags: "App Developers, Developer, ArcGIS API fo..."
Comments Send by mail Print  Save  Delicious 
Date: Friday, 16 May 2014 15:08

On the weekend of May 2nd Esri had the pleasure of participating in the Alameda County Apps Challenge in Northern California. The County put together an awesome event, drawing nearly 200 people interested in hacking on the Open Data that they have made available.

boy, code it

The content for the hackers was provided both via Alameda County’s Socrata portal and an Open Data site created in ArcGIS Online. We had a great time working with the budding web and mobile developers, debugging code and getting prototypes spun up in a single day. Ideas ranged from apps to help kids link up with their friends and plan fitness activities to tools to help share information about Farmer’s Markets and individual vendors.
girl, code it

Perhaps the most inspiring thing to take away from the weekend was the tremendous youth turnout. Of the 110 competitors, more than 50% were high school age or younger! I had an absolute blast working with the kids and am proud to report that of 22 final presentations, 8 different teams were able to implement Esri technology in their submissions. Given the extremely tight time constraints, this would be impressive even for seasoned coders!
ac help

The recipient of our $1000 innovation prize for best use of Esri technology went to a particularly impressive PhoneGap application aimed at people looking for job opportunites in that area. ‘ACJobs’ pulls listings from the internet and cross references them against Alameda County’s “Certified Green Business” dataset. Afterward the information is made available via an intuitive interface with both a map and column view. The application even allows people to post opportunities to earn money locally via more informal services like walking dogs and doing yard work. Congratulations to Andre Moretzsohn de Castro, Luis Ricardo Metring and Kleber Moreti de Camargo!


We are proud to sponsor valuable and fun events like this. We believe strongly in the power of Open Data and appreciate the opportunity to do a small amount of mentoring as well as collect essential feedback regarding the usability of our SDKs and services.

Photo credits: Alameda County Flickr Photostream

You can browse more pictures of all the adorable kids here


Author: "john gravois" Tags: "ArcGIS Online, Developer, Open Data, Unc..."
Comments Send by mail Print  Save  Delicious 
Date: Friday, 09 May 2014 17:55

HackathonTechCrunch held their New York Disrupt conference this past week, and as always, it kicked off with a hackathon over the weekend. Teams competed for the $5,000 Grand Prize, and we put up a $2,500 prize for best use of Esri technology.

A number of the teams used Esri APIs and services in some way, but it was Vrban, who built a Virtual Reality urban planning tool using Esri CityEngine, ArcGIS Online, the JavaScript API and an Occulus Rift that really stood out for us and took home our cash prize.

We were also thrilled that Vrban won the overall Grand Prize from TechCrunch! Huge congratulations from us all to Angel Say who single-handedly pulled it all together to fend off some solid competition.

Angel Say of Vrban with the Esri team (all photos courtesy of TechCrunch)

21.5 hours to learn, plan, and build

Starting around noon on Saturday and going until sometime after 1am on Sunday, we fielded questions about what ArcGIS Online and our APIs can do, helping the teams keep their code-sprints hurdle-free. While we then got to hit the hay for a few hours, the hackers carried on throughout the night towards the 9:30am submission deadline. These overnight hackathons are a blast, and if you’ve never experienced one, check out the photos here.

Presentations and judging

By 9:30am, most people are already fried but it doesn’t end there. The teams then have 90 minutes to prepare to present their hack and in a slick, quick-fire operation, they’re ushered on stage one at a time in front of the judges and a few hundred other hackers. They have 60 seconds. Exhausted and rushed, usually with a live demo, it’s incredible how well the teams hold it together. You can see Vrban’s presentation here.

Not too long after the last hackers leave the stage, the top hacks are announced. While only the top hack wins a cash prize, the top three get to present again on the last day of the conference in front of VCs and industry leaders. Vrban’s closing-day presentation is here.

Supporting a hackathon

Supporting a hackathon requires a lot of energy, focus, and time, but is incredibly rewarding. Seeing people’s eyes light up as they start to see what our GIS tools can do for them makes it all worthwhile, and at each hackathon we support, we see the work that’s been going into developers.arcgis.com really paying off with teams doing more advanced geodev than the last time.

Many thanks to all the staff from Esri who helped out, and to the awesome team at TechCrunch, but moreover to all the hackathon contestants for making it such an exciting weekend.

Author: "Nick Furness" Tags: "3D GIS, App Developers, ArcGIS Online, D..."
Comments Send by mail Print  Save  Delicious 
Date: Monday, 05 May 2014 19:43

We are looking into patterns to allow developers more extension points into the ArcGIS Android API.  In this post we will look into a developer pattern for extending the API to support a custom Tile Service Layer through the TiledServiceLayer class.  Our recent release of v10.2.3 introduced a brand new sample called LocalMBTiles to show an example of extending the TiledServiceLayer.  This post will introduce you to the developer pattern to extend the API to support a tile service from Map Box and how to integrate the custom tiles in the MapView.

Map Box

Map Box is a popular open source tool for publishing tile based web maps.  It uses a tiling scheme similar to Open Street Maps known as the Tile Map Service (TMS) specification.  Instead of storing its tiles in a compact cache format like Esri, their tools store the tiles in a SQLite database.  The full specification is available here: https://github.com/mapbox/mbtiles-spec.

MBTiles Format

The TMS Specification is similar to other web map tiling schemes used by ArcGIS Online®, Google Maps®, or Open Street Maps.  Its tiles use the Spherical Mercator projection and are 256×256 pixels in size.  The main difference between TMS and ArcGIS or Google is that TMS numbers its tiles from the South West (lower-left) while ArcGIS and Google number their tiles from the North West (upper-left).

For convenience, the pre-rendered image tiles are stored in a SQL database in a table named “tiles”.  The table has three integer fields named “zoom_level”, “tile_column”, and “tile_row”.  The last field is a blob named “tile_data” which holds the PNG or JPEG tile image.

Creating the MBTilesLayer Class

The ArcGIS Android AIP has an abstract base class called TiledServiceLayer.  The class is used as a base class by the ArcGISTiledMapServiceLayerBingMapsLayer, and OpenStreetMapLayer.  It exposes a protected abstract method used to fetch tiles as necessary.  By extending this class and implementing this method, we can create a layer to fetch the necessary tiles from the SQLite database.

Fetching Tiles

When it comes to fetching the tiles from the SQLite database, the only slightly tricky part is in knowing how to flip the origin from the top-left to the bottom-left. The tiles pyramid starts out at level 0 with one tile, each successive level has 2 times as many rows (2^rows).  The rows and columns start counting from 0.

For example level 3 has 2^3 = 8 rows and 8 columns of tiles.  If the application request tile row 1 it expects the tile second from the top (north).  In the TMS numbering scheme which counts from the south, this is tile 6.

Our getTile() function looks like this:

public class MBTilesLayer extends TiledServiceLayer{
  protected byte[] getTile(int level, int col, int row) throws Exception {

    // need to flip origin
    int nRows = (1<<level);  //Num rows = 2^level
    int tmsRow = nRows-1-row;

    Cursor imageCur  = mapDb.rawQuery(
      "SELECT tile_data FROM tiles WHERE zoom_level = " +
      Integer.toString(level) +
      " AND tile_column = " + Integer.toString(col) +
      " AND tile_row = " + Integer.toString(tmsRow), null);

    if (imageCur.moveToFirst()) {
      return imageCur.getBlob(0);
    return null; // Alternatively we might return a "no data" tile

TiledServiceLayer Constructor

The TiledServiceLayer needs to know some basic information about the tiling scheme before it can request tiles.  We can gather this information from the MBTiles specification and the metadata stored in the SQLite database.

  • Spatial Reference of the Data (Spherical Mercator = EPSG 3857)
  • Tile Origin (x=-20037508.34, y=20037508.34 unless overridden in the metadata)
  • Number of Levels   (Obtained by querying from the database)
  • Available Scales (Defined by the specification)
  • Available Resolutions (Defined by the specification)
  • Extents of the Layer (whole world unless overridden in metadata)

The MBTiles metadata is stored in the “metadata” table as key value pairs in the “name” field and the “value” field.  The property that defines the origin and the extents is an optional field.  The key is named “bounds” and its value is a string containing left, bottom, right, and top stored in WGS-84 Latitude and Longitude values. Since the rest of the layers data is in Spherical Mercator, we need to re-project the coordinates from WGS-84 (WKID = 4326) to Spherical Mercator (WKID = 3857).

The complete constructor code looks like this:

public class MBTilesLayer extends TiledServiceLayer{

	private SQLiteDatabase mapDb;
	private int mLevels=0;

	// path is expected to be of the form /sdcard/path/package.mbtiles
	public MBTilesLayer(String path) {
		try {
			mapDb = SQLiteDatabase.openDatabase(path, null,
		catch(SQLException ex)

		// Default TMS bounds = bounds of Web Mercator projection
		Envelope envWGS = new Envelope(-180.0,-85.0511,180.0,85.0511);

		// See if the MBTiles DB overrides the default Bounds in the metadata table
		Cursor bounds = mapDb.rawQuery(
					"SELECT value FROM metadata WHERE name = 'bounds'",
		if (bounds.moveToFirst()) {
			String bs = bounds.getString(0);
			String[] ba = bs.split(",", 4);
			if (ba.length == 4)
				double leftLon = Double.parseDouble(ba[0]);
				double topLat = Double.parseDouble(ba[3]);
				double rightLon = Double.parseDouble(ba[2]);
				double bottomLat = Double.parseDouble(ba[1]);

				envWGS = new Envelope(leftLon,

		Envelope envWeb = (Envelope)GeometryEngine.project(envWGS,

		Point origin = envWeb.getUpperLeft();

		Cursor maxLevelCur = mapDb.rawQuery(
					"SELECT MAX(zoom_level) AS max_zoom FROM tiles", null);
		if (maxLevelCur.moveToFirst()) {
			mLevels = maxLevelCur.getInt(0);

		double[] resolution = new double[mLevels];
		double[] scale = new double[mLevels];
		for (int i=0; i<mLevels;i++)
			// see the TMS spec for derivation of the level 0 scale and resolution
			// For each level the resolution (in meters per pixel) doubles
			resolution[i] = 156543.032 / Math.pow(2,i);
			// Level 0 scale is 1:554,678,932. Each level doubles this.
			scale[i] =  554678932 / Math.pow(2,i);

		// Note, the constructor must set the following values or we won't send
		// the status change events to listeners and the tiles will not be fetched

		// Origin is Top Left, the rest are defined by the TMS Global-mercator spec
		// (scales, resolution, 96dpi 256x256 pixel tiles)
		// See:
		// http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification#global-mercator
		TileInfo ti = new TileInfo(origin, scale, resolution, mLevels, 96, 256, 256);




Using the MBTilesLayerClass

To use the class just construct the layer, passing the location of the MBTiles SQLite database and add the layer to the MapView:

public class MBTilesDemo extends Activity {
	MapView mMapView = null;
	ArcGISTiledMapServiceLayer tileLayer;

	public void onCreate(Bundle savedInstanceState) {

		// Retrieve the map and initial extent from XML layout
		mMapView = (MapView)findViewById(R.id.map);

		// create an ArcGISTiledMapServiceLayer as a background (optional)
		tileLayer = new ArcGISTiledMapServiceLayer(
		// Add tiled layer to MapView

		// Add a MBTilesLayer on top with 50% opacity
		MBTilesLayer mbLayer = new MBTilesLayer(
				Environment.getExternalStorageDirectory().getPath() +

Download the full working sample here and the MBTile data here, then follow the provisioning your device section to test and run the sample on your device.  We are continuing to look into more developer patterns that allow extending the API.  Happy coding!

Author: "Dan O'Neill" Tags: "App Developers, Developer, Mobile, Andro..."
Comments Send by mail Print  Save  Delicious 
Date: Monday, 21 Apr 2014 22:13

Today we’re happy to announce the release of the ArcGIS Runtime SDK for iOS, OS X, and Android v10.2.3.

We’ve mentioned the new features for this release in a previous post, including Geodatabase Feature Service Table, which lets you simplify and reuse application code where you need to use both online and offline data.

The rest of the ArcGIS Runtime SDKs will be released very soon and will also include the Geodatabase Feature Service Table.

We encourage you to read the nice, detailed blog post from Dan O’Neil today, who’s on the Android team. His post gives lots of good details about the new features.

Keep an eye on this developer blog for the announcements of the ArcGIS Runtime SDK for Java, WPF, and Qt release. In the meantime, provide us feedback, using the forums, for the iOS, OS X and Android.

ArcGIS Runtime SDK for .NET will have another beta update as well very soon on the beta community.


  • Ability to pause/resume long running jobs
  • Support for App-6(B) Military symbology
  • Improved auto pan behavior
  • Support for generic web tiles
  • Color adjustment to map images
  • Better support for synchronizing large volumes of data
  • Ability to batch local edits
Author: "Al Pascual" Tags: "App Developers, Developer, Android, ArcG..."
Comments Send by mail Print  Save  Delicious 
Date: Monday, 21 Apr 2014 19:11

Today we are happy to announce the release of the ArcGIS Runtime SDK for Android v10.2.3.  Download the SDK from the Android developer site.

This update release focused on improvements to performance, offline API, and SDK as well as introduced a new GeodatabaseFeatureServiceTable class to work with ArcGIS Feature Services. 

Geodatabase Feature Service Table

Use the new GeodatabaseFeatureServiceTable for connecting to online ArcGIS Feature Services. This new pattern lets you simplify and reuse application code where you need to use both online and offline data. It also allows you to more robustly support connected applications that work with ArcGIS Feature Services, but that sometimes experience occasionally connected environments.

Currently to consume services hosted online you likely use the ArcGISFeatureLayer, for disconnected data you use the GeodatabaseFeatureTable. The GeodatabaseFeatureServiceTable extends the GeodatabaseFeatureTable and therefore inherits the same API. You write the majority of your code once and the API handles the rest!

Offline API improvements

A number of quality improvements have been made to APIs involving offline data.

The getExtent method on GeodatabaseFeatureTable now returns the extent of the entire geodatabase instead of the extent of just the features currently cached in the table. Editing is now only allowed on the features within the extent. The generateGeodatabase methods on GeodatabaseSyncTask and ExportTileCacheTask no longer fail with a network exception if the useCachedJob parameter is true and the previous job failed due to a network failure. When a download-only sync is performed on a feature table with existing local edits, GeodatabaseFeatureTableEditErrors only indicates edit errors for previously synced features, not for the new features that have not yet been uploaded. Improvements have been made to the handing of errors from the ExportTileCacheTask.

Performance Improvements

A number of performance improvements have been made to various areas of the API, including tile display while panning the map, and the display of geodatabase feature service tables when there are high numbers of features.

OpenSSL Updates
OpenSSL cryptographic libraries have been updated to 1.0.1g.

SDK Improvements
New samples demonstrate new APIs and best practices in app development. Additionally, documentation improvements include new overview and best practice guide documents, and continuing improvements to API reference documentation.

Deprecation Update
ArcGIS 10.2.3 will be the last release of ArcGIS Runtime SDK for Android that supports Android version 2.3 API level 10.  The next release of the SDK will support Android 4.0.3 API level 15 and above.  

Visit the ArcGIS Runtime SDK for Android developers site for more information about our 10.2.3 release.  We encourage all developers to update to this version of the SDK and provide your feedback

Author: "Dan O'Neill" Tags: "App Developers, Developer, Mobile, ArcGi..."
Comments Send by mail Print  Save  Delicious 
Date: Monday, 14 Apr 2014 22:51

Have you heard about the OGC GeoPackage specification (http://www.opengeospatial.org/standards/geopackage)?  It is a newly minted OGC spec that defines GeoPackages for exchange and GeoPackage SQLite Extensions for direct use of vector geospatial features and/or tile matrix sets. Esri has actively participated in the spec activity from the very beginning. To this end, we were one of the very early adopters of the specification ( early support even before the spec was approved by OGC membership).

If you are curious about GeoPackages, here’s what you can do. At 10.2.1 or with 10.2.2 ArcGIS desktop, you can create an empty GeoPackage and populate the GeoPackage by copying feature data into it. At 10.2.1, we supported the draft version of the specification and at 10.2.2, the final version of the spec is supported. Currently we support only vector features, but with 10.3 we expect to extend support for raster tiles. One of the primary uses cases driving GeoPackage use is mobile support. Expect to see support for GeoPackage in runtime later this year.

So if you are a sqllite database aficionado and would like to test the waters with GeoPackage, here’s what you can do today with 10.2.1 or 10.2.2. You can use the included script to create a sample empty GeoPackage and then populate it with vector features. Use this GeoPackage as you would any other dataset. We have noticed that in some cases when navigating to a directory that contains GeoPackage (.gpkg) data, ArcCatalog/ArcMap does not display the file. Please review this KB article if you run into this issue. http://support.esri.com/en/knowledgebase/techarticles/detail/42348

Lance Shipman on the database team has been actively involved with this effort from the very beginning. Lance and I would welcome your feedback, as we at Esri continue to improve and extend GeoPackage support in 10.3.

Sample python script to create a GeoPackage.

import arcpy

# Set local variables
sqlite_database_path = ‘C:\data\example.gpkg’

# Execute CreateSQLiteDatabase
arcpy.gp.CreateSQLiteDatabase(sqlite_database_path, “GEOPACKAGE”)

Author: "ssankaran" Tags: "Analysis & Geoprocessing, Defense, Devel..."
Comments Send by mail Print  Save  Delicious 
Date: Thursday, 10 Apr 2014 22:09

Amber CaseAmber Case, Esri’s resident cyborg anthropologist and Director of our R&D Center in Portland, is the keynote speaker for the Tech Cocktail Session in Las Vegas this Friday, April 11th. She will be talking about Cybernetics and the past, present and future of GIS.

Tech Cocktail Sessions focus on bringing industry experts and successful entrepreneurs to share their stories and answer questions. Amber was the co-founder and CEO of Geoloqi, a company focused on mobile location technology that Esri acquired in 2012. Her team in Portland is working on more cutting edge location technology for the company that essentially invented GIS, and whose software she first used at the age of 12. So we and the Tech Cocktail folks think Amber (aka @caseorganic) definitely has some unique insights and expertise to share.

If you haven’t seen Amber talk before, check out her TED Talk about cyborg anthropology or dConstruct talk about ambient location. And if you happen to be in Vegas Friday try to make it to the Tech Cocktail Session.

Author: "Kristina Weis" Tags: "App Developers, Developer"
Comments Send by mail Print  Save  Delicious 
Date: Wednesday, 09 Apr 2014 15:30

The Social Media Template, a popular web application template on ArcGIS Online, has been redesigned, made responsive and given a new name. Introducing: the Public Information template (hold applause).



Big difference, huh? This is a fully configurable template that allows you to create your own unique web mapping applications.

Overall, we’ve made a simpler, more usable mapping application. We have moved the drop down menus into a side panel that can be collapsed to accommodate different screen sizes. You can add a short summary of your map and drive users to areas of interest through map notes and bookmarks.  Layers can be turned on or off and social media layers can be configured.

Mobile Sized

Esri’s Disaster Response Program uses this template to create applications highlighting wildfires, hurricanes, severe weather, flooding, and earthquakes. An example of a customized Public Information template is our Severe Weather map.

Social Media

Are you as excited as we are with the new look? We would like your feedback on the new template! Please send us your comments.

Happy Customizing!

Author: "Stacey Triche" Tags: "App Developers, Apps, ArcGIS Online, Com..."
Comments Send by mail Print  Save  Delicious 
Previous page - Next page
» You can also retrieve older items : Read
» © All content and copyrights belong to their respective authors.«
» © FeedShow - Online RSS Feeds Reader