Giter VIP home page Giter VIP logo

pysal_narsc_2015's Introduction

Spatial Data Analysis with PySAL and GeoDaSpace

Sergio Rey and Luc Anselin

November 11, 2015

NARSC 2015, Portland, Oregon

Tutorial Description

A unique feature of this tutorial is the use of Python based software tools for spatial data analysis. Python is an object oriented scripting language that is gaining rapid adoption in the scientific computing and data science communities. To facilitate its adoption within the GIScience community, Rey and Anselin have collaborated on the creation of PySAL: Python Library for Spatial Analysis. Since its initial release in July 2010, PySAL has been downloaded over 75,000 times and is now included in well- known open source scientific data analysis distributions, such as Anaconda. This two-part tutorial will introduce participants to the latest version of PySAL as well as to GeoDaSpace, a GUI application based on PySAL designed for spatial econometric analysis. The first component introduces the basic organization and philosophy of PySAL, with a special focus on exploratory spatial data analysis. In the second part of the tutorial the focus moves to practical spatial regression analysis using GeoDaSpace and the PySAL spreg module.

Prerequisites

  • Previous experience with Python programming is recommended
  • Participants should bring their own laptops to the workshop
  • Software should be installed prior to traveling to the workshop (instructions below)

Software Requirements

For the workshop we will require the following packages be installed

  • PySAL 1.10.0
  • SciPy
  • Numpy
  • iPython
  • ipywidgets
  • jupyter
  • matplotlib
  • pandas
  • folium
  • GeoDaSpace

There are a number of ways to install PySAL and these dependencies. For the workshop, if you do not yet have the dependencies installed we suggest using one of two scientific Python distributions (below). These have the advantages of including most of the dependencies for PySAL as well as PySAL itself. Moreover, both allow for updating PySAL to the most recent release (1.10 released July 31, 2015) which is more current that what is listed in either distribution. Both of these distributions also allow for installation of our final dependency, folium.

PySAL via Anaconda Python Distribution

  1. Install Anaconda Python Distribution
  2. Open a terminal (Mac or Linux) or Powershell (Windows)
  3. pip install -U pysal
  4. pip install -U folium

Creating a Custom Conda Environment

If you already have Anaconda installed and you did not want to modify your default environemnt, you can create a custom conda environment for this session using the following commands:

  1. conda create -n pysal110 scipy matplotlib jupyter ipython pandas ipywidgets
  2. source activate pysal110
  3. pip install -U pysal
  4. pip install -U folium

When you are done working in this environment, you can get back to your default environment with:

source deactivate

PySAL via Enthought Canopy

Note that the Academic version of Canopy comes with PySAL version 1.7. For this workshop we will be using PySAL 1.10. Upgrading in Canopy can be done as follows:

  1. Install Canopy
  2. Run Canopy
  3. From the menu select Tools Canopy Terminal
  4. pip install -U pysal
  5. pip install -U folium

Testing Your Installation

Once you have installed all the dependencies, you can check to confirm everything is ready to go.

For Anaconda:

  1. Open a terminal (Mac or Linux) or Powershell (Windows)
  2. ipython notebook
  3. In the browser click New Notebook
  4. In the first cell in the notebook enter
    import pysal pysal.version Then <Shift-Enter> (i.e., hit the Shift then the Enter Key)
  5. In the second cell in the notebook enter
    import folium Then <Shift-Enter>
  6. In the third cell enter !which python Then <Shift-Enter>

Your screen should look something like: Anaconda setup

For Enthought Canopy:

  1. Run Canopy
  2. From the menu select Tools Canopy Terminal
  3. ipython notebook
  4. In the browser click New Notebook
  5. In the first cell in the notebook enter
    import pysal pysal.version Then <Shift-Enter> (i.e., hit the Shift then the Enter Key)
  6. In the second cell in the notebook enter
    import folium Then <Shift-Enter>
  7. In the third cell enter !which python Then <Shift-Enter>

Your screen should look something like: Enthought setup

Issues

If you run into any problems, double check that you have installed both the upgraded version of PySAL and folium (see above). If problems persist, please contact me [email protected].

pysal_narsc_2015's People

Contributors

sjsrey avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.