Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Markdown link syntax #56

Merged
merged 10 commits into from
Sep 18, 2023
Merged

fix: Markdown link syntax #56

merged 10 commits into from
Sep 18, 2023

Conversation

wildintellect
Copy link
Contributor

No description provided.

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@wildintellect wildintellect marked this pull request as ready for review September 16, 2023 00:09
@jedsundwall
Copy link
Member

@wildintellect any idea on how to get this to deploy properly? I tried to merge main into this branch and got this error:

error: Your local changes to the following files would be overwritten by merge: docs/cloud-optimized-geotiffs/cogs-examples.html docs/cloud-optimized-geotiffs/intro.html docs/search.json

@wildintellect
Copy link
Contributor Author

@jedsundwall I think this relates to #58 , will work on finding a fix today.

@kylebarron kylebarron mentioned this pull request Sep 18, 2023
@github-actions
Copy link

github-actions bot commented Sep 18, 2023

PR Preview Action v1.4.4
🚀 Deployed preview to https://cloudnativegeo.github.io/cloud-optimized-geospatial-formats-guide/pr-preview/pr-56/
on branch gh-pages at 2023-09-18 17:53 UTC

@@ -0,0 +1,98 @@
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we change this to be a markdown file? It doesn't look like it has any executable code blocks

Copy link
Member

@kylebarron kylebarron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than preferably having pure text files be markdown, this lgtm; thanks!

@wildintellect
Copy link
Contributor Author

@kylebarron please check the preview rendering, I caught a few other issue related to title pages and page linking. Want to make sure I didn't break anything.

Copy link
Member

@kylebarron kylebarron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some comments on the text itself, but otherwise 👍

title: "Make better GeoTIFFs"
---

# Make better GeoTIFFs
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All the rest of our sidebar titles and h1 headers are nouns instead of verbs; this reads a little weird to me.

Maybe Advanced COG Details or Advanced COG Recommendations? Each of our pages could have Advanced *. It also seems nice to have the title in the sidebar be the same or roughly the same as the URL fragment


## Data Type

**Recommendation** The smallest possible data type, that still represents the data appropriately, should be used. It is not generally recommended to shift data from float to integer by multiplying, a space saving technique, as end users then need to undo this step to use the data. Data compression is preferred, see also [Compression](#compression).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**Recommendation** The smallest possible data type, that still represents the data appropriately, should be used. It is not generally recommended to shift data from float to integer by multiplying, a space saving technique, as end users then need to undo this step to use the data. Data compression is preferred, see also [Compression](#compression).
**Recommendation** The smallest possible data type that still represents the data appropriately should be used. It is not generally recommended to shift or quantize data from float to integer by multiplying, a space saving technique, as end users then need to undo this step to use the data. Data compression is preferred, see also [Compression](#compression).


**Recommendation** The smallest possible data type, that still represents the data appropriately, should be used. It is not generally recommended to shift data from float to integer by multiplying, a space saving technique, as end users then need to undo this step to use the data. Data compression is preferred, see also [Compression](#compression).

GeoTIFF format supports many data types. The key is that all bands must be of the same data type. Unlike some other formats you can not mix and match integers (whole numbers) and floats (decimal numbers) in the same file. If you have this use case consider splitting files by data type and using a catalog like STAC to keep track of them, or look at other formats like [Zarr](../zarr/intro.qmd).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
GeoTIFF format supports many data types. The key is that all bands must be of the same data type. Unlike some other formats you can not mix and match integers (whole numbers) and floats (decimal numbers) in the same file. If you have this use case consider splitting files by data type and using a catalog like STAC to keep track of them, or look at other formats like [Zarr](../zarr/intro.qmd).
The GeoTIFF format supports many data types. The key is that all bands must be of the same data type. Unlike some other formats, you cannot mix and match integer (whole number) and float (decimal number) data types in the same file. If you have this use case consider splitting files by data type and using a catalog like STAC to keep track of them, or look at other formats like [Zarr](../zarr/intro.qmd).


## Compression (aka File Size)

The biggest benefit to compression is on the storage side. It’s always recommended to use a lossless compression method. **Deflate** or **LZW** are the most recommended compression algorithms, there are some choices that depend on the data type and distribution, and if the goal is maximum compression or not. Maximum compression does result in some performance loss.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The biggest benefit to compression is on the storage side. It’s always recommended to use a lossless compression method. **Deflate** or **LZW** are the most recommended compression algorithms, there are some choices that depend on the data type and distribution, and if the goal is maximum compression or not. Maximum compression does result in some performance loss.
The biggest benefit to compression is on the storage side. It’s always recommended to use a lossless compression method unless the COG is intended to be used only for visualization. **Deflate** or **LZW** are the recommended compression algorithms for general use. Some other compression algorithms may be preferred depending on the data type and distribution, and if the goal is maximum compression or not. Maximum compression does result in some performance loss.

The biggest benefit to compression is on the storage side. It’s always recommended to use a lossless compression method. **Deflate** or **LZW** are the most recommended compression algorithms, there are some choices that depend on the data type and distribution, and if the goal is maximum compression or not. Maximum compression does result in some performance loss.

## No Data
Setting a no data value makes it clear to users and visualization tools what pixels are not actually data. For visualization this allows these pixels to be easily hidden (transparent). Historically many values have been used, 0, -9999, etc… The key is to make sure the GDAL flag for no data is set. It is also suggested that the smallest negative value be used instead of a random value. For byte and unsigned integers/floats this will be 0, if 0 has meaning in your data use a different value (like the max possible value). Having the right nodata flag set is important for overview generation.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can/should NaN be a no data value for float data types?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh this is hotly debated. It is acceptable, except NASA DAACs prefer not. I'll try to dig up why.

* The optimum size of data at which splitting across files improves performance as a multi-file dataset instead of a single file.
* When to recommend particular internal tile sizes
* Compression impacts on http transfer rates.
* Support for COG creation in all common Geospatial tools varies.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Support for COG creation in all common Geospatial tools varies.
* Support for COG creation in all common geospatial tools varies.


* The optimum size of data at which splitting across files improves performance as a multi-file dataset instead of a single file.
* When to recommend particular internal tile sizes
* Compression impacts on http transfer rates.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this supposed to mean? Does this mean "full time to load and parse an image in a browser"? Or "Compression speed for streaming compression"? Except maybe for streaming compression/decompression on a server, the only impact on http transfer rates would be the size of the file...?


Cloud-Optimized GeoTIFF (the COG) is a variant of the TIFF image format that specifies a particular layout of internal data in the GeoTIFF specification to allow for optimized (subsetted or aggregated) access over a network for display or data reading. The key components are overviews, and internal tiling.
Cloud-Optimized GeoTIFF (the COG), a raster format, is a variant of the TIFF image format that specifies a particular layout of internal data in the GeoTIFF specification to allow for optimized (subsetted or aggregated) access over a network for display or data reading. The key components are overviews, and internal tiling.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Cloud-Optimized GeoTIFF (the COG), a raster format, is a variant of the TIFF image format that specifies a particular layout of internal data in the GeoTIFF specification to allow for optimized (subsetted or aggregated) access over a network for display or data reading. The key components are overviews, and internal tiling.
Cloud-Optimized GeoTIFF (COG), a raster format, is a variant of the TIFF image format that specifies a particular layout of internal data in the GeoTIFF specification to allow for optimized (subsetted or aggregated) access over a network for display or data reading. The key components are overviews and internal tiling.

* GDAL vis* drivers (vsicurl, vsis3, vsiaz,)
* Titiler https://github.com/developmentseed/titiler
* Rio-viz https://github.com/developmentseed/rio-viz
- Additional [GeoTIFF details](cogs-details.qmd) that can be helpful.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even if these details are in fact useful for all GeoTIFFs, given that in this context we're talking solely about COG, would it be less confusing to the user to say "COG details" instead of "GeoTIFF details"?

@jedsundwall jedsundwall merged commit 5c44a71 into main Sep 18, 2023
1 check passed
@jedsundwall jedsundwall deleted the fix/fixes1 branch September 18, 2023 21:33
kylebarron added a commit that referenced this pull request Sep 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants