What software do you use as complementary to your GIS desktop/server in your work as GIS programmers/analysts and what programs are an absolute must you can't do without?
When data doesn't look right or work in my desktop GIS, a simple ogrinfo usually provides the answer. gdal_translate and gdalwarp for quick raster operations, and of course the gdal Python modules.
Completely unrelated and more of a Web app, but ColorBrewer is great for figuring out color values for different data classes.
(1) An industrial-strength statistics package, like Stata or R. The question refers to "analysts" and I take that job to include deriving meaning from the data, helping people make appropriate conclusions, and identifying optimal actions. That more or less describes statistical analysis, but no GIS is suited for anything but the most limited of statistical procedures.
(2) Another GIS to check on the first, to supplement its capabilities, and work around the inevitable bugs. (My system typically has four or five major GIS programs available, including earlier versions of ArcGIS.)
(3) Powerful text processing tools, including the old warhorses (SED and AWK). These often make short work of data preprocessing and postprocessing tasks that otherwise would be time-consuming or impossible with the GIS itself.
(4) A computer mathematics system can be useful for specialized graphics and custom analyses. I have been using Mathematica for a few years now and find its usefulness grows in proportion to my familiarity with it. There are even some demo notebooks on its Web site showing how to do GIS entirely within Mathematica ;-). Others swear by MatLab.
(5) An array of specialized spatial analysis and visualization packages like GeoDa, GGobi, and CrimeStat.
It should go without saying that one must have the usual collection of image processing, word processing, spreadsheet, and database manipulation tools to develop appropriate graphics, reports, and tables for communicating information. Everyone has their favorites; quite a few of these are amply represented in other responses offered to the question.
(1), (2), and (3) are essential: it would be crippling not to have these capabilities. If you can't get your data into the GIS, if you can't truly analyze them once they have been processed by the GIS, and if you can't work around bugs and limitations, then you're stuck.
Adobe Illustrator. I don't use it very much for GIS work personally but our office does for everything that goes to press (offset printing). Illustrator just has finer control over everything. True bezier curves, more line generalization and simplification options, text flow & kerning, multiple columns, great keyboard usability for switching tools and functions, object transparency, CMYK colour handling, and more.
When cartographic excellence and/or combining maps with large blocks of text and figures is the goal, Illustrator is great complement.
Fore quick manipulation of text files I find Notepad++ to be the way to go, especially with all the Regex support.
CAM Studio: if a picture is worth a thousand words than moving pictures should be worth a thousand words times whatever your frame rate is. It's been valuable to me for demonstrating various workflows in ArcGIS. And for documenting issues for sending to ESRI support.
Visual Studio 2010 for ArcGIS Engine and Silverlight API development.
Expression Blend for Silverlight/Silverlight API development.
Expression Encoder/Screen Capture for video transcoding and screen capture.
Notepad++ for one-off "text file" editing and scripts for Python.
Tortoise SVN for version control.
BugTracker .Net for bug tracking.
The latest version of all major browsers to ensure that the stuff I made for the web actually works as anticipated (and often it does not, but it's certainly better than it used to be).
This has been mentioned a few times as part of a collection but I want to highlight it specifically: a decent text editor. Where decent means: can easily handle 100 megabyte files and hopefully larger, syntax colouring, and regular expressions (or some other means of complicated search and replace patterns), and mutltiple undo for the essentials. Also beneficial are macros, mutliple clip boards, snippet libraries, and keyword expansion.
A text editor is the only tool I have used almost every single day I've worked on computers professionally (about two decades), and I'm not a software developer (though lately I've been exploring that a bit). Every computer and every operating system I've ever used has one. It's the only truly portable and non-expiring tool and skillset -- I've now become proficient in 2 now-dead GIS platforms (Pamap, Mapinfo), 2 more almost-dead (ArcView3, ArcInfo Workstation), and 1 will-someday-pass (ArcGIS). (Not to mention ones I've spent time to become somewhat familiar with but not proficient: Autocad 9, Quantum, Udig, Jump, ...) Each one has sucked up hundreds of not thousands of hours of learning and synapse connections which are now largely thrown away or dormant.
Text editing has been the the only constant. There has been a fair bit editor turn-over, but the skillsets have been more transferrable than other classes of programs.
Obligatory firebug plug.
Adds a right-click
Copy Path Name and
Open DOS Prompt. I use it all the time to copy paths for pasting into ArcCatalog.
SysInternals: tcpview, procmon are invaluable. I use DebugView to connect to other workstations and figure out why my code doesn't work on their workstations when it works perfectly on my dev box.
I probably do a
pskill arcmap and
pskill arccatalog more than I care to admit.
I typically use FME from Safe Software (www.safe.com) as a complementary Spatial ETL tool for my GIS Desktop/ Server software. The obvious reason being the robust support for 250+ CAD/GIS formats in FME and its "neutral to any format" approach to handle true data interoperability needs from simple to complex ones.
When I'm using Sql Server 2008, I really like developing spatial sql queries with Sql Server Management Studio (SSMS).
Update, forgot to mention Sql Server spatial tools.
Reflector, for decompiling .NET assemblies.
This may sound a little weird, but I use a local install of MapServer on my desktop machine as a non-server tool.
- I use the query templates to generate most of my KML files.
- It provides a very reasonable way to visualize data based on PostGIS queries.
- SQL Server Management Studio - use this everyday to examine data and poke around in SDE
- Notepad2 - awesome text editor
- VisionApp for RDP remoting into servers
- Informatica for ETL jobs - XML/text to SQL Server
- Visual Studio 2008
- Google Chrome
- Tidal Enterprise Scheduler - we use this to schedule jobs. It allows you to chain jobs together and set dependencies.
Non-GIS image conversion programs. In addition to pdf map distribution also mentioned in this topic we distribute our maps as raw full size images and Zoomify. For this workflow we need to convert the pdf to full resolution images. The tools used here are GraphicsMagick, Ghostscript, XNView, Photoshop (and Gimp) and Zoomify Converter (though hopefully the recent addition of geospatial pdf to gdal will enable me to chop that list down to two!).
A PDF Viewer. We're standardized on Adobe Reader but also use GSView (Ghostscript), NitroPDF and others. We are a map-centric shop and PDF is the best way to get an accurate, repoducible, and distributable snapshot of a map composition that will be usable for years on a variety of machines and operating systems (more here). It is our primary means of distributing maps to the public and other agencies (our map site).
update: It's also our primary means of printing. For drafts and in-house we've found it's more reliable and faster (with multiple copies) to create a pdf and then print from that then direct from Arcmap. This also allows non-gis staff to print the hardcopy maps we distribute and sell to the public.
I don't see GPS related software mentioned.
I use Garmin Mapsource software heavily to view/check our local community GPS maps, as well as to check POIs and tracks captured using my Garmin GPS receivers (Nuvi 205W and 60CS).
For web services,
Wireshark for inspecting data coming from webservices (work on intranet/internet, desktop application or web applications)
Using Live HTTP Headers firefox addon to see all network transactions (like wireshark but smaller, limited to browser exchange but you see headers better compare to firebug)
TCPMon for monitoring network too
Winmerge to compare directories and files (Windows) or Kompare on Linux KDE (apt-get install kompare)
Filezilla client for FTP
SVN (Tortoise or command line) or Git (command line)
Cygwin to power up Windows DOS console with lot of linux tools (access to ssh, vim, iconv, cut, sed, grep, find, history and much more like pipes)
We use PostGIS as a "Counter-Enterprise" GIS to compliment the ESRI stuff (ArcGIS/ArcSDE). When great flexibility is required and time is in short supply (daily), PostGIS always saves the day. Most often OpenJump with the DBQuery Plugin serves as the Workbench. Now ArcGIS 10 has the Query Layer functionality which can bring PostGIS flexiblility directly to the ArcGIS Desktop (the camel's nose, or should I say elephant's trunk :-), pokes a little further under the tent !!!).
I tend to use the following:
NotePad ++ - use this daily for editing all kinds of files.
EasyGPS - for downloading gpx files from out garmin gps units.
MS Access and Excel - useful for doing quick data analysis, comparing and cleansing.
OSM2MIF - Converts MasterMap data to MIF format.
OSGeo4W - use this to install QGIS and all the related stuff
Visual color picker 2 - very useful for finding colour codes by sampling an area of the screen
Colorbrewer - use this all the time for colour schemes.
Photoshop / GIMP - great for image work.
Adobe Acrobat - we PDF a lot of maps to include in reports. Enables users to print from PDF rather than the GIS software.
CASS software, to validate, correct, and standardize addresses, detect duplicates, detect mail drops, categorize residence vs. business, append ZIP+4, append suite numbers, confirm deliverability, convert rural boxes to street addresses, etc.
I have to recommend SchemaSpy for learning new databases and remembering old ones. It's also a great database development tool. http://schemaspy.sourceforge.net/
I always use GPSBabel for downloading data from our consumer grade GPS units.
One of my most used programs is Tomboy. It is not GIS specific at all but is a note-taking software that helps me keep track of all my projects, notes, and todo lists. It is cross platform and syncs between all the computers I do work on(and read-only on my android phone) so I always have my notes available. It is a must have for me since i work from a couple different computers at work as well as from home.
Spatial and non-spatial ETL (Exrtact, Transform, Load) tools are very valuable for data interoperability and converting data schemas and file types.
- Safe Software FME
- ArcGIS Data Interoperability Extension (subset of FME)
- Spatial Data Integrator
More discussion on this here.