Saturday, April 29, 2017

How do I do that in ArcGIS and QGIS - Learn both ArcGIS and QGIS Simultaneously

According to WikiPedia, there are two major categorization of Desktop GIS software namely:-
1- Commercial or Proprietary GIS software
2- Open Source GIS software

Over the years, the leading Desktop GIS software for the two categories above are ESRI ArcGIS and QGIS.

In this blog post, I will show you how to do basic GIS operations in both ArcGIS and QGIS. If you are interested in knowing the difference between the two software, here are some interesting articles on the internet I have found:-
a) QGIS v ArcGIS
b) 27 Differences Between ArcGIS and QGIS – The Most Epic GIS Software Battle in GIS History
c) ArcGIS vs QGIS – 10 Most Important Differences Between ArcGIS and QGIS
d) How does ESRI ArcGIS (proprietary) compare with Quantum GIS (QGIS) (open source)?
e) GIS lounge - QGIS versus ArcGIS

So, this post isn't about which is the best GIS software, instead it will address common questions in the form of "How do I do that in ArcGIS and QGIS". I will go over how you can perform some of the very basic GIS tasks in both ArcGIS and QGIS, and you will decide at the end which software approach is easier and better for you.

Along the way, you will be learning both ArcGIS and QGIS software simultaneously.

Lets get started...




Sunday, April 23, 2017

Installing wxPython on Python 3.x

Few years ago I wrote this blog post on "How to install wxPython (Phoenix) on Python 3.x". Since then, a lot has happened including the release of "wxPython 4.0.0a1"


So, today I decided to install the latest alfa release on my python 3 anaconda setup. I went to wx PyPi url downloaded the wheel file locally and ran: pip install wheel_file_name to install successfully as seen below.



I tested the installation, by importing wx and it work perfectly.



Congrats WX is now officially on python 3

Monday, April 10, 2017

Cleaning big data CSV file with Python

Hello there,

I know I can open a CSV file in a spreadsheet software like MS Excel or a text editor like NotePad++ and edit/clean its contents (by removing unwanted contents).

In a situation where by the CSV file is very big (big data - it contains millions of rows and columns), if you try to open such file in a spreadsheet software or a text editor there is possibility of memory error from the software you are using as seen in the image below. This excel error says: "File not loaded completely", the file appeared to be beyond MS excel capabilities.



This is where using a data oriented language such as Python comes in handy. Python pandas module can efficiently load/open and process such heavy duty big data files without much difficulties.

Saturday, April 1, 2017

Windows PostgreSQL installation Error - Unable to write inside TEMP environment variable path

Here is the solution to the "PostgreSQL installation Error - Unable to write inside TEMP environment variable path" on windows PC.

I downloaded the latest version of PgAdmin4 for PostgreSQL 9.6 from EnterpriseBD. When I tried to install it, I got this error massage: There has been an error, Unable to write inside TEMP environment variable path.




Solution to the Error


Now, to solve this error on your windows machine proceed as follow:-
1- Locate your windows sytem32 folder at: C:\Windows\System32



2- Inside the folder, find regedt32.exe file and run/open it


3- Navigate to this folder: HKEY_CURRENT_USER >> Software >> Microsoft >> Windows Script Host >> Settings



4- Right click on the "Enable" icon and select "Modify"



5- Change"Value Data" from 0 to 1 and click on "OK"



6- Close the Registry Editor and you are done.



Thanks for following.

Python break, continue and pass within Try... Except block

Hello there,

When using loops in python, there are situations when an external factor may influence the way your program runs.  You may want your program to exit a loop completely, skip part of a loop before continuing, or ignore that external factor. You can do these actions with break, continue, and pass statements respectively.

The "pass" statement is a no-operation (meaning that it doesn't do anything). The program just continues to the next statement, which is why you get an error.

The "break" statement exits the loops and continues running from the next statement immediately after the loop. In this case, there are no more statements, which is why your program terminates.

The "continue" statement restarts the loop but with the next item.

Sample Code

for letter in 'Python':
   if letter == 'h':
      break # continue pass
   print ('Current Letter :', letter)


Testing the above code for: break, continue and pass will yield different results as seen below:-





If we introduce a "Try ... Except" block and intentionally call an error, only pass will print the error statement at the end of the block statement.




Thanks for reading.