社内システム育成日記

デイサービスでの簡単なシステムをファイルメーカーで作成しています。備忘録を綴っていきます。

国土地理院API、ヒュべニの式を使って住所から距離を計算しました【FileMaker】

家から近いラーメン屋、コンビニ…など、距離順に情報を並べたい時があります。

距離を計算するためには、まず住所から緯度経度を求め、2つの緯度経度から距離を計算します。 平面だったら三平方の定理で簡単なのですが、地球は丸いのでちょっと複雑になります。

住所から緯度経度を求める

住所から緯度経度を求めるAPIはいくつかあります。 GoogleAPIでも良いのですが、クレジットカードを登録する必要があり、使いすぎたらお金がかかる仕様になっていて、ちょっと不安です。 そこでとっても良心的なサービス ”国土地理院API”です。

登録なしで利用できます。大量にアクセスするのはやめてくださいね、と注意書きがあります。 マスタ登録するたびにリクエストする、といった常識的な使い方をしていきます。

FileMakerではURLを挿入スクリプトでリクエストします。 返ってきた結果(JSON形式)をちょっと形を整えて、緯度フィールド、経度フィールドに値を入れます。 (結果に[]がついていたのでそれを取り除いたり)

ヒュベニの式を使う

▼計算式

Let (

[

%POLE_RADIUS = 6356752 ;  // 極半径(短半径)

%EQUATOR_RADIUS = 6378137 ; // 赤道半径(長半径)

%E = .08181919104281579 ;  // 離心率

%E2= .006694380022900788 ;  // 離心率の2乗

%緯度1rad=Radians ( 緯度1 ); 

%緯度2rad=Radians ( 緯度2 );

%経度1rad=Radians ( 経度1 );

%経度2rad=Radians ( 経度2 );

%平均緯度=(%緯度1rad+%緯度2rad) / 2; %緯度差=%緯度1rad-%緯度2rad; %経度差=%経度1rad-%経度2rad;

// 子午線・卯酉線曲率半径の分母を求める

%W = Sqrt ( 1-%E2*Sin ( %平均緯度 ) * Sin ( %平均緯度 ) );

// 卯酉線曲率半径を求める

%N = %EQUATOR_RADIUS / %W ;

// 子午線曲率半径を求める

%M = %EQUATOR_RADIUS * (1-%E2) / %W3;

%距離=Sqrt *12)

]; Round ( %距離/1000; 1 ) )

▲コメントは”*”を入れるとイタリックになってしまうので、”//”にしています。

計算式を丸ごと載せてしまうとこんな感じです。 地球の丸みも考慮した計算ができるんですね!

ポータルとボタンバーを使うと、距離を出すためだけのテーブル(家とラーメン屋なら家IDとラーメン屋IDをもったテーブル)を作らずとも、近い距離のリストを表示することができます。 f:id:hotspiringday:20210409105353p:plain

ポータルのフィルタに計算式を入れることができるので、例えば15km圏内のリストを表示させることができます。

ただ、FileMakerのポータルのソートは、フィールドを指定しないとできないので、距離が近い順に並べようと思うと一度どこかフィールドに入れる必要があります。 (私はバーチャルリストを作って、ソートをかけました!)

*1: %緯度差 * %M )2 + (%経度差%N Cos ( %平均緯度

自社システムで初めての確定申告も無事終了!

昨年8月に開業してから、初めての確定申告を無事に終えることができました!

簿記3級の本と、個人事業主のための本で一通り確定申告するための知識を得て、FileMakerで仕訳をすれば簡単に確定申告で必要な数字が出てくるようにしてみました!

f:id:hotspiringday:20210408220005p:plain

▲こんな感じです。

勘定科目マスタ、仕訳帳、仕訳詳細を用意し、仕訳詳細にはFg借方、Fg貸方が用意されています。 仕訳詳細を集計すれば、青色申告するための数字は大体手に入ります。

なかなか使い勝手が良く、取引発生主義で入力できています!

f:id:hotspiringday:20210408220632p:plain

自分で使うだけなのでそんなに凝ったものではないですが、請求書や領収書も発行できるようになっていて、結構可愛くて気に入っています。

FileMaker選手権に参加しました。

昨年末から年始にかけて募集されていたFileMaker選手権に応募し、審査員特別賞をいただきました!

news.mynavi.jp

FileMaker選手権は前回最後に開催されたのが2014年、私がFileMakerを知ったのが2017年の終わり頃なので、初めての応募できるチャンスでした。

FileMakerを始めたころ、2014年の受賞作品の中身を見ながら「こういう風に作るんだ〜」と学んでいたので、今回そこに受賞作品として掲載されることに感慨深さがあります。

hotspiringday.hatenablog.com

私が作ったのはヴァイオリン教室アプリです。 友人がヴァイオリンの先生をしていて、その話から着想しています。 (アプリのテーマカラーはかなりその教室に影響されていますw)

f:id:hotspiringday:20210320122221j:plain

youtu.be

ヴァイオリン教室のように1対1でのサービスは、記憶を頼りにしてしまいがちですが、記録をつけることで客観的に分析することができるのではないでしょうか。

IT化の必要に迫られている分野ではないかもしれませんが、コンテストに出たりプロを目指すような本気な生徒さんが通うような教室には良いかもしれません。

マネージャー的な役割をヴァイオリンの先生が担うとすれば、ぜひFileMakerを導入しこのアプリを元にオリジナルなデータベースを作って欲しいです。

これを元にカスタマイズするとしたら、

  • 動画の撮影・共有

  • 楽譜の書き込み・共有

  • ご家族や他の先生との連携

など色々できるかなと思います。もちろん他の楽器のレッスンにも応用可能です!

受賞したアプリは制作期間2日ほど。締め切り間際に慌てて提出したもので、機能も最小限。 これだけで痒いところに手が届く業務システムにはならないと思うので、ぜひカスタマイズして使ってもらえると嬉しいです🐧

f:id:hotspiringday:20210320124301j:plain

▲いただいた賞品です!かなり贅沢なハムをいただきました😆 ありがとうございます。

昨年のカンファレンス動画がYouTubeにあがっています!

昨年11月に行われたFileMakerのカンファレンス ”Claris Engage Japan2020” 初のオンライン開催でしたが、そのおかげもあり、たくさんのセッションがアップされました。

私も平成生まれの開発者枠(Next Generation)で、初登壇させていただきました。 hotspiringday.hatenablog.com

youtu.be

昨年は個人事業主として活動していくにあたり、発信活動に挑戦した1年でした。 初めてホームページを作ったり、動画制作に挑戦したり…

全然中身のないものですが、実は音声配信も始めました。弟との雑談です。 open.spotify.com

開発もものづくりですが、発信のコンテンツを作るのはまた違ったむずかしさがありますね。

初めてのことばかりで失敗も多い1年でしたが、まずは色々と挑戦して今年も頑張りたいと思います。 (新年の挨拶っぽくなりましたが、あけましておめでとうございます。言ってなかったですね。)

あけましておめでとうございます🎉

昨年末に登壇した株式会社サポータス主催 さぽらぼの内容もぜひご覧いただければと思います。 www.youtube.com

定期的に開催されるセミナーで、FileMakerに興味がある方にはおすすめです。

ユーザーに優しい検索を考えてみました【FileMaker】

小規模なデイサービスで使えるようなシステムを制作中です。

利用者さんのご利用予約と実績を兼ねた”利用票”(1日1人1レコード)を検索するときの動作について考えてみました。

事務処理に慣れた人だとFileMakerの標準の検索ボタンを押して検索できるかもしれませんが、もう少し親切にしてみました。

ご利用者さんの名前があいまいな書き方でも検索に引っかかるように作ってみました。

画面をお見せしますと、こんな感じです。

f:id:hotspiringday:20201103121539p:plain

検索すると…

f:id:hotspiringday:20201103121551p:plain

特に介護スタッフだと、声に出してご利用者さんの名前を呼ぶことはあっても、なかなか書くことはないので漢字がパッと出てこないこともありますからね☺️

どうやっているかというと、まずは来所日で検索して、そのあとPatternCountという関数で0なら対象レコードから外す、というやり方をしています。

他にも色々検索のやり方はあると思うので、試してみたいと思います。 レコード数が多くなったときにこのやり方で大丈夫か?検証する必要もありますね。

*おまけ

今更なのか?セレクターコネクターという開発モデルがあることを知り、デモファイルや動画をみています。

www.geistinteractive.com

今のところアンカーブイばっかりですが、セレコネの方が適したシステムもありますよね。

Claris社さんに取材していただきました!

https://www.claris.com/ja/blog/2020/degital-transformation-at-nursing-home

オンライン取材を受け、かっこよく記事をまとめていただきました!

自分でも色々とブログ書いたりYouTube撮ったりしていますが、FileMakerClarisさんにこういう風にまとめてもらうと、 説得力が違いますね!笑

そして記事の中で出てくる写真はラジオのコミュニティで知り合った、だん薫さんに撮影していただいたものを使っています📷  だんさんは漫画も描ける、すごい人です! 色んなことがオンラインになって、こういう写真があると本当に助かります笑

Claris Engageもぜひご覧ください! 記事もシェア歓迎です😆

カンファレンスに登壇します!

昨年初めてFileMakerのカンファレンスに参加しましたが、今年はなんとスピーカーとして参加します! engage.claris.co.jp

▼昨年の様子はこちら hotspiringday.hatenablog.com

今年は感染症の対策でオンライン配信とのことで、コンテンツも豊富ですね! プレゼンとの経験少なくトークにもそんなに自信はなかったのですが、ブログや営業資料で図解のストックがあったことや動画を作った経験のおかげでなんとか形になりそうです!

公開されたらぜひご覧ください🐧