Python IDEs (PyScripter,PythonWin) crashing when installed with ArcGIS for Desktop?
I am learning Python, so here is a real newbie question!
Everything writen in ArcGis Python's windows is working fine. The same lines, correctly writen in an IDE, when run, are crashing it.
Working on ArcGis 10.2 using Python 2.7.5, 32 bits, Windows 7
For PyScripter I get a message Windows Error "python.exe is not working" followed by aPyScripter message: "EOFError: [Errno 10054] An existing connection was forcibly closed by the remote host" . Internet searches didn't get an answer I could understand.
For PythonWin, it just stops and crashs.
Installations path are as followed (by default): Python 27: C:
PyScripter: C:Program Files (x86)PyScripter
I suppose these issues have been met before and solve… So what I am missing here? some other packages or libraries? What would you advice me to use to script in Python?
For info my lines are:
import arcpy from arcpy import env env.workspace = "D:/_PYTHON/Python/Data/Exercise07" fc = "Results/airports.shp" delimfield = arcpy.AddFieldDelimiters(fc, "STATE") cursor = arcpy.da.UpdateCursor(fc, ["STATE"], delimfield + " = 'AK'") for row in cursor: row = "AK2" cursor.updateRow(row) del row del cursor
You start your question by saying:
I am learning Python, so here is a real newbie question!
and then describe your install of two Python IDEs (PyScripter and PythonWin) in addition to another IDE (IDLE) that installs as part of the Python that gets installed by ArcGIS for Desktop.
When learning any new software my recommendation is to keep your install as vanilla as possible. That way when something goes wrong there are far less places to look for its cause.
In this case I would uninstall PyScripter, PythonWin, ArcGIS for Desktop, and any vestiges of Python 2.7 and perform a simple reinstall of ArcGIS for Desktop.
This will give you access to a robust, easy-to-use and highly functional IDE in IDLE that I use for all my Python work with no problems.
After seeing how easy it is to work with IDLE as your IDE for a while, then by all means, if you think you need something more sophisticated try PyScripter, PythonWin, or other Python IDEs one at a time because by then you'll know how easy it should be to use a Python IDE based on your IDLE experience and have something to benchmark their install and use against.
Import pymssql crashes python #6
What steps will reproduce the problem? 1. download newest pymssql for windows on this website
2. run the installer
3. try to import pymssql module, python crashes What is the expected output? What do you see instead? i expect it to not crash, python crashes What version of the product are you using? On what operating system? python2.6 on windows XP 2002SP3 32bit Please provide any additional information below.
The text was updated successfully, but these errors were encountered:
We are unable to convert the task to an issue at this time. Please try again.
The issue was successfully created but we are unable to update the comment at this time.
Msabramo commented Sep 20, 2013
From akukula on April 22, 2010 00:51:35
Can't confirm this either with ActivePython 220.127.116.11 or with python.org Python 2.6.5.
Please try to reinstall Python and pymssql and see what happens.
Labels: OpSys-Windows Usability
Msabramo commented Sep 20, 2013
I was using pymssql last night, been using it for a couple of weeks with no problem.
Suddenly, when I would try to import pymssql module, it would crash PythonWin or IDLE
(the Python GUI). At first it was random, about every 3rd or 4th load would crash
it. Pretty soon, it was every import. The only other program running during this
time was Notepad++.
Let me emphasize that this has been working flawlessly for 2 weeks crashes at first
were random finally, crashed every time I tried to import pymssql. This occurred
over about a 2 hour time period.
Tried uninstalling pymssql and reinstalling. Still crashes on every import.
Running in VMWare 1.0.9 build-156507
Windows 7 Professional 32-bit
Python 2.6.2 ( r262 :71605, Apr 14 2009, 22:40:02)
[Installed by ESRI's ArcGIS program, in C:Python26ArcGIS9.4. -- this program
apparently wants this folder structure, I don't know why, but I don't want to change it.]
Detailed crash info:
Problem Event Name: APPCRASH
Application Name: pythonw.exe
Application Version: 0.0.0.0
Application Timestamp: 49e4f60b
Fault Module Name: _mssql.pyd
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 4bc64492
Exception Code: c0000005
Exception Offset: 00017495
OS Version: 6.1.7600.2.0.0.256.48
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
I've confirmed that this crash info is the same on every crash it doesn't change.
I've tried rebooting Virtual Machine, etc., but it seems "corrupted".
Just tried uninstalling pymssql and PythonWin, reinstalled just pymssql - same crash
Hope this helps in tracking this down.
Msabramo commented Sep 20, 2013
From akukula on April 26, 2010 14:08:58
OK so the python language works just fine, but the IDEs crash. Can you try just
import _mssql from IDE or Pythonwin?
Msabramo commented Sep 20, 2013
Just tried that and it worked!
Msabramo commented Sep 20, 2013
From ryepup on April 27, 2010 07:20:07
I see this as well, running on windows 7. I installed a new version of pymssql using
the pymssql-1.9.907.win32-py2.6.exe installer the morning of 4/27/2010.
I usually use IPython, and importing crashes with an error message:
C:Python26>python.exe "C:Python26scriptsipython" Python 2.6.5 ( r265 :79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] Type "copyright", "credits" or "license" for more information.
IPython 0.10 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more.
In : import pymssql tds_init_winsock: WSAEnumProtocols failed with 10055(WSAENOBUFS: No buffer space
A Python Primer for ArcGIS r
These workbooks provides a practical approach to a board range of programming skills using ArcGIS for geoprocessing and map production in the work place."--Page 4 of cover.
Author: Nathan Jennings
Publisher: Createspace Independent Publishing Platform
A Python Primer for ArcGIS(r) Workbook III (3 of 3) The automation of geoprocessing tasks is a common practice among GIS professionals. Python is the standard programming language for ArcGIS and other fields such as remote sensing, GPS, spatial modeling, and statistical analysis. A Python Primer for ArcGIS(r) Workbook series combines fundamental Python programming structures to help professionals automate common geoprocessing functions. Thorough explanations of programming concepts are included along with user-friendly demonstrations that enable readers to develop programs on their own. In addition, chapters contain exercises and questions that aid in the application of each chapter's highlighted principles. Workbook III completes the Workbook series by focusing on Python functions, creating custom Python script tools, Python Add-ins, and script automation. Workbook I provides a practical introduction using Python for ArcGIS geoprocessing. Readers will learn some Python basics ending with writing a simple geoprocessing script. Workbook II contains coding strategies for common GIS tasks and processes. Workbook I can be ordered here: https://www.createspace.com/5205001 Workbook II can be ordered here:https://www.createspace.com/5215222 Follow for changes, updates, and new material: Blog: http://education.urbandalespatial.com/ Twitter: https://twitter.com/urbandalegis
How can I use geometry method snapToLine to find new coordinates?by RebeccaStrauch_ _GISP
I'm probably missing something basic here, but given a polyline, and a point geometry. how do I use snapToLine(in_point) and how do I capture the new point (in a python script)?
I've tested using arcpy.Near_analysis, which will work, but the description sounds more like what I need. This is a small part of a bigger script. which I'm now trying using a numpy array. A general description, given my FC of classified points, I grab the first point. create the contour. snap the point to the contour and split at the point. then go a given distance in each direction along the line, split and create a transect. capture the coordinates at the three points. Previously I had this in Avenue and I'm updating, and adding new features, of course. There's a bit more to it, but that's a general description for anyone interested.
Fwiw, I'll include my test script (I'll clean it up once I get this figured out. lots of stuff not being used in in this part.)
Learning Geospatial Analysis With Python
This book will round out your technical library through handy recipes that will give you a good understanding of a field that supplements many a modern day human endeavors.
Author: Oliver William
Publisher: Createspace Independent Publishing Platform
Geospatial Analysis is used in almost every field you can think of from medicine, to defense, to farming. This book will guide you gently into this exciting and complex field. It walks you through the building blocks of geospatial analysis and how to apply them to influence decision making using the latest Python software. Learning Geospatial Analysis with Python uses the expressive and powerful Python 3 programming language to guide you through geographic information systems, remote sensing, topography, and more, while providing a framework for you to approach geospatial analysis effectively, but on your own terms. We start by giving you a little background on the field, and a survey of the techniques and technology used. We then split the field into its component specialty areas: GIS, remote sensing, elevation data, advanced modeling, and real-time data. This book will teach you everything you need to know about, Geospatial Analysis from using a particular software package or API to using generic algorithms that can be applied. This book focuses on pure Python whenever possible to minimize compiling platform-dependent binaries, so that you don't become bogged down in just getting ready to do analysis. This book will round out your technical library through handy recipes that will give you a good understanding of a field that supplements many a modern day human endeavors.
Programming ArcGIS with Python Cookbook
The book kicks off with the fundamentals of starting to use Python with ArcGIS, followed by recipes on managing map documents and layers, including how to find and fix broken data links in these files.
Publisher: Packt Publishing Ltd
The book kicks off with the fundamentals of starting to use Python with ArcGIS, followed by recipes on managing map documents and layers, including how to find and fix broken data links in these files. In the second part of the book, you will learn to create custom geoprocessing tools and how to use the Attribute and Location tools to select specific features. The third part of the book covers topics for advanced users including the REST API, and also teaches you how to use Python with ArcGIS Pro. The book finishes with appendices covering how to automate Python scripts, and the five things that should be at the back of every GIS programmer's mind.
Install PyInstaller from PyPI:
Go to your program’s directory and run:
This will generate the bundle in a subdirectory called dist .
For a more detailed walkthrough, see the manual.
You might wish to investigate Nuitka. It takes Python source code and converts it in to C++ API calls. Then it compiles into an executable binary (ELF on Linux). It has been around for a few years now and supports a wide range of Python versions.
You will probably also get a performance improvement if you use it. It is recommended.
Yes, it is possible to compile Python scripts into standalone executables.
PyInstaller can be used to convert Python programs into stand-alone executables, under Windows, Linux, Mac OS X, FreeBSD, Solaris, and AIX. It is one of the recommended converters.
py2exe converts Python scripts into only executable on the Windows platform.
Cython is a static compiler for both the Python programming language and the extended Cython programming language.
I would like to compile some useful information about creating standalone files on Windows using Python 2.7.
I have used py2exe and it works, but I had some problems.
It has shown some problems for creating single files in Windows 64 bits: Using bundle_files = 1 with py2exe is not working
It is necessary to create a setup.py file for it to work. http://www.py2exe.org/index.cgi/Tutorial#Step2
I have had problems with dependencies that you have to solve by importing packages in the setup file
I was not able to make it work together with PyQt.
This last reason made me try PyInstaller http://www.pyinstaller.org/.
In my opinion, it is much better because:
I suggest creating a .bat file with the following lines for example (pyinstaller.exe must be in in the Windows path):
I had only one problem using PyInstaller and multiprocessing package that was solved by using this recipe: https://github.com/pyinstaller/pyinstaller/wiki/Recipe-Multiprocessing.
So, I think that, at least for python 2.7, a better and simpler option is PyInstaller.
And a third option is cx_Freeze , which is cross-platform.
This creates a standalone EXE file on Windows.
Important note 1: The EXE file will be generated in a folder named 'dist'.
Important note 2: Do not forget --onefile flag
You can install PyInstaller using pip install PyInstaller
NOTE: In rare cases there are hidden dependencies. so if you run the EXE file and get missing library error (win32timezone in the example below) then use something like this:
I like PyInstaller - especially the "windowed" variant:
It will create one single *.exe file in a distination/folder.
You may like py2exe. You'll also find information in there for doing it on Linux.
Use py2exe. use the below set up files:
I also recommend PyInstaller for better backward compatibility such as Python 2.3 - 2.7.
For py2exe, you have to have Python 2.6.
/Documents/python101/ and ex50_pycomp.py & ex50.py are in this dir. ex50_pycomp.py importing ex50.py. I run pyinstaller ex50_pycomp.py and i see all complied, produced dist. All good right? I cd into dist/ex50_pycomp/ and run ex50_pycomp it works. Once I put this ex50_pycom into a virtualmachine, then this says import error and in another other linux box it says " -bash: ./ex_50_pycom: cannot execute binary file: Exec format error" &ndash driven_spider Sep 18 '18 at 4:31
For Python 3.2 scripts, the only choice is cx_Freeze. Build it from sources otherwise it won't work.
For Python 2.x I suggest PyInstaller as it can package a Python program in a single executable, unlike cx_Freeze which outputs also libraries.
py2exe will make the EXE file you want, but you need to have the same version of MSVCR90.dll on the machine you're going to use your new EXE file.
See Tutorial for more information.
You can find the list of distribution utilities listed at Distribution Utilities.
I use bbfreeze and it has been working very well (yet to have Python 3 support though).
Not exactly a packaging of the Python code, but there is now also Grumpy from Google, which transpiles the code to Go.
It doesn't support the Python C API, so it may not work for all projects.
Make a shortcut to the EXE file, move it at top and set the target and start-in paths as specified, to have relative paths going to distfolder:
We can rename the shortcut to anything, so renaming to "GTFS-Manager". Now when I double-click the shortcut, it's as if I python -ran the file! I found this approach better than the --onefile one as:
- In onefile's case, there's a problem with a .dll missing for the Windows 7 OS which needs some prior installation, etc. Yawn. With the usual build with multiple files, no such issues.
- All the files that my Python script uses (it's deploying a tornado web server and needs a whole freakin' website worth of files to be there!) don't need to be moved anywhere: I simply create the shortcut at top.
- I can actually use this exact same folder on Ubuntu (run python3 myfile.py ) and Windows (double-click the shortcut).
- I don't need to bother with the overly complicated hacking of .spec file to include data files, etc.
Oh, remember to delete off the build folder after building. It will save on size.
Python IDEs (PyScripter,PythonWin) crashing when installed with ArcGIS for Desktop? - Geographic Information SystemsWhat free programs should every GIS user have installed?
Note: This question is specifically about installed, desktop software. There is another question  specifically about free cloud-based software and services.
What free programs should every GIS user have installed?
I'm not necessarily referring to ESRI extensions or open-source products, but others that increase your productivity and ability to handle GIS tasks.
- Notepad++  for writing code snippets or editing XMLs. Paint.NET  or GIMP  for quick graphic editing.
- I use Google Tasks  daily and I think it's worth mentioning. It's not GIS-specific, but it's a great tool, especially if used independently and on multiple projects where purchasing time-management software isn't reasonable.
- While it's not focused on GIS development, Rainmeter  has proven to be very useful in terms of increasing productivity and monitoring system resources. I have created a GIS "sidebar" on my desktop that holds all of my development tools, as well as links to the online resources I used the most. It's nice to be able to use one location, rather than many (e.g. taskbar, bookmarks in browser, search engine).
This question has been converted to Community Wiki and wiki locked because it is an example of a question that seeks a list of answers and appears to be popular enough to protect it from closure. It should be treated as a special case and should not be viewed as the type of question that is encouraged on this, or any Stack Exchange site, but if you wish to contribute more content to it then feel free to do so by editing this answer.
- Google Earth  , for viewing and creating KMZ/KML files
- Trimble Sketchup  , for creating 3D models
- PointVue LE  , Fusion/LDV  , LAStools  , for viewing LAS (LiDAR) files in 3D
- PyScripter  , for Python scripting
- ArcGIS Diagrammer 10.0  , for designing geodatabases and modifying schemas (ESRI XML workspace documents) ( for 10.1  and for 10.2  ) ( discontinued at 10.3  )
- Visual Studio Express  (C# or VB.NET), for .NET development
- SharpDevelop  , alternative IDE to Visual Studio for .NET development -- also handy for converting between VB.NET and C#
- TortoiseSVN  , TortoiseCVS  , TortoiseGit  , or TortoiseHg  for version control on Windows
- Oracle SQL Developer  , for poking around the back end of ArcSDE, running queries, etc.
- PrimoPDF  , for printing/appending to PDFs
- LightShot  , for quickly taking and uploading screenshots, or GreenShot  which is similar but quite a bit more powerful/customizable (thanks @Mike Toews for mentioning it in one of the comments).
- VLC media player  , for desktop video recording and video playback
- Open Broadcaster Software  , for 2D and 3D video recording and screencasting (requires Windows Vista or newer)
- MSI Afterburner  , for 3D video recording
- VirtualDub  , for basic non-linear video editing
- XnView  , GIMP  , Paint.NET  , and InkScape  for various graphics tasks (each has their own strong suits)
- FileZilla  , for FTP sites
- 7-Zip  , for ZIP/RAR files
- UnxUtils  - For a lightweight (native Win32) port of common GNU utilities like "tail" and "grep". Tail is great for displaying log files in realtime, while grep is a powerful (regular expressions-based) text search tool.
- Copy Path  - A shell extension for Windows XP, Vista, 7, etc. that adds a "Copy Path" context menu item to files and folders in Windows Explorer. Makes short work of finding the full path (and also normalizes to UNC paths if it is on a mapped network drive). Great timesaver!
QGIS  . Although I do most of my analysis using ESRI based tools, QGIS is extremely fast for quickly examining a shapefile, and zooming/panning/reading the attributes.
I don't mean this in a derogatory way, as QGIS is also a wonderful open-source desktop GIS but for quick file opening/closing it's wonderful and the quickest I've found.
Suppose I'm looking at a Web App, like Esri's Redistricting Online  .
. and I become curious about the mapservices it uses. I can fire up Fiddler and see what Urls it is accessing.
I can right click and copy the url and paste into a web browser, since we're dealing with REST .
I notice that as I add census blocks to a district, it simply does a query it does not make a call to a geometryservice to union the blocks into a district as I would have expected. From this I can infer that Esri is holding back on us: somewhere in the client there must be code that unions geometries - but there is no such capability documented in the web SDK api.
Since there's no message on the root page  of their redistricting mapservice saying I shouldn't use it, I guess I'm free to use it in my own app . or at least until they implement the idea I've suggested  .
Benjamin already mentioned SAGA GIS  , but just the name so I would like to add more info about this excellent SW:
SAGA (System for Automated Geoscientific Analyses)
SAGA is also free and opensource like QGIS, but it is focused on raster data analysis and processing.
File access: interfaces to various table, vector, image and grid file formats, including shapefiles, Esri grids (ASCII and binary), and numerous grid file formats that are supported by the GDAL library, in addition to the native SGRD format of SAGA GIS.
Filter for grids: Gaussian, Laplacian, multi-directional Lee filter.
Gridding: interpolation from vector data using triangulation, nearest neighbour, inverse distance. (my favourite is Multilevel B-Spline interpolation)
Geostatistics: residual analysis, ordinary and universal kriging, single and multiple regression analysis, variance analysis.
Grid calculator: combine grids through user defined functions.
Grid discretisation: skeletonisation, segmentation.
Grid tools: merging, resampling, gap filling.
Image classification: cluster analysis, box classification, maximum likelihood, pattern recognition, region growing.
Projections: various coordinate transformations for vector and grid data (using Proj4 and GeoTrans libraries), georeferencing of grids.
Simulation of dynamic processes: TOPMODEL, nitrogen distributions, erosion, landscape development.
Terrain analysis: geomorphometrical calculations such as slope, aspect, curvatures, curvature classification, analytical hillshading, sink eliminition, flow path analysis, catchment delineation, solar radiation, channel lines, relative altitudes.
Vector tools: polygon intersection, contour lines from grid.
According to the users it can partially replace commercial tools like Spatial analyst in ArcGIS and some people say, that the hydrological tools are even better than ArcHydroTools.
In my opinion it is good choice for people who are not familiar with GRASS and who need user friendly and free solution which can share data with other GIS tools.
I use it together with QGIS and it works really nice - SAGA for raster data, QGIS for vectors and final map finishing and for quick mapping.
I use these two for cartographic purposes.
Gimp has good raster support (until they get huge/GB in size, then you run it on a linux OS!) and Inkscape handles vectors really well.
ColorBrewer allows you to pick effective, attractive color schemes based on number of classes, data types (e.g. sequential or qualitative), and many optional parameters. It also allows you to preview the color scheme with common features such as roads and city names, and export the scheme for (relatively) easy use in your software or code.
ColorBrewer's ramps can be installed to QGIS  and ArcMap  through symbol packages and add-ins.
JTS Topology Suite  , particularly JTS TestBuider (for Windows users, make a Shortcut to C:Program FilesJTSjts-1.11in estbuilder.bat ).
With JTS TestBuilder, you can copy/paste WKT or WKB  into the geometry inputs, and debug a geometry (especially if it is invalid and you want to know why) or explore spatial functions and spatial predicate  operators, etc. Most of the functions developed in JTS trickle down to GEOS  , Shapely  , JSTS  , NetTopologySuite  , etc., so it is a good graphical tool to work with.
Firebug for Firefox
Like it as you can edit webpages online and see the changes instantly without re-uploading files.
This with Fiddler (mentioned already in this community wiki) are very useful and time-saving tools.
For statistical analysis, there is R  . An integration of R with ArcGIS provides the Geospatial Modelling Environment  . Using the right libraries you can easily handle shapefiles and raster data in R 
RStudio is a powerful IDE with debugging and improved data handling for R.
Color Oracle  - a colorblindness simulator for Window, Mac and Linux. I use this for checking the "look" of my composed maps.
- Eclipse  and PyDev  for Python coding - the latest version (finally) allows you to run a script without it being in the project, and has some other great features as well (break on exception etc.). That and the almost unlimited other number of extensions that you can install in Eclipse.
- Git  for version control. Free, easy, and you don't need to install any software on the server.
- TrueCrypt  for storing sensitive data by creating an encripted volume with a whole bunch of security options.
The Gdal command line tools are quite useful.
Sometimes I also use the xpath tool (provided with the gnome libxml2 library) to inspect xml/xsd/kml files:
I wonder why MAPNIK  has not been mentioned yet. It is also pluged in to QGIS  . Very nice tool for easily making astonishing looking maps.
- Irfanview  - for making simple image edits, such as cropping screenshots. Much more useful than MS Paint, and batch image processing!
- Firebug  - priceless when debugging a web application in FireFox
- PythonWin  - arguably easier debugging than Idle as it allows the use of breakpoints and "step over", "step into" handling
FugroViewer  - Fantastic program for viewing LIDAR data saved in LAS files. It has 2D, 3D and profile view. You can symbolize dots with all attributes stored in LAS files along with RGB colors.
Notepad++  as well as the extra settings from TWIAV.nl  especially the code highlighting. Came in very handy after changing server structures as all our .wor files were broken. One short find and replace later and everything works!
Self-link, but TileMill  is very useful for exploring geodata, making pretty maps, doing analysis, etc. It's mainly for the presentation and exploration steps, while the heavy-lifting of analysis can be done in QGIS or similar.
Whitebox Geospatial Analysis Tools (http://www.uoguelph.ca/
hydrogeo/Whitebox/) is an open-source GIS and remote sensing package that has extensive analytical capabilities. It runs on MS Windows, Mac OSX, and Linux. It has a user-friendly and intuitive user interface, extensive embedded help, and the ability to make cartographically pleasing maps.
You can use : ArcGIS Explorer
- Access ready-to-use ArcGIS Online basemaps and layers.
- Fuse your local data with map services to create custom maps.
- Add photos, reports, videos, and other information to your maps. Perform spatial analysis (e.g., visibility, modeling, proximity search).
Nobody mentioned about proj.4 
Proj.4  is an open source cartographic projection library and tool that works hidden in the most of desktop gis, spatial databases and gis service software (web stuff). You can use it also very effective at the command line and beside of geotrans  (which has military roots) it is IMO the open source tool to transform cooordinates between geodetic/geographic notations and has the possibility to use abstract datum description (like +datum=UTM +zone=32) or numbers like EPSG (+init=epsg:32632) as well as complex coordinate system descriptions like the Swiss Oblique Mercator Projection:
I'll add TileMill  to the list. It's an easy way to put map on the web. Mapbox have a free plan that can do for most small users.
I must have missed it, but PostgreSQL/PostGIS is a must too!
soapUI  is a really good tool for testing SOAP and REST web services. It's designed more for building extensive test suites, but it's also a fairly quick way to run simple one-off calls to your web services.
My only contributions to the list (you've got most of the bases covered!) are:
Hard to add much to this comprehensive list, but for web map development you might look at FlashDevelop for Flash/Flex/AIR (Windows only) and Aptana Studio 3 for Javscript etc.
If you want to work with SONAR data SonarWave Lite  is a free solution. It was referenced on this thread  on GIS SE.
GPSBabel  to convert waypoints, tracks, and routes between popular GPS receivers and mapping programs.
TatukGISViewer  is great for quick viewing of raster and vector files. I work with both ESRI and MapInfo which forces me to do tons of converting .tabs to .shps or the other way around. Tatuk is great because it handles both formats, just drag-and-drop and they all show up nicely. It also truly shows the geographic location of the data if two datasets have different coordinate systems (I don´t like ESRIs automatic compensationing).
I don't think anyone here has mentioned CartoDB  which is a cloud based GIS tool for visualizing and analyzing geospatial data. Your data is automatically imported into a postGIS database allowing for complex SQL queries. It also has a robust set of tools to style your data (including Carto CSS  ), and you may choose base maps from other services such as MapBox.
I saw a few people mention TileMill but don't believe I saw anyone mention MapBox  , the company that created TileMill and is doing some really awesome work with OpenStreetMap data and cloud based GIS. Both MapBox and CartoDB have free account options.
Speaking of OpenStreetMap  , I don't think anyone mentioned that as a very good free/open-data source. The data is under an opendb license. Here are a few places to grab shapefile data from OSM:
Here it is another solution: Geobide SDK  a set of components for the development of gis professional applications. Free versions of the tools are available.
Geomap  , System for viewing, editing and analysis [Geoconverter], geodetic reference systems and geographic formats converter: Converts formats, ipdate fields. (available in English) [Geobuilder], solution for the design and execution of diagrams of geoprocessing. (available in English) [Geobridge], plug-in for access to CAD/GIS data from Autocad, Microstation, ArcGIS.
This free and open-source tool is awesome for cleaning up messy data. I typically use it for fairly simple operations like concatenation, trimming, replacing one character with another, removing spelling mistakes, etc.
One of my most common use cases is grouping similar items via the clustering tools  . This is great for finding spelling mistakes or abbreviation problems (e.g. Road, road, rode, rd, rd.) and changing them all to a single correct value.
Having clean data makes database operations and definition queries MUCH simpler to perform. You can even "record" the operations you've performed on a set of data for reuse on the next bit of messy data you encounter.
I don't use anywhere near the full potential of this software, but I find it easy to pick up and use for the simple tasks I've described. Here are some screencasts  that touch on some of the more advanced operations. Oh yeah, you can also use it for geocoding  !
The project has moved from HERE  to GitHub  .
Here's what the ReadMe says:
OpenRefine is a power tool that allows you to load data, understand it, clean it up, reconcile it internally, and augment it with data coming from Freebase or other web sources. All with the comfort and privacy of your own computer.
Tthe FREE Double CAD XT  is an AutoCAD LT-like program with more features then AutoCAD LT, simpler interface. Excellent for those GIS folks that have to interact with a lot of CAD data. Double CAD XT also claims excellent support for Sketchup - might be a good tool for those looking to integrate GIS, CAD & SketchUp data.
Which offers some great tools and features for statistical and spatial analysis.
GeoDa also offers a great lightweight GIS for viewing spatial data, creating box-charts and other graphs, as well as editing tabular data:
The ability to create city/province/country shapefiles of your data with the click of a button (instead of a lot of technical and manual work) is certainly something every GIS-user would want.
Therefore I suggest my own free/independently created software called "Easy Georeferencer" which is simple, easy to use, and yet powerful (see screenshot at the bottom of the post).
The program is simple and straight-forward to use, and is run directly from an exe file requiring no installation. You can choose to geocode between the GNS or GeoNames datasource, and you can do what no other geocoder so far can do, geocode provinces based on the GADM administrative units database, as well as geocode historical country borders from the CShapes dataset. The only caveat is that it does not geocode address data. All outputs come as shapefiles ready for immediate visualization/analysis in a GIS.
As far as regards efficiency and handling of large data, the program has been tested to geocode 100 000 records in only 3 hours. For larger datasets the expected increase in processing time should drop curvilinearly because much of the processing time goes only to the initial phase when the country reference datasets are loaded, but picks up afterwards. Also, one does not have to worry about internet bottle-necks or connectivity issues when geocoding large datasets because the software, reference datasets, and processing are all based on the local computer. Match rates can get up to 80-90 percent because it is based on fuzzy-name matching accounting for spelling differences.
More details, including an introductory paper and beginner's guide are included in the download package. No need to be hesitant about trying it, the program is just a simple file that you can place and run on your desktop without any commitment or cluttering of your computer.
For doing computational geometry (COGO) work -- i.e., calculations involving plane coordinates and angles and distances -- Copan  is a great tool, I've used it a lot (but I was also a developer).
The above represents only one of the functions of Copan. There are other tasks -- such as coordinates transformation and map boundary closure checking, that land surveyors and civil engineers find useful -- available in Copan.
For file management that goes beyond windows explorer, it's hard to beat eXtreme from http://textmode.cwahi.net/
for quick viewing of shapefiles, where you can see the shape and the attributes table, I use Mapbrowser from http://www.vdstech.com/mapbrowser.htm
For renaming multiple files I use http://www.fastfilerenamer.com/
Everything  , quickly find any file in your computer.
Evernote  , remember everything of life.
I love PicPick  for Windows for image capture/quick editing and on-screen measurements, it includes a screenshot capture utility, an on-screen protractor, pixel ruler, color picker, and more. The current version (3.1.7) is free for personal use only. The last version that was free for all uses is 2.1.5, I use that version daily and very rarely does it give me any problems.
Another handy link is http://www.321download.com/LastFreeware/index.html, which has downloads of the last freeware versions of some popular programs that later became shareware or commercial software. I don't think it's updated anymore but the download links still work.
I am working with Rasterdata a lot, DEMs and Orthofotos so I have a bunch of basic tools I need to handle them
- Landserf  is great for quickviewing DEMs, create Hillshades, Slope, Aspects, Profiles, and to convert to other formats (ASCII Grid to XYZ for example). A good alternative is GridConvert
- I use TotalCommander  to manage thousands of files,renaming them (create worldfiles and renaming them to fit to tifs for example)
- Since ER Mapper is ERDAS now its hard to get, but free ECW Compressor and ECW Header Editor are still better (in compressing images) than GDAL with the ECW SDK linked. Lucky you if you still have the setups.
- Already said here, that Irfan View  is one of the best Image Viewing and processing tools out there
Here are a couple of web-based tools for entry-level GIS users:
Inquiron  has a free online file converter for shp/xls/csv/gpx/dxf/kml to kml with more content being added. It's a simple process of just dragging and dropping the file into the relevant box - if you're using Chrome the file will automatically download.
There's also Mapsdata  which lets you load geodata from xls/csv to view as pins, heatmaps, bubble maps, cluster maps, all of which can be colored, made transparent, etc. They have auto export to png and iframe.
Both of those are geared towards the novice or lite GIS user and aren't designed to detract from QGIS, etc.
Bulk Rename Utility is a great program that can do a lot of renaming and custom naming for data sources without the need of scripting. Data is an absolute for GIS individuals, and having access to free data is a great tool to have. I regularly use geobase.ca, geogratis.gc.ca and ESDI at the Global Land Cover Facility to get a range of raster and vector products.
Its a nice tools published by the developers to analyse the map documents and data. It will help you identify which layers needs to simplified so that they can be loaded faster if you have huge datasets with large number of vertices.
HDFview  is geared for use with satellite data or climate model output that often comes in hierarchical data formats or netcdfs, but it's one of those things like a good text editor (ex. notepad++ or vim), where once you come across certain file types you need this tool to get a first look at them and understand how things are structured. It's not really meant for much more than getting a first look at the data and its metadata, but it will also do some basic plots and mapping and is easy to use.
This is a production release. Please report any bugs you encounter.
We currently support these formats for download:
The source tarballs are signed with Benjamin Peterson's key (fingerprint: 12EF 3DC3 8047 DA38 2D18 A5B9 99CD EA9D A413 5B38). The Windows installer was signed by Martin von Löwis' public key, which has a key id of 7D9DC8D2. The Mac installers were signed with Ronald Oussoren's key, which has a key id of E6DF025C. The public keys are located on the download page.
MD5 checksums and sizes of the released files:
|||The binaries for AMD64 will also work on processors that implement the Intel 64 architecture (formerly EM64T), i.e. the architecture that Microsoft calls x64, and AMD called x86-64 before calling it AMD64. They will not work on Intel Itanium Processors (formerly IA-64).|
The Python Software Foundation is the organization behind Python. Become a member of the PSF and help advance the software and our mission.