Git Product home page Git Product logo

gis-py-r's Introduction

GIS with R, Python, and other Web Mapping Tools

Overview

This repository will contain examples on using R, Python, and other open-source tools to complete common and niche spatial operations using code, scripts, and APIs. My past professional experience primarily used ESRI ArcGIS with some ArcPy but access to ESRI software is a large financial burden that is difficult to justify for most organizations. I've found that both R and Python can complete nearly all of the same tasks that ESRI software can for substantially less money with some research and experience with progamming. In many cases, R/Python can perform tasks ESRI software cannot on its own and can be used to extend ArcGIS apps or QGIS software with new functionality. I've found several individual R and Python resources to be extensive yet limited in scope whereas my work typically involves niche cases that aren't typically found in books. I'll be adding material over time here with R and Python examples that cover most of my previous frustrations.

Basics

>Data Import, Export, and Utilizing Web APIs
  • Importing the variety of common spatial data formats into R
  • Vector vs Raster in R
  • JSON, .shp, .csv, other vector formats
  • .img, .tif, other raster formats
  • Accessing spatial data web services via APIs (REST, SQL databases, etc.)
Spatial Metadata
  • Examining spatial metadata
  • Reprojecting spatial coordinates
Spatial Data Management
  • Reducing spatial data file size
  • Joining non-spatial tables to spatial data
  • Exporting spatial data from R
Spatial Data Processing
  • Cleaning up data for spatial data processing
  • Combining datasets that use multiple projections
  • Subsetting data by geographic location
  • Geoprocessing i.e. Union, merge, intersect, buffer, extract, and other common spatial tasks in R

Analysis, Statistics, and Advanced Tools

Spatial Analysis
  • Calculating new fields based on spatial information
  • Using geoprocessing tools to derive insights
  • Working with topologies and networks
Spatial Statistics
  • An introduction to spatial statistics and fundamental assumptions
  • Autocorrelation
  • Regression
  • Point Patterns
  • Interpolation
Machine Learning
  • Image segmentation and classification
  • Neural Networks
  • Prediction/Forecasting
  • Data Mining

Mapping and Reporting

Static Maps
  • Creating maps for reports
  • Creating large maps for printing
  • Creating basemaps for other spatial applications
Interactive Maps
  • Leaflet
    • Leaftlet API in R
    • Leaflet API in Python
  • ArcGIS Online (Free)
  • Mapbox
  • R Markdown, Flexdashboard, and Shiny
Reproducible Reports
  • Scripting GIS Reports in R
  • Iterative Report Generation in R
  • Iterating Output Dataset Generation in R

GIS Development and Extending Existing Software

GIS Development using R/Python
  • Help with spatial math and translating methods to code
  • R Packages
  • Python Packages
  • Creating tools for QGIS
  • Creating tools for ArcGIS
  • Creating tools for use in other programming languages

GIS Databases and Servers

Creating GIS Servers and Databases
  • Introduction to GIS Web Servers
  • Introduction to spatial databases
  • Creating a basic Web Server
  • Creating a basic API for a Web Server

gis-py-r's People

Contributors

skylerelmstrom 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.