LICEcap – recording the screen to animated GIF

If you have ever needed to explain to someone a sequence of steps to perform in an application, you have probably ended up with writing a long sequence of steps. This takes a lot of time and when even slight changes are made in the interface, you need to rewrite the whole thing.

I remember having nice visual animations in ArcGIS Desktop Help files where one could follow the clicks recorded in the ArcMap GUI. One of the ways to record the screen without creating large video files is to use a GIF recorder. I’ve looked for different ones and the LICEcap seems to suit me well.

LICEcap is GPL free software, so the source is available. It’s fast, has an option to adjust the FPS value and make pauses and add the text boxes. A great piece of software you could use to make a quick record of a certain workflow – you could use it yourself for any future reference or to send a GIF to someone when helping out with the software.

Stream Android screen to a PC with TeamViewer

I was looking for quite some time for an easy way to stream an Android tablet screen onto a PC (Windows) to do demos on how applications run on Android (such as demos on Collector and other ArcGIS apps). Of course you can use a portable cam or webcam, but what if you just want to show something really quickly without setting up the cameras?

In case you will ever need to do demos with the mobile apps – read below how to do this.

There are tons of ways to do this (vnc servers, paid apps, give root access on the device), but the most efficient I’ve found so far is to use the TeamViewer. There is also a free version of this software.

  1. Download TeamViewer on your Windows machine. You don’t need to install it, it is possible to just run the .exe once.
  2. Install TeamViewer QuickSupport on your tablet.
  3. When running the TeamViewer on your tablet, you will be asked if you want to install add-on for remote control of the device. The tablet will automatically find the add-on for your manufacture (Lenovo, Sony, Samsung, HTC, HP etc) and install it.
  4. Then just connect from the Windows machine to the Android tablet (both should be connected to the Internet of course).

There may be some lagging when having a poor Internet connection, but generally people have the understanding for this and tend focus on the functionality and not on the performance of the screen sharing. Keep in mind that you can also do the remote control, so troubleshooting directly on the customer’s tablet is an option if you work in tech support.

So, you can not only see your screen, but actually perform clicks to simulate touches on the tablet. An amazing piece of functionality I’ll use often now for making demonstrations to our customers.

Essential extra toolsets for ArcGIS Desktop professionals

If you are an ArcGIS users you could at some point of time find out that you lack a certain tool which you need to perform a certain analysis. Or you just need to hack some datasets really quickly and you are lazy to write your own tool for that. If you are not developer, though, the only option you would have is to see whether a model can be built in ModelBuilder to replicate the required operation (by combining multiple geoprocessing tools).

If ModelBuilder wouldn’t help you, then there is a good chance you would start searching for this kind of tool on the Internet. A great place to start is Google. The GIS Stackexchange web site is indexed very well and you will be able to find many of the tools you are looking for as answers to the questions on this web site too.

Another place to search for tools is This one has replaced arcscripts and if you are on ArcGIS 9.3+ you probably wouldn’t go to arcscripts at all. When at, you don’t need to sign in to search for tools. Remember to enable the Show ArcGIS Desktop Content option and filter the results to show Tools only (figure below). searchHere is a great reference page on how to do efficient searches:

In my “GIS Analyst toolbox”, I have collected many useful tools over last years. Some of them for older versions of ArcGIS, but in some cases they will just work; in others – you can get an idea on how tools are implemented and re-write to run on your version (if you can program of course or use ModelBuilder). Here is the short list that includes some of them:

SampleArcPyMappingScriptTools_10_v1 (ArcGIS toolbox, Python code)
These (~20) tools were created as representative samples for how arcpy.mapping could be used to perform a variety of tasks. A must have for anyone who works with map documents often! It will also let you get started with arcpy.mapping module in no time, awesome!

Cartography Tools

  •    Adjust Layout Text Width (from ArcMap)
  •    Find and Replace a Text String
  •    Page Layout Element Report
  •    Shift Page Layout Elements
  •    Update Symbology

Export and Printing Tools

  •    Append PDF Documents
  •    Export Map Documents to PDF
  •    Print Data Driven Page(s)
  •    Print Map Document(s)

MXD and LYR Management Tools

  •    Add Layer File into MXD (from ArcMap)
  •    Find Broken Data Sources (Report)
  •    Find Data Source (Report)
  •    Find Layers Projected on the Fly (Report)
  •    Multi Layer File Summary (Report)
  •    Multi MXD Summary (Report)
  •    Replace Layer with Layer File
  •    Replace Layer with Layer File (from ArcMap)
  •    Update MXD from pGDB to fGDB
  •    Update MXD tags

Tools that will let you create your own cartographic effects
Lots of useful tools for any cartographer who wants to add some extra mapping features.

Database inspector (ArcGIS toolbox, Python code)
This is a must have for any ArcGIS analyst doing any Python development for geodatabase maintenance and geodata management. This is a suite of tools for analyzing components of a geodatabase and for finding the differences between geodatabase schemas. Can print properties of fields, feature classes, relationship classes, domains, tables. Can compare particular geodatabase components between two workspaces. Can compare two geodatabases and tell you the difference. A great tool I use daily.

ArcGIS Server ServerAdminToolkit 10.1+ (by Kevin Hibma from Esri) (ArcGIS toolbox, Python)
These tools perform some common administrative tasks with an ArcGIS Server machine. All of these tasks can be accomplished through the UI (ArcMap), the Web Manager or the REST Administration page. By using tools you can automate redundant workflows or chain common workflows together. Most of these tasks, turned into tools, have more detailed explanations in the help. This package is composed of three main parts: Tools, Standalone executable, and Code.

ArcREST (ArcGIS toolbox, Python)
A set of python tools to assist working with ArcGIS REST API for ArcGIS Server (AGS), ArcGIS Online (AGOL), and ArcGIS WebMap JSON. An amazing package that any ArcGIS Online or ArcGIS Server admin wants to have! Nearly all things you can do with the REST API, you can do with ArcREST. A must have.

Spatial Analyst Supplemental Tools
A collection of script tools to supplement Spatial Analyst Tools.

  • Create Dendrogram
  • Draw Signature
  • Erase Raster Values
  • Filled Contours
  • Maximum Upstream Elevation
  • Peak
  • Tabulate Area 2
  • Viewshed Along Path
  • Zonal Statistics As Table 2

Geomorphometry & Gradient Metrics (ArcGIS toolbox, Python)

Urban Network Analysis Toolbox for ArcGIS (Python)
The tools incorporate three important features that make them particularly suited for spatial analysis on urban street networks.

National Water-Quality Assessment (NAWQA) Area-Characterization (ArcGIS toolbox, Python)
From: and
The toolbox is composed of a collection of custom tools that implement geographic information system (GIS) techniques used by the NAWQA Program to characterize aquifer areas, drainage basins, and sampled wells.

X-ray for ArcGIS (ArcMap, ArcCatalog) (add-in)
From: and
The X-Ray for ArcCatalog add-in can be used to develop, refine and document your geodatabase designs. The X-Ray add-in for ArcMap can be used to document the properties of your map documents (MXDs).

Marine Geospatial Ecology Tools (MGET) (ArcGIS toolbox, Python)
A free, open-source geoprocessing toolbox that can help you solve a wide variety of marine research, conservation, and spatial planning problems. MGET plugs into ArcGIS and can perform tasks such as:

  •    Accessing oceanographic data from ArcGIS
  •    Identifying ecologically-relevant oceanographic features in remote sensing imagery
  •    Building predictive species distribution models
  •    Modeling habitat connectivity by simulating hydrodynamic dispersal of larvae
  •    Detecting spatiotemporal patterns in fisheries and other time series data

Favorite tools and resources for cartographers
A compilation of some of the most popular tools and sources of information about maps and cartographic design.

Geospatial Modelling Environment (known as HawthsTools)
GME provides you with a suite of analysis and modelling tools, ranging from small ‘building blocks’ that you can use to construct a sophisticated work-flow, to completely self-contained analysis programs. It also uses the extraordinarily powerful open source software R as the statistical engine to drive some of the analysis tools. One of the many strengths of R is that it is open source, completely transparent and well documented: important characteristics for any scientific analytical software.

How to be efficient as a GIS professional (part 2)

This is a second post on how stay efficient while being a GIS professional. Please see my first post on that here.

3. Learn how to search the Internet.

Well, you probably think of Google. But how many people you know use any Google search syntax? It can be of tremendous help to be able to search just within a certain web site.
I used to search a lot on Esri Forums, so the syntax for this is “site:” and then the site name and then the search string, for example, “ import arcpy”. This is very useful because the Esri’s search on Forums is not as good as Google’s one. Search for “ import arcpy” on Esri GeoNet. “” is another helpful place for the search.

If you are a veteran, then you’d probably enjoy searching the Archived Esri forums, too: “ import arcpy”. By using advanced search techniques you’ll be able to find the answers to your questions much faster.

4. Get yourself a decent suite of useful utilities.

You have gone through this list What free programs should every GIS user have installed, haven’t you? There are tons of useful programs that could save you hours at work.

I also recommend installing a proper file manager program if you find yourself managing files often. Total Commander is used by many people I know, but my favorite is Far Manager, but this is because I grew up using Norton and Volkov Commander, so I am a bit biased. I love using the keyboard for managing files, and Far Manager gives me this kind of control. Navigating around without using the mouse, editing the files and shooting some DOS commands without having to start a CMD is just so great.

5. Learn programming.

Being able to operate any software or operating system programmatically can be a huge time saver. It can help make sure that the operation can be re-run and you have full control over its execution. You don’t have to be a computer scientist, but being able to script a few map export workflows or list all your shapefiles in a folder can be very helpful. Most of modern GIS products provide a scripting language, most often Python, for automation and customization.

I cannot stress more how important it is to be comfortable using one of the popular programming languages. My favorite is Python; I am using it for lots of things: automating some desktop GIS workflows, building add-ins for desktop GIS, managing files, administer GIS servers, author geoprocessing web services.

If you want to learn more about Python in GIS, consider looking at this GIS.SE post: Resources for learning Python programming with generic GIS goals in mind? And if you are an ArcGIS user: What are some resources for learning ArcPy?

More tips will be published soon!

How to be efficient as a GIS professional (part 1)

There has always been a wide interest in how to stay effective regardless of what kind of work you do. There are tons of blogs on personal effectiveness, lots of books on getting things done topic, and lists of useful pieces of software that can be awesome time-savers. My thought was to summarize in here what I’ve learned so far about staying efficient being GIS professional to make it more relevant for everyone involved in GIS industry. There will be multiple posts on that.

1. Get to know the GIS products you work with.
No matter what GIS software you use, you will spend most of your day operating a certain application or two producing a map, converting datasets, or solving geographical problems. Therefore, it is of crucial importance to be familiar with the software. One of the first things I do when learning any new application is going through the top menu and checking what are the options available to me. I hate working with an application I spend most of my time without understanding what is the purpose of the settings and options available in the menus.

Maybe you will find out a cool tool that would save you some time. Or there could be an option for the customization, so you could enjoy interacting with the application much more by changing the background color or toolbars layout.

2. Always think how you can do things faster.
It is always tempting just to get things done and forget about them. This urge is hard to beat. Maybe you need to run a data processing tool by going through a couple of menus. If you do it several times per day, this will result in a half a minute per day which will result in 15 minutes in a month. Take here other things you do which could be done faster. You’ll get a whole hour in a month. You could spend it for something valuable rather than clicking through the menus, right?

Let’s start with the operating system shortcuts. Most of you are on Windows, so learn its ones well. Sometimes you just won’t have a mouse and you will need to start a Windows Explorer with just a keyboard. Pressing the keys is way faster than moving the mouse cursor around.

Then learn the GIS software shortcuts. If you edit geographic data a lot, learn Keyboard shortcuts that can be used while editing (ArcGIS); learn shortcuts to get around the application, too, by Assigning shortcut keys. You will be amazed how much faster you will operate the application. Search the ArcGIS software documentation for the shortcuts already embedded.

3. Master touch typing.
You should be able to type fast (touch typing) without looking at your keyboard. If you are brave, why not get a Dvorak keyboard and learn typing on that. The research shows some evidence that Dvorak layout is safer and nicer to work with. I’ve got mine from TypeMatrix and quite like it, even though it was painful to accept typing really slow first. It usually takes around a month to switch to Dvorak completely.

If you run many Windows programs, why not add Windows shortcuts to them? Windows is capable of creating shortcuts for nearly everything from a program installed to a control panel item.

All these things initially take time to setup, but it is worth it in the long run. Just think of this as of an investment which will pay off rather soon.

More tips will be published soon!