{"id":26707471,"url":"https://github.com/ceholden/open-geo-tutorial","last_synced_at":"2025-04-06T19:12:04.914Z","repository":{"id":19402212,"uuid":"22643915","full_name":"ceholden/open-geo-tutorial","owner":"ceholden","description":"Tutorial of basic remote sensing and GIS methodologies using open source software (GDAL in Python or R)","archived":false,"fork":false,"pushed_at":"2019-08-10T03:31:17.000Z","size":29080,"stargazers_count":249,"open_issues_count":5,"forks_count":291,"subscribers_count":31,"default_branch":"master","last_synced_at":"2025-03-27T06:33:06.635Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ceholden.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-05T13:11:04.000Z","updated_at":"2025-03-26T19:21:25.000Z","dependencies_parsed_at":"2022-07-27T00:32:07.458Z","dependency_job_id":null,"html_url":"https://github.com/ceholden/open-geo-tutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceholden%2Fopen-geo-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceholden%2Fopen-geo-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceholden%2Fopen-geo-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceholden%2Fopen-geo-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ceholden","download_url":"https://codeload.github.com/ceholden/open-geo-tutorial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247535517,"owners_count":20954576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-27T06:29:20.493Z","updated_at":"2025-04-06T19:12:04.891Z","avatar_url":"https://github.com/ceholden.png","language":"HTML","funding_links":[],"categories":["Training and learning"],"sub_categories":["Testing your code"],"readme":"Open Source Geoprocessing Tutorial\n==================================\n\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\"\u003e\n\u003cimg\n    alt=\"Creative Commons License\"\n    style=\"border-width:0\"\n    src=\"https://i.creativecommons.org/l/by-sa/4.0/80x15.png\" /\u003e\n\u003c/a\u003e\u003cbr /\u003e\n\u003cspan xmlns:dct=\"http://purl.org/dc/terms/\" property=\"dct:title\"\u003e\u003c/a\u003e\n\n# UPDATE\nCheck out an updated and extended version of this tutorial written by @patrickcgray. It's amazing and uses more \"Pythonic\" `rasterio`/`fiona`/`shapely` libraries instead of `GDAL`/`OGR`/`OSR` directly. It's amazing!\n\n[patrickcgray/open-geo-tutorial](https://github.com/patrickcgray/open-geo-tutorial)\n\n# Introduction\nTutorial of basic remote sensing and GIS methodologies using open source\nsoftware (GDAL in Python). Tutorial covers workflow to perform image\nclassification using machine learning classifiers:\n\n0. Introduction\n   [[Python](http://ceholden.github.io/open-geo-tutorial/python/chapter_0_introduction.html)]\n[[R](http://ceholden.github.io/open-geo-tutorial/R/chapter_0_introduction.html)]\n1. The GDAL datatypes and objects\n   [[Python](http://ceholden.github.io/open-geo-tutorial/python/chapter_1_GDALDataset.html)]\n[[R](http://ceholden.github.io/open-geo-tutorial/R/chapter_1_GDAL.html)]\n2. Your first vegetation index\n   [[Python](http://ceholden.github.io/open-geo-tutorial/python/chapter_2_indices.html)]\n[[R](http://ceholden.github.io/open-geo-tutorial/R/chapter_2_indices.html)]\n3. Visualizing data\n   [[Python](http://ceholden.github.io/open-geo-tutorial/python/chapter_3_visualization.html)]\n[[R](http://ceholden.github.io/open-geo-tutorial/R/chapter_3_visualization.html)]\n4. Vector data - the OGR library\n   [[Python](http://ceholden.github.io/open-geo-tutorial/python/chapter_4_vector.html)]\n[[R](http://ceholden.github.io/open-geo-tutorial/R/chapter_4_vector.html)]\n5. Land cover classification\n   [[Python](http://ceholden.github.io/open-geo-tutorial/python/chapter_5_classification.html)]\n[[R](http://ceholden.github.io/open-geo-tutorial/R/chapter_5_classification.html)]\n\n\n# Download\n\nMaterials and data for these lessons are included inside this repository under\nthe `example` folder. I would recommend downloading all of the lesson material\nat once, instead of downloading individual files.\n\nTwo ways to download the entire repository include:\n\n* Use `git` to `clone` the repository (recommended)\n    * [Instructions](https://help.github.com/articles/cloning-a-repository/)\n* Downloading and extracting a ZIP file of the 'master' branch\n    * [Download link](https://github.com/ceholden/open-geo-tutorial/archive/master.zip)\n\nA caution:\n\n\u003e Be careful trying to \"right-click\" and save files from repositories on\n\u003e Github, because this will save a HTML file linking to the file instead of\n\u003e the file itself. This has been a common source of confusion among people,\n\u003e especially if they are new to Github. It is possible to download individual\n\u003e files from a Github repository website, and can be done by clicking on a\n\u003e file listed on the repository site, and then clicking the \"Download\" button\n\u003e at the top right of the next web page (also next to the \"History\" button).\n\n\n# R Installation\n\nThe following R libraries will be needed for this tutorial:\n\n- `raster`\n- `rgdal`\n- `sp`\n- `randomForest`\n\nInstall them from within R as follows:\n\n``` r install.packages(c('raster', 'rgdal', 'sp', 'randomForest')) ```\n\n# Python Installation\n\nThanks to the lovely people at [binder](http://mybinder.org/), you can try\nrunning the lessons on their servers via magic:\n\n[![Binder](http://mybinder.org/badge.svg)](http://mybinder.org/repo/ceholden/open-geo-tutorial)\n\nTo run the Jupyter Notebooks (formerly known as IPython Notebooks) and follow\nthe tutorial locally, you will need to install Python and the libraries used in\nthe tutorials. This installation can be accomplished in many ways, but I will\nlist the two most common approaches:\n\n### conda\n\nI recommend using the [Anaconda](http://conda.pydata.org/docs/) Python\ndistribution to make installation of the tutorial dependencies less complicated.\nAfter [installing Anaconda or \"miniconda\" by following their\ninstructions](http://conda.pydata.org/docs/install/quick.html), you can install\nthe dependencies as follows:\n\n``` bash\nconda env create -f environment.yml\nsource activate open-geo-tutorial\n```\n\n### pip\n\nAssuming you already have Python installed, you could use the the Python package\nmanager, [pip](https://en.wikipedia.org/wiki/Pip_(package_manager)), to install\nthe dependencies.\n\nFollowing \"pip\" convention, you can find all package requirements in the\n`requirements.txt` file. I would also recommend installing these packages into a\nvirtual environment to avoid conflicts with existing versions of the required\nPython packages. To isolate these dependencies from the rest of your system, use\n[virtualenv](https://virtualenv.pypa.io/en/latest/installation.html):\n\n``` bash\n# Create virtual environment to isolate dependencies\nvirtualenv venv\n# Activate virtual environment\nsource venv/bin/activate\n# Install dependencies pip\ninstall -r requirements.txt\n```\n\nYou will need to have GDAL installed for Python to build the drivers against.\nYou may have the Python bindings already built as part of GDAL's installation\nprocess.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceholden%2Fopen-geo-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fceholden%2Fopen-geo-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceholden%2Fopen-geo-tutorial/lists"}