Labo288

プログラミングのこと、GISのこと、パソコンのこと、趣味のこと

グローバーのペグ交換について(102→V97)

結論

Grover 102 → Grover V97 の場合、以下のコンバージョンブッシュが最適です(外径10.0mm、内径6.35mm)。 www.soundhouse.co.jp

はじめに

久しぶりのギター記事です。 まずはこちらをご覧ください。

Thumb W-800

f:id:kiguchi999:20200210015635j:plain

結構レアっぽいいわゆるジャパンビンテージで、ペグはUSA製のグローバーを搭載しています、恐らくオリジナル。 型番で言うと102で、とてもポピュラーなアレです(下図)。

ポピュラーなアレ(Grover 102 Series)

f:id:kiguchi999:20200210015947j:plain

このたびこのペグの蓋部分が外れて、さらにその蓋が行方不明になり再起不能となったため、ペグを交換しました。 手持ちに同じくグローバーのV97、オーブンバックタイプのペグがあったため、それに交換したかったのですが、純正ブッシュの太さが合いませんでした。 しかしヘッド材を加工したくはありません。なので、いわゆるコンバージョンブッシュを使うことで解決しました。

コンバージョンブッシュの選択

Grover 102 Series Spec

以下の画像から、グローバー102のヘッド側の穴(ブッシュ外径)は9.9mmとわかります。 f:id:kiguchi999:20200210020844g:plain

Grover V97 Series Spec

一方のV97を搭載する場合のブッシュ内径は6.0mmのようです(また純正ブッシュの外径が9.15mmという事もわかりますね)。 f:id:kiguchi999:20200210020831j:plain

という事で、外径9.9mm、内径6.0mmがジャストサイズですね。 しかしながら、とくに内径には若干の遊びが欲しいところです(恐らく使えない事はないが、6.0mmのブッシュだと摩擦が強すぎると思われる)。 という事で選択したのが本記事冒頭でも紹介したMONTREUX ( モントルー ) >Convertion Bushing Set 6.35mm NI 送料無料 | サウンドハウスです。 このブッシュは外径10.0mm、内径6.35mmです。そんなわけでV97を換装してみるとまさに理想的なサイズ感でありました。

完成

f:id:kiguchi999:20200210021941j:plain f:id:kiguchi999:20200210021950j:plain

以上です。

Mapbox GL JS用のラッパーライブラリを作ってみた話

はじめに

ベクタータイルやWebGLによる高速描画など、WebGISで今最もアツいのはMapbox GL JSに違いありませんが、私はLeaflet.jsが好きです。 なぜならAPIが非常にシンプルだからです。例えばGeoJSONレイヤーを追加したければ、Leaflet.jsでは以下のように書けます。

L.geoJSON(geojson) //geojsonはGeoJSON形式のオブジェクト

一方Mapbox GL JSでは以下のようになります。

map.addSource('sourceid', {
    'type': 'geojson',
    'data': geojson //geojsonはGeoJSON形式のオブジェクト
});
map.addLayer({
    'id': 'layerid',
    'type': 'fill', //polygonのみに対応
    'source': 'sourceid',
    'layout': {},
    'paint': {
        'fill-color': '#aa0099',
        'fill-opacity': 0.8
    }
});

このように、sourceを追加したうえでスタイルを設定したlayerを追加しなければならず冗長です。 またLeaflet.jsはGeoJSONの種類(ポリゴン、ライン、ポイント)を問わずに同じように追加できますが、Mapbox GL JSでは種類ごとに設定出来るスタイルが限られているため書き分ける必要があり、尚更冗長です。

そんなわけで本記事では、Mapbox GL JSのAPIに簡単にアクセスするためにラッパーライブラリを作った件について書きます。 なお基本的に自分用に作ったもので、まだ開発途中のものになります。

MbglWrapper

github.com

ポイント

リポジトリ内のREADME.mdのとおりですが、要点は以下のとおりです。

宣言

mapboxgl.Mapを与えてラッパーを初期化します。

let map = new mapboxgl.Map({
    container: 'mapPane',
    //empty style
    style: {
        'version':8,
        'sources':{},
        'layers':[]
    }
});

//wrapper init
let mbglWrapper = new MbglWrapper(map)

以下のとおりGeoJSONを追加できます。 スタイルを定義しない場合、自動的にデフォルトのスタイルを設定します。 ポリゴンでもラインでもポイントでも問題ありません。

mbglWrapper.add(geojson) //geojsonはGeoJSON形式のオブジェクト

またラスタータイルも以下のとおり追加できます。

let options = {
    'tileSize':256,
    'attribution':'© OpenStreetMap contributors',
    'minzoom':0,
    'maxzoom':14
}
mbglWrapper.add('https://tile.openstreetmap.jp/{z}/{x}/{y}.png', options)

QGISで地図PDFを簡単に出力するプラグイン「EZPrinter」をつくりました

はじめに

QGISの基本機能としてのPDF出力は、範囲や縮尺の指定が微妙に使いにくいです。 レイアウト機能を使って少し手間をかければ、かなり綺麗な地図も作成出来ますが、QGISで表示している地図をサクッと紙などに出力したい時のためにプラグインを作りました。

EZPrinter

github.com

使用例

f:id:kiguchi999:20191214150630g:plain

使い方

  • 用紙サイズを選択します
  • 縮尺を選択します
  • 印刷したい領域を選択します
  • ダイアログがポップアップするので、タイトルやサブテキスト、スケールバーをカスタムします。
  • Export PDFでお好きな場所に出力

作図例

旭川市駅前エリア、A4、1/2500 f:id:kiguchi999:20191214151617p:plain