跳转到主要内容

用于与MosaicJSON协同工作的CLI和后端。

项目描述

cogeo-mosaic

rio-tiler

基于mosaicJSON规范创建基于云优化GeoTIFF的拼贴。

Test Coverage Package version Downloads Downloads


文档: 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)。

贡献与发展

查看CONTRIBUTING.md

许可证

查看LICENSE

作者

Development Seed创建

查看贡献者以获取个人贡献者列表。

变更日志

未发布

7.2.0 (2024-10-04)

7.1.0 (2023-12-06)

  • 自动在Mosaic后端中添加/删除asset_prefix

7.0.1 (2023-10-17)

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.0rio-tiler>=5.0,<6.0要求

  • supermorecado替换supermercado,以将几何图形作为不同TMS的瓦片烧制

  • 将MosaicJSON模型更新到0.0.3规范(添加了tilematrixsetasset_typeasset_prefixdata_typecolormaplayers属性)

  • 允许使用其他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)

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)

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)

重大变更

  • 删除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)

3.0.1 (2021-06-22)

  • 确保传递一个打开的文件给click.Progressbar(《https://github.com/developmentseed/cogeo-mosaic/pull/178》

3.0.0 (2021-05-19)

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》

破坏性更改

3.0.0a13(2020-10-13)

  • 在 BaseBackend 中添加 TMS 以与 rio-tiler BaseBackend 保持一致。

3.0.0a12(2020-10-07)

注意:我们已将版本控制方案更改为 {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)

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 (33.5 kB 查看哈希值)

上传时间 源代码

构建发行版

cogeo_mosaic-7.2.0-py3-none-any.whl (40.1 kB 查看哈希值)

上传时间: Python 3

由以下机构支持