フォーラム - neorail.jp R16

【自由研究】の話題

 → 茨城県内で必要な「主論文・野帳・掲示物」とは? 【詳細】(2017/10/19) NEW!
 → 【自由研究】の記事一覧(新着順)


【研究ホワイトボックス】

研究を楽しく「追体験」! 真っ白のキャンバスに虹色の未来を描く方法、教えます。
R with Excel prcomp | kmeans・hclust | rpart | ggvoronoi | spantree | lm NEW!


いま問うA9のココロ
信号機のG現示の色がこんなにメロンソーダなわけがない
ATC・ATSの「Aの字」も出さずに効果音と動作を実装するには
「場内信号機 作り方」「信号機に名前をつける機能」とは


発行:2018/7/9
更新:2023/4/11

[3658]

【A9R:データで遊ぶA列車】

【自由研究】ゆるシミュ(8)


【もと横浜市最高峰】「円海山」を愛でながらk-meansのセントロイドと戯れてみれば。【町営日帰り入浴施設「ゆっくら健康館」あり】
(公財)河川財団「河川水理学 エンジニア・マニュアル」(2003年7月)を遠目に眺める(仮)
「本来あったはずの起伏を逆算する」アルゴリズムをこしらえる(談)
「R with Excel」(続き)
「R with Excel」(続き)
「summary(mycmpakari3d)」
「Within cluster sum of squares by cluster」
「mykmakari9$centers」
「mykmakari9$size」
「R with Excel」(続き)
「R with Excel」(続き)
「summary(mydistakari2d)」
「R with Excel」(続き)
「mykmakari9$centers」
「myhead1x10」
「mydist1x10」
「R with Excel」(続き)
「R with Excel」(続き)
「summary(mydist1x33333)」
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「R with Excel」(続き)
「ゆるシミュ(8)」「ふわコレ(8)」図の一覧

(約43000字)

 2017年度「【自由研究】ゆるシミュ・ふわコレ」については、あらかじめ[3473]を参照ください。2017年度だけでは終わらなかったので、2018年度も続いてまいります。(※恐縮です。)

 前回([3651],[3652]および[3653])からの発展として、ゲーム内の地形の標高を画像から読み取って数値化し、統計解析環境「R」に取り込んで、さまざまな処理を体験します。▼「ゆるシミュ(8)」([3658])では「R」における行列を対象とした操作を中心に、▼「ふわコレ(8)」([3659])では、プレーヤーがゲーム内で地形を把握するためには何が必要かを考えます。

 ゲームはあくまでゲームなんですけど、楽しみながら調べ学習や課題研究の「ヒント」を見つけられたら、楽しいですよね。かように“ゆるふわ”なスタンスで、しかし必ずしも遊びに留まらない、実際の空間統計学やゲームのUIの設計などのシーンにも迫っていければと思います。

※自由研究「主論文・野帳・掲示物・標本」については[3520]を参照してください。

 ことしは梅雨明けと同時に自由研究について検索されるかたが急増したようで、特に「科学工夫作品いわゆる工作」へのアクセスをいただいていますが、果たしてお役に立てているのかと不安になってまいります。

・「梅雨明け」とはにわが知りたい(2018年6月29日)
 https://tenki.jp/forecaster/deskpart/2018/06/29/1103.html

 > 6月の梅雨明けは初めて
 > 梅雨入り・明けの時期は、秋に再検討され、見直されることがあります。

 いまのところはよくわからないわけですが、少なくとも6月29日の日差しでテリヤキみたいになりかけたわたしたち、その状態だけをもって夏休みの1日目みたいな気分になっちゃったので、自由研究について検索しようとしたのだと思います。たぶんですけどね。夏至の前後の日照時間が長い期間がちょうど梅雨であるので高温から守られてきたわけですが、梅雨がないも同然になってしまうと、いきなり猛暑日だと、たぶんこういうわけです。8月も10日くらいになると風が変わるといいましょうか、確かに暑いけれど風があるんですよ。…あったはずなんですよ。いつかどこかで東京地方、8月10日くらいに変わる風を返してっ!!(棒読み)

 https://tenki.jp/indexes/dress/3/16/4410/


 ゲームの画面から標高を読み取るところまでは「ふわコレ(8)」([3659])を参照してください。


●【もと横浜市最高峰】「円海山」を愛でながらk-meansのセントロイドと戯れてみれば。【町営日帰り入浴施設「ゆっくら健康館」あり】


[3659]
 > ハレでも(ざーざー)アメでも(ごろごろ)アラシでも(ぴよぴよぴよ)うぃーあーざあーるういずえくせらー…ズ(ぱらぼーら)「R with Excel」、で、ございます。あまりExcelは使いませんが、一応、Excelです。

[3345]
 > きわめて雑多な計算結果や『超概算』を、一種『電子野帳!』として、1つの「ブック!」にいくつものワークシート(タブで切り替え)を含めながら貼りつけて

 そして、3Dを描画したいだけならもっといくらでも方法がありましょうに、わざわざRに読み込んだということはあれですか。あれですね。

[3520]
 > 最初から「研究らしさ」ばかりを一種「見せかけ」で『盛る』のでなく、きちんと「研究未満」なところから自力で取り組まなければいけないとの認識でございます。

 そういう意味で、よくできたGISにほうり込みさえすれば所定のルーチンに載って着実な成果物が仕上がるよということではなくて、たわしみたいなむきだしのRに読み込んでデータとして眺めようと、こういうわけです。…いたたた! みがくのはこっちじゃないよ、データのほうだよ。(※たわしはイメージです。色やサイズは選べませんのでご注意ください。…そもそもサイズはともかく、たわしというものに装飾的なカラーバリエーションが必要なのか、よーく考えよう!)

 しかし、ここまで読み込んだ形式のデータ(「高さの値が入った256×256の行列」)では所望の計算ができないとわかって、やり直します。

・「高さ」が「10m」「0m」「-3m」の点(35488個くらい)は、なかったことにする
・「x,y,z」という3列のレコード(行)が縦に30048行くらい並ぶ形式に変える

※最初に用意した256×256の画像から色を数えたあたりのプログラムの続きで、うまいこと書いてください。(これは何かツールを使おうというのでなく、じぶんでプログラムを書くことですよ、の意。)

 うーん。ばっさりと点の数が半減できました。よきかなよきかな!

■「R with Excel」(続き)

3軸の座標が入った3列×30048行のテーブル※を読み込む
(タブ区切り)
myakari3d=read.table("clipboard",h=0)
k-means(k=9)を実行するmykmakari9 <- kmeans(myakari3d, 9, nstart=25)
散布図を描くlibrary(mclust)
clPairs(myakari3d, cl=mykmakari9$cluster)
# プロットされた図を右クリックしてコピーや保存をします


163-0-10
164-0-20
165-0-30


(中略)

253-255-80
254-255-80
255-255-80


※こんな形式のデータだということですよ。xとyはマス目の数で数えた数字が書いてあって「1マス=40m」ですが、zは「ここでいう1=ハイトバーでいう1m」なので、数字だけ見れば高さについて『40倍に強調!』することになりますが、実際のゲーム画面で地形(斜面の傾斜)を見る限り、数字通りの高さが表現されているわけではないとわかります。ゲーム内で繊細な地形の表現をするため高さの分解能を(水平方向の)2倍にしてあるとみれば、数字を0.5倍すれば実際に画面で表現される地形そのものを測ったみたいな数字になるとわかります。zは「ここでいう0.5=ゲーム内での水平方向の座標と同じスケールでいう1m」(「1=2m」)だと思えばよく、このx,y,zのデータ(テーブル)では、高さを『20倍に強調!』したことになっているといえましょう。本当でしょうか。

 うーん。あかり3D! あかり9! …なんだか命名規則を間違えた気がしてくるよ。「my」のところが「ak」とかでもいいよね。…その発想はなかった!(※恐縮です。)

・「3波長形蛍光ランプ メロウZ PRIDE〈プライド〉」のイメージです
 http://www.tlt.co.jp/tlt/products/lamp/lamp_keikou_list/mellow_z_pride/mellow_z_pride.htm

 いー、つからー、かー…そっちはプラウドですよぅ。(棒読み)

・うごく! 散布図のイメージです
 https://neorail.jp/forum/uploads/map_akari_kmeans_prcomp.gif

 うごうご(違)わあぃメタルうぐーん!! ベホマズンとかピエールのほうがよかったな。…ピエール!!(もっと違)

■「R with Excel」(続き)

主成分分析を実行するmycmpakari3d <- prcomp(myakari3d, scale=TRUE)
主成分分析の結果のサマリーを表示するsummary(mycmpakari3d)
# 各主成分の累積寄与率が表示されます


■「summary(mycmpakari3d)」

PC1PC2PC3
Standard deviation1.28190.98890.6156
Proportion of Variance0.54770.32590.1263
Cumulative Proportion0.54770.87371.0000


 [3573]を見返しながら“流れ作業”で主成分分析(prcomp関数)もしてしまったのだけれど、うーん。あえていえば、PC1とPC2によるプロットは、伊能忠敬より前の時代のひしゃげた地図のようだわ。えー、どれどれ?(以下略)山の高さや地形の複雑さで観察の『めのこ!』([3582])が狂って、『変な地図!』ができあがってくるのよ。そうに違いないわ。(棒読み)

・国土地理院「古地図コレクション」
 https://kochizu.gsi.go.jp/
 https://kochizu.gsi.go.jp/items/40?from=category,5

 > 享保20年(1735)
 > 江戸幕府撰国絵図の様式ではなく、河合守清が考証して作成した原図を写したものであろう。

 「道中図」と地図の中間くらいですけど、この図を使って田畑の面積を調べたりするのではなく、やはり歩くときに道を間違えないための特徴が強調されるのでしょうか&本当でしょうか。

・「子どもの空間認知に基づく入門期絵地図の基礎的研究」愛知教育大学研究報告(1996年3月1日)
 https://aue.repo.nii.ac.jp/index.php?active_action=repository_view_main_item_detail&page_id=13&block_id=21&item_id=1633&item_no=1
 https://aue.repo.nii.ac.jp/index.php?action=pages_view_main&active_action=repository_action_common_download&item_id=1633&item_no=1&attribute_id=15&file_no=1&page_id=13&block_id=21

 それはそれとしまして、点だけの描画になっている図はクラスターの中心(≒重心)をプロットしたものです。

・「kmeans」関数
 https://www.rdocumentation.org/packages/stats/versions/3.5.0/topics/kmeans

■「Within cluster sum of squares by cluster」

7216557
7132017
4665443
4136722
4348678
14665517
4829540
2106228
8649644


 > (between_SS / total_SS = 85.8 %)

 …ということから「k=9」と決めました。第6のクラスターはクラスター内での距離の総和が大きいということです。

※クラスターの順番に意味はありません。kmeans関数の実行のたびに変わります。

 レッツあかりセンター。…ぱーっざつぇん? んだんだ。あかりセンターだよ。センターはあかりだよ。(違)

■「mykmakari9$centers」

V1V2V3
1204.04274-206.0533251.08262
2203.27547-228.49739-49.01950
381.07434-226.2651356.71053
4224.31108-79.55869-72.11765
5225.63992-157.07507-76.52956
655.58724-110.8411592.16146
7211.60171-25.35419-72.75653
8161.54047-45.2204776.40930
9145.88614-111.37751-68.93112


※かっ…カマキリじゃないやい! 「まい」「k-meansの出力」「入力はあかり」「k=9」という命名規則でございます。…なんだかなぁ。

 Z軸(「V3」)も含めての「重心」です。データがすかすかではなくぎっしり、頂点がたくさんあることから、あまり大きな外れは起きないのではないでしょうか&本当でしょうか。そして、おお。第6のクラスターは▼重心のX軸(「V1」)がいちばん小さいのでマップの西のほう、そして▼重心のZ軸がいちばん大きいので、あの高い山2つを含むクラスターですね、わかります。なるほど確かに高さがあるのと面積が広くて頂点の数が多いことが相まって、クラスター内の距離の総和が大きくなったとわかります。

■「mykmakari9$size」

2457
3641
1520
3655
4449
3072
4444
1075
5735


 うーん。各クラスターの「size」は、そのクラスターに含まれた頂点の数です。第6のクラスターがいちばん多いというわけではなかったとわかります。重心のZ軸がマイナスつまり海のクラスターのほうが頂点の数は多そうです。

・どやぁ。(※キャプションは演出です)
 https://neorail.jp/forum/uploads/map_akari_kmeans_centers.gif

 ここから手作業ですんません。クラスターの半径とかって、あるじゃないですかぁ。…kmeans関数では出てこないけど。(※恐縮です。)ここで行なったk-meansは、実にわかりやすく256×256×256の箱の中(※)で風船を9個好きなように膨らませ(風船が箱から飛び出してもいいが風船の重心は箱の中にないといけない)、ほかの風船とおしあいへしあいしながら、負けたほうはちょっとしぼませるみたいな、そんな感じのことをしているわけですよ。

※暗黙に「マップの四隅とも必ず海または山であること」を要求しているよ。…ええーっ。2本の対角線のうち1本の両端が「10m」「0m」「-3m」でなければいいんですよぅ。突っ張り棒がないと部屋が縮むんですよ。…なにそれなにそれ!? どこのからくり屋敷?(棒読み)

 https://ffdic.wikiwiki.jp/%E9%9F%B3%E6%A5%BD/%E3%80%90%E3%81%8B%E3%82%89%E3%81%8F%E3%82%8A%E5%B1%8B%E6%95%B7%E3%80%91

※上述のように高さを『20倍に強調!』してあるので、zな成分を含む向き(斜め)で距離を測ったときは、z成分が20倍に効いた距離が出てくる、そういう感じの変な空間を定義していることになります。しかし、ゲームのマップという空間全体を3軸とも256の分解能で見ているというすっきりした定義ではあるので、これでお許しください。(棒読み)

・「射影幾何学」とはにわが知りたい
 https://kotobank.jp/word/%E5%B0%84%E5%BD%B1%E5%B9%BE%E4%BD%95%E5%AD%A6-75519

 > 射影により不変に保たれる図形の性質(射影的性質)を研究する幾何学。

※『20倍に強調!』している以外の図形の性質は不変に保たれているという理解であります。

 平面だけしか見なくなってしまうけれど、平面での中心(≒重心)から(そのクラスターに属するうち)最も遠い点までを半径として円を描いて&山は太い線で、海は細い線で描いた図です。高さ方向の違いがあるので山の円と海の円が重なるのはオッケーでぇす。わあぃ円海山。(棒読み)

 https://haradr.com/saikoho/yokohama_01.html

 > 横浜市の最高峰は海抜156.8mの大丸山(おおまるやま)。しかし、以前は153.3mの円海山(えんかいざん)のほうが最高峰とされていたらしい。山がへこんだわけではなく、単なる測量ミスらしいのだが、ここはかつての最高峰に敬意を表してまず円海山に登頂することにした。

 ええーっ。(棒読み)

 > 根岸線は道路の下を走っている。

 …違いますよぅ。根岸線の上に道路の橋があるだけですよぅ。(※恐縮です。)

[3657]
 > 鮫洲の「土佐藩屋敷」みたいな「土蔵付家屋1」から「宿場町」そして「立会川」みたいな河川が想像されてくる(勝手に想像したわけではなく「土蔵付家屋1」あっての想像である)
 > 「宿場町」と周囲の地形から「旧街道」のルートを推定し、旧街道に沿った古い鉄道を想像する(勝手に想像したわけではなく「土蔵付家屋1」および地形あっての想像である)

 k-meansして得られたクラスターの中心と半径を描いてみるとわかるように、▼まずマップの作者が地形からヒントを得て「土蔵付家屋1」を鮫洲みたいな位置(湾の北西で、山のクラスター2つの境目となる位置)に配置したに違いない、そして▼プレーヤーとしてのわたしも、そのような「土蔵付家屋1」の表現に違和感がなかったので、自然と想像を広げていきながら遊ぶことができた、とわかります。

 http://www.keikyu.co.jp/train-info/kakueki/KK06.html
 http://www.keikyu.co.jp/assets/image/train-info/kakueki/KK06/img_06.jpg

 > 平成元年6月の上りホーム、2年12月の下りホーム高架化に続き、3年3月に駅舎が新設された。付近にある大井競馬場のトゥインクルレース(昭和61年5月より開催)は人気を集め、開催期間中は多くの乗降客で賑わう。

 https://ja.wikipedia.org/wiki/%E5%A4%A7%E4%BA%95%E7%AB%B6%E9%A6%AC%E5%A0%B4
 https://upload.wikimedia.org/wikipedia/commons/4/4e/OikeibajomaeApr05-1.jpg
 https://upload.wikimedia.org/wikipedia/commons/a/a5/Hatobus_573_TCK_Shuttle_Bus.jpg

 …おっと、はとバスにパンタグラフが生えたかと思ったよ。(※恐縮です。)

 > 現在の日本の競馬では一般的となっているゴール写真判定、枠別の帽色、スターティングゲート、パトロールフィルム制度は、いずれも大井競馬場が初めて採用した。

 (「都電があるから各地で路面電車を維持できるんじゃないのー?」みたいな)「地方競馬場」のモデル事業みたいなものだから何でも日本初(※試行)であたりまえということじゃ&しつれいしました。

 https://ja.wikipedia.org/wiki/%E7%AB%8B%E4%BC%9A%E5%B7%9D

 > 魚やザリガニが棲むきれいな小川
 > 2002年7月からJR東日本が、馬喰町駅 - 東京駅間の総武線トンネル内に湧き出る地下水の下水費用対策と、立会川の水量増加と水質改善を兼ねて、敷設した12kmの配水管により立会川への送水を開始

 そして「立会川」がありそうという感覚は、両側の山の中間だからということであります。川の流路ぜんぶを想像しているのでなく、ある地点ではゼッタイここを通るはずだみたいな特定の地点だけを(頭の中でk-meansみたいなことをして)見つけ出し、それをたどるようにしながら「たぶん流路はこんな感じになるはずだ」みたいに想像していくわけです。(そこからはかなり想像ではあるのでなんかすんません。)

 k-meansの結果を円で示した図からは、ほかに何がわかるでしょうか。

・ぎょじょー!! 豊かな「漁場」に両手でぎゃふんだっ。(違)3つの海(1つは湾だけど)の流れが交差するここに定置網だよね

 http://www.pref.kanagawa.jp/docs/jx3/cnt/f532586/p1045256.html
 http://www.pref.kanagawa.jp/docs/jx3/cnt/f532586/images/789522.JPG
 http://www.pref.kanagawa.jp/docs/jx3/cnt/f532586/images/789525.JPG

 > この定置網漁業について皆さんはどれだけご存知でしょうか?

 …ぬふっ。

 https://kotobank.jp/word/%E9%AD%9A%E9%81%93-53437

 > 回遊する魚の道筋のこと。魚種によりほぼ一定している。

 > 魚の群れが通る道筋。潮流・水深や魚の種類などにより、ほぼ一定している。

・「水門に見立てて潮力発電所を2つ続きで並べるならここかな」みたいな場所の根拠が見えてきた:「標高が南ほど高くて、ある程度のところは淡水だろう」という想像は、地形から得た想像なのですよ

[3489]
 > 「北松浦半島」

 > > 海岸線は非常に変化に富んだ地形を見せる。とりわけ半島西部に広がるリアス式海岸には、無数の小島が見られる九十九島があり西海国立公園を代表する景観となっている。

 > > 古くから地すべりの被害が多く、その跡地を利用してため池や水田開発も行われている。この地域にみられる地滑りは北松型地すべりと呼ばれる。

 「隠れた名勝を見つけよう」と「水田」の想像は、ここからでございますことよ。

・「名勝」(南東部の島々):海底の地形がつながっていることを使って、この島々を1つのクラスターとしたのでしょうか、結果としてそういうクラスターが出力されてくるので、そこは「名だたる景勝地(仮)」として別格の扱いをしようという気持ちになってくるんですよ
・「名勝」のクラスターの円内は、例え「高度0m(=10m未満)」であっても、実はちょっと起伏があるんじゃないか(こちらから向こうの海が見えるかというと、たぶん丘に阻まれて見えないはず):だから川があるなら東へは流れず北に曲がってマップ中央の湾に注ぐはずだと想像されてくるわけです

 https://goo.gl/maps/bR5mK2qbga42
 https://goo.gl/maps/eVwqgD1JC8F2
 https://goo.gl/maps/7eNx8SBinTR2
 https://goo.gl/maps/vqKMNDcFVV72
 https://goo.gl/maps/LLd1s2WXwgF2

・中央部の山の西側は、北西側の山とともに大きなクラスターであるので、だいたいこのへんはそういう大ざっぱなことにしておきたいと思われてくるのですよ:新幹線の車窓で「727」ですよ
・「ゴルフ場と防風林」みたいなところは、周りの海とのクラスターのおしあいへしあいの結果、この山だけのクラスターとなり、その重心は山の北側になる:山の南側の湾に面したところを何かしようという気にならないのはこのためです
・この図を見た後はなおさら「新幹線誘致のルートはここしかない!」という気持ちが強まってまいります(※感じかたには個人差があります)

 https://goo.gl/maps/kVeS2CEmp732
 https://goo.gl/maps/S9gt8EbdqGT2
 https://goo.gl/maps/WgNP9hxLcMv
 https://goo.gl/maps/7HbmbdEBAHz
 https://goo.gl/maps/DhpmW1mjVP92

 なるほどねぇ。…実になるほどねぇ。(棒読み)海と山がはっきりしていて河川の表現がない「水面に揺れる工場の灯」みたいなマップだからこそk-meansの結果がよくわかるのであってだなぁ&しつれいしました。河川があったら「10m」「0m」「-3m」と同じように頂点を無視すればいいんですね、わかります。(棒読み)じゃあ(※)「空港連絡線は続くよ」みたいな北見北上…いえ、もんじゃストリートはどうなっちゃう感じですかっ。

ピクセル数
319
花畑63
樹木765
住宅・雑居ビルなど1293
それ以外の建物191
道路485
空港107


※「10240m」を256ステップで大ざっぱにスキャンする「40m四方」のマス目につき1種類ずつしか計上されないので、建物の種類ごとの正確な面積がわかるわけではないことに注意。

・(大巾に中略)どやぁ。
 https://neorail.jp/forum/uploads/map_airport_init_heightmap_R_0.5_0621-1700.png

https://neorail.jp/forum/uploads/map_airport_init_heightmap_R_0.5_0621-1700.png

 https://neorail.jp/forum/uploads/map_airport_kmeans_5to9.gif
 https://neorail.jp/forum/uploads/map_airport_kmeans_centers.gif

 うーん。どことはいわないけれど網走湖みたいな湖をきれいに1つのクラスターにしてくれる「k=8」がいいかな。

 > (between_SS / total_SS = 85.2 %)

 高い山は▼「山麓」、▼「中腹」、▼「山頂」に分かれた上、山頂だけでクラスターを成すなどの(中略)「高さ」だけでは▼「冠雪」の表現をするといいのかしないほうがいいのか決まらないと思うんですけれど、こういうアルゴリズムで「山頂」だけで特徴を成すと認識したならば「冠雪」の表現をするとかいうことにも使えるんじゃないんですかねぇ。(棒読み)マップ南東部の山地は、よく見ると▼「沢」みたいな地形があって、北東側と南西側で動植物がちょっと違ってもいいくらいなんだと、ゲーム画面でポヤンと眺めていた時にはそこまで気づいていませんでしたけど、それでも見ていたんですね。だから「木材を運んだかもしれない軽便鉄道みたいなの」という想像が出てくるんですよ。(※恐縮です。)

[3653]
 > 南側の山地から省線の駅を目指して北進した軽便鉄道みたいなの&木材を運んだかもしれない&気動車で省線に直通したかもしれない&電化したのはいつごろだろうか(そもそも電化したのだろうか)

 > 川沿い

 そして、これまた「河川はここかな」みたいなことを、上述と同じ手続き(アルゴリズム)で機械的に決めることができそうな予感がしてきたよ。いえね、だいたいじぶんでゲーム画面に向かっても、ほとんど考えてないんですよね。自動的に手がマウスを動かしたかと思うと、線路とか河川とか、だいたいできてるんですよね。(棒読み)

[3511]
 > 駅の事務室で、PBX電話機で外線発信からの「117」、そこにコンコースの放送用のマイクをスタンドごと持ってきて、マイクの至近に受話器を近づけて、なんと、コンコースに時報を流しておられます(=きっぷが10時ちょうどに発売なんです)。…まあ、そうしますよね、ふつう。こういうのを『ふつうのインサイト!』だと思っていたんですけど、違うんですかねぇ。ほら、▼ここにPBX電話機があるじゃろ。▼こっちには放送のマイクがあるじゃろ。▼くっつければいいんですよっ!! …えーっ。これ、ふつうだよね&お願いだから「ふつうです!」といってよ的なアレのほうなど…うーん。「津田沼車掌区持ち、かつ空港運用がある場合、車掌にICレコーダーが貸与され、それをマイクにくっつけて放送」([1689])も参照。いやー、それはふつうだといいたい、あえてふつうなんだと。

 「ここに河川があるじゃろ」みたいなのが浮かんでくるんですよ。「ここに自販機があるじゃろ」「ここに公衆電話があるじゃろ」と思ったらコンセントだけになってたみたいな&しつれいしました。

 https://goo.gl/maps/84CJgTY2RUp
 https://goo.gl/maps/xN8iEJ6P1BS2

 > (縦書き)
 > あんこうの
 > あんちゃんでーす。

 全国のこうちゃんさんが構える街のラーメン屋「こうちゃんラーメン」みたいなのだと思った? ざんねん! 「あんこうのあんちゃんでーす。」でしたー。(違)

[3657]
 > マップに「うし」みたいに描いてあるとか、いかにも“ご都合的!”な地形編集の跡がみられるようなのは“願い下げ”ですっ。…わわっ! それをいうなら「ごめんだね」ですよぅ。

 自然な自然さ(…『自然な自然さ』!!)があれば上述のアルゴリズムが自動的に適用できて考えずに遊べて楽だから楽しい(…『楽だから楽しい』!!)といっていることになるんですけどそれでよかったでしょうか&ええーっ!!(※表現は演出です。)

・やってきました大洗町営温泉スタンド。
 https://goo.gl/maps/dXfLBW7QEMG2
 http://www.town.oarai.lg.jp/~kankouka/asobu/info-500-241_6.html

 > 温泉スタンドからタンクローリーを使って、町営日帰り入浴施設「ゆっくら健康館」や各宿泊施設に給湯しています。

 うーん。

 > 温泉の泉質は、ナトリウム-塩化物質で(略)泉温15度の温泉です。

 > 営業目的で温泉水を利用する方は、温泉スタンド利用許可申請が必要です。

 https://goo.gl/maps/nqdyRns7gw62

 > ら
 > ぁ
 > ぬ
 > ん

 うーん。(違)


●(公財)河川財団「河川水理学 エンジニア・マニュアル」(2003年7月)を遠目に眺める(仮)


・「河川工学」とはにわが知りたい
 https://kotobank.jp/word/%E6%B2%B3%E5%B7%9D%E5%B7%A5%E5%AD%A6-44796

 > 河川の性格を研究し,これを人為的に制御して,合理的な治水計画,利水計画を行うための工学。降水量,流出量などを扱う河川水文学,水や土砂の流れに関する河川水理学,最も効果的な河川利用法を検討する河川計画学,および各種構造物に関連する施工技術などで構成される。

 人の手で何かを造ろうという前の段階で、土地だけあって降雨があって自然に川ができる(あるいはうまく流れず沼ができる)段階を考えなはれと、こういうわけです。

・(公財)河川財団「河川水理学 エンジニア・マニュアル」(2003年7月)
 http://www.kasen.or.jp/study/tabid207.html

 > アメリカ工兵隊より翻訳公刊する許可を得て、2003年7月に製本し、皆様に利用していただいているところですが、専門術語の翻訳に不適切な箇所がありました。
 > そこで、実際によく理解され、適切にマニュアルが活用できるように全面的な見直しを行いました。これを当ホームページに掲載し、ご自由に利用できるよう印刷に換えて公表しました。

 ぬおー(略)泥沼化するナントカの奥地で資材があってもなくても道路を造れっ&そのために水の流れを知り制御せよっ。追加の食糧はキミたちが完成させる道路を使って運ぶぞ。その先にはキミたちより食糧を必要としている人々がいるんだぞっ。…お、おぅ。(※見解です。)

[3504]
 > 水路の整備にあわせた線路側の法面補強の結果、軌道も新しくなりました(=外部の負担でなりました)的な空気が漂います。

 > > 「上総大久保〜養老渓谷間で盛土崩壊」の場所。こんな所に築堤があったのか、と驚くような山中です。「資材を現地に運ぶのが大変だった」そうですが、確かにそうでしょう。

 > 「資材を現地に運ぶのが大変だった」の真意としては、大型のボックスカルバートなんて運んだことないよ(=そういうのを手配するのは初めてだよ)@そっちですかっ。(棒読み)道路はかなりよくなっていますから、道のせいで運びにくかったということをおっしゃっているのではないと思うんだなこれが。

 > > 自治体には、やるべき土木工事がたくさんあります。
 > > そのなかで、雨水対策は、市民が安全に暮らすために重要な対策の一つです。

[3635]
 > > 「山深い温泉旅館に泊まったのに、マグロやイカの刺身ばかりだった」(70代男性会社役員)

 ここまで鮮魚を運べる(ような旅行速度の)道路が通って、きちんと維持できてますぜということを証明しておられる。道路をぜんぶ見なくても山深い温泉旅館の食事を見ればわかるというものだ。(棒読み)

 > 地元の人にとってのぜいたくや非日常ということなんですよ。…その発想はなかった!(都会の人のほうが知らなかった!)あるいは国道ががけ崩れで孤立したときのために建ててあるんですよ&実は観光じゃないんですよ。本当でしょうか。三厩観光開発「ホテル竜飛」については[3378]を参照。復旧工事に従事するひとをマグロやイカの刺身でねぎらおうではありませんか。…お、おぅ。(※推定です。)

 ナントカの奥地とは、すぐそこにあるんですよ。ふだん見ていないけど。…まったくしつれいなことばかりしているよ都会のひとは。(※見解です。)

 再び「河川水理学 エンジニア・マニュアル」です。

 > (3-2ページ)
 > 解析解
 > 解析解は、答えが数学的な表現によって得られる解決法です。解析モデルでは、複雑な現象を経験的に決定された係数としてひとまとめにして扱います。解析解の有用性は、形状が複雑になるにつれて、また求められる結果における詳細事項が増えるにつれて減少します。

 なるほどわかったようなわからないような翻訳とはこのことだよ。『15年前の水準!』だよとはこのことだよ。(※事実です。)

 > 物理モデル
 > 河川水理学上の複雑な問題の解析には、物理的な水理模型を使用する必要があります。このモデルの形態と作用は、スケールが小さい点を除いて実現象の形態や作用とほぼ同様です。河川の物理モデルでは、流れや、立体的な流れの変化、洗掘の可能性、大まかな土砂の運搬特性などを作り出すことができます。物理モデルの利点は、複雑な多次元的実現象の流れの条件を正確に再現できることです。

 わあぃきみはタコ足コンピューターと称するアナログコンピュータのフレンズなんだね。

 > 数値モデル
 > 数値モデルでは、反復や近似のような特殊な計算方法によって、デジタル・コンピュータを使用して数式の解を求めます。水理学で重要なのは、差分および有限要素の 2 種類です。これにより、他のどの方法でも扱うことのできない一部の処理過程をシミュレーションすることが可能になります。数値モデルでは、解析的な方法よりもはるかに詳細な結果が得られ、さらに結果の精度も高くなりますが、それに伴う作業量も大きくなります。

 模型はたいへんだからシミュレーションするよ。…お、おぅ。(※一般的な認識です。)わざわざ「デジタル」と言及しているのは、模型に水を流せばぜんぶいっぺんにわかるというのを「アナログコンピュータの一種」とみなしているからですね、わかります。(※そういうことが補われないとよくわからないということです。)

・esriジャパンの説明です
 https://www.esrij.com/gis-guide/gis-datamodel/3d-gis-data/

 > DEM(数値標高モデル:Digital Elevation Model)
 > 各セルに標高値を格納したラスター データ(サーフェス データ)で、建物や樹木などを除いた地面の高さのデータです。ジオデータベースや画像ファイルとして格納されます。

 > DEM の 3D 表現

 ぬおー…。(以下略)


●「本来あったはずの起伏を逆算する」アルゴリズムをこしらえる(談)


 ナニとはいわないけれど「水面に揺れる工場の灯」みたいな地形にあって、ゲームとしてのプレイアビリティのようなものを持たせるため「0m」ぴったりの平地を多くしてあるという理解をしました。じゃあ(※)この「0m」の地点を、k-meansで求めたセントロイドの方向へ引っ張って、山に向かっては持ち上げ、海に向かっては押し下げ、そういうおしあいへしあいで均衡したモーメントみたいなのを求めて、それっぽい高低差をつけようではありませんか。

・国土地理院「標高がわかるWeb地図を試験公開」(2012年6月12日)
 http://www.gsi.go.jp/johofukyu/hyoko_system.html

 ▼千葉や船橋の高台は30mちょっと、▼「稲毛陸橋」では埋立地の3.0mから高台の19.6mまでをつないでいます。

 ここかー&ここなんかー@うりうり! まさに『地面と会話!』するような(大巾に中略)きゃー! ゲームのマップで「0m」の地点は後にも先にも「0m」より低くはならないと決め(※そうしないと陸上の面積が減ってしまい、ゲームの難易度が変わってしまいます)、基本的には山に向かって持ち上げる方向で、その上限を(斜めのモーメントではなく各地点でのZ軸の変化量で)「19m」(※「20m未満」の意)ということにしましょうか。

・Z軸の変化量の最大を18.75mとする:「10m」「0m」の地点を持ち上げる(「20m」の地点は触らない:持ち上げた結果「19m」になる地点が出てきても、元から「20m」だった地点と区別できるように)

 ゲーム内では高さが1.25m刻みで表現されているようだという上述の感触のもと、20mより1ステップ低いのは18.75mだと、こういうわけです。

・k-meansで得た9つのセントロイド(クラスターの重心)
・:(D)各地点とセントロイドとの空間上の距離(=3次元で斜めに測った長さ)
・:(C1)Z座標が正なら山⇒Z成分を『持ち上げ係数!』として使う:山のセントロイドのZ成分の総和で正規化する
・:(C2)Z座標が負なら海⇒Z成分を『打ち消し係数!』として使う:海底の最大深さ(80)で正規化する

 こんな感じですかねぇ。まず距離のリストが9つできるんですね、わかります。(※恐縮です。)

・ウィキペディア「ユークリッド距離」
 https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%AF%E3%83%AA%E3%83%83%E3%83%89%E8%B7%9D%E9%9B%A2

 > 人が定規で測るような二点間の「通常の」距離のこと
 > 一般的に、N次元空間において、距離は次のようなものになる。

 https://wikimedia.org/api/rest_v1/media/math/render/svg/ffb93a5ebb9746add918b02af3da0098b6e23a07

 これだね。

 > 平方ユークリッド距離は三角不等式を満たさないため距離函数とはならないが、必要なのが距離を比較することだけというような最適化問題においては頻繁に使われる。

 Z軸だけ『20倍に強調!』というのも、そういう感じかしら。(※恐縮です。)

地点pD1D2D3D4D5D6D7D8D9


 こんなレコード(行)を持つデータ行列がほしいということです。

 http://www.hyogo-c.ed.jp/~rikagaku/jjmanual/jikken/butu/butu04.htm
 http://www.hyogo-c.ed.jp/~rikagaku/jjmanual/images2/btu0401.jpg
 http://www.hyogo-c.ed.jp/~rikagaku/jjmanual/images2/btu0402.jpg

 どこをどうしたのか知らないけれど現にこのマップではつりあいがとれているとみなしながら、便宜的に(…『便宜的に』!!)▼海と山による引っ張り合いを『上向き!』(斜めだけど)、▼それと逆の(つりあう)力を『下向き!』(斜めだけど!!)と考えて、つまり▼『海と山による引っ張り合いのぜんぶ合成したやつ!』=『それと逆の力!』、じゃあ▼その力の大きさ(=何らかのモーメント「M」と呼ぶ)の最小から最大までを0から1にして(正規化して)「0m」と「10m」の地点の高さを(もとの「0m」「10m」という値は忘れて)「18.25×M」という値に書き換えればいいじゃない。…その発想はなかった!(棒読み)

 https://media-cdn.tripadvisor.com/media/photo-s/05/51/ab/45/caption.jpg
 https://youtu.be/gS4_iFLpbDg?t=25s




・地点ごとの『引っ張られベクトル!』みたいなのが、1から9までできるんですよね
・それ(力)を合成して1つの『結果としてこうなったベクトル!』みたいなの(力)を得たいんですよね

 ぬおー…。

 https://kotobank.jp/word/%E3%82%B8%E3%82%AA%E3%83%97%E3%82%BF%E3%83%BC-72289

 > レンズの屈折度を示す単位の一つ。メートル単位ではかったレンズの焦点距離の逆数で表わす。

 『距離の二乗に比例して減衰!』みたいなことを考えかけたけれど、「距離の逆数」でいいじゃないですか。本当でしょうか。つまり、各セントロイドとの「距離の逆数」を減衰係数とする、『引っ張られベクトル!』(の高さ成分)が9つできるんですね、わかります。海だの山だのをIF文みたいなので場合分けせんでよろしい。…本当でしょうかッ。

※逆数をとるということは、高さを『1/20!』にするとも、水平方向を『20倍に強調!』するともいえましょう。もっと本当でしょうか。言葉では「逆!」と簡単に言うけれど、よく確かめないと混乱するよとはこのことだよ。

 https://ja.wikipedia.org/wiki/%E5%9B%9B%E9%87%8D%E7%A9%8D_(%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E8%A7%A3%E6%9E%90)

 > ベクトル四重積は2つのクロス積のクロス積である。

 ぐおー!!(…ゴゴゴゴゴ)

 http://portal.nifty.com/2007/10/22/b/index.htm
 http://portal.nifty.com/2007/10/22/b/img/2007-10-122-197.jpg
 https://goo.gl/maps/Rw4vYgwDpzJ2

 そこに植木鉢を置いたのは誰じゃ。…おこらないから名乗り出るがよい。(※見解です。)

 https://goo.gl/maps/EpWhjtAsZW62
 https://goo.gl/maps/8BJBkeZ7HFr

 ふーん。ほー。へー…

 https://ja.wikipedia.org/wiki/%E4%B8%89%E9%87%8D%E7%A9%8D_(%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E8%A7%A3%E6%9E%90)#%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E4%B8%89%E9%87%8D%E7%A9%8D

 > ベクトル三重積は三つのベクトルからベクトル値を返す三項演算、すなわち、2つのベクトルのクロス積から作られる擬ベクトルと残りのベクトルとのクロス積

 とにかくベクトルぜんぶ積だよ。…ええーっ。(※恐縮です。)

 https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%82%B9%E7%A9%8D

 > 外積は3次元ではクロス積に一致するが、同義語ではないので注意が必要である。

 > 外積は2階の反対称テンソルであり、これはホッジ作用素により、n 次元では n - 2 階の擬テンソルに写像できる。つまり、2次元では擬スカラー(0階の擬テンソル)、3次元では擬ベクトル(1階の擬テンソル)に写像できるが、4次元以上ではテンソルとして扱うしかない。

 ほぉお!

 > 2つのベクトル a、b のベクトル積 a×b は、元のベクトル a、b の両方と直交する。言い換えれば、2つのベクトルが作る平面の法線と平行な方向を向いている。

 そんなにむずかしいことはしません。…たぶん!(棒読み)

・「ベクトルTips大全」
 http://www.okadajp.org/RWiki/?%E3%83%99%E3%82%AF%E3%83%88%E3%83%ABTips%E5%A4%A7%E5%85%A8
 https://askul.c.yimg.jp/img/product/3L1/A017479_3L1.jpg
 https://images-na.ssl-images-amazon.com/images/I/516PN6FXS5L.jpg
 https://images-na.ssl-images-amazon.com/images/I/51Q-o-5wEVL.jpg

 いよっ、ろっかくだいおうじ!! Rっぽくなってまいりました。(棒読み)

[3511]
 > やーい角川だいおうじ([3489])! やーいはじめてのおつかい([3326])! そらびえーん…じゃなくて、「きょうは青島さんはお休み」からの「あ、さて、今日の数字です」みたいなのキターっ。

 …コレジャナイ!

[3206]
 > > 塾で発車ベルの電子電鈴の音がする電話がありました。同じメーカーが作っているのですか?

・(再掲)YouTube 妙蓮寺駅
 https://youtu.be/CM6UcuzKC_o?t=57s




[3553]
 > > 現用テロップ
 > > この種のテロップは,白地にごくうすく文字,絵などを書いたものであるが,この場合にはセットアップを下げたほうが良い場合が多く,むしろ利点とも言える.
 > > bレベル以上の白地に,aレベル以下の真黒な文字,絵などを書いたもので,中間色のまったくないものについてもセットアップを下げる.

 …おしいっ!(…おしいんですかっ!!)

・インプレスさん扱い「90度センターポール機構により最低高7cmのローアングルに対応」のイメージです
 https://dc.watch.impress.co.jp/img/dcw/docs/744/418/02.jpg
 https://dc.watch.impress.co.jp/docs/news/744418.html

 これを真上から見たというかネジも外して平たく置いたみたいな平面上の線分を考えていただきます。…もはや線分ですぞ! だから簡単だよね。(棒読み)

・(一社)日本クレーン協会の説明です
 http://www.cranenet.or.jp/tisiki/rikigaku.html
 http://www.cranenet.or.jp/tisiki/images/341701.gif

 …コレジャナイ!!

 http://www.cranenet.or.jp/tisiki/images/340302_02.gif
 http://www.cranenet.or.jp/tisiki/images/310501_02.gif

 > 平行四辺形を作って二つの力の合力を求める方法については、力の合成のところで述べたとおりであるが、この方法を逆に利用して、一つの力を互いにある角度をもつ二つ以上の力に分けることを力の分解という。

 2つセットで“思い出して”ください。(…知ってるけど忘れてただけ!!)

 もともとの空間はx,y,zだったけど、その空間で測った空間上の2点の距離をべたーっと平面に射影してだなぁ(略)射影したときに線分の長さが最大になるような傾きの平面に射影したとするんですよ。ええ、そんな計算はしませんけれどもね。もとのx-yの平面を傾けた平面でのxとyだから、仮にtxとtyとしましょうか。

 https://eow.alc.co.jp/search?q=tilt

 > tilt end users toward Microsoft's services
 > エンドユーザーをマイクロソフトサービスに導く

 われわれビー玉。どこへゆくビー玉。…なんということでしょう! 畳の上を転がりながらマイクロソフトサービスへドドドドド&畳ですかっ!!(違)

・線分の長さと向きだけ考えて「ベクトルの和」すなわち「ベクトルの要素の和」を求めさえすればいい
・ここでわかっている線分の長さは、ぜんぶ、何らかの三角形の斜辺であって、縦と横に分解しないと足し算できないよ
・最初から縦と横(xとy)は知っているけれど、途中で「傾いた平面」に射影しているので、最終的に知りたい縦と横というのはxとyじゃなくてtxとtyだよ

 …本当でしょうか。

・かえってめんどい
・長さ(d)と向き(θとφ)の3次元でどやぁ

 http://www.ns.kogakuin.ac.jp/~ft13389/lecture/physics1A2B/mathematics_vector.pdf

 > ベクトルは、数字を並べた組のことであるから、通常の数との足し算・引き算は出来ない。

 > 問. 空間内における矢印を用いたベクトルの表記法では、ベクトルの和や差はどのように理解できるか。

 …どやぁ。

 http://www.th.phys.titech.ac.jp/~muto/lectures/Gmech08/chap05.pdf

 > 空間内の点Pは,原点Oからの距離r,直線OPとz軸の正の部分とのなす角θ,及び,点Pのxy平面に投影した点をP’として,直線OP’とx軸の正の部分とのなす角を反時計まわりに測ったφで表すことができる。

 > これを空間極座標という(図5.1)。

 http://daiohg.dengeki.com/ss/daiohg/uploads/2017/07/01-300x245.jpg

 > 廻れっ!!

 …どやぁ!(棒読み)rというなら半径といいたいし、距離というならdといいたい。(※恐縮です。)

 そして、高さ方向はつぶしたんですから、ここでいうθは考えず、dとφだけの2次元で、…どやぁ?(※自信なさそうに言ってみせるとGOOD!!)

[3657]
 > > ほえええ!!

 うーん。θがないのにφを使うのはおかしいので繰り上がってθにするですか。…ええーっ!(棒読み)

■「R with Excel」(続き)

3軸の座標が入った3列×30048行のテーブルmyakari3d # 内容を確かめます
距離行列をつくる
(非常に時間がかかります)
mydistakari3d <- dist(myakari3d)


 ええーっ。あなたここまでのはなしきいてました? うん、きいてたよー。(棒読み)

※表現は演出です。32GBのメモリが使用率98%といいながらCPUがうなります。かなり待たされます。

 3分も待てずにキャンセルっ。××場できゃんせるっ!! みそ汁にはサツマイモを入れてみせるといいぞ。(違)だからいわんこっちゃない。距離行列を先に求めておいて楽をしようというのはいいけれど、そのときにZ軸まで入れちゃうと計算が終わらないわ。ここはxとyだけにしたデータ行列でやり直しましょう。うん。

 https://www1.doshisha.ac.jp/~mjin/R/Chap_28/28.html

■「R with Excel」(続き)

3軸の座標が入った3列×30048行のテーブルから
1列目と2列目を取り出したテーブルをつくる
myakari2d <- myakari3d[ ,c(1, 2)]
myakari2d # 内容を確かめます
距離行列をつくるmydistakari2d <- dist(myakari2d)


 うーん。3秒くらいで終わったよ。

[3657]
 > > ほえええ!!

 こんがり焼けた「mydistakari2d」の内容を確かめようとして、いきなり「mydistakari2d」と入力してEnterを押したりしてはいけません。距離行列は、縦に30048行、横に30047列、つまり902,852,256個のマス目があるんですよ。…ええーっ!! さあさあ「mydistakari2d」と入力してEnterを押してしまったフレンズは赤い八角形「STOP」と書かれたボタンを押そうね。…おっと、そっちは「(43)五目焼そば 800円」のボタンだよ。(棒読み)

 http://livedoor.blogimg.jp/zatsu_ke/imgs/8/7/87e10999.jpg

 うーん。(違)

 https://park.ajinomoto.co.jp/recipe/card/800687/
 https://park.ajinomoto.co.jp/wp-content/uploads/2018/03/800687.jpeg

 食器でわかるように、和風だね。…ゴクリ。(※恐縮です。)

 > 「鍋キューブ」10種の野菜だし鍋
 > 「AJINOMOTO ごま油好きのごま油」
 > 「AJINOMOTO サラダ油」

 「エンドユーザーをマイクロソフトサービスに導く」…じゃなくて、なにがなんでも同社製品を使わせようとなさるレシピにござりますることよのう。(棒読み)

[3091]
 > 「本格中華!」は中華なんでしょうか。
 > 「本格中華!」は中華なんでしょうか。

 …はひ!?

 > 「自由研究」というのは、音楽コンクール(なぜかフランス語)でいう「課題曲」に対する「自由曲」のような、たいへん教育現場だけで通じる理屈で呼び方が決まっている(自然に定まった、あるいは誰も疑問に思わない、の意)もので、「自由」とは何か、考えさせられます…いえいえ、あくまで「自由研究」の話です。

 > ものの名前は短いほどプリミティブ(基本的、原始的、最小単位で原理的な、の意)で、頭にゴテゴテと「盛」れば「盛」るほど「盛りナントカ」([2908])…いえ、何か限定的な、より狭い界隈でのみ通じるものになっていきます。

 > しかし、「本格中華!」は中華なんでしょうか。
 > しかし、「本格中華!」は中華なんでしょうか。

 > 「本格イタリヤン!」と称しながら「当店イチオシ!」が「昔ながらのナポリタン!」であったりしては、限りなくイタリアンでないように感じます。(感想は個人です。)ナポリタンの大盛り…いえ、いくら「盛」っても、研究は研究であり、論文は論文であります。

・「雷文」ヤマサ醤油の説明です
 http://www.yamasa.com/table/dish-usage/3063/

 > usage

 うー…ウサゲっ!(違)

 > 私たちになじみの深い中華どんぶりやお皿に描かれている模様、意味が込められていました。ラーメンどんぶりに描かれている模様は正式に「雷文」といい、稲妻を図案化したものです。古来より雷は天の意思を伝えるということを表わしていて簡単に説明すると魔除けのおまじないのような意味あいを持っています。なぜラーメンどんぶりに描かれているかは分かっておりませんが・・。

 > 簡単に説明すると
 > 簡単に説明すると

 …ざっくりざっくり!(棒読み)

 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/59.html

 > 関数 summary() で要約統計量が得られる.

 ざっくりざっくり!!

■「summary(mydistakari2d)」

Min.1st Qu.MedianMean3rd Qu.Max.
1.0070.61113.89118.11161.55360.62


※最小値、第1四分位、中央値、平均値、第3四分位、最大値。

 なるほどねぇ。…実になるほどねぇ。しかし、知りたかったのは「10m」「0m」の全地点と、9つの重心との距離だよね。…その発想はなかった!(だからありますってば。)

■「R with Excel」(続き)

※k-meansを実行しておく
(k=9、nstart=50)
mykmakari9 <- kmeans(myakari3d, 9, nstart=50)
※k-meansで得られた重心の表を
RからExcelにコピーする
write.table(mykmakari9$centers, file="clipboard", sep="\t")
2軸の座標が入った
2列×33333行の
テーブルを読み込む
(タブ区切り)
myakari0=read.table("clipboard",h=0)
1行目に重心の1つ目の座標、
2行目から11行目に
テーブルの先頭10行を入れた
テーブルをつくる
myhead1x10 <- rbind(mykmakari9$centers[1, c(1,2)], head(myakari0, n=10))
距離行列をつくり
1行目だけを得る
mydist1x10 <- data.matrix(dist(myhead1x10))[1,]


■「mykmakari9$centers」

V1V2V3
1204.805148-226.3603604-50.33204633
2148.6132742-110.60621-68.38015443
3204.1472492-205.547330150.91828479
4227.6809475-148.1054583-76.54170958
545.63651781-82.8417184962.82080271
680.74285714-229.381881554.30662021
770.3512931-150.6515805129.4683908
8161.4137931-45.0848089576.37465051
9216.3577684-42.18658192-73.15677966


 この記事、上のほうで実行した「mykmakari9 <- kmeans(myakari3d, 9, nstart=25)」とはだいぶ違うような気もするんですが、クラスターの円がどうのという『円海山!』については上述の通りとしまして、この先、数字を使うときにはこちら「mykmakari9 <- kmeans(myakari3d, 9, nstart=50)」の結果を使います。あしからず。nstartをもっと多くしないといけないのかしら。メモリがぜんぜん足りないわ。(棒読み)

※nstart=100とnstart=500を試しましたが、nstart=25のときとは違ってnstart=50のときと同じ、湾の西側の山の高さ「60m」以上を1つのクラスターとする結果が得られます。海のクラスターは、北東部の隅が1つにまとまり4つになります。この結果でも『豊かな漁場!』の考察ができます。…よきかなよきかな!(※恐縮です。)

■「myhead1x10」

V1V2
1204.8051-226.3604
20.00000.0000
31.00000.0000
42.00000.0000
53.00000.0000
64.00000.0000
75.00000.0000
86.00000.0000
97.00000.0000
108.00000.0000
119.00000.0000


■「mydist1x10」

1234567891011
0.0000305.2608304.5908303.9226303.2562302.5917301.9290301.2682300.6092299.9521299.2970


 うーん。このまま33333行のデータで同じことをしてもいいでしょうか。3秒かかって計算した距離行列をほとんどぜんぶ捨てて1行目だけ得ようだなんて…3秒だから、まいっか。…『まいっか』!!(※恐縮です。)

[3364]
 > でっかい「ウサゲいっきまーす」

 うーん。

■「R with Excel」(続き)

1行目に重心の1つ目の座標、
2行目から33334行目に
テーブルの33333行を入れた
テーブルをつくる
mytab1x33333 <- rbind(mykmakari9$centers[1, c(1,2)], myakari0)
距離行列をつくり
1行目だけを得る
(ダメな例です)
mydist1x33333 <- data.matrix(dist(mytab1x33333))[1,]


 > エラー: サイズ 4.1 Gb のベクトルを割り当てることができません

 …両手でぎゃふん? …ぎゃふんっ!! なるほどでっかいウサゲとはこのことだよ。お客さまお客さまウサギみたいな顔してふくれてるよ。(違)

■「R with Excel」(続き)

距離行列をつくり
1番目から33333番目(※1列目)だけを得る
mydist1 <- dist(mytab1x33333, diag=FALSE, upper=FALSE)
mydist1x33333 <- head(mydist1, n=33333)
1列×33333行のリストを
RからExcelにコピーする
write.table(mydist1x33333, file="clipboard", sep="\t")
ヒストグラムを描くhist(mydist1x33333)
# プロットされた図を右クリックしてコピーや保存をします


 「dist関数」が返すのはdistオブジェクトみたいなのではあるけれど、head関数で見に行けばうまいこと扱ってくれて、距離行列として表示させたときの行列の左上から下へ1番、2番、(3番から33332番まで略)33333番の順で、上に戻って右へ1つ進んで33334番みたいな順で読み込んでくれます。…なるほどねぇ! 計算自体を33333番目で終わりにしてくれるオプションとかって、ないんですかねぇ。(※恐縮です。)

■「summary(mydist1x33333)」

Min.1st Qu.MedianMean3rd Qu.Max.
4.25125.30182.54171.42217.16305.26


 まいっか。…『まいっか』!! さあさあきょうび「まいっか」などと言うひとがいたら負けじと大きな声で『まいっか!!』とお返事するのですよ。(違)

 k-meansで得られたセントロイド(重心)は山か海であるので、特に山の場合、その近くに「10m」や「0m」の地点はなく(※海の場合でも、まず海が浅くなって「-3m」の地点があってから「0m」があるので重心からはそれなりに遠いと思われる)、このヒストグラムで見て0から50のような区間の頻度は小さく、そして256×256の平面だといっているのに300だのという対角線みたいに離れた地点というのも頻度は小さく、つまりヒストグラム(分布)はだいたい正規分布だろうと、こういうわけです。

 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/30.html

■「R with Excel」(続き)

1行目に重心のnつ目の座標、
2行目から33334行目に
テーブルの33333行を入れた
テーブルをつくる
mytab2x33333 <- rbind(mykmakari9$centers[2, c(1,2)], myakari0)
mytab3x33333 <- rbind(mykmakari9$centers[3, c(1,2)], myakari0)
mytab4x33333 <- rbind(mykmakari9$centers[4, c(1,2)], myakari0)
mytab5x33333 <- rbind(mykmakari9$centers[5, c(1,2)], myakari0)
mytab6x33333 <- rbind(mykmakari9$centers[6, c(1,2)], myakari0)
mytab7x33333 <- rbind(mykmakari9$centers[7, c(1,2)], myakari0)
mytab8x33333 <- rbind(mykmakari9$centers[8, c(1,2)], myakari0)
mytab9x33333 <- rbind(mykmakari9$centers[9, c(1,2)], myakari0)
距離行列をつくり
1番目から33333番目(※1列目)だけを得る
(ダメな例です)
mydist2 <- dist(mytab2x33333, diag=FALSE, upper=FALSE)
mydist2x33333 <- head(mydist2, n=33333)

mydist3 <- dist(mytab3x33333, diag=FALSE, upper=FALSE)
mydist3x33333 <- head(mydist3, n=33333)

mydist4 <- dist(mytab4x33333, diag=FALSE, upper=FALSE)
mydist4x33333 <- head(mydist4, n=33333)

mydist5 <- dist(mytab5x33333, diag=FALSE, upper=FALSE)
mydist5x33333 <- head(mydist5, n=33333)

mydist6 <- dist(mytab6x33333, diag=FALSE, upper=FALSE)
mydist6x33333 <- head(mydist6, n=33333)

mydist7 <- dist(mytab7x33333, diag=FALSE, upper=FALSE)
mydist7x33333 <- head(mydist7, n=33333)

mydist8 <- dist(mytab8x33333, diag=FALSE, upper=FALSE)
mydist8x33333 <- head(mydist8, n=33333)

mydist9 <- dist(mytab9x33333, diag=FALSE, upper=FALSE)
mydist9x33333 <- head(mydist9, n=33333)


 Rでfor文まで使うのは別の仕事(※「対話的」とはいえなくなる)だと思うので、ここではぜんぶ平たく書きます。あしからず。

 > > mydist7 <- dist(mytab7x33333, diag=FALSE, upper=FALSE)
 > エラー: サイズ 4.1 Gb のベクトルを割り当てることができません
 > > mydist7x33333 <- head(mydist7, n=33333)
 > head(mydist7, n = 33333) でエラー: オブジェクト 'mydist7' がありません

 ぐふっ。メモリの開放って、どうやるんですかぁ。

 http://blog.0093.tv/2010/02/r.html

 書いてあることをうのみにします。(棒読み)

■「R with Excel」(続き)

距離行列をつくり
1番目から33333番目(※1列目)だけを得る
mydist1 <- dist(mytab1x33333, diag=FALSE, upper=FALSE)
mydist1x33333 <- head(mydist1, n=33333)
rm(mydist1)
gc()
gc()

mydist2 <- dist(mytab2x33333, diag=FALSE, upper=FALSE)
mydist2x33333 <- head(mydist2, n=33333)
rm(mydist2)
gc()
gc()

mydist3 <- dist(mytab3x33333, diag=FALSE, upper=FALSE)
mydist3x33333 <- head(mydist3, n=33333)
rm(mydist3)
gc()
gc()

mydist4 <- dist(mytab4x33333, diag=FALSE, upper=FALSE)
mydist4x33333 <- head(mydist4, n=33333)
rm(mydist4)
gc()
gc()

mydist5 <- dist(mytab5x33333, diag=FALSE, upper=FALSE)
mydist5x33333 <- head(mydist5, n=33333)
rm(mydist5)
gc()
gc()

mydist6 <- dist(mytab6x33333, diag=FALSE, upper=FALSE)
mydist6x33333 <- head(mydist6, n=33333)
rm(mydist6)
gc()
gc()

mydist7 <- dist(mytab7x33333, diag=FALSE, upper=FALSE)
mydist7x33333 <- head(mydist7, n=33333)
rm(mydist7)
gc()
gc()

mydist8 <- dist(mytab8x33333, diag=FALSE, upper=FALSE)
mydist8x33333 <- head(mydist8, n=33333)
rm(mydist8)
gc()
gc()

mydist9 <- dist(mytab9x33333, diag=FALSE, upper=FALSE)
mydist9x33333 <- head(mydist9, n=33333)
rm(mydist9)
gc()
gc()


 …ドドドドド。あ、バババババ。…ドドドドド。あ、バババババ。

 https://ja.wikipedia.org/wiki/%E3%83%89%E3%82%A5%E3%83%89%E3%82%A5%E3%83%89%E3%82%A5%E3%83%BB%E3%83%87%E3%83%BB%E3%83%80%E3%83%80%E3%83%80
 https://mainichi.jp/articles/20160601/k00/00m/040/121000c

 > 宇宙戦艦ヤマト
 > 対局中、頭の中でメロディーが流れることがあると聞きましたが。

 > そのときどき聴いているものが、なぜ出てくるかは分かりませんが。長い対局中の一瞬、頭の中で音楽が流れる瞬間があります。

 …ゴゴゴゴゴ。あたしゃ最近「そして よがあけた!」「きょうもおべんとうよ。(※「も」に傍点)」「きょうからはじまる(違)きょうもおしていってくれんかのう(※「も」に傍点)」からの「てつのきんこが/おもい/おもい/おもいー」(※「Gerald Finzi: 5 Bagatelle op.23」[3638])が流れて流れて困ってるんだね。(違)

 > > gc()
 > used (Mb) gc trigger (Mb) max used (Mb)
 > Ncells 337296 18.1 750400 40.1 592000 31.7
 > Vcells 456438726 3482.4 1318414474 10058.8 4070729953 31057.3

 これだね。古き良き「タスク マネージャー」からメモリの消費量のグラフをみるとノコギリのようだとはこのことだよ。(※しつれいしました。)

 …あ、がっちゃんこーの、よいやさー。(棒読み)

■「R with Excel」(続き)

1列×33333行のリスト9つを結合して
9列×33333行の表にする
mydistakari0 <- cbind(mydist1x33333, mydist2x33333, mydist3x33333, mydist4x33333, mydist5x33333, mydist6x33333, mydist7x33333, mydist8x33333, mydist9x33333)
散布図行列を描く
(内容の確認のため)
library(mclust)
clPairs(mydistakari0)


 うーん。散布図行列を描くのに30秒以上はかかったかもですよ。…えーっ。そして、この散布図行列は「空っぽじゃない」ということだけを確かめるものです。あしからず。

 > plot(rowSums(mydistakari0))

 …うむ。中身が空っぽじゃない&それっぽい値が入ってるか確かめたいだけならこのほうが手軽だよとはこのことだよ。(※恐縮です。)

 ところでφからのθみたいなのはどうなったんですか。…忘れてた。(棒読み)

・考えてたのとはなんか違う気もするけれど、まず「mydistakari0」としてx-y平面での距離の一覧表が用意できたので、次に高さ(標高差:仮にΔとしよう)の一覧表「myakaridelta」みたいなのをつくろうではないか

 …だー・かー・らー!! 「10m」の地点も0だということにすれば、もはや1つずつ丁寧にΔみたいな値を焼き上げてみせなくても、k-meansで得られたセントロイド(重心)の座標のzがすなわちΔでしょ。…その発想はなかった!(棒読み)次にするのは、重心のZ座標9つを横に並べたベクトルをつくって、それと「mydistakari0」を使って、斜めの距離(直角三角形の斜辺)を求めてみせることだよね。

※メモリが無尽蔵にあるなら3次元でdistすればいいんでしょうけど、それができないので2段階に分けたということです。あしからず。

・カシオ「直角三角形の底辺と高さから傾斜角と斜辺を計算します。」
 https://keisan.casio.jp/exec/system/1161228774

 これと同じことを少ないコマンドでどかんと計算させてみようというのがRなのですよ。

 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/24.html

 > 例えば m × n 行列 X の全ての要素に 1 を足す場合,R では繰り返し文 (for や while) を使わなくても X <- X+1 で手軽かつ高速に実現できる
 > C や JAVA ならば複数オブジェクトを個別に与えて繰り返し文で回さなければいけないような場面でも,apply() ファミリーの関数を使えば簡潔な記述で高速に計算できる場面が出てくる

 > ある関数をリストの要素全てに適用したい場合は関数 lapply(),sapply() を用いる.

 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/03.html

 > sqrt
 > √ の計算

 …『√ の計算』!! ま、そうなんですけど。(※恐縮です。)

 http://cse.naro.affrc.go.jp/takezawa/r-tips/r/27.html

 > 自作の関数を定義する

■「R with Excel」(続き)

自作の関数を定義するmyfunc1 <- function(a,b) sqrt(a ^ 2 + b ^ 2)
# 斜辺の長さを求める


 「myfunc1(1,1)」と入れてEnterするのです!

 > 1.414214

 おおー。

 「myfunc1(mydist1x33333[ 1 ], mykmakari9$centers[ 1 , 3 ])」はどうだっ。

 > 309.3824

 おおー!

 「myfunc1(mydist1x33333, mykmakari9$centers[1,3])」?

 > (長いので略)
 > 65.59345 65.12980 64.67828

 ぬおー!!

■「R with Excel」(続き)

よいやさー
してから
がっちゃんこー
mydistakari0 <- cbind(myfunc1(mydist1x33333, mykmakari9$centers[1,3]), myfunc1(mydist2x33333, mykmakari9$centers[2,3]), myfunc1(mydist3x33333, mykmakari9$centers[3,3]), myfunc1(mydist4x33333, mykmakari9$centers[4,3]), myfunc1(mydist5x33333, mykmakari9$centers[5,3]), myfunc1(mydist6x33333, mykmakari9$centers[6,3]), myfunc1(mydist7x33333, mykmakari9$centers[7,3]), myfunc1(mydist8x33333, mykmakari9$centers[8,3]), myfunc1(mydist9x33333, mykmakari9$centers[9,3]))
(内容を確かめる)plot(mydistakari0)


 うーん。

 じゃあ(※)θみたいなの…ののんのん!!

・「どこをどうしたのか知らないけれど現にこのマップではつりあいがとれている」と仮定しているのだから、もはや向きはどうでもいい
・知りたいのはΔの総和
・Δに「距離の逆数」をかけ算しておけばθを考慮したといえる
・重心の高さは平均値みたいなものだから1.5倍とか2倍とかすると「仮想の山の最高部」「仮想の海の最深部」の高さを表わせると思うわ(※表現は演出です)

 ええーっ。(棒読み)

■「R with Excel」(続き)

自作の関数を定義するmyfunc2 <- function(delta,dist) ((delta * 2) * (1 / dist))
myres1 <- myfunc2(mykmakari9$centers[1,3], myfunc1(mydist1x33333, mykmakari9$centers[1,3]))
summary(myres1)


 > Min. 1st Qu. Median Mean 3rd Qu. Max.
 > -1.9929 -0.7455 -0.5316 -0.6451 -0.4516 -0.3254

 (中略)

 > > summary(myres7)
 > Min. 1st Qu. Median Mean 3rd Qu. Max.
 > 1.066 1.474 1.660 1.639 1.811 1.997

 うーん。後から正規化して18.75をかけたりするので、数字そのものはふいんきでいいんですよ。…『ふいんき』!!(※恐縮です。)

■「R with Excel」(続き)

mydeltaakari0 <- cbind(myfunc2(mykmakari9$centers[1,3], myfunc1(mydist1x33333, mykmakari9$centers[1,3])), myfunc2(mykmakari9$centers[2,3], myfunc1(mydist2x33333, mykmakari9$centers[2,3])), myfunc2(mykmakari9$centers[3,3], myfunc1(mydist3x33333, mykmakari9$centers[3,3])), myfunc2(mykmakari9$centers[4,3], myfunc1(mydist4x33333, mykmakari9$centers[4,3])), myfunc2(mykmakari9$centers[5,3], myfunc1(mydist5x33333, mykmakari9$centers[5,3])), myfunc2(mykmakari9$centers[6,3], myfunc1(mydist6x33333, mykmakari9$centers[6,3])), myfunc2(mykmakari9$centers[7,3], myfunc1(mydist7x33333, mykmakari9$centers[7,3])), myfunc2(mykmakari9$centers[8,3], myfunc1(mydist8x33333, mykmakari9$centers[8,3])), myfunc2(mykmakari9$centers[9,3], myfunc1(mydist9x33333, mykmakari9$centers[9,3])))
(内容を確かめる)summary(rowSums(mydeltaakari0))
hist(rowSums(mydeltaakari0))
clPairs(cbind(myakari0, rowSums(mydeltaakari0)))


 > Min. 1st Qu. Median Mean 3rd Qu. Max.
 > -0.7308 1.6148 2.1925 2.0073 2.6941 2.9873

 https://neorail.jp/forum/uploads/hist_rowsums_mydeltaakari0.png

https://neorail.jp/forum/uploads/hist_rowsums_mydeltaakari0.png

 https://neorail.jp/forum/uploads/plot_rowsums_mydeltaakari0.png

https://neorail.jp/forum/uploads/plot_rowsums_mydeltaakari0.png


 うーん! ほとんどの平地を16mとか17mとかに持ち上げる感じで、しかし、低いところもちゃんとあって、山に近いと20m近くまで持ち上がる。よさげですぞ。…なにげによさげですぞ!(※見解です。)

■「R with Excel」(続き)

自作の関数を定義するmyfunc3 <- function(delta,max,min,height) ((delta - min) / (max - min)) * height
(内容を確かめる)hist(myfunc3(rowSums(mydeltaakari0), max(rowSums(mydeltaakari0)), min(rowSums(mydeltaakari0)), 1)) # 0から1の値になったことを確かめる
hist(myfunc3(rowSums(mydeltaakari0), max(rowSums(mydeltaakari0)), min(rowSums(mydeltaakari0)), 18.75))
myakari0elv <- cbind(myakari0, myfunc3(rowSums(mydeltaakari0), max(rowSums(mydeltaakari0)), min(rowSums(mydeltaakari0)), 18.75))
colnames(myakari0elv) <- c("V1", "V2", "V3") # 列名を揃えておく
mynewakari3d <- rbind(myakari3d, myakari0elv)


 ぬおー!! 「1」と「18.75」では、ヒストグラムの区間の採りかたが変わるので形が変わります。

 そして、…ニューあかり3D!! チョコミント…じゃなくて、チューブの最後をにゅーっと押し出すやうなとはこのことだよ。(違)しかし、このデータでは冒頭のような立体の形状を描画できないよ。それに点のリストとしても「高さ-3m」の点が抜けているよ。…その発想はなかった!(棒読み)

行列を複製するcpmyakari <- myakari
hist(cpmyakari)
行列の要素を置き換えるcpmyakari[(-1 * (myakari0elv$V2) + 1) + 256 * (myakari0elv$V1)] <- myakari0elv$V3
3次元表示のためのx,y,zを用意する
(適切にスケーリングする)
z <- 0.5 * cpmyakari
x <- 10 * (1:nrow(z))
y <- 10 * (1:ncol(z))
描画するpar(bg = "black") # 背景色を黒にする
persp(x, y, z, theta = 115, phi = 22.5, col = "white", scale = FALSE, ltheta = 283.95 + 90, lphi = 21.76, shade = 0.75, border = NA, box = FALSE)
# プロットされた図を右クリックしてコピーや保存をします
# (高精細な画像にするには図のウィンドウを最大化してから)


 https://neorail.jp/forum/uploads/map_akari_init_heightmap_R_0.5_0621-1700_elv.png

https://neorail.jp/forum/uploads/map_akari_init_heightmap_R_0.5_0621-1700_elv.png


 なるほどねぇ。…実になるほどねぇ。(※まことに恐縮でございます。)

・ヒストグラムではよさげに思えたけれど、狙い通りの起伏にはなっていなくて、全体が1枚の板のように傾いているだけだわ
・もっと1つ1つの山にひっぱられて沢とか谷とかが浮き彫りになるようなのがいいわ
・海のクラスターは使わなくてよかったのではないかしら:クラスターの3,5,6,7,8だけを使ってやり直してみてくれる?

※表現は演出です。

■「R with Excel」(続き)

myfunc2 <- function(delta,dist) ((delta * 2) * (1 / (dist ^ 2)))
mydeltaakari0 <- cbind(myfunc2(mykmakari9$centers[3,3], myfunc1(mydist3x33333, mykmakari9$centers[3,3])), myfunc2(mykmakari9$centers[5,3], myfunc1(mydist5x33333, mykmakari9$centers[5,3])), myfunc2(mykmakari9$centers[6,3], myfunc1(mydist6x33333, mykmakari9$centers[6,3])), myfunc2(mykmakari9$centers[7,3], myfunc1(mydist7x33333, mykmakari9$centers[7,3])), myfunc2(mykmakari9$centers[8,3], myfunc1(mydist8x33333, mykmakari9$centers[8,3])))
(内容を確かめる)summary(rowSums(mydeltaakari0))
hist(rowSums(mydeltaakari0))
clPairs(cbind(myakari0, rowSums(mydeltaakari0)))
myakari0elv <- cbind(myakari0, myfunc3(rowSums(mydeltaakari0), max(rowSums(mydeltaakari0)), min(rowSums(mydeltaakari0)), 18.75))
colnames(myakari0elv) <- c("V1", "V2", "V3") # 列名を揃えておく
mynewakari3d <- rbind(myakari3d, myakari0elv)


 うーん。

 https://www.rdocumentation.org/packages/graphics/versions/3.5.0/topics/contour

■「R with Excel」(続き)

等高線を描くcontour(cpmyakari, nlevels=256)


 https://neorail.jp/forum/uploads/contour_akari_elv_n50c5.png

https://neorail.jp/forum/uploads/contour_akari_elv_n50c5.png


 うーん。これはあくまで「ここに河川があるじゃろ」と決めつけるための『補助線!』みたいなものであって、ゲームのマップにこの通りの起伏があったら、建物という建物が段差ばかりで美しくないというわけです。ゲームとしては「0m」で平たいということがありがたいと再認識されます。

※あるいは、これは地形の高さ方向がゲーム内で強調されているということでもあり、ならば建物がもっと小さくないと自然には見えてこないという、そういう見かたもできましょう。

・なんと「補助線」とはにわが知りたいって?(※キャプションは演出です)
 https://kotobank.jp/word/%E8%A3%9C%E5%8A%A9%E7%B7%9A-630071

 > 幾何の問題を解く時、与えられた図形にないが、問題解決の助けとするために新たに描く直線、または円。

 これだね。えー、どれどれ?

・マップの南西部の山と山の間から(この2つのうち東の)山に沿って流れてきた川が東の「名勝!」には向かわず真北に流れを変え湾に注ぐということが説明できるかのように見えるけれど、それは偶然ではないかしら
・マップの端に山も海もない(マップ外の地形がわからない)西側から北西側にかけては、本来、等高線が決定できないはずよ(=全体の傾向を見て北西が『山のほう!』だと決めて、北西に向かって18.75mまで上がったら、その先ぜんぶ18.75mということにしておくほうがいいのではないかしら)
・なんとか峡みたいなところから南の山まで丘陵が続くかのように18mの高さになったのは思っていたのと違うわ
・この計算を「10m」「0m」の点だけで行なってよかったのかしら(k-meansするときに「10m」「0m」「-3m」を除外するのはよかったけれど、「本来あったはずの起伏を逆算する」の処理では「40m」くらいまでを対象にしてもいいのではないかしら)
・k=9がいいと決めたところが恣意的だわ(…ギクッ)
・kmeans関数に頼らないで最初からdist関数だけで完結できないのかしら(…ええーっ!!)
・海のクラスターをまったく使わないのも、島の平地におかしな等高線が引かれておかしいわ(…使わないほうがいいと言ったのは誰だったかしら)
・(重心からの)「距離の二乗の逆数!」という「減衰係数」でなく、スプライン曲線みたいに、向こうが盛り上がるならこちらは盛り下がるわみたいな逆向きの力って考えられないのかしら

 http://image.itmedia.co.jp/nl/articles/1402/28/wk_140228aumirai01.jpg
 https://upload.wikimedia.org/wikipedia/commons/f/fd/Spline_%28PSF%29.png

 …えーっ。(※表現は演出です。わたしたちは画像中央のひとみたいな顔で自由研究に取り組むわけですが、両脇のひとにカワサキこまかい指摘を受けてもウサギのような顔でふくれてはいけません。ぜんぶきちんと答えましょう。そして、そのやり取りを整理して文章に書けば、もう論文ができているではありませんか。…そのためにカワサキこまかく指摘するんですよ、ええ。この役割をぜんぶじぶんで演じられれば研究がはかどるぞ。もちろん、じぶんだけで一通りできたとしても、やはりほかのひとにも見てもらう必要があるのですけれどもね。)

・nstart=50で得た9つの重心ぜんぶ(海を含む)
 https://neorail.jp/forum/uploads/contour_akari_elv_n50c9.png

https://neorail.jp/forum/uploads/contour_akari_elv_n50c9.png


・nstart=25のとき(上述)の山の重心だけ4つ
 https://neorail.jp/forum/uploads/contour_akari_elv_n25c4.png

https://neorail.jp/forum/uploads/contour_akari_elv_n25c4.png


 うーん。やはり海のクラスターは含めないほうがいいかな&nstart=25のときの重心(最初に『円海山!』といって考察したときの重心)はテキタウなようでいてなかなか的確なのではないかなぁ。本当でしょうか。(※nstartの値を増やしてクラスタリングの結果としては安定していくわけですけれど、ここで得たいのはそういう結果ではなかった=それはk-meansというアルゴリズムを使うのではいけないということを言っていませんか? …ギクッ。)

※nstartの値が小さいということは、点の多い場所が初期中心に選ばれやすいということであって、値を増やせば増やすほど、あらゆる初期中心を試して=マイナーな地点を初期中心にしたクラスタリングを網羅的に試して積み上げてみたいな=確かに安定するんですけれど、それは直感に反するのではないかなぁ。「点の多い場所が初期中心に選ばれやすい」ということは、ここでは好都合にも思えてくるよ。(※仮の見解です。)

 https://www.lightstone.co.jp/stata/files/sar_brochure.pdf

 > 空間自己回帰モデルを利用した分析の一つにホットスポット分析があります。地域ごとのデータについて、全体和に対する局所和の割合を統計量として計算し、全体がランダム分布と仮定したときの値から有意に異なるかによって、空間的な異質性を持つスポットを明らかにします。

 ほぉお。そういう考えは広く使われているよ。(棒読み)0mを境に山と海を区別するのと-80mを基準にぜんぶ積み上げるのとでは、かなり違うよね。…その発想はなかった!(※われわれ最初から「0m」という概念が導入されているので楽ができている、の意。)

 https://ja.wikipedia.org/wiki/Tf-idf

 > 多くの文書に出現する語(一般的な語)は重要度が下がり、特定の文書にしか出現しない単語の重要度を上げる役割を果たす。

・久保拓弥「簡単な例題で理解する空間統計モデル」(2009年6月25日)
 http://hosho.ees.hokudai.ac.jp/~kubo/ce/2008/carjje/kubo2009car.pdf

 > この記事では、空間相関のある「場所差」が何に由来するものなのか「よくわからない」ままデータ解析しなければならない状況にあるものとして話をすすめる。

 > (全略)観測データにむきあって生態学的な現象を解明していこうとする立場は、やみくもに「検定にかけ」てひたすらP<0.05ばかりを探求する(ありがちな) 方法論とはちょっとちがっているようだと気づかれた読者も多いだろうし、あるいは現実の観測データとの定量的な比較方法が定義されていない数理モデルだけを使った研究とも異なっている。

 ぬおー!!(※恐縮です。)

 https://www.msi.co.jp/splus/learning/spatial/4-3.html

 > すべて多変量正規性を仮定する。
 > 近傍の重みと区別せよ

 ここでいう「空間」というのは(3変量をたぶん大きく上回る)『多次元』だということであって、地理的な意味での空間や、x-y-zの3軸がある「立体」という意味ではないと思うよ。(棒読み)

 > CARモデルとSARモデルの違いは、変量 Y の各要素の分布を、他の要素の値がわかっているときの条件付き分布で与える (CAR) か、同時分布で与える (SAR) かによる。

 『ゼロの発見!』みたいな楽しさがあるよね。(※個人の感想です。)

・Google ストリートビュー 「豊四季駅」付近
 https://goo.gl/maps/NUTLZodn2YC2
 https://goo.gl/maps/TrcEX8XHP7n
 https://goo.gl/maps/9oCvVY7bZLq
 https://goo.gl/maps/eQhzYRTu2fp
 https://goo.gl/maps/1qqZPFbCQ5F2

 なんと駅前広場のGLからそのまま駅のホームで電車なんだなこれがっ。

[3559]
 > 3階ならわかりますよ、うん。地面を1から数えて3つ目だよね。うんうん。(※表現は演出です。)「SFTGFOP」…じゃなくて、「GF」からの「我々はさっそく原宿(略)「B0.5F」は実在したっ」については[3540]を参照。

 ええーっ。(棒読み)

■「ゆるシミュ(8)」「ふわコレ(8)」図の一覧

計算に用いた関数描画に用いた関数
persp関数 https://neorail.jp/forum/uploads/map_akari_init_heightmap_R_0.5_0621-1700.png

https://neorail.jp/forum/uploads/map_akari_init_heightmap_R_0.5_0621-1700.png

https://neorail.jp/forum/uploads/map_akari_init_heightmap_R_0.5_0621-1700_elv.png

https://neorail.jp/forum/uploads/map_akari_init_heightmap_R_0.5_0621-1700_elv.png

https://neorail.jp/forum/uploads/map_airport_init_heightmap_R_0.5_0621-1700.png

https://neorail.jp/forum/uploads/map_airport_init_heightmap_R_0.5_0621-1700.png
prcomp関数clPairs関数 https://neorail.jp/forum/uploads/map_akari_kmeans_prcomp.gif
kmeans関数clPairs関数 https://neorail.jp/forum/uploads/map_akari_kmeans_centers.gif
https://neorail.jp/forum/uploads/map_airport_kmeans_5to9.gif
https://neorail.jp/forum/uploads/map_airport_kmeans_centers.gif
hist関数 https://neorail.jp/forum/uploads/hist_rowsums_mydeltaakari0.png

https://neorail.jp/forum/uploads/hist_rowsums_mydeltaakari0.png
plot関数 https://neorail.jp/forum/uploads/plot_rowsums_mydeltaakari0.png

https://neorail.jp/forum/uploads/plot_rowsums_mydeltaakari0.png
contour関数 https://neorail.jp/forum/uploads/contour_akari_elv_n50c5.png

https://neorail.jp/forum/uploads/contour_akari_elv_n50c5.png

https://neorail.jp/forum/uploads/contour_akari_elv_n50c9.png

https://neorail.jp/forum/uploads/contour_akari_elv_n50c9.png

https://neorail.jp/forum/uploads/contour_akari_elv_n25c4.png

https://neorail.jp/forum/uploads/contour_akari_elv_n25c4.png


※内容について必ず本文中の該当箇所を参照してください。図だけを参照しても意味不明ですよ。地形データの著作権は株式会社アートディンクに帰属します。


この記事のURL https://neorail.jp/forum/3658/


この記事を参照している記事


[3658]

【自由研究】ゆるシミュ(8)

2018/7/9

[3659]

【自由研究】ふわコレ(8)

2018/7/9

[3669]

【自由研究】ゆるシミュ(9)

2018/8/16

[3670]

【自由研究】ふわコレ(9)

2018/8/16

[3676]

【正宗の名刀で速射砲と立合をするような奇観を呈出】発生学から出立するディープラーニング(仮)【社会調査工房オンラインあり】

2018/9/13

[3681]

【鶴見川越え】どこへゆく「相鉄・JR直通線」【市場きらきら公園あり】

2018/10/7

[3687]

【三日月島】いま問う「ビュアーソフトについて」のココロ(試)【ポイント1個あり】

2019/1/1

[3695]

いま問う「(お好きな地形)EX(30倍)」(2010年3月・2013年2月)のココロ(運転編)

2019/3/1

[3707]

研究ホワイトボックス(35) 複雑なデータと「対話」するには〜郵便番号データを例に(R編)

2019/5/24

[3715]

「黄色のメニュー」はどうして黄色いのですか?

2019/6/9

[3754]

【A9・Exp.】まだ見ぬ「模範演技」を求めて(三日月島MV編)

2019/8/25

[3762]

【A10】『動物タイプ』がゲームをみがく

2019/9/8

[3796]

「ぱるはちこんぶ(PAL8-CNV)」なう

2019/10/18

[3868]

まだ見ぬ「ドリームかまち」を探して(インサイト編)

2019/12/30

[3886]

「点・望・山(M243-11Y)」への招待

2020/1/18

[3949]

「A列車で行こう9 自動発展」とは(前編)

2020/2/29

[4012]

きょうは府中で酢豚。

2020/4/1

[4208]

3桁のオーダー / ウエストサイドソフトハウス / ほか

2020/9/16

[4223]

【地理探究】再び「子どもの空間認知に基づく入門期絵地図の基礎的研究」(1996年3月)を愛でる(再)【体内時計つき】

2020/10/1

[4448]

【A9・Exp.】駅舎の向きと「RC造」そして「うし屋」(再)

2021/3/1

[4449]

【AExp.】「不思議な道路」「不思議な建物」「謎の列車」を斬る(談)

2021/3/1

[4457]

【GOOD LUCK!】「OuDia エクセル」を斬る(談)【線路見学あり】

2021/3/1

[4474]

【A9V1】いまこそ「大都市構想R」のびのびワイド(後編)

2021/3/21

[4607]

ふれねる「自由研究 数学」の山(ZAN)

2021/8/25

[4640]

ふれねる「自由研究 数学」の首(SHU)

2021/8/25

[4814]

調布のメソッド 〜テラマヨス大明神〜(めっちゃ編)

2022/7/1

[4841]

「A列車で行こう9 路線図」再び(再)

2022/8/1

[4953]

Googleサジェスト「時間速度は?」「時間倍率は?」を「時間拡張とは?」に(談)

2023/1/1

[4998]

きょうは京成バラ園でメルヘンツァウバー。

2023/3/3

[5008]

【AExp.】「海上都市計画」の地形が気に入らないときは

2023/5/5

[5079]

時間の関係で「重曹ちゃん」の続きから「行くぜ、東北。」まで(談)

2023/9/1

[5087]

【千葉】「船を操る海の民」に返り点を打つ(談)

2023/9/1

[5201]

【スーパーテレホタイム】「ニュータウン」を「新しい街」と言い換えてはいけない(かいねつ編)

2024/4/4


関連する記事


[4235]

きょうは天下茶屋で有楽町層。 tht - 2020/10/1


[4049]

いつかどこかの「新橋立」で(インサイト編) tht - 2020/5/7


[4513]

【PHS】「キタキツネの勢力範囲」とは何か(談)【竜王】 tht - 2021/4/1


[4072]

「照焼大橋」不滅なれ(ゆんゆん編) tht - 2020/5/21


[4173]

きょうは新札幌でバウムクーヘン。 tht - 2020/8/25


[4080]

「照焼大橋」不滅なれ(かりかり編) tht - 2020/5/21


[4074]

「照焼大橋」不滅なれ(AA横横編) tht - 2020/5/21


[4768]

超大陸五反田(カッコカリ)の肆 tht - 2022/6/1






neorail.jp/は、個人が運営する非営利のウェブサイトです。広告ではありません。 All Rights Reserved. ©1999-2024, tht.