-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,6 +17,7 @@ docker-compose.yaml | |
!.yarn/versions | ||
|
||
# IntelliJ | ||
.idea | ||
.idea/workspace.xml | ||
.idea/tasks.xml | ||
|
||
|
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
content/Contributing/Contributor guide.md |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Initialize the development environment with common settings | ||
all: | ||
git config --local submodule.recurse true | ||
git submodule update --init --recursive | ||
yarn install |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
workspace.json |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
{ | ||
"accentColor": "" | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
{ | ||
"file-explorer": true, | ||
"global-search": true, | ||
"switcher": true, | ||
"graph": true, | ||
"backlink": true, | ||
"canvas": true, | ||
"outgoing-link": true, | ||
"tag-pane": true, | ||
"properties": false, | ||
"page-preview": true, | ||
"daily-notes": true, | ||
"templates": true, | ||
"note-composer": true, | ||
"command-palette": true, | ||
"slash-command": false, | ||
"editor-status": true, | ||
"bookmarks": true, | ||
"markdown-importer": false, | ||
"zk-prefixer": false, | ||
"random-note": false, | ||
"outline": true, | ||
"word-count": true, | ||
"slides": false, | ||
"audio-recorder": false, | ||
"workspaces": false, | ||
"file-recovery": true, | ||
"publish": false, | ||
"sync": false | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
[ | ||
"file-explorer", | ||
"global-search", | ||
"switcher", | ||
"graph", | ||
"backlink", | ||
"canvas", | ||
"outgoing-link", | ||
"tag-pane", | ||
"page-preview", | ||
"daily-notes", | ||
"templates", | ||
"note-composer", | ||
"command-palette", | ||
"editor-status", | ||
"bookmarks", | ||
"outline", | ||
"word-count", | ||
"file-recovery" | ||
] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
- Macrostrat is centered around a [[PostgreSQL]] database | ||
- A "database-centric" application | ||
|
||
## Architectural models | ||
|
||
- Supabase | ||
- [[PostgREST]] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Macrostrat is part of a broad geoinformatics ecosystem. | ||
|
||
|
||
## Cool Earth observing websites | ||
|
||
https://earth.nullschool.net: weather and ocean-circulation visualizations |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
Macrostrat has emerged as the go-to resource for digital geological map and | ||
geologic column data. | ||
|
||
There are two main reasons for this: | ||
|
||
1. Macrostrat currently contains voluminous geologic map and column data that cannot be accessed in aggregate anywhere else. | ||
- Over 300 different geologic maps, containing more than 2.5 million rock unit polygons covering the world, have been integrated into a single, unified, queryable environment in Macrostrat. | ||
- Additionally, more than 35,000 rock units from over 1,500 regional columns covering all of North America and limited other regions are publicly available. | ||
2. Macrostrat has a public "REST" application programming interface (API) that makes the full complement of data available in Findable, Accessible, Interoperable, and Reusable (FAIR) fashion with a CC-BY license. | ||
|
||
Many third-party applications and users take advantage of Macrostrat FAIR data services: | ||
|
||
- Mancos | ||
- StraboSpot | ||
- Flyover Country | ||
- MinDat | ||
- The iNaturalist web and mobile applications | ||
- A California Academy of Sciences interactive museum kiosk | ||
- Local geological surveys and individual scientists. | ||
|
||
## Usage | ||
|
||
Macrostrat’s data services have become impactful community resources for geologic information: | ||
- Our geologic map server has served more than 2 billion tile requests since logging began in 2018 (~10 per second) | ||
- Over the last 28 days, our other data APIs have served 3.8 million requests (~2 per second). | ||
- Conservatively, these amount to 100,000 requests for information each day. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
Macrostrat maintains a lexicon of geologic information, such as stratigraphic units, etc. | ||
|
||
## Concepts | ||
|
||
- Lithologies (e.g., sandstone) | ||
- Lithology attributes (e.g., _hummocky cross-stratified_) | ||
- Environmental interpretations | ||
- Stratigraphic names | ||
|
||
## Mechanics | ||
|
||
- This lexicon integrates curated information from a variety of publishers | ||
- Notably the USGS Stratigraphic Names lexicon | ||
- Also lexicons from other organizations | ||
- Linked to from map and column descriptive information (mostly using autogenerated scripts) | ||
- The capability to manage geologic names and concepts is not unique but the tools on top of it are |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
- Representation of stratigraphy in chronostratigraphic or lithostratigraphic context | ||
- Provided by [[Macrostrat data services]] | ||
- Will soon be viewable in [[Macrostrat user interfaces]] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
[[Macrostrat]] user interfaces seek to express the world as geologists are used to seeing it | ||
|
||
## Core components | ||
|
||
- Maps | ||
- Stratigraphic columns | ||
- Summary pages for geologic entities (units, samples, geochemical datasets, etc.) | ||
|
||
Based on [[Macrostrat data services]] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# Code style | ||
|
||
- Prefer Hyperscript (using the `@macrostrat/hyper` package) over JSX. | ||
- Prefer functional components over class components. | ||
- Prefer named exports over default exports (default exports make it more difficult to track names through the codebase). | ||
- Prefer relative imports (e.g., `import { fetchHelper } from '../helpers'`) over absolute imports (e.g., `import { fetchHelper } from '~/pages/page1/helpers'`). Minimizing the number of up-directory imports or imports from other parts of the codebase is a good way to keep it maintainable. | ||
- Extract logic into hooks or utility functions to keep components straightforward. | ||
- Generally, try to make sure folders have an `index.ts` file that exports all the files that might be used from the outside. | ||
- Put the most important function in the file first, and the least important (ex., utility functions) last. | ||
- Prefer `function foo() {}` over `const foo = () => {}` for named functions. | ||
|
||
# Code format | ||
|
||
- Use Prettier to format your code. You can run `yarn format` to format the entire codebase, or set up your editor to format on save. | ||
- Sort and prune imports periodically to keep them organized. | ||
|
||
# Styling and interface design | ||
|
||
- Prefer CSS modules where possible, but don't be afraid to use semantically named global classes for straightforward cases. | ||
- Use sentence case for headings, button text, and other UI elements | ||
|
||
# Dumb things to avoid | ||
|
||
This codebase has been modernized and kept maintainable | ||
by avoiding (or belatedly correcting) many anti-patterns: | ||
|
||
- Hard-coding specific colors | ||
- Creating URLs by concatenating strings | ||
- Deeply nested code blocks (often with confusing [control flow](https://en.wikipedia.org/wiki/Control_flow) or [side effects](<https://en.wikipedia.org/wiki/Side_effect_(computer_science)>) instead of unambiguous returns) | ||
- Duplicated code of more than a few lines |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
|
||
> [!question] I am interested in downloading the data from a search I ran on Macrostrat to import into ArcGIS. | ||
> For example, if I searched "basalt", how might I be able to download the results as GIS metadata? | ||
We don’t have a great way to bulk-download data in a form suitable for ArcGIS (yet; we are working on it). Part of the problem is that our GIS dataset is huge, so it’s usually easier to stream it from the web. For now, there are a few options: | ||
|
||
- There is a way to view our layers directly in QGIS and filter/style them by their attributes (using the QGIS filter functions). Unfortunately this doesn’t work in ArcGIS. But you can pretty easily apply different styles and categories to make the thematic map you desire. | ||
- [macrostratpy](https://github.com/DARPA-CRITICALMAAS/macrostratpy) is a prototype library to download Macrostrat tiles over large areas into a GIS-ready GeoPackage format. Right now it’s difficult to use but we hope to improve that over time. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
Macrostrat is improved by thousands of geologists | ||
|
||
- Contribute to code | ||
- Use our web components | ||
- Contribute maps | ||
- Add Rockd checkins | ||
|
||
## Coming soon | ||
|
||
- Contribute columns |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
Information about Macrostrat columns can be accessed through our [API](https://macrostrat.org/api/). | ||
# Column footprints | ||
|
||
Column footprints can be downloaded for some or all Macrostrat columns through the [`/columns`](https://macrostrat.org/api/columns) API route. This API route can be filtered by many parameters, which drives [[Macrostrat column filtering]]. | ||
|
||
- The `all` query parameter will download all columns | ||
- The output format can be controlled with the `format` parameter, with options `json`, `csv`, `geojson`, `geojson_bare`, `topojson`, and `topojson_bare`. | ||
- `geojson_bare` files can be opened directly in GIS software such as [QGIS](https://qgis.org) | ||
- Not all Macrostrat columns are in our core column dataset. Other columns are held in different "projects," which can be specified using the `project_id` query parameter. Available projects can be found at the [Projects API route](https://macrostrat.org/api/defs/projects?all). | ||
|
||
## Column units | ||
|
||
Macrostrat column units drive the Macrostrat column visualization | ||
|
||
|
||
|
||
|
||
|
||
|