読者です 読者をやめる 読者になる 読者になる

地理院地図のタイルと OSM を重ねて比較するページを作った

osmjp

国土地理院ベクトルタイル提供実験レポジトリ をフォークして地理院地図のラスタ/ベクタタイルと OpenStreetMap を重ねて表示するページを作りました。

地理院地図と OSM の比較

リポジトリはこちら GitHub

地理院地図と比較して OSM の中で不足しているオブジェクトを目視で判断したかった気がしたので作成したものです。
見ている画面の領域を JOSM で開くためのこの場所を JOSM で編集ボタンが右上の方にあります。

ローカルだと leaflet-hash があってもちゃんと動いたのですが、ロリポップのサイトにアップロードしたらうまくいかなかったので zoar.space の方はハッシュを表示しないようにしています。

スクリプトをいじると Potlatch 2 とか iD エディタでも編集できるようになると思いますが…。

Word を起動した時に「shredder.osi.office.net/shredderservice/api/aadgraph/gettenantdetails」へのサインインダイアログが表示される

Office 365 Business の契約で使えるデスクトップ版 Word を起動した時に次のようなサインインダイアログが表示されるようになってしまいました。

f:id:k-side:20161214145656p:plain

「なんだこれ」と思いググったところ、Microsoft の英語圏コミュニティで解決策が示されていました。

作業としては次のような感じ。

  • Word で表示されるダイアログをバツで消してから「ファイル」→「アカウント」→「サインアウト」とたどって Office 365 からサインアウトする

f:id:k-side:20161214151404p:plain

  • コントロールパネルから「資格情報マネージャー」を開く

f:id:k-side:20161214151401p:plain

  • 「MicrosoftOffice15_Data」または「MicrosoftOffice16_Data」で始まる資格情報を「資格情報コンテナーから削除」

f:id:k-side:20161214151400p:plain

  • 必要に応じて Word からサインインする

f:id:k-side:20161214151402p:plain

これで件のサインインしてっていうダイアログが出てこなくなります。

debian で VS Code が起動できなかったのでライブラリをいじった

debian VS Code

さくらのクラウドに X 環境構築してローカルから接続して開発とかどうだろうって遊ぼうとしたら VS Code が起動できなかった時のメモ。

環境は次の通り

deb ファイルから VS Code をインストールして、メニューから起動させようとしても何も起こらない。
tar ファイルを落として解凍して起動しようとしたら次のようなエラーが発生して起動しませんでした。

Xlib:  extension "XInputExtension" missing on display ":11.0".
Xlib:  extension "XInputExtension" missing on display ":11.0".
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell
Xlib:  extension "XInputExtension" missing on display ":11.0".
Xlib:  extension "XInputExtension" missing on display ":11.0".

既に GitHub の vscode リポジトリでは issue が作られていて、解決法も掲載されていました。

んで、次のような操作でとりあえず起動ができます。

$ mkdir ~/lib
$ cp /usr/lib/x86_64-linux-gnu/libxcb.so.1 ./lib/
$ sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' ~/lib/libxcb.so.1

この ~/lib ディレクトリを LD_LIBRARY_PATH に突っ込むと起動します。

$ LD_LIBRARY_PATH=$HOME/lib code

GUI から起動するメニューの内容も変更しておかないと GUI のメニューからは起動できません。

$ sudo vi /usr/share/applications/code.desktop

[Desktop Entry] の中にある Exec を変更します。

Exec=sh -c "env LD_LIBRARY_PATH\=\$HOME/lib  /usr/share/code/code" %U

これで GUI のメニューからも起動できるようになりました。

mikutter を起動した瞬間にろき氏をブロックするプラグインを書きました

Ruby

一部で被ブロック芸人として知られ、[被ブロック数n件達成イベント]などが開催されているろき氏、そんな彼をブロックするためのプラグインmikutterにあるのかと作者の人に尋ねてみましたが、どうやら無いようだったので作ってみました。

ブロックするプラグインはないことと同時に mikutter プラグインの中でブロック関係の処理をしているプラグインを教えていただいたのでそれを参考にしています。

このプラグインでは mikutter が起動した段階でブロックリクエストを送ります。
ブロックリクエストは、すでにブロックしているユーザーに対して行ってもエラーにならないようなので、ブロックをチェックせずにリクエストを送ることができました。

プラグインがこの形になってから数時間経っていたのですが、mikutter で認証しているアカウントと、ブロックの状況を確認しているアカウントが違っていたので「ブロックできていない」と思ってしばらく悩んでいました。
確認重要…。

なお、自分はろき氏をフォローもブロックもしておりません。ご了承ください。

Zabbix サーバーを仮想マシンから実機に移動する

debian zabbix

ちょっと仮想マシンを別のことに使いたくなったので、Zabbix サーバーを実機に移動してみました。
今までだとまっさらな環境からスタートするのですが、今回は保存されているデータごとごっそり移動してみた記録です。

ざっくりとした移行プランは次のような感じ。

  • 新サーバーに Zabbix と MySQL をセット
  • 旧サーバーの Zabbix を停止
  • 旧サーバーのデータベースをエクスポート
  • スクリプトを新サーバーにコピー
  • 旧サーバーをシャットダウン
  • 新サーバーへデータベースをリストア & Zabbix Server の再起動
  • 新サーバーの IP アドレスを旧サーバーのものにセット

クッソ長いので注意。 あとパスワードは適当な文字列なのでちゃんとセットしないとひどい目に遭います。

続きを読む

QGIS の QTiles プラグインを使えるようにした話

Windows GIS

タイルサーバーの画像を拾ってきて結合して使いたかったのですが、 QGIS の QMetaTile プラグインは動かないし、 QTiles は一覧にないし…だったので QTilesGithub から取ってきて使えるようにしてみました。

環境は Windows 7 x64 で QGIS 2.16.3 を使ってます。

Git が使えるコンソールでリポジトリをクローンする(ウチの場合は PowerShell)

PS> git clone https://github.com/nextgis/QTiles

そのままビルドすると No module named qgscollapsiblegroupbox というエラーで泣かされるので QTiles\ui\qtilesdialogbase.ui の997行~1003行あたりを編集する。 デフォルトでは次のような感じ

 <customwidgets>
  <customwidget>
   <class>QgsCollapsibleGroupBox</class>
   <extends>QGroupBox</extends>
   <header>qgscollapsiblegroupbox.h</header>
   <container>1</container>
  </customwidget>

ここの header 要素の中身を書き換えて

 <customwidgets>
  <customwidget>
   <class>QgsCollapsibleGroupBox</class>
   <extends>QGroupBox</extends>
   <header>qgis.gui</header>
   <container>1</container>
  </customwidget>

てな感じにすると良いよってナレッジがあった。

Python 関連で一番環境がいい OSGeo4W Shell を起動してビルドする

C:\> B:
B:\> cd b:\build\QTiles

Makefile.bat が上手く動かなかったので手動で順番に実行する

b:\build\QTiles> cd ui
b:\build\QTiles\ui> pyuic4 -o ui_aboutdialogbase.py aboutdialogbase.ui
b:\build\QTiles\ui> pyuic4 -[f:id:k-side:20161011120435p:plain]o ui_qtilesdialogbase.py qtilesdialogbase.ui
b:\build\QTiles> cd ..
b:\build\QTiles> pyrcc4 -o resources_rc.py resources.qrc
b:\build\QTiles> lrelease i18n\qtiles_ru_RU.ts
b:\build\QTiles> cd ..

lrelease コマンドはどっちにしろロシア語しかないので実行しても意味ないかもしれない…。

Makefile.bat によるといくつかのファイルやディレクトリはいらないようなので削除しておく。
面倒だから削除しなかったんだけどイケた。 *.pyc だけはあったら削除しておいたほうがいいかもしんない。

\*.pyc
\*.ts
\*.ui
\*.qrc
\*.pro
\*~
\*.git\*
\*.svn\*
\*Makefile*

最後に QTiles ディレクトリをプラグインディレクトリにコピーする。
プラグインディレクトリは ~\.qgis2\python\plugins って感じの場所にあるはず。

QTiles を使う時にはオンザフライ変換(OTF)を無効にしておかないとエラーが出るっぽい。

とりあえずウチの環境ではこれで動いたった。

f:id:k-side:20161011120435p:plain

仮想マシンの FreeBSD を 10.3-RELEASE から 11.0-RELEASE にした話

FreeBSD

たまたま BSDsec を見たら11.0-RELEASE のコピーが FTP に乗ってるけどまだ正式アナウンスじゃないからアップグレードするなよって記事が9月28日に出てたので、我慢できずにアップグレードしちゃいました。
良い子は10月5日頃にあるという正式アナウンスを待ってアップグレードしましょう。

アップグレードした FreeBSDdebian 上で動作する仮想マシンにインストールしたものです。
カーネルは自前でコンパイルしたものではなく、デフォルトでインストールされたものに freebsd-update で更新を続けたものになります。
この FreeBSD は hubot をいくつか実行しているだけの仮想マシンになります。docker でやれって話ですが。

続きを読む