Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

This library reads/writes PMTiles V3.0 as well as S2PMTiles V1.0

License

NotificationsYou must be signed in to change notification settings

Open-S2/s2-pmtiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Actions Workflow Statusnpmcratedownloadsbundledocs-tsdocs-rustdoc-coveragecode-coverageDiscord

About

A Modified TypeScript implementation of thePMTiles library. It is backwards compatible but offers support for the S2 Projection.

Read The Spec

s2-pmtiles-spec

For now this spec supports deflating metadata/directories inside the browser, but it will be removed in the future.

Install

#bunbun add s2-pmtiles# pnpmpnpm add s2-pmtiles# yarnyarn add s2-pmtiles# npmnpm install s2-pmtiles# cargocargo install s2-pmtiles

Example use

import{S2PMTilesReader,S2PMTilesWriter,TileType}from's2-pmtiles'import{FileReader,FileWriter}from's2-pmtiles/file';// The File Reader you can run on bun/node/denoconsttestFixture1=newS2PMTilesReader(newFileReader('test/fixtures/test_fixture_1.pmtiles'));// get an WM tileletx=0;lety=0;letz=0;letface=0;testFixture1.getTile(x,y,z);// undefied | Uint8Array// get an S2 tiletestFixture1.getTileS2(face,x,y,z);// undefined | Uint8Array// The File Writer you can run on bun/node/denoconsttestFixture2=newS2PMTilesWriter(newFileWriter('tmpFile.pmtiles'),TileType.Pbf);// write a tiletestFixture2.writeTileXYZ(x,y,z,Uint8Array.from([]));// write an S2 tiletestFixture2.writeTileS2(face,x,y,z,Uint8Array.from([]));// when you finish you commit to build the metadatatestFixture2.commit();// The File Reader you can run in the browserimport{S2PMTilesReader}from's2-pmtiles';// you want to add a true after the path for generic PMTiles, as it ensures 206 byte requests.constbrowserFixture=newS2PMTilesReader('https://www.example.com/test.pmtiles',true);// get an WM tilebrowserFixture.getTile(x,y,z);// undefied | Uint8Array// get an S2 tilebrowserFixture.getTileS2(face,x,y,z);// undefined | Uint8Array

Browser Support

Some tsconfigs might need some extra help to see thes2-pmtiles/file ors2-pmtiles/mmap package.

To fix this update your tsconfig.json with the following:

{"compilerOptions": {"baseUrl":"./","paths": {"s2-pmtiles/file": ["./node_modules/s2-pmtiles/dist/file.d.ts"],"s2-pmtiles/mmap": ["./node_modules/s2-pmtiles/dist/mmap.d.ts"]        }    }}

Development

Requirements

You need the tooltarpaulin to generate the coverage report. Install it using the following command:

cargo install cargo-tarpaulin

Thebacon coverage tool is used to generate the coverage report. To utilize thepycobertura package for a prettier coverage report, install it using the following command:

pip install pycobertura

Running Tests

To run the tests, use the following command:

# TYPESCRIPT## basic testbun runtest## live testingbun run test:dev# RUST## basic testcargotest# live testingbacontest

Generating Coverage Report

To generate the coverage report, use the following command:

cargo tarpaulin# baconbacon coverage# or type `l` inside the tool

About

This library reads/writes PMTiles V3.0 as well as S2PMTiles V1.0

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp