用于与MosaicJSON协同工作的CLI和后端。
项目描述
cogeo-mosaic
基于mosaicJSON规范创建基于云优化GeoTIFF的拼贴。
文档: https://developmentseed.org/cogeo-mosaic/
源代码: https://github.com/developmentseed/cogeo-mosaic
阅读官方公告 https://medium.com/devseed/cog-talk-part-2-mosaics-bbbf474e66df
安装
python -m pip install pip -U
python -m pip install cogeo-mosaic --pre
# Or from source
python -m pip install git+http://github.com/developmentseed/cogeo-mosaic
注意事项:
- 从5.0版本开始,pygeos已被shapely取代,因此
libgeos
成为必需项。大多数环境下应该可以找到Shapely wheel,如果没有,则需要安装libgeos。
看看它的作用
- TiTiler:一个轻量级、云优化的GeoTIFF动态瓦片服务器(COG、STAC和MosaicJSON)。
贡献与发展
许可证
查看LICENSE
作者
查看贡献者以获取个人贡献者列表。
变更日志
未发布
7.2.0 (2024-10-04)
- 更新BaseBackend以使用tms的默认coord_crs(作者@AndrewAnnex,https://github.com/developmentseed/cogeo-mosaic/pull/234)
- 添加对python 3.12的支持
- 为MosaicJSON添加tms参数(合著者@AndrewAnnex,https://github.com/developmentseed/cogeo-mosaic/pull/233)
7.1.0 (2023-12-06)
- 自动在Mosaic后端中添加/删除
asset_prefix
7.0.1 (2023-10-17)
- 添加
py.typed
文件(https://peps.pythonlang.cn/pep-0561)
7.0.0 (2023-07-26)
- 将
morecantile
要求更新到>=5.0,<6.0
- 将
rio-tiler
要求更新到>=6.0,<7.0
- 将
pydantic
要求更新到~=2.0
6.2.0 (2023-07-11)
- 向
MosaicBackend.point()
方法添加coord_crs
6.1.0 (2023-07-11)
- 在
MosaicBackend.info()
响应中添加tilematrixset
6.0.1 (2023-07-11)
- 修复
HttpBackend
post_init方法
6.0.0 (2023-07-10)
-
更新
morecantile>=4.1,<5.0
和rio-tiler>=5.0,<6.0
要求 -
用
supermorecado
替换supermercado
,以将几何图形作为不同TMS的瓦片烧制 -
将MosaicJSON模型更新到
0.0.3
规范(添加了tilematrixset
、asset_type
、asset_prefix
、data_type
、colormap
和layers
属性) -
允许使用其他TileMatrixSet创建Mosaic(默认仍为
WebMercatorQuad
) -
向MosaicBackend添加
tms
支持,以读取除Mosaic TileMatrixSet之外的其他TMS的瓦片# Before # Mosaic and output Tile in WebMercatorQuad with MosaicBackend("mosaic.json") as mosaic: img, _ = mosaic.tile(0, 0, 0) # Now # Mosaic in WebMercatorQuad (default), output tile in WGS84 WGS1984Quad = morecantile.tms.get("WGS1984Quad") with MosaicBackend("mosaic.json", tms=WGS1984Quad) as mosaic: img, _ = mosaic.tile(0, 0, 0)
5.1.1 (2023-02-06)
- 使用TMS bbox剪裁数据集边界(作者@lseelenbinder,https://github.com/developmentseed/cogeo-mosaic/pull/200)
5.1.0 (2023-01-20)
- 为私有Azure Blob Storage Backend使用
az://
前缀
5.0.0 (2022-11-21)
- 从pygeos切换到shapely>=2.0
4.2.2 (2022-11-19)
- 删除包中的无用文件
4.2.1 (2022-11-15)
- 添加对python 3.11的支持
4.2.0 (2022-10-24)
- 移除python 3.7的支持
- 添加对python 3.10的支持
- 切换到hatch构建系统
- 更新rio-tiler依赖到>=4.0.0a0
4.1.1 (2022-10-21)
- 添加Azure Blob Storage后端(作者@christoe,https://github.com/developmentseed/cogeo-mosaic/pull/191)
4.1.0 (2022-02-22)
- 从pygeos切换到shapely>=2.0
4.0.0 (2021-11-30)
- 自4.0.0a2以来没有变化
4.0.0a2(2021-11-22)
- 更新rio-tiler要求(
>=3.0.0a6
)并更新后端读取器类型信息
4.0.0a1(2021-11-18)
- 更新rio-tiler要求(
>=3.0.0a5
) - 修复
MosaicBackend
以匹配后端输入名称。
4.0.0a0(2021-10-20)
- 将morecantile要求更新到>= 3.0
- 将rio-tiler要求更新到>= 3.0并更新后端的属性
- 从
requests
切换到httpx
- 添加
BaseBackend.assets_for_bbox()
方法(https://github.com/developmentseed/cogeo-mosaic/pull/184)
重大变更
- 删除
BaseBackend.metadata()
方法(可以用BaseBackend.mosaic_def.dict(exclude={"tiles"})
替换) - 删除
cogeo_mosaic.models.Metadata
模型 - 删除python 3.6的支持
BaseBackend.path
->BaseBackend.input
属性(input
已添加到rio-tiler BaseReader)
3.0.2 (2021-07-08)
- 添加Google Cloud Storage (
gs://...
) 瓦片后端(作者 @AndreaGiardini,https://github.com/developmentseed/cogeo-mosaic/pull/179)
3.0.1 (2021-06-22)
- 确保传递一个打开的文件给click.Progressbar(《https://github.com/developmentseed/cogeo-mosaic/pull/178》)
3.0.0 (2021-05-19)
- 更新rio-tiler版本依赖
- 将pygeos依赖更新到>=0.10,修复https://github.com/developmentseed/cogeo-mosaic/issues/81
3.0.0rc2(2021-02-25)
破坏性更改
gzip
现在仅在路径以.gz
结尾时应用- 从基础后端中删除
backend_options
属性。此属性用于传递可选的gzip
选项和/或STAC相关选项 - STAC后端有额外的属性(《stac_api_options和《mosaic_options》)
3.0.0rc1(2021-02-11)
- 添加《SQLite》后端(《https://github.com/developmentseed/cogeo-mosaic/pull/148》)
- 修复更新瓦片后缓存的响应(《https://github.com/developmentseed/cogeo-mosaic/pull/148/files#r557020660》)
- 更新mosaicJSON.bounds类型定义以匹配rio-tiler BaseReader定义(《https://github.com/developmentseed/cogeo-mosaic/issues/158》)
- 在后端中添加与mosaicjson默认值匹配的默认边界/minzoom/maxzoom值(《https://github.com/developmentseed/cogeo-mosaic/pull/162》)
- 当尝试在只读后端中传递《mosaic_def》时引发错误(《https://github.com/developmentseed/cogeo-mosaic/pull/162》)
- 添加《MemoryBackend》(《https://github.com/developmentseed/cogeo-mosaic/pull/163》)
破坏性更改
- 更新后端《.point()`方法以返回形式为《[(asset1, values)]》的列表(《https://github.com/developmentseed/cogeo-mosaic/pull/168》)
3.0.0b1(2020-12-18)
- 删除《overview》命令(《https://github.com/developmentseed/cogeo-mosaic/issues/71#issuecomment-748265645》)
- 删除《rio-cogeo》依赖
- 更新rio-tiler版本(《2.0.0rc4》)
3.0.0a19(2020-12-14)
- 更新以删除对《rio_tiler.mercator》函数的所有调用。
3.0.0a18(2020-11-24)
- 更新后端基类以支持rio-tiler 2.0.0rc3(添加《.feature()`方法)
3.0.0a17(2020-11-09)
- 更新以支持rio-tiler 2.0rc并添加后端输出模型
3.0.0a16(2020-10-26)
- 当瓦片在DynamoDB表中不存在时引发《MosaicNotFoundError》
3.0.0a15(2020-10-22)
- 修复DynamoDB后端中的错误(《https://github.com/developmentseed/cogeo-mosaic/pull/134》)
- 将《cogeo_mosaic/backends/http.py》重命名为《cogeo_mosaic/backends/web.py》以避免冲突(作者 @kylebarron,《https://github.com/developmentseed/cogeo-mosaic/pull/133》)
3.0.0a14(2020-10-22)
- 添加日志记录器(《cogeo_mosaic.logger.logger》)
- 更新STACBackend以更好地处理分页(参考:《https://github.com/developmentseed/cogeo-mosaic/pull/125》)
- 从《#125》更改,如果知道STAC API正在使用最新的规范,则必须指定《stac_next_link_key》
with MosaicBackend(
f"stac+{stac_endpoint}",
query.copy(),
11,
14,
backend_options={
"accessor": lambda feature: feature["id"],
"stac_next_link_key": "next",
}
) as mosaic:
- 添加《to-geojson》CLI以从mosaicJSON文档创建GeoJSON(《#128》)
- 重构内部缓存(《https://github.com/developmentseed/cogeo-mosaic/pull/131》)
- 在创建瓦片时迭代quadkeys时添加进度条(作者 @kylebarron,《https://github.com/developmentseed/cogeo-mosaic/pull/130》)
破坏性更改
-
重构DynamoDB后端以在单个表中存储多个瓦片(《https://github.com/developmentseed/cogeo-mosaic/pull/127》
)- 新的路径模式《dynamodb://{REGION}?/{TABLE}:{MOSAIC)》
-
将异常《MosaicExists》重命名为《MosaicExistsError》
-
将 DynamoDBBackend.info() 方法中的选项
fetch_quadkeys
重命名为quadkeys
-
在
Backends.info()
中添加quadkeys
选项,用于返回(或不返回)quadkeys 列表(https://github.com/developmentseed/cogeo-mosaic/pull/129) -
将
get_assets
移动到基础 Backend(https://github.com/developmentseed/cogeo-mosaic/pull/131) -
移除多级瓦片图支持(https://github.com/developmentseed/cogeo-mosaic/issues/122)
3.0.0a13(2020-10-13)
- 在 BaseBackend 中添加 TMS 以与 rio-tiler BaseBackend 保持一致。
3.0.0a12(2020-10-07)
- 移除 pkg_resources(https://github.com/pypa/setuptools/issues/510)
- 当
minimum_tile_cover
大于 1 时抛出错误(https://github.com/developmentseed/cogeo-mosaic/issues/117) - 修复 default_filter 中的错误索引排序(https://github.com/developmentseed/cogeo-mosaic/issues/118)
注意:我们已将版本控制方案更改为 {major}.{minor}.{path}{pre}{prenum}
3.0a11(2020-09-21)
- 当尝试覆盖瓦片图时抛出异常(#112)
- 在 .tile 和 .point 中添加
reverse
选项以按相反顺序获取资产值。
3.0a10(2020-08-24)
- 允许在
point
方法中抛出 PointOutsideBounds 异常(#108)
3.0a9(2020-08-24)
- BaseBackend.center 返回来自瓦片定义的值(#105)
3.0a8(2020-08-21)
- BaseBackend 现在是 rio-tiler.io.base.BaseReader 的子类(添加 minzoom、maxzoom、bounds 属性和信息方法)
- 使用
attr
定义后端类
破坏性更改
- 现在使用
backend_options
将选项(*kwargs)传递给_read
方法
3.0a7(2020-07-31)
- 更新到 rio-tiler 2.0b5
破坏性更改
- MosaicBackend.point 输出中的 'value' 更改为 'values'(#98)
3.0a6(2020-07-31)
- 使用环境变量设置/禁用缓存(#93,作者 @geospatial-jeff)
- 允许 overview 命令的线程配置(作者 @kylebarron)
- 为 overview 函数添加 --in-memory/--no-in-memory 以控制临时文件创建。
- 允许 overview 函数的 pixel_selection 方法选项。
- 更新到 rio-tiler 2.0b4
- 使用新的 COGReader 和 STACReader 在后端中直接添加 .tile 和 .point 方法
破坏性更改
- backend.tile -> backend.assets_for_tile
- backend.point -> backend.assets_for_point
3.0a5(2020-06-29)
- 从支持的 backend 中移除 FTP(#87,作者 @geospatial-jeff)
- 添加 backend CRUD 异常(#86,作者 @geospatial-jeff)
3.0a4(2020-06-25)
- 添加 STACBackend(#82)
- 修复 backends 缓存并切换到 TTL 缓存(#83)
3.0a3(2020-05-01)
- 添加 Upload CLI(#74,作者 @kylebarron)
- 修复 boto3 dynamodb 异常(#75)
3.0a2(2020-05-01)
- 改进 mosaicJSON 模型测试和从范围获取默认中心(#73,作者 @geospatial-jeff)
3.0a1(2020-05-01)
这是一个主要版本,意味着已经进行了大量的重构,可能会导致破坏性更改。
- 在 CLI 中添加 quadkey_zoom 选项(#41,作者 @kylebarron)
- 使用 pygeos 进行测试交集(#43,作者 @kylebarron)
破坏性更改
- 添加 BackendStorage 以支持 dynamodb、s3、文件和 http(与 @kylebarron 合作)
- 添加 MosaicJSON pydantic 模型以进行内部 mosaicjson 表示(与 @kylebarron 和 @geospatial-jeff 合作)
2.0.1 (2020-01-28)
- 错误修复,使用 pypi 中的 pygeos 而不是 git 仓库
2.0.0(2020-01-28)- 主要重构
- 移除与堆相关的代码(lambda 处理程序,无服务器)
- 切换到 pygeos(#24)
- 错误修复
- 添加
last
pixel_method
1.0.0 (2019-12-13)
- 添加 tif 输出
- 修复 overview 创建
- 添加其他 Web 模板
0.3.0 (2019-11-07)
- 使用 aws lambda layer
- 添加
update_mosaic
工具函数 - 添加
/tiles/point
端点以从图块获取点值 - 添加图块创建日志
- 添加自定义像素方法
- 添加自定义颜色图
破坏性更改
- 将
/mosaic/info/<mosaicid>
重命名为/mosaic/<mosaicid>/info
0.2.0 (2019-09-30)
- 更新 lambda-proxy 至 5.0 版本 (#15)
- 添加图块创建的
minimum_tile_cover
选项 (#16) - 添加
tile_cover_sort
选项 (#16) - 为命令行界面添加详细程度选项
0.1.0 (2019-09-05)
- 添加 /create.html 端点 (#14)
- 更新为 remotepixel/amazonlinux Docker 镜像
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源代码发行版
构建发行版
cogeo_mosaic-7.2.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1fa0168f83adcd1065ab49e7c67bc82a507bba895717ac596f8e26b08bc249cb |
|
MD5 | cb5eb8891716cdebf6d4db953555b6d7 |
|
BLAKE2b-256 | b52a4efe88ac2b4e20a6827a9aa89322d81366fc5532c96d2644b5814f41350b |
cogeo_mosaic-7.2.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ed63cb8f8cbc02fafd27bc30ca41956319ece55012629483b274832b72d2802a |
|
MD5 | 65c732f8d0744e1b385421e111b6929a |
|
BLAKE2b-256 | 95c7dad3d92c8306200c20b4c02cbde636e23950081bb0731f6e4b3e059e03e4 |