2020/07,江端さんの忘備録,江端さんの技術メモ

先月、AWSから、こんな請求書が来て青冷めました。

練習用のEC2を立ち上げておいただけで、5000円以上持っていかれました。

そもそも仕事で使うAWSの練習用のAWSで、5000円以上も自腹を切らわされるのは、なんとも業腹です ―― しかし、会社の飲み会で、まずい飯とつまらん会話で8000円支払わされること思えば、圧倒的に安いとは思いますが。

で、面倒なので、練習をしていない時は、EC2を落すようにしました(下記参照)

今月の支払いは、以下のようになりました。

まあ、200円弱くらいならいいかな、と思いました。

勉強や練習でEC2を使っている人は、こまめにEC2を落しましょう。

2020/07,江端さんの技術メモ

docker start -a ebata_db_1

docker container exec -it ebata_db_1 bash

で、SQLファイル(create_tables.sql)が、/db_data に入っている場合

psql -f /db_data/create_tables.sql(フルパス) -U postgres(ユーザ名) -d ca_sim(テーブル名)

で、実行可能。

フルパスにしないと、/db_dataの中から実行しても、"そんなファイルないよ"と(平気で)言われるので注意のこと

2020/07,江端さんの忘備録

(昨日の続きです)

(Continuation from yesterday)

私、かなり真剣に「結婚数理学」とか「結婚統計学」みたいな分野が立ち上がってもいいんじゃないかな、と思っているくらいです。

I'm pretty seriously thinking that it would be okay if a field like "mathematical math" or "marriage statistics" was launched.

これは、結婚という現象をマスから観測するものであり、「マクロ結婚学」と称呼しても良いと思います。

This is to observe the phenomenon of marriage from the mass, and I think it may be called "macro marriage science".

比して、「婚活サイト」の方は、個人の資質や振舞いから見た結婚アプローチであり、「ミクロ結婚学」と言えるでしょう。

In comparison, the "marriage site" is a "micro marriage science" approach to marriage based on personal qualities and behaviors.

マクロとミクロから考えてみると、

Considering from the macro and the micro, I think,

■結婚をマクロで見るのは、政府の少子化対策担当者くらいだろう。

- The only people who see marriage in a macro are those in charge of measures against declining birthrate.

■婚活をしている多くの人にとっては、『他人の結婚なんざどーでもいい』はずであり、究極のミクロ視点で正しいと思う

- For many people who are in marriage hunting, they might think "I don't care of others marriages", so, if they are acting based on the micro, it is natural.

■結婚した人も、結婚をしなかった人も、したい人も、したくない人も、他人のことなんぞ、ほっとけばいい

- Married people, not married people, people who want to do or not to do should ignore others.

と思っています。

では、江端にとって、どんな人間に興味があるのかと問われれば、

Then, if asked what kind of person I am interested in,

「日記のネタを提供してくれる人」

"A person who provides diary tips"

この一言に尽きます。

-----

まとめますと、

In summary,

■「婚活サイト」の広告の内容は、非常に妥当であり、

The content of the advertisement for the "marriage hunting site" is very reasonable,

■他人の結婚をマクロな視点から語る人物というのは、「極めつけの低能」である

A person who talks about the marriage of another person from a macro perspective is "extreme incompetence."

ということです。

------

ところで、話は変わりますが、

By the way, the story changes,

先日、

The other day, I wrote a diary

さあ、この対応、何日で返事がくるか? あるいは黙殺されるか?

Now, how many days does it take to respond to this response? Or will they ignore me?

という日記を掲載しましたが、市役所から返事を頂きました。

After that I got a mail from city hall.

週末は営業日と換算しないとして、応答までの日数は「1日」でした。

Assuming that weekends are not converted into business days, the number of days until the response was "1 day".

『市役所、なかなかやるな』と、感心しました。

I was impressed, "the City hall, pretty good"

-----

まだ、私は、市役所の、いわゆる「ペルソナ・ノン・グラータ」リストには入っていない、と信じていますが。

I don't believe that I am a so-called "Persona Non Grata" against the city hall.

2020/07,江端さんの忘備録

同僚:「その人は結婚しているのか?」

Colleague: "Is the person married?"

と聞かれることがあります。

may ask me sometimes.

江端:「知らん。聞いたことないし、興味もない」

Ebata: "I don't know. I've never heard of it and I'm not interested."

と、私は答えています。

has answered.

これ、フリではなく、私は心底、他人に興味がなく、さらに言えば、その人の「結婚」なんぞに、全く興味が湧かないのです。

This is not pretending, and I'm really not interested in other people, and moreover, I'm not interested in that person's "marriage" at all.

そういう感性を、どっかに置き忘れてしまったかのようです。

It seems that I have left that kind of sensibility somewhere.

その人間の「家族」に至っては、本当にどーでもいい。

When it comes to the human "family," I really don't care.

飛行機の中で、子どもや孫の写真などを見せてくる外国人は、少なくなかったです。

There were many foreigners showing me photos of children and grandchildren on the plane.

こんな時、私は、「彼らの期待通りの反応をして上げられなくて、申し訳ない」という気持になります。

At times like this, I feel like "I'm sorry I didn't get the reaction you were expecting".

―― 被写体に未成年らしき人間が映っている写真

"A photo of a human subject that appears to be a minor"

以外の感想、一切なし、です。

I have no other impressions.

-----

最近、Webブラウザに「婚活サイト」の広告がよく出てきます。

Lately, I've been seeing a lot of ads for "marriage activity sites" in my web browser.

まあ、最近はターゲティング広告が殆どですので、ある広告を見れば、芋づる的に同じような広告が出てきます。

Well, these days most of the ads are targeted, so if I look at a certain ad, a similar ad will appear easily.

例えば、エロサイトの広告が頻繁に出てくる場合、その人がエロサイトの広告を見ていることの証拠となります。

For example, if I often see ads for erotic sites, it's evidence that I am watching ads for erotic sites.

-----

ということは、私が「婚活サイト」の広告を良く見ていることになりますが ―― まあ、見ているかもしれません。

This means that I often look at ads on "marriage hunting sites", well, maybe you are.

結婚というのは、机上/数値シミュレーションとして、なかなか興味深い分野なのです。

Marriage is, a as desktop/numerical simulation, very interesting field

(続く)

(To be continued)

2020/07,江端さんの忘備録

私、将棋のルールを、完全に知っているとは言えません。

I can't say that I know Shogi rules completely.

週末のNHKの将棋対局は、3秒でチャンネルを替えます。

NHK's Shogi games on the weekend change channels in 3 seconds.

誰が何の将棋のタイトルを取ろうが、全く興味ありません。

No matter what Shogi title whoever gets, I'm not interested at all.

-----

ところが不思議なことに、将棋のコミックやアニメは、かなり好きです。

However, mysteriously, I really like Shogi comics and anime.

「将棋めし」「リボーンの棋士」「3月のライオン」「りゅうおうのおしごと」なんでもござれです。

"Shogi Meshi", "Reborn Shougi Player", "March Lion", "Ryuou's Work", etc.

自分でも良く分かりません。

I'm not sure for the reason.

「二人零和有限確定完全情報ゲーム」

"Two people zero sum limited to determine the complete information game"

だからなぁ、と思うこともあるのですが、それなら、「囲碁」だって、「チェス」、「オセロ」だって好きになってもいいはずです。

I sometimes think that the reasons are natures of the game, however, I also think "Go", "chess", and "Othello" are also acceptable.

それに、将棋だって「千日手」みたいな、ルールが決っていない、例外もあります。

Also, Shougi also has exceptions, like a rules of "Sennichite".

-----

勝負ごとに手を出せない、私のようなヘタレにとっては、「零和ゲーム(勝ちと負けが確定的に決まるゲーム)」に人生を賭ける人間に対して、憧れがあるのかなぁ ―― などと、考えることがあります。

I think that for for cowards like me, who cannot bet my life for a game, I have a longing for a person to bet on their life in a "zero-sum game (a game in which winning and losing are definitely decided)"

2020/06,江端さんの技術メモ

内容コマンド例
サービスの起動postgres -D /usr/local/var/postgres
デフォルトのテーブルに接続psql -d postgres
直接データベースに接続psql -d テーブル名
データベース一覧の表示\l
データベースへの接続\c データベース名
テーブルの作成create table テーブル名 (
counter int primary key,
present_station int,
departure_station int,
present_time time
);
データの書き込み
INSERT INTO テーブル名(counter, present_station, departure_station, present_time) VALUES(1, 2, 3, '12:23:34');
データの上書きUPDATE テーブル名 set present_time = '23:34:45' WHERE counter = 1;
テーブル一覧の表示\dt;
テーブル構造の表示d テーブル名;
テーブル内のデータを一覧select * from テーブル名;
指定したカラムの内容を小さい順に表示select * from テーブル名 order by カラム;
指定したカラムの内容を大きい順に表示select * from テーブル名 order by カラム desc;
表示数指定select * from テーブル名 limit 数;
表示の開始位置指定select * from テーブル名 offset 数;
カラム内の任意の文字を表示select distinct カラム名 from テーブル名;
カラム内の合計値select sum(カラム名) from テーブル名;
カラム内の最大値select max(カラム名) from テーブル名;
カラム内の最小値select min(カラム名) from テーブル名;
カラム内の平均値select avg(カラム名) from テーブル名;
データの更新update テーブル名 set 更新内容;
全データの削除delete from テーブル名;
テーブル本体の削除drop table テーブル名;
データの削除delete from テーブル名 where 条件;
テーブルのオーナーの変更alter table テーブル名 owner to オーナー名;
文字数select length(カラム名) from テーブル名;
文字列連結select concat(文字列, 文字列, ...) from テーブル名;
カラムの追加alter table テーブル名 add カラム名 データ型;
カラムの削除alter table テーブル名 drop カラム名;
カラム名の変更alter table テーブル名 rename カラム名 to 新カラム名;
カラムのデータ型を変更するalter table テーブル名 alter カラム名 type データ型;
インデックス追加create index インデックス名 on テーブル名(カラム名);
インデックス削除drop index インデックス名;
viewの作成create view ビュー名 as viewに指定するコマンド;
view一覧の確認\dv;
viewの使用方法select * from ビュー名;
viewの削除drop view ビュー名;
SQL文を外部ファイルに書いて実行する時に使う\i ファイル名

2020/07,江端さんの忘備録

先週の日曜日、期日前投票をする為に、嫁さんと長女を伴って、指定の施設に行きました。

Last Sunday, I went with my wife and senior daughter to a city facility to vote before the deadline.

運動不足解消も兼ねて、片道30分を歩くことにしました。

We decided to walk 30 minutes each way to get some exercise.

場所も時間も正しかったのですが、期日が早すぎました。

The location and time were correct, but the date was wrong.

投票日は7月5日、期日前投票の開始は6月30日からでした。

Voting day was July 5, and pre-voting began on June 30.

勝手に「10日くらい前から」と決めつけていた私が悪いのですが ―― しかし、そんなに短期間だったかな?

I was wrong to decide "from 10 days ago" unilaterally, however, was it such a short time?

私は、毎回、期日前投票をしているので、今回の期間には違和感を感じました。

I feel uncomfortable with this time period because I have pre-voted every time.

-----

ちょっと調べてみました。

I searched a little.

公職選挙法の第48条の2第6項6号に、第39条の読み替えがあって ―― 早い話が、

There is a replacement of Article 39 in Article 48-2, Paragraph 6, Item 6 of the Public Offices Election Law, anyway,

市役所だけは、公示の翌日からやらなければならないけど、それ以外の投票所については、「市町村の選挙管理委員会の指定した期間」と、選管の裁量に任されているようです。

Only the city hall must start from the day after the announcement, however, regarding other polling stations, it seems that it is up to municipal election committee that means, "the period decided by the municipal election committee".

『コロナ禍の影響で期間を短くしたのかなぁ』とか思いましたが、さらに調べたてみた結果、行政区で対応がバラバラのようです。

I wondered if they shortened the period due to the corona disaster. As a result of further investigation, it seems that the administrative districts have different responses.

例えば、足立区は「(コロナ禍の感染リスクを減らす為に)前回の全期間受付は1カ所だったが、今回は10カ所すべてを全期間開ける」としているようです。

For example, Adachi Ward has decided to open all ten locations for the full period of time this time, whereas the previous time, only one location accepted applications for the full period of time (in order to reduce the risk of transmission of corona virus).

-----

まあ、本件、家族で、1時間弱の散歩をしただけのイベントとなりました。

Well, this event was for my family to walk for less than an hour.

なんか悔しかったので、途中のスーパーで、特に必要もない「サバの切り身」と「納豆」を購入して帰宅しました。

I was frustrated, so I went to a supermarket on the way and bought some mackerel fillets and natto (fermented soybeans) that I didn't need. And then we went home.

2020/06,江端さんの技術メモ

osm_railway_linestringの場所がさっぱり分からないので、とりあえずOpenMapTilesがあやしいので、「OpenMapTiles Map Server を使ってサイトに地図を埋め込む」を、そのまま真似てみる

https://qiita.com/kmdsbng/items/fe9239e96afe29eb893c をそのまま実行

タイルデータをダウンロードする
https://openmaptiles.com/downloads/

Downloads > Asia > Japan > Tokyo から 東京エリアをダウンロードする

OpenMapTiles Map Serverを起動する
タイルデータを置いたディレクトリで以下の docker コマンドを実行

docker run --rm -it -v $(pwd):/data -p 8080:80 klokantech/openmaptiles-server

C:\Users\ebata\Desktop\hirohakama_sim>docker run --rm -it -v $(pwd):/data -p 8080:80 klokantech/openmaptiles-server
Unable to find image 'klokantech/openmaptiles-server:latest' locally
latest: Pulling from klokantech/openmaptiles-server
c5e155d5a1d1: Pull complete 221d80d00ae9: Pull complete 4250b3117dca: Pull complete 3b7ca19181b2: Pull complete 425d7b2a5bcc: Pull complete 69df12c70287: Pull complete ea2f5386a42d: Pull complete d421d2b3c5eb: Pull complete da30b29849e7: Pull complete 737fbec6f196: Pull complete e4745ce6fed7: Pull complete 28b22a8cf232: Pull complete Digest: sha256:1a6fec0108fa78cf778d385205b4b0197b8c599fb91f9e08a1f114af9df75584
Status: Downloaded newer image for klokantech/openmaptiles-server:latest
docker: Error response from daemon: create $(pwd): "$(pwd)" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.

あ、Windows10のコマンドプロンプトでは、$(pwd)が解釈できないみたいなので、

C:\Users\ebata\Desktop\hirohakama_sim>docker run --rm -it -v ~/data -p 8080:80 klokantech/openmaptiles-server としてみたら

C:\Users\ebata\Desktop\hirohakama_sim>docker run --rm -it -v ~/data -p 8080:80 klokantech/openmaptiles-server
/usr/lib/python2.7/dist-packages/supervisor/options.py:298: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
'Supervisord is running as root and it is searching '
2020-06-29 15:43:52,652 CRIT Supervisor running as root (no user in config file)
2020-06-29 15:43:52,652 INFO Included extra file "/etc/supervisor/conf.d/openmaptiles.conf" during parsing
2020-06-29 15:43:52,655 INFO Creating socket tcp://localhost:8081
2020-06-29 15:43:52,656 INFO Closing socket tcp://localhost:8081
2020-06-29 15:43:52,663 INFO RPC interface 'supervisor' initialized
2020-06-29 15:43:52,663 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2020-06-29 15:43:52,664 INFO supervisord started with pid 1
2020-06-29 15:43:53,669 INFO spawned: 'wizard' with pid 8
2020-06-29 15:43:53,674 INFO spawned: 'xvfb' with pid 9
Starting OpenMapTiles Map Server (action: run)
2020-06-29 15:43:54,196 INFO success: wizard entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2020-06-29 15:43:54,196 INFO success: xvfb entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
Config file not found!
Starting installation…
Installation wizard started at http://:::80/
List of available downloads ready.

で、このまま、で停止した状態。

ブラウザで http://localhost:8080/ にアクセス

"CONTINUE"を押下

"CONTINUE"を押下

"SAVE & RUN THE SERVER"を押下

Click here to get the download keyを押下

上記のKeyをコピペして、"START DOWNLOAD"を押すと

てな画面がでてくる。

"OPEN MAP SERVER"を押下した後、http://localhost:8080/をすると以下の画面が出てくる。

疲れた。今日はここまで。

2020/06,江端さんの忘備録

週末、ホームページで、営業日時と時間を調べてから、嫁さんと市民プールに行きました。

At the weekend, I went to the public swimming pool with my wife after checking the website for opening times and hours.

しかし、施設の窓口で「土日はお休み」と言われました。

However, I was told at the facility's office that they are closed on weekends.

無駄と知りつつ『ホームページを調べて来たのだけど』と抗議をして、やむなく帰宅しました。

Knowing it was useless, I complained, "we came to check the website" and then we were forced to go home.

実は、以前にも、プールの営業時間変更も更新されていなかったので、すでに市役所には抗議のメールを送付していました。

In fact, I had already sent an email to City Hall protesting the change in the pool's hours of operation, as it hadn't been updated previously.

「市役所の対応済み」を信じた私が、「間抜け」だったということになります。

I was "dumb" for believing that "City Hall has already handled it.

-----

市役所も、コロナ禍対策でてんてこ舞いだろうし、ホームページの更新に手が回らない、という苦しい事情は理解できます。

The city hall must be busy with measures to deal with the corona epidemic, and I can understand the difficult situation that they have not been able to update their website.

しかし、折角の「市民からの通知」を活かさないことは、問題あると思います。

However, I think there is a problem with not taking advantage of the occasional "citizen's notice".

ただ、私、この理由、分かっています。

But I know the reason for this.

『ホームページの更新なんぞ、3分もあれば足る(あるいはコロナ対策ページに誘導するリンクを1行付ければ足る)』と思うのですが ――

It would take me 3 minutes to update the home page (or one line of link that takes people to the anti-corona page).

実際のところ、市役所の職員は、専門の業者の手を通さねば、ホームページの更新ごときができないのです。

As a matter of fact, City Hall employees have to go through a professional contractor to update their website.

正確に言えば、

To be exact,

(1)稟議上(あるいは契約上)の手続で、職員にホームページ作成の権限がない

(1) The staff does not have the authority to create the website due to a request for approval (or contractual issues).

か、

(2)職員にホームページ作成のスキルがない

(2) Staff do not have the skills to create a website.

のいずれか、あるいは、その両方です。

Either or both.

-----

私、もの凄く心配しています。

I'm terribly worried about it.

これから、台風や水害、それに地震などが発生すれば、市民にとって、市役所のホームページからの災害情報や避難情報は、「最後の砦」です。

From now on, if a typhoon, flood, or earthquake occurs, disaster and evacuation information on the city hall's website will be the last line of defense for the citizens.

ホームページの最新の情報は、現場担当者がその場の判断で、それこそ、分単位で更新して貰えなければ、本当に困るのです。

The latest information on the website needs to be updated on a minute-by-minute basis, by the field personnel at their discretion.

しかし、市役所は、リアルタイムのホームページの更新に、きちんと対応できるのでしょうか?

But will City Hall be able to respond properly to real-time website updates?

-----

正直なところ、文部科学省には「プログラミング教育」なんぞより、子どもには、「htmlファイル(テキストファイルでも構わん)の作成と、サーバへのアップロード」を教育要領に入れて欲しい。

Honestly, I wish the Ministry of Education, Culture, Sports, Science and Technology (MEXT) would include "creating html files (or text files)" and "uploading to the server" in the educational guidelines rather than "programming education".

私は、市役所の職員に、ホームページ作成のスキル向上なんぞは期待していません。

I don't expect City Hall employees to improve their web site development skills in any way.

せめて、ブログ型のテキストベースの情報発信ぐらいは、できるようにしておいて欲しいのです。

At the very least, I hope that they should be able to send out text-based information.

かっこをつけている場合じゃありません。

This is not the time to be cool.

行政の貧しい情報開示リテラシーで、情報不足→被災→死亡などとなったら、私は、泣くにも泣けません。

I will not be able to even cry with the administration's poor disclosure literacy by a lack of information, disaster, death, etc.

-----

さて、私、上記のクレームを、本日、市役所にメールで送付して『対応が終ったらメールで連絡下さい』と付けておきました。

Well, I, I emailed the above complaint to city hall today and added, "please email me when you're done responding".

さあ、この対応、何日で返事がくるか? あるいは黙殺されるか?

Now, how many days does it take to respond to this response? Or will they ignore me?

その結果は、近日中にお知らせします。

The results will be announced soon.

2020/06,江端さんの技術メモ

------- PostgresのpostGISに、鉄道情報も入れる --------

omsのデータには、鉄道情報入っていません(と思う osm2pgrouting にtrainを取り出すオプションがなかったので) ―― ので、国土地理院からダウンロードする

https://nlftp.mlit.go.jp/ksj/index.html から 鉄道時系列(ライン)(ポイント)を探して、ここからファイル(N02-08.zip)をPCにダウンロードして解凍する。中身はKS-META-N02-08.xmlと、N02-08.xml が入っている。

ところが、xmlファイルは、postgresにインポートできないのでshpファイルに変換する必要がある。

で、https://nlftp.mlit.go.jp/ksj/jpgis/jpgis_tool.html にある、「国土数値情報XML-シェープ変換ツール」をダウンロードしてインストールする。私の場合、64Bit版OSに対応した変換ツールはこちらからダウンロードできます。(ksjtool_64_v1.8.zip 約18MB)をダウンロードした。

で、先程のN02-08.xmlを変換すると、N02-08_EB02.dbf、N02-08_EB02.shp、N02-08_EB02.shx、N02-08_EB03.dbf、N02-08_EB03.shp、N02-08_EB03.shx が生成される。

(どういう訳か、shp2pgsqlがなくて、apt-get install shp2pgsql にも失敗するので)、QGIS3を使って、PostgresのDBにつっこむ。

N02-08_EB02 を選んで、OKを押下して、さらにN02-08_EB03を選んで、OKを押下する(2つインポートする)

以下を見ると、N02-08_EB02は路線情報が、N02-08_EB03は駅の情報が入っているみたい

ただ、selectしようとすると、変なエラーがでるので、テーブルの名前を変更した方がいい(が、今日は疲れたので、ここまで)

selectでは、テーブルの名前は小文字で、"-"も使えないようである。QGISから、以下のように変更した。

------- ところが鉄道の路線情報が、geometry型で、何が何やらさっぱり分からん --------

例えば、新百合ヶ丘駅から五月台駅までのルートは、以下のような情報が入っている

hirohakama_sim2=# select geom from n02_08_eb02 where id = 6328;

0105000020E610000001000000010200000012000000E97DE36BCF6F6140CDCCCCCCCCCC4140E4141DC9E56F614006D847A7AECC41400D8E9257E76F61400DFD135CACCC4140BEBC00FBE86F6140A27A6
B60ABCC4140404D2D5BEB6F61401422E010AACC414045F0BF95EC6F6140A99F3715A9CC4140923F1878EE6F614062F3716DA8CC41400708E6E8F16F61401B47ACC5A7CC4140ABECBB22F86F6140F870C97
1A7CC414055F65D11FC6F61401B47ACC5A7CC414014ED2AA4FC6F61403F1D8F19A8CC414072A774B0FE6F6140A99F3715A9CC414047ACC5A70070614038F8C264AACC414075C8CD700370614031D3F6AFA
CCC4140130A117008706140B1E1E995B2CC4140C3B645990D70614006F52D73BACC414043C5387F13706140E23B31EBC5CC4140003ACC9717706140A2D11DC4CECC4140
(1 row)

これが訳が分からんのだが、QGISではちゃんと曲線も含めて表示される。

地物情報としては、両端の位置情報は入っているが、カーブの情報とかどうやて表現しているんだ?

なんか、色々探しているうちに、こんなのが出てきた。(参考 http://www.jurigis.me/2015/02/07/select-in-postgis/)

hirohakama_sim2=# select ST_Astext(geom) from n02_08_eb02 where id = 6328;
MULTILINESTRING((139.49407 35.6,139.4968 35.59908,139.49699 35.59901,139.49719 35.59898,139.49748 35.59894,139.49763 35.59891,139.49786 35.59889,139.49828 35.598
87,139.49904 35.59886,139.49952 35.59887,139.49959 35.59888,139.49984 35.59891,139.50008 35.59895,139.50042 35.59902,139.50103 35.5992,139.50166 35.59944,139.5023
8 35.59979,139.50288 35.60006))
(1 row)

エクセルで、この座標を並べて、QGIS3と比較してみた。

中間状態が、座標で表示されていることが分かった。

hirohakama_sim2=# select ST_Length(geom) from n02_08_eb02 where id = 6328;
st_length
0.009214722968728321
(1 row)

 

これだと、デカルトの長さになるらしい。これをメートルに変換するには、以下の様にする。

hirohakama_sim2=# select ST_Length(Geography(ST_Transform(geom,4326))) from n02_08_eb02 where id = 6328;
st_length
852.3697682752311
(1 row)

で、次は駅の情報。駅は、n02_08_eb03(×n02_08_eb02)に入っている。

五月台駅は、こんな感じ。

hirohakama_sim2=# select * from n02_08_eb03 where id = 3106;
id | geom | rac | int | lin | opc | stn
3106 | 0105000020E610000001000000010200000002000000E97DE36BCF6F6140CDCCCCCCCCCC4140A857CA32C46F614030478FDFDBCC4140 | 1
2 | 4 | 多摩線 | 小田急電鉄 | 五月台
(1 row)

で、駅の端点は、こんな感じで出てくる。

hirohakama_sim2=# select ST_Astext(geom) from n02_08_eb03 where id = 3106;
st_astext
MULTILINESTRING((139.49407 35.6,139.4927 35.60046))

hirohakama_sim2=# select ST_Length(Geography(ST_Transform(geom,4326))) from n02_08_eb03 where id = 3106;
st_length
134.22648323273413
(1 row)

ふーん、五月台駅って、134メートルなんだ

結論 geometryのフォーマットはさっぱり分からんが、関数使って取り出せるなら、それで良しとしよう。

課題 鉄道のgeometryを使った最短経路問題を解くのメソッドってあるのかな? pgr_dijkstra()とか・・・

http://kenpg.seesaa.net/article/385517945.html を、後で試してみること