Skip to content

Instantly share code, notes, and snippets.

View naogify's full-sized avatar
🛰️

Naoki Ohashi naogify

🛰️
View GitHub Profile
@naogify
naogify / pbf2geojson.js
Created August 28, 2025 21:32
PBFからGeoJSONに変換するスクリプト
#!/usr/bin/env node
/**
* PBF(MVT) -> GeoJSON
* Usage: node pbf2geojson.js /path/to/{z}/{x}/{y}.pbf > out.geojson
*/
const fs = require('fs');
const path = require('path');
const zlib = require('zlib');
const { VectorTile } = require('@mapbox/vector-tile');
const Pbf = require('pbf');
@naogify
naogify / upload-sync.sh
Last active November 25, 2025 08:15
xyz のタイルディレクトリをアップロードするスクリプト
#!/usr/bin/env bash
set -ex
# 引数チェック
if [ $# -ne 2 ]; then
echo "Usage: $0 <S3_BUCKET> <UPLOAD_DIR>"
exit 1
fi
S3_BUCKET="$1"
@naogify
naogify / download-jms-gpv-sample-data.sh
Last active July 17, 2025 01:11
全球数値予報モデルGPV (GSM全球域・日本域)のサンプルデータをダウンロードするスクリプト
#!/bin/bash
WORKDIR="gsm_gl"
SRC_FILENAME="Z__C_RJTD_20171205000000_GSM_GPV_Rgl_FD0006_grib2.bin"
DST_FILENAME="jms-sample.grib2"
# 1. zipファイルをダウンロード
curl -O https://www.data.jma.go.jp/developer/gpv_sample/gsm_gl.zip
# 2. unzip
@naogify
naogify / upload-s3sync.sh
Last active July 15, 2025 10:00
S3に MVT(Mapbox Vector Tile / xyz 形式)をアップロードするスクリプト
#!/usr/bin/env bash
set -ex
# --- NOTE: S3の設定 ---
# aws configure set default.s3.max_concurrent_requests 100 を指定することで、
# S3へのアップロードを並列で行うことができます。必要に応じてデフォルト値を変更してください。
# 1番目の引数がなければエラー
if [ -z "$1" ]; then
echo "Usage: $0 <UPLOAD_DIR> <S3_BUCKET_URL>"
@naogify
naogify / serve_xyz.sh
Created March 25, 2025 09:31
xyzディレクトリ形式のタイルをローカルでホストするスクリプト(gzip/cors対応)
#!/bin/bash
# ==== 設定 ====
PORT=8000
DIRECTORY="./tiles" # 配信するディレクトリ(必要に応じて変更)
# 一時ファイルを作成(macOS などの場合)
PYTHON_SERVER=$(mktemp -t pbf_server.py.XXXXXX)
if [ -z "$PYTHON_SERVER" ]; then
echo "一時ファイルの作成に失敗しました"
@naogify
naogify / geojson2mvt.js
Created March 7, 2025 05:51
geojsonからMapbox VectorTile specification に準拠したタイルを生成するスクリプト(勉強用)
/**
* Node.js 用サンプルコード
*
* 1) GeoJSON の全フィーチャから BBox(西端, 南端, 東端, 北端)を計算
* 2) minzoom~maxzoom を指定
* 3) そのズームレベルにおいて、BBox と交差するタイル (x, y) だけをループ
* 4) タイルごとに PBF 生成 → `./output/z/x/y.pbf` へ保存
*
* (例示のため、点データのみ想定)
*/
#!/bin/bash
# --------------------------------------------------
# run_wgrib2.sh
#
# このスクリプトは、指定された GRIB2 ファイルを
# Docker コンテナ内で wgrib2 を使用して処理します。
#
# 使用方法:
# ./run_wgrib2.sh /path/to/your/file.bin
@naogify
naogify / Dockerfile
Created January 29, 2025 04:48
wgrib2 を実行するDockerfile
# ベースイメージとして Ubuntu 22.04 を使用
FROM ubuntu:22.04
# 非対話モードでの APT 使用を設定
ENV DEBIAN_FRONTEND=noninteractive
# 必要なパッケージをインストール
RUN apt-get update && \
apt-get install -y \
build-essential \
@naogify
naogify / check_and_rename_attribute.sh
Last active December 18, 2024 04:33
bash check_and_rename_attribute.sh <変換したい属性名> で実行すると、その属性名がないShapeファイルを探し、指定した属性名を変換するシェルスクリプトです。
#!/bin/bash
# スクリプト名: check_and_rename_attribute.sh
# 説明: 指定された属性名がシェープファイル内に存在するかを確認し、存在しない場合はユーザーに選択させて属性をリネームし、新しいシェープファイルを作成する。
# 修正したファイルを作成した後、元のファイルを削除するかをユーザーに確認する。
# エンコーディングの設定
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
@naogify
naogify / shape2datapng.sh
Last active November 25, 2025 08:14
ShapeをDATA PNGに変換するスクリプト
#!/usr/bin/env bash
set -ex
# 引数のチェック
if [ $# -ne 2 ]; then
echo "エラー: 必要な引数が指定されていません。" >&2
echo "使用方法: $0 <カラーテーブルファイル: 例 color_table.txt> <対象フィールド名: 例 Max_Rank>" >&2
exit 1
fi