diff --git a/.readthedocs.yml b/.readthedocs.yml
new file mode 100644
index 0000000..c5587fb
--- /dev/null
+++ b/.readthedocs.yml
@@ -0,0 +1,19 @@
+# Read the Docs configuration file for MkDocs projects
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+
+# Required
+version: 2
+
+# Set the version of Python and other tools you might need
+build:
+ os: ubuntu-22.04
+ tools:
+ python: "3.11"
+
+mkdocs:
+ configuration: mkdocs.yml
+
+# Optionally declare the Python requirements required to build your docs
+python:
+ install:
+ - requirements: docs/requirements.txt
diff --git a/docs/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..deb3b69
--- /dev/null
+++ b/docs/CODE_OF_CONDUCT.md
@@ -0,0 +1,137 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+We as members, contributors, and leaders pledge to make participation in our
+community a harassment-free experience for everyone, regardless of age, body
+size, visible or invisible disability, ethnicity, sex characteristics, gender
+identity and expression, level of experience, education, socio-economic status,
+nationality, personal appearance, race, caste, color, religion, or sexual
+identity and orientation.
+
+We pledge to act and interact in ways that contribute to an open, welcoming,
+diverse, inclusive, and healthy community.
+
+## Our Standards
+
+Examples of behavior that contributes to a positive environment for our
+community include:
+
+* Demonstrating empathy and kindness toward other people
+* Being respectful of differing opinions, viewpoints, and experiences
+* Giving and gracefully accepting constructive feedback
+* Accepting responsibility and apologizing to those affected by our mistakes,
+ and learning from the experience
+* Focusing on what is best not just for us as individuals, but for the overall
+ community
+
+Examples of unacceptable behavior include:
+
+* The use of sexualized language or imagery, and sexual attention or advances of
+ any kind
+* Trolling, insulting or derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or email address,
+ without their explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Enforcement Responsibilities
+
+Community leaders are responsible for clarifying and enforcing our standards of
+acceptable behavior and will take appropriate and fair corrective action in
+response to any behavior that they deem inappropriate, threatening, offensive,
+or harmful.
+
+Community leaders have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, and will communicate reasons for moderation
+decisions when appropriate.
+
+## Scope
+
+This Code of Conduct applies within all community spaces, and also applies when
+an individual is officially representing the community in public spaces.
+Examples of representing our community include using an official e-mail address,
+posting via an official social media account, or acting as an appointed
+representative at an online or offline event.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported to the community leaders responsible for enforcement, Noah Fahlgren
+[nfahlgren@danforthcenter.org](mailto:nfahlgren@danforthcenter.org) and
+Malia Gehan [mgehan@danforthcenter.org](mailto:mgehan@danforthcenter.org).
+Alternatively, information about contacting the Danforth Center Human Resources
+department (including anonymous reporting) can be found at
+[https://www.danforthcenter.org/about-us/accountability/][accountability].
+All complaints will be reviewed and investigated promptly and fairly.
+
+All community leaders are obligated to respect the privacy and security of the
+reporter of any incident.
+
+## Enforcement Guidelines
+
+Community leaders will follow these Community Impact Guidelines in determining
+the consequences for any action they deem in violation of this Code of Conduct:
+
+### 1. Correction
+
+**Community Impact**: Use of inappropriate language or other behavior deemed
+unprofessional or unwelcome in the community.
+
+**Consequence**: A private, written warning from community leaders, providing
+clarity around the nature of the violation and an explanation of why the
+behavior was inappropriate. A public apology may be requested.
+
+### 2. Warning
+
+**Community Impact**: A violation through a single incident or series of
+actions.
+
+**Consequence**: A warning with consequences for continued behavior. No
+interaction with the people involved, including unsolicited interaction with
+those enforcing the Code of Conduct, for a specified period of time. This
+includes avoiding interactions in community spaces as well as external channels
+like social media. Violating these terms may lead to a temporary or permanent
+ban.
+
+### 3. Temporary Ban
+
+**Community Impact**: A serious violation of community standards, including
+sustained inappropriate behavior.
+
+**Consequence**: A temporary ban from any sort of interaction or public
+communication with the community for a specified period of time. No public or
+private interaction with the people involved, including unsolicited interaction
+with those enforcing the Code of Conduct, is allowed during this period.
+Violating these terms may lead to a permanent ban.
+
+### 4. Permanent Ban
+
+**Community Impact**: Demonstrating a pattern of violation of community
+standards, including sustained inappropriate behavior, harassment of an
+individual, or aggression toward or disparagement of classes of individuals.
+
+**Consequence**: A permanent ban from any sort of public interaction within the
+community.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage],
+version 2.1, available at
+[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
+
+Community Impact Guidelines were inspired by
+[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
+
+For answers to common questions about this code of conduct, see the FAQ at
+[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
+[https://www.contributor-covenant.org/translations][translations].
+
+[homepage]: https://www.contributor-covenant.org
+[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
+[Mozilla CoC]: https://github.com/mozilla/diversity
+[FAQ]: https://www.contributor-covenant.org/faq
+[translations]: https://www.contributor-covenant.org/translations
+[accountability]: https://www.danforthcenter.org/about-us/accountability
diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md
new file mode 100644
index 0000000..f08fe8d
--- /dev/null
+++ b/docs/CONTRIBUTING.md
@@ -0,0 +1,14 @@
+# Contrbution to PlantCV-Geospatial
+
+!!! note
+ PlantCV-Geospatial is an add-on package to PlantCV so please first refer to the main package's [contributing guide](https://plantcv.readthedocs.io/en/latest/CONTRIBUTING/) for the majority of the information on what and how to contribute to either project (including but not limited to reporting bugs, requesting new features, add/revise documentation, and adding tutorials).
+
+## Overview Of What To Contribute to PlantCV-Geospatial vs. Other Packages
+
+This document aims to give an overview of what to contribute to PlantCV-Geospatial, and guidelines to
+decide which repository is the most appropriate place for new features. Please
+[create an issue in GitHub](https://github.com/danforthcenter/plantcv-geospatial/issues) assuming one
+does not already exist.
+
+Functions in the Geospatial toolbox are specific to UAV, satellite, and other types of
+georeferenced data.
diff --git a/docs/changelog.md b/docs/changelog.md
new file mode 100644
index 0000000..820a7f1
--- /dev/null
+++ b/docs/changelog.md
@@ -0,0 +1,3 @@
+## Changelog
+
+All notable changes to this project will be documented below.
diff --git a/docs/documentation.md b/docs/documentation.md
new file mode 100644
index 0000000..e7a995c
--- /dev/null
+++ b/docs/documentation.md
@@ -0,0 +1,18 @@
+## Documentation
+
+PlantCV-Geospatial documentation is hosted on [Read the Docs](https://readthedocs.org/).
+Using Read the Docs allows the documentation to be versioned along with
+the code. Because Read the Docs supports static content build tools like
+[Mkdocs](http://www.mkdocs.org/), documentation can be written in simple
+Markdown format that will be built into HTML automatically whenever a
+new version of code is pushed to the PlantCV GitHub repository.
+
+### Updating PlantCV documentation
+
+Follow the [installation guide](installation.md#installing-plantcv-geospatial-for-contributors) to learn how clone a copy of the PlantCV-Geospatial
+repository. Then see the main PlantCV [contributing guide](https://plantcv.readthedocs.io/en/latest/CONTRIBUTING/) for an overview on how to edit files, and generate a `pull` request to merge your updates back into the repository. Changes to PlantCV-Geospatial should be done in a branch, and pull against the
+`main` branch which corresponds to the `latest` version of the documentation on Read the Docs.
+
+PlantCV-Geopspatial is an add-on package to compliment functionality of
+[PlantCV](https://plantcv.org) so please refer to the
+[updating guide here](https://plantcv.readthedocs.io/en/latest/documentation/).
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 0000000..e3bb0be
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,26 @@
+# Welcome to the documentation for PlantCV-Geopspatial
+
+## Overview
+
+[PlantCV-Geospatial](https://github.com/danforthcenter/plantcv-geospatial) is composed of modular functions in order to be applicable to a
+variety of plot designs and imaging systems. In the following documentation we will describe use of each function and
+provide tutorials on how each function is used in the context of an overall image-processing workflow. Development of
+PlantCV-Geospatial is ongoing---we encourage input from the greater plant phenomics community. Please post questions and comments
+on the [GitHub issues page](https://github.com/danforthcenter/plantcv-geospatial/issues).
+
+## Getting started
+
+The documentation can be navigated using the sidebar table of contents. Documentation for individual PlantCV-Geospatial functions
+are listed under the headings "PlantCV-Geospatial Namespace". For general information on installation,
+updating, and other questions, see:
+
+* [Installing PlantCV-Geospatial](installation.md)
+
+## Contributing
+
+If you are interested in contributing to PlantCV-Geospatial, please see:
+
+* [Code of Conduct](CODE_OF_CONDUCT.md)
+* [PlantCV-Geospatial Contributing Guide](CONTRIBUTING.md)
+
+[Return to the PlantCV homepage](https://plantcv.org)
diff --git a/docs/installation.md b/docs/installation.md
new file mode 100644
index 0000000..7e95021
--- /dev/null
+++ b/docs/installation.md
@@ -0,0 +1,32 @@
+## Installation
+
+### Table of contents
+1. [Supported platforms and dependencies](#dependencies)
+2. [Install via a package manager](#install)
+3. [Installing PlantCV-Geospatial for contributors](#contributors)
+
+### Supported platforms and dependencies
+- Linux 64-bit, x86 processors
+- macOS x86 (Intel) and M (ARM) processors
+- Windows 64-bit, x86 processors
+
+First, you must have PlantCV installed, which requires Python and these [Python packages](https://github.com/danforthcenter/plantcv/blob/main/requirements.txt). Follow one of the methods for [PlantCV Installation](https://plantcv.readthedocs.io/en/latest/installation/) and then continue with the instructions below to add PlantCV-Geospatial to your environment.
+Additionally, we recommend installing [JupyterLab](https://jupyter.org/).
+
+### Install via a package manager
+[PyPi](https://pypi.org/) installation (after [PlantCV Installation](https://plantcv.readthedocs.io/en/latest/installation/#conda)):
+
+```bash
+# Activate the plantcv environment (you will have to do this each time you start a new session)
+conda activate plantcv
+# Install plantcv-geospatial in editable mode so that it updates as you work on new features/updates
+git clone https://github.com/danforthcenter/plantcv-geospatial.git
+cd plantcv-geospatial
+pip install -e .
+```
+
+### Installing PlantCV-Geospatial for contributors
+Before getting started, please read our [contributor guidelines](CONTRIBUTING.md) and [code of conduct](CODE_OF_CONDUCT.md).
+
+You can follow the [PlantCV Installation for Contributor Guide](https://plantcv.readthedocs.io/en/latest/installation/#contributors) and then continue with the instructions above to add PlantCV-Geospatial to
+your development environment.
diff --git a/docs/read_geotif.md b/docs/read_geotif.md
new file mode 100644
index 0000000..d49898a
--- /dev/null
+++ b/docs/read_geotif.md
@@ -0,0 +1,26 @@
+## Read Geo-tif Data
+
+Read in data (from tif format, most likely georeferenced image data).
+
+**plantcv.geospatial.read_geotif**(*filename, mode="rgb"*)
+
+**returns** [PlantCV Spectral_data](https://plantcv.readthedocs.io/en/latest/Spectral_data/) object instance
+
+- **Parameters:**
+ - filename - Filepath to .tif data
+ - mode - Mode for geotif reading
+
+- **Example use:**
+ - below
+
+
+```python
+import plantcv.plantcv as pcv
+import plantcv.geospatial as geo
+
+# Read geotif in
+marker = geo.read_geotif(filename="./data/example_img.tif", mode="rgb")
+
+```
+
+**Source Code:** [Here](https://github.com/danforthcenter/plantcv-geospatial/blob/main/plantcv/geospatial/read_geotif.py)
diff --git a/docs/requirements.txt b/docs/requirements.txt
new file mode 100644
index 0000000..59fde8e
--- /dev/null
+++ b/docs/requirements.txt
@@ -0,0 +1 @@
+mkdocs>1
diff --git a/mkdocs.yml b/mkdocs.yml
new file mode 100644
index 0000000..c69c28c
--- /dev/null
+++ b/mkdocs.yml
@@ -0,0 +1,24 @@
+site_name: PlantCV-Geopspatial
+site_url: https://plantcv-geospatial.readthedocs.io/
+site_description: Plant phenotyping for geospatial images using computer vision
+site_author: PlantCV Development Team
+repo_url: https://github.com/danforthcenter/plantcv-geospatial
+copyright: Copyright 2024, Donald Danforth Plant Science Center
+theme: readthedocs
+
+nav:
+- Home: index.md
+- Documentation:
+ - 'Installation': installation.md
+ - 'Change Log': changelog.md
+ - 'Contributing':
+ - 'Contributing Guide': CONTRIBUTING.md
+ - 'Code of Conduct': CODE_OF_CONDUCT.md
+ - 'Adding/Editing Documentation': documentation.md
+ - 'PlantCV Namespace':
+ - 'Geopspatial Tools':
+ - Read Geo-tif Data: read_geotif.md
+markdown_extensions:
+ - toc:
+ permalink: True
+ - admonition