#!/usr/bin/env python3 from __future__ import annotations import argparse from pathlib import Path from navsea_tile_builder import ( SOURCE_TILE_ROOT, DbConfig, NavSeaFidCodec, NavSeaTileBuilder, ) DEFAULT_OUTPUT_ROOT = Path("/home/wwwroot/pbf-delivery-land-area-z4-9") DEFAULT_FID_KEY = "thisMyWorld@2026" DEFAULT_FID_KEY_ID = "navsea-fid-key-v1" DEFAULT_BUNDLE_ID = "navsea-core" def parse_args() -> argparse.Namespace: parser = argparse.ArgumentParser(description="Build a dedicated P陸域-only z4-z9 PBF tileset.") parser.add_argument("--output", type=Path, default=DEFAULT_OUTPUT_ROOT) parser.add_argument("--source-root", type=Path, default=SOURCE_TILE_ROOT) parser.add_argument("--workers", type=int, default=4) parser.add_argument("--fid-key", default=DEFAULT_FID_KEY) parser.add_argument("--fid-key-id", default=DEFAULT_FID_KEY_ID) parser.add_argument("--bundle-id", default=DEFAULT_BUNDLE_ID) return parser.parse_args() def main() -> None: args = parse_args() builder = NavSeaTileBuilder( db_config=DbConfig(), source_root=args.source_root, output_root=args.output, center_lat=0.0, center_lon=0.0, radius_nm=0.0, zmin=4, zmax=9, workers=max(1, args.workers), all_tiles=True, reference_tile_root=None, engineering_mode=False, strip_legacy_japanese_delivery=True, release_minimal=False, fid_codec=NavSeaFidCodec(args.fid_key.encode("utf-8")), fid_key_id=args.fid_key_id, bundle_id=args.bundle_id, source_layer_includes=frozenset({"P陸域"}), ) builder.build() if __name__ == "__main__": main()