smellman's Broken Diary

クソみたいなもんです

いろいろ終わりました

昨日づけで自分で持っていたいろんなタスクが終わり、一段落してザ・ノンフィクションを見たらタイトル画面がphaとkumagaiさんのツーショットで爆笑しました。

まぁ、ちょっと振り返りをしてみたいと思います。

FOSS4G 2019 Niigata (2019/9/13-14)

こちらはスタッフ参加及び国連ベクトルタイルツールキットのハンズオンの手伝いをしにいきました。

1日目の国連ベクトルタイルツールキットハンズオンでは主に止まってしまった参加者のサポートを行うという感じでした。
国連ベクトルタイルツールキット自身はdockerを使って各種地理情報の変換やベクトルタイル化をamd64やarm/v7をプラットフォームとして使えるようにしたもの(unvt/rasv)で、さらに FOSS4G 2019 Niigata では ango という名前でハンズオンに使えるデータやホスティングプログラムを docker image (unvt/ango) として配布することで円滑にハンズオンを行うというものになっています。

hackmd.io

arm/v7をサポートしているため、Raspberry Pi 3をサポートしているのが特徴的です。なお、基本となるdocker imageも unvt/rasv なのでRaspberry Piを意識したものになっています。

ハンズオンでは事前にdocker imageを落としてきてっていうお願いをしていたのですが、やはりメールを見逃した人が一人いて、僕が持ってきていたRaspberry Pi 3をローカル接続してなんとかハンズオンを乗り切るという形で対応をしました。

2日目はスタッフとしてyoutube配信を実施しました。ビデオカメラとHDMI->USBの変換するデバイスは用意してもらっていたので、こちらはUbuntu 19.04を入れているThinkpad X220を持ってきて接続を行い ffmpeg コマンドで配信を行いました。

https://i.imgur.com/fagCBpFl.jpg

他にもミキサーなども用意していたのですが、使うことはありませんでした。

当日の配信は以下のものとなります。

www.youtube.com

www.youtube.com

www.youtube.com

www.youtube.com

なお、基調講演をしてもらった内閣官房政府CIO上席補佐官の平本さんのところだけ前半が切れてしまい、別途アップしています。

www.youtube.com

なんで切れたのかというと、実はURLを事前にツイートするため時間の予約を行っていたのですが、それをするとことごとく配信ができないという状態になりました。そのため、慌てて新しく配信を作っていたら時間が切れてしまったという感じです。この反省は次の神戸のイベントで生かされることとなりました。

JICA研修: 地理空間情報のWeb提供技術 (2019/10/2)

毎年JICAが海外の研修生を日本に招いて国土地理院や色んな所で講義や実習を行っているのですが、僕も毎年1日分講義を担当しています。2014年からなので今年で6回目となります。

今回は国連ベクトルタイルツールキットを使うように全面的に改修を行ったため、まぁプレゼン作りが地獄でした。

speakerdeck.com

まず、今回のために inazo というコードネーム(ヨーロッパのデータを使うので新渡戸稲造からとった)でhfuさんが作成をしていたのですが、僕がクロスコンパイル環境作ったほうが良くないかと思いdockerでarm/v7のバイナリも作成できるようにしたりとか、せっかくなのでserveo.netを使って触ってもらおうとかいろんなことを考えて全然プレゼン作りが進まなくて、締切となる2日前にやっと日本地図センターの人にファイルを送ることができました。

JICAの講義ではまず手始めに持ってきたRaspberry Pi 3で inazo を動かしてそれをserveo.netで動かすことでみんなにアクセスしてもらうというのをやりました。アクセスしてるときはコンソールを表示してアクセスされている様子を教えることでイメージを作ってもらって、それから講義という形でやりました。

今回一番苦労した点は、今年からJICAからタクシー代が出ないっていう制限が発生してしまったので、国土地理院にバスで向かうのですが、余裕ぶっこいていたらバスの本数が極端に少ないのを完全に忘れていてギリギリのバスが遅延もしていて到着したのが5分ぐらい前で、慌ててセットアップしていたら「通訳をお願いする」というのができなく、気づいたら英語で講義をする羽目になったというものです。しかも5時間もあって最後の方は声を出すのが辛いぐらいになってしまった。いつもは通訳があるので少し休めるのだけど、それが一切できなかったのでほとんど喋りっぱなしになり疲れました。

次に苦労したのは事前にPCがWindows 10 Proと聞いていたのでHyper-Vが使えるのでdockerが動くという前提で進めていたのだけど、docker.comでDocker Desktopをダウンロードするのにアカウントを要求してきて、アカウント作りのサポート、例えばアカウント名はどういうものにしたらいいかとか、Captchaがわからないとかを対応してダウンロードを開始するもネットワークが遅くてダウンロードできる人とできない人が出てきて、ダウンロードできたとしてもDockerが動くマシンと動かないマシンがあるのでなんでだろうと調べたら12台あるマシンのうち数台以外BIOSから仮想化がオフになっていて、国土地理院の人も手伝ってもらってBIOSの設定を一つ一つ替えていったりして、本当にバタバタが発生した。いやー、同じマシン買ってるんならBIOSも同じ設定になってないのおかしいだろー。

最後に、苦労というよりこれは面白いなと思ったのが、僕がWindowsで説明してるんだけど日本語版なのでバックスラッシュが円マークになってるため、その文字はなんだ?っていう質問を受けたところ。この質問内容が僕も通訳をいつもやってる人も何を聞いてるのかよくわからなくて、円マークのことを言ってるのがわかった瞬間に思いっきり膝ががっくりした。Windowsの言語設定を英語にしてやるべきだったなーとしみじみ思ったんだけど来年には忘れてそう(汗

あと、一番質問をしてくれた人はマダガスカルから来ていて、OSGeoの現地の団体を作りたいっていう相談をされた。一番良いのはVenka先生あたりにアドバイスもらうことだけど関西に来るのは難しいなーってなったので、なんとかリモートでサポートしたいなーと思った。

FOSS4G 2019 Kobe KANSAI (2019/10/13)

このイベントではMapbox Maps SDKスマートフォンアプリ開発というタイトルで発表をしました。

hackmd.io

まず大変だったのは台風です。台風接近に伴い当日入りだと間に合わない可能性があったので、金曜日のうちに神戸に移動して弊社神戸オフィスに泊まろうという作戦を考えたのですが、案件の方で金曜日に実機の受け渡しをして欲しいという要望があったので頑張って木曜日のうちにデータの作成を行って対応をしました。というか木曜日にいろいろありすぎてやばかった。

神戸オフィスは一軒家をまるまる借り切ってる感じなので風呂もベッドもある快適な環境なのですが、台風の音がうるさくてちょっと睡眠不足になりつつ発表資料の作成を行いました。

で、問題となったのはAndroidの実装から見えてきたMapbox Maps SDKの考え方がいままで地図プログラミングでやってきたものとだいぶ違うものになっていたというものです。発表資料にも書いたけど、Layerという考え方をまず行って、タップした時にqueryをレイヤーに対して投げるっていうものになるので、ベクトル化されたものが本当に全面に押し出されていて、本当の意味でMapboxがやりたいことを実現してきたなという印象があり、それに伴ってiOSでも同じことをしようとやっていたらReact Nativeの実装が書けずに終わった。

なお、今回の発表に伴う調査で僕が書いたReact Nativeの本も古くなってしまったというのが確定したのでちゃんとフォローアップをしないといけないと痛感しました。というか僕がReact Nativeの本書き始めたぐらいからReact Nativeの案件が離れていったというのも問題なんだけどね(最近復活した)。

さて、イベント中はイベントの準備や配信のお手伝い、ネットワークトラブルの対応など、特にスタッフとして換算されてないけど適当にやれることをやりました。そのため、充実感はかなりありましたが、帰りにはぐったり。

あと、イベントの前日に夕飯一緒に食べた友達(昔からのIRC繋がりとか、すまべんで一緒だったあいつ)の同僚とイベントで知り合いになるというまじで世間が狭いやつが普通にあって超面白かった。

まぁ、そんなこんなで昨日までの僕が抱えていたタスクは消化されました。これからjus初代会長のお話を聞きにドワンゴに行くぞ!

jus.connpass.com

Georepublicに入社して8年目になりました。

営業日的には昨日付けで8年目に突入しました。とはいえ、昨日も今日も精神的に病んでダウンしていましたががが。

この一年振り返ると、まぁ稀に見るぐらい案件は大凶っぽさがあったなぁっていう一年でした。

Visual Basic+OracleRuby on Rails+Oracleに移植するというなかなかきつい仕事が夏まであって、やっと終わったころに今度はどでかいRuby on Railsの案件の引き継ぎというのをやりました。
どでかいというか、いきなりサーバ60台引き継ぎなんでかなり辛いし、Ruby on Railsとか言いながら変な内製ライブラリがあってそれが異常な実装だし、そもそもRubyが引き継ぎ段階でEOL迎えてるとかあって、今もなお絶賛改良中だったりします。
ちなみに、この引き継ぎプロジェクトの大変さを話をしたら、DJKuraraさんに「チョコバナナと言われて渡されたものが下痢便だった」と例えられ、これ以上的確な表現は無いなぁと思いました。
この案件が巨大なためさすがに弊社だけではダメだと思っていろいろ声かけたところ、sinsai.infoでお世話になったハートビーツさんにインフラの監視をお願いしたり、前職のAppritsのメンバーや、日本Rubyの会代表の高橋さんや日本UNIXユーザ会で一緒にやってる高野さんと一緒に仕事をするようになって、大変人の縁の大切さを感じるものとなっています。
代わりに後輩は倒れましたが....

他にも相変わらずやっているARの案件は無事クリアして今年は新しいフェーズとして新しいチャレンジをすることになっています。
その関係でVirutualBoxを捨ててParalles Desktopに移行したところ、すげー快適な環境が作れて今までなんだったんだーみたいな感じになっていたりもします。
案件とは関係ないけどUbuntuがかなり早く動いてくれるのが非常に助かっていて、快適なQGIS環境が作れています。

仕事の環境と言えば、今年になって結構人が増えました。
特に面白かったのは今年の新卒で入ってくれた藤田君です。LOCAL関係の人ならご存知かと思いますが、SecHack365でWebUSBを使ってマイナンバーカードを使えるようにしたというハックでも知られています。
ちょうどOSC Tokyo Fallで紹介されて、就職先の相談をされて面白そうだなと思って紹介したら即採用となりました。
今もガンガンハックをしていて、今日なんかもラズパイの記事を投稿しています。

qiita.com

彼はすでに弊社の新しい神戸オフィスのリモートで管理できるようにこれでしているようで、秘密基地っぽさがある神戸オフィスを物理的にもハックしていて本当に面白いです。
他にも、元ボクサーで前職が消防士っていう人も入ってきていて、どういう幅の広さなのか謎な感じもあって面白いです。

仕事に関係してるOSSな活動としては今年はFOSS4G Tokyoが無く、代わりにFOSS4G Niigataとして新潟で開催することが決まり、その準備に取り掛かっています。
基調講演もOKがでてますので、今後の発表を期待してください。
あとは、OpenStreetMap Foundation Japanの方でも新しいタイルサーバの構築の方を進めていて、OpenMapTilesでのissueのやり取りからOpenStreetMap USのコミュニティの方にも顔を出したりするようになったりしています。
こっちの方はあともうちょっとバグが取れたらベータ出してもいいかなってところからずっとハマってるのでなんとかしたいなぁと思っています。

あと、去年執筆したReact Nativeの本は電子の方は売上が出てるようなんですが、やはりマイナーなのか物理の方がもうちょっと売れてくれると(出版社が)助かります。

React Native+Expoではじめるスマホアプリ開発 ~JavaScriptによるアプリ構築の実際~

React Native+Expoではじめるスマホアプリ開発 ~JavaScriptによるアプリ構築の実際~

ちなみに、React Nativeの別の本が僕の本の翌月ぐらいに出てたのに気づきました。本屋で立ち読みしたんだけど、アプローチはやっぱり異なっていてとても勉強になりました(汗

まぁ、こんな感じであいかわらず精神が病んでますががんばろうと思います。と書いてる最中にハートビーツさんから電話が来てサーバトラブルの対応していて精神的に辛くなっていますががが

六畳間の侵略者!?29巻読了

ものすごくひさびさに書くライトノベルの感想です。というか、このライトノベルについて前に書いた感想が14巻なので、実に15巻ぶりです。

ここまであまり書かなかったのはざっくりいうと本を読まなくなっていたからです。ライトノベル以外にも本もなかなか読めないっていう状態で、地図の仕事がいろいろあり、そしてまた楽しかったっていうのもあります。

ただ、去年の11月に心が死に、ライトノベルを大量に読んで凌いだ時期がありました。特に11月〜1月まではKindleで5,60冊ぐらい読んでました。

そしていろいろ読みはしたけど、今まで物理的に買っていたのに読むのが止まってたものがあって、3月に読んでなかった分を26巻から一気に買ったのが六畳間の侵略者!?です。

そのころ、ちょうど慣れないハヤカワ文庫の「順列都市」の上巻に手を出し、難解な文章に頭がこんがらがってたんですが、上巻を読み終えた後、一気に六畳間の侵略者!?に気心がいって、26巻から一気に読み始めました。

そして移動中とかを駆使して昨日29巻が読み終えたというところです。読み終えた後に運営委員会やら飲み会に楽しくやりましたが、いい意味で影響を受けて場に出れたという感じがあったので感想を書きたくなったというのが今回のエントリです。

まず、六畳間の侵略者!?の第一巻を読んだ時期が記憶に無いです。本の印象は強かったし、楽しい本だという記憶があるけど、そもそもこのシリーズ何年続いたのか記憶が曖昧です。多分10年は続いているはず。

で、何度か感想をブログに乗せてはいるけど、いろんなフラグが立ってるっていうのが初期の感想だったんですが、途中から話が壮大になりすぎてすげーカッコいいストーリーという意識が強くなってきて、だんだん求めていたものと違う系統になりすぎてきてるという感じがありました。孝太郎まじ英雄みたいなのとかがそこらへんかと。

でも、少しずつ、本当に少しずつ少女たちの思いが孝太郎に近づいていくところ、そして孝太郎もその気持ちに近づいていくところはすごく良くって、じっくりと書かれているからこそ気持ちがよいものでした。じっくりと、ねっとりとみたいな感じです。本当によいリズムです。

これが合計31(.5巻含め)巻分のものになって最後に期待した通りの優しい結末を迎えたというのが最高に嬉しいというのが本巻の感想です。最高のリズムです!

アニメから入った人にはわからないかもしれないのでとりあえず初めの5巻ずつぐらいから買い進めてみてほしいです。僕はこの作品の魅力にメロメロになっていきました。

一番言いたいのは、ここまで比較的優しいお話を、決して悲観することなく、一段落つけるところまで進めてくれた(作者もあとがきで言ってるように)奇跡の産物というのがとてもうれしくて作者に感謝をしたいという気持ちでいっぱいになりました。

そして何よりこの先の話が進むということ(すでに買ってるから知ってるけど)がありがたいなという気持ちにさせてくれます。

孝太郎の物語はアニメでは4月〜12月ぐらいだったかと思います。本作は4月からすでに二年たった3年生の4月まで進んでいます。アニメを見てない方でこの作品が好きだと思った人はもう(.5巻含め)15巻ぐらいまでは読んでほしいです。できれば29巻までも。

僕はこれから30巻を(少し読んだけど)これからスキマの時間に読み進めています。

ただ、言えるのはらぶいずおーるです。ここまでで本当に心温まるお話をありがとうと作者に感謝をいたします。

しかし、本巻読み終えた後に精神科の通院言っておけば案件で病んでた心が少し収まって、薬の量増量しなくて済んだんじゃねーのみたいな感じです。

六畳間の侵略者!? 29 (HJ文庫)

六畳間の侵略者!? 29 (HJ文庫)

「React Native+Expoではじめるスマホアプリ開発 ~JavaScriptによるアプリ構築の実際~」という本が出版されます

このたび、「React Native+Expoではじめるスマホアプリ開発 ~JavaScriptによるアプリ構築の実際~」という本をマイナビ出版から出版することになりました。

React Native+Expoではじめるスマホアプリ開発 ~JavaScriptによるアプリ構築の実際~

React Native+Expoではじめるスマホアプリ開発 ~JavaScriptによるアプリ構築の実際~

いままで2冊ほどFirefoxに関する本を共著でオライリー・ジャパンさんから出版させていただいてますが、今回は初の単著となります。

単著です...まじで大変でした。

事の発端は今年のOSC2018 Tokyo/Spring にてOpenStreetMapのブースで出店していたのですが、そこにひさびさにマイナビ出版の西田さんと会いました。
西田さんとは長い付き合いで、もともとOpenOffice.orgのコミュニティのつながりで仲良くなり、一緒にちょっとした悪さをしたりする友達でもありました。

さて、西田さんはしばらく書籍ではなく雑誌の担当をしていたんですが、最近書籍担当に戻ったということで、会ってそうそう「組長なんかネタない?」と聞かれました。

僕の専門が地図なので、地図のプログラミングとかどうかなーと最初話をしたんだけど、それだとちょっと弱いかなーっていうので、二年ほど仕事でやっているReact Nativeならどうかと話をしたところ、「それだ!」ってなってトントン拍子に書籍に出す話が進んでいきました。

そして、いきなり「8月に出版するので」となってマジカ!?ってなりながら初めていきましたl.

まずは目次考えたりしたり、当時仕事でやっていたExpoならどうかとか考えてたんだけど、いきなりExpoがiOSQRコード共有を辞めるっていう思いっきり出鼻をくじかれることになりながらも、なんとか頑張って4月から執筆を始められるようにして、とにかく書かないとという感じで書き始めていきました。

執筆にあたって、とりあえず集中できる環境がほしいというのがあり、平日の帰りに近所のルノアールによって執筆をしたり、休日は午前中に近所のルノアールに行ってから午後に新宿御苑を経由して喫茶店をはしごしながら書いていったりという感じで業務時間以外の時間にほぼ書き上げるという感じでやっていました。

ただ、途中で転機が訪れます。まぁ、軽いデスマ状態になってしまい、平日ボロボロになりながらもちょっとだけルノアール寄って書いたり、合間合間を見つけてちょっとずつ進めていくっていう感じでやっていきました。

それでもまぁ、途中サンプルプログラムの作成でドハマリしてまるごと3週間原稿が書けなかったりとかしていて、かなり焦りましたが、まぁなんとかなっちゃいました。
ちなみに、ドハマリした部分は内緒にしますので、ぜひ見つけてみてください。何も出ませんけど!

ゲラが上がってきてからもデスマの余韻がありつつもなんとか土日が使えたので頑張って仕上げました。

まぁ、その分いろいろ失敗してしまったところがあり、土日にも体調崩すことがあって、特に僕が理事をやっている日本UNIXユーザ会の総会及び併設勉強会なんかは起きたらすでに終わっている時間だったなんていう大失敗がありました。本当に申し訳ないです。

苦労話はこの辺にして、本書を軽く紹介しておきます。

本書はReact Native及びExpoを使ってスマートフォン開発を行うためのノウハウを書いた本です。

自分が苦手とするデザインについてもreact-native-elementを使ってそれなりに格好がつくデザインができるようになどいろいろ配慮しました。

また、自分が地図のエンジニアということで、地図を使ったサンプルが3つもあるのが特徴です。単純にみんなが使うであろうreact-native-maps以外にも選択肢があるよということでMapbox GL Nativeを使ったサンプルの乗っけたのは今後地図をやっていく人にとっては面白い観点かと思います。

ネットワークプログラミングの部分もサンプルがOverpass APIというOpenStreetMapのデータを取るAPIを使っていたり、その中でOpenStreetMapのデータ構造について解説したりと、かなり癖がある本になっています。

その代わり、React NavigationやReduxに関してはあまり難しいところまで書かないように注意をしました。ここらへんはどこまで書くかは難しいところですが、抑えておきたいところは書いたと思うので、あとは読者のみなさんがどう拡張していくかを考えていただければと思います。

WebViewのプログラミングについては駅すぱあと路線図APIという僕が仕事で関わった代表作といえるAPIを活用したサンプルを入れました。たくさんの人にぜひ触れてほしいAPIなので、読者の皆さんにはぜひチャレンジしてほしいと思います。基本となるReact Native側とWebViewとのデータのやり取りについてはばっちり理解できると思います。

付録のApple TVのプログラミングについてはかなり悪ノリで、ある日突然Apple TVほしい!ってなって、React Nativeでアプリが作れるのを知っていたので、いきなり買いに行ってしまいました。でも、おかげで奇妙な環境の話ができたのは個人的には満足しています。

最後に、いちばん大変だったのはサンプルプログラムをgithubにあげることでした。今回、全てのソースコードにgitのtagを打っていて、tagをたどればそのプログラムがまるごとコピーできるようにはなっています。一箇所だけコメント間違えたままアップしちゃったところはありますが、まぁ問題ないはずです。
特に原稿との整合性を取るためにtagを打つタイミングはかなり困りました。サンプルプログラムを書いて検証しながら本文を書いて進めていくという形なので、本文の先の方でおかしな点があれば一気に戻らないといけなくなるので、何度もtagを消して調整して戻してとか、最悪プログラムの最初から全部やり直してtagを打っていくとかやっていたので、心が折れそうになりました。
まぁ、これで読者がソースを読むときに省略された部分なんかも全部githubで読めるのでだいぶ理解の助けにはなるかなーと思っています。

というわけで、4月から本格的にスタートして8月にゲラチェックして月末には出るっていうすげースケジュールで出版となります。

あと、今週末のOpen Developer Conference (ODC) と ODC 内で開催されるLLイベントでは見本誌を出しますので、気になる方は会場でもチェックをしてください。LLイベントではプレゼントにも提供されるそうです。

僕はすっかり燃え尽きましたが、ODCには顔をだす予定です。二日目のLLイベントの方は前日の飲み会次第で顔を出すかなという感じです。

さて、あとは書店に出すポップを考えないと...

Georepublicに入社して7年目になりました。

smellman.hatenablog.com

本日で無事7年目に突入しました。
なんだかんだでGISの専門家っぽくなってきました。
使う方のGISはまだまだ慣れないのですが...

笑い話としては、俺はGIS上級者資格を持ってないのだけど、俺の講義を受けるとGIS上級者資格が取れるポイントが付くらしいんですよ。
俺にもくれって思いますね(何
いや、持ってても何に使うのかわからないのですががが

仕事は相変わらずRuby on RailsだったりReact Nativeだったり、コンサルティングやったりVector Tileだったりで、節操がない感じでGISをやっています。
最近はVisual Basicで書かれたASPなWeb GISRuby on Railsに移植してたりとか地獄のような仕事をしています。Dimとかすっかり忘れて変なコード規約だなーとか思ってました(何
コミュニティ活動は日本UNIXユーザー会、OpenStreetMap Foundation Japan、OSGeo財団日本支部などで活動をしていますが、いずれも楽しくやれているので比較的コミュニティ活動が充実しています。たまにはMozillaの方にも顔を出してますが、最近レアキャラになりつつあります。元組長ピンチ。

まぁ、そんなこんなで7年目も引き続き弊社をよろしくお願いいたします。
安全な案件を9月ぐらいにください。

schemaspyでRailsのDBの概要の資料を作成する

schemaspyを使ってRailsのDBの資料が簡単に作れたのでネタにしてみます。

github.com

用意するもの docker-compose 環境なんですが、これは Mac上で Graphviz が落ちるというのを回避するためにやっています。

まず docker-compose.yml を用意

version: '3'
volumes:
  pgdata:
services:
  db:
    image: "mdillon/postgis:9.6"
    volumes:
      - pgdata:/var/lib/postgresql/data
      - .:/mydata
    ports:
      - "5432:5432"
  schemaspy:
    image: "schemaspy/schemaspy:snapshot"
    volumes:
      - ./schemaspy:/output
    depends_on:
      - db

自分の場合だいたいpostgisを使っているのでimageはpostgisです。

事前準備はこんな感じ。

pg_dump -Fp -O hogehoge > hogehoge.sql
docker-compose pull
docker-compose up -d db

postgresqlが立ち上がったのでimportします。

docker-compose exec db /bin/bash
su - postgres
createuser -s foo
createdb -O foo bar
psql -U foo bar < /mydata/hogehoge.sql

インポートするときは /mydata にデータがあるようにしてるので注意してください。

あとは schemaspy の volumes に schemaspy というディレクトリを指定してるので、先に作ってから出力します。
ちなみに現状の schemaspy:snapshot は -o オプションが指定されてるので変更はできません。

mkdir schemaspy
docker-compose run schemaspy -t pgsql -host db -db qq -schemas "public" -u qq -charset utf-8 -rails -I "spatial_ref_sys|geography_columns|geometry_columns|raster_columns|raster_overviews"

これで schemaspy/index.html を開けばOK。
なかでは relation の項目でこんな図ができたりします。

f:id:smellman:20171230161522p:plain

オプションの -railsspam_id を spams などにリレーションを貼ってくれるようになります。
あと、 -I オプションで除外できるテーブルを指定できるので postgis のやつらを除外すれば rails のみの構成になります。

注意としては schemaspy は github で開発が継続されてから公式ドキュメントが追いついてないのでソースコード読んだほうが機能が見つけやすいです(ぉ
あと、schemaspy で検索すると sourceforge の方がまっさきに出てくるので渋い気持ちになります。

おまけ

snapshot ではなく schemaspy 6.0.0rc2 を動かしてみたいと思って試しに作った Dockerfile も置いておきますね。

FROM openjdk:8-slim

RUN apt-get update && apt-get install -y --no-install-recommends \
                graphviz \
&& rm -rf /var/lib/apt/lists/*

RUN mkdir /usr/src/app

COPY postgresql-42.1.4.jar /usr/src/app
COPY schemaspy-6.0.0-rc2.jar /usr/src/app

jar は各自拾ってきましょう。