未分類

望んだ孤独か、余儀なくされた孤独か、その線引きをどう判断するのか。
内閣官房の担当室が着目したのが「UCLAの孤独感尺度」という指標だ。
1978年にアメリカの大学が公表し、国際的にも広く使われているのだという。
指標は、以下のような20の質問項目で構成されている。

「自分には人との付き合いがないと感じることがあるか」
「自分は取り残されていると感じることがあるか」
「自分は他の人たちから孤立していると感じることがあるか」

こうした質問に4段階の程度を回答して点数化し、孤独感を測る。
点数が高ければ高いほど孤独だということになり、最も高いのが80点で、44点以上で「孤独感が高い」、28点未満で「孤独感が低い」と判定するのだという。
(https://www.nhk.or.jp/politics/articles/feature/61791.html)

江端の孤独尺度は"56" 「孤独感が高い」でした。

80点を満点と考えると、江端の孤独度は70%ーーー  「孤独が強く出るだろう」と思ってはいたのですが、思ったほどには悪い値ではなかったな、という自己評価です。

という訳で、皆さんも、56点をベースに「江端より孤独かどうか」を測ってみませんか?

 

 

未分類

どなたか、ご教示頂きたく、お願い致します。

前提

Windows10でDockerを使って、PostgreSQL + PostGISの環境を使っています。

実現したいこと

PostGISで、曲線のジオメトリをそのまま使って、始点と距離を与えて、終点の座標を得たいです。
具体的には、イメージ説明に示すように、

(1)図中のジオメトリで与えられる地図上の曲線において、
(2)始点(A点)の座標(緯度経度)と距離を入力して、
(3)終点(B点)の座標(緯度経度)を取得する

を実現したいです。

検討した事項

geometry型がさっぱり分からん

にも記載しておりますが、曲線のジオメトリは、 ST_Astext()を使うことで、座標に展開できるので、これを使って地道に計算(足し算して端数は比率を乗算する)すれば、算出は可能だと思うのですが、非常に迂遠な計算で、計算負荷も大きくなると思います。

そこで、ジオメトリ(the geom)を直接使って、そのようなことを実現できる関数を
https://postgis.net/docs/manual-3.2/postgis-ja.html#reference
から、探してみたのですが、見付けられませんでした(見落している可能性大です)。

補足情報

大量のエージェントを地図上で動かすシミュレーションで、使うことを想定しており、可能な限りPostGISで提供されている関数とジオメトリをそのまま使って実現したいと考えております。

連絡先

(この質問に関するご報告のみ、ご利用頂きたくお願い致します)

何卒、よろしくお願い致します。

未分類

「OpenStreetMapのデータから鉄道だけを抽出してGeoJSONで出力する方法」を試してみた件

で、目的のファイルをjson形式で取れたのですが、私はPostGIS+PostgreSQLに落したいので、osmファイルに変換する必要があると思っていましたが ――

[OSM] .osm.pbfファイルを読み込んでみる1

osm2pgsql: .osm.pbfをPostgreSQLのデータベースに変換するツール

なんだ、pbf->osm変換の手段を探していたんだけど、直接PostGIS + PostgreSQLに変換することができるなら問題ないかな、と。

ただ、osmconvert.exeで変換できるらしいので、とりあえず、これも試したいと思いました。

osmconvertのダウンロード

のサイトが警告がでているのですが、多分、http:// と https://の違いだろうと腹を括ってダウンロードしました。(私は、C:\Users\ebata\docker-osmium-toolに一時的に格納)

C:\Users\ebata\docker-osmium-tool>osmconvert64 utunomiya-railway-latest.osm.pbf > utunomiya-railway-latest.osm

としたところ、

<?xml version='1.0' encoding='UTF-8'?>
<osm version="0.6" generator="osmconvert 0.8.10">
<node id="264180821" lat="36.5606204" lon="139.8988763" version="11" timestamp="2018-11-27T16:20:29Z" changeset="0"/>
<node id="264180832" lat="36.552414" lon="139.8959184" version="3" timestamp="2018-11-27T16:20:29Z" changeset="0"/>
<node id="264180833" lat="36.55513" lon="139.8975756" version="3" timestamp="2016-04-04T20:29:57Z" changeset="0"/>

という感じで、いつもの見慣れた形式の表示がされたので、多分、これで変換できたのだと思います。

サイズは、33KB -> 716KB に跳ね上がったようですが。

 

 

未分類

1-9-5 で、やっとマルチ画面のバグが取れた。

あとは、オンライン予約

それにしても、emacsのshellモードって、凄くない?  出力中のprint文で検索かけれるエディタなんて、他にあるかなぁ

未分類

嫁さんが、「U-NEXTのとあるコンテンツを見たい」と言ってきたので、U-NEXTについて色々調べてみました。

無料期間サービスの解約トラブルに関する事項が山のように出てきたので、『心証悪い』と思いました。

「月額プラン1490」を契約していた場合、契約から1年以内の解約に限り違約金5,000円が発生します。

を読んで、『今どき、コンテンツサービスで違約金?』と、その心証は、決定的となりました。

# 江端家は、大型連休中などに、1ヶ月単位でNetFlixへの登録→解約を繰返しています。

とは、言え、嫁さんの希望に応える為にも、入会してみました。

で、徹底的にそのコンテンツを捜してみたのですが、全く見付からなかったので、入会から30分後に解約手続を開始しました。

徹底解説!U-NEXTの解約・退会トラブルを回避するための全注意点

を見ながら、処理を進めたのですが、怖いと思ったのは、「解約」だけでは足りず、「退会」まで持っていかなければならなかった、ということです。

解約:サービスの停止はするが、アカウントは残る

退会:アカウントも消す

解約だけでは、メールによる宣伝やら、電話による営業までくらうらしいことが分かり、『やっぱり入会するんじゃなかった』と後悔しつつ、退会(アカウントも消す)まで持っていきました。

これが「解約」のエビデンス↓

これが「退会」のエビデンス↓

以上

未分類

1-9-4  bus(),person()の終了から、ちゃんと正常終了メッセージを送付して、echo2を自力破壊するようにしてみる。

デッドロック? している場所をつきとめる  1-9-4は完全に壊したっぽい

2022/04,未分類,江端さんの技術メモ

  1. golang内でredis経由でJSONを飛す時
    // パブリッシュ側
    
    type GetLoc struct {
        ID    int     `json:"id"`
        Lat   float64 `json:"lat"`
        Lng   float64 `json:"lng"`
        TYPE  string  `json:"type"` // "PERSON","BUS","CONTROL
        POPUP int     `json:"popup"`
        //Address string  `json:"address"`
    }
    
    		gl.TYPE = "BUS"
    		gl.Lat = 35.654543 + (rand.Float64()-0.5)*0.00001*20
    		gl.Lng = 139.795534 + (rand.Float64()-0.5)*0.00002*20
    		gl.ID = rand.Int() % 5
    
    		json_gl, _ := json.Marshal(gl)
    		r, err := redis.Int(conn.Do("PUBLISH", "channel_1", json_gl))
    
    // サブスクライブ側
    
    	for {
    		switch v := psc.Receive().(type) {
    		case redis.Message:
    			fmt.Printf("%s: message: %s\n", v.Channel, v.Data)
    
    			var gl GetLoc
    			_ = json.Unmarshal(v.Data, &gl)
    			fmt.Println(gl.ID)
  2. golangから直接JavaScriptへJSONを飛す時
    golangから (上記の続き)

    var gl GetLoc
    			_ = json.Unmarshal(v.Data, &gl)
    			fmt.Println(gl.ID)
    
    			//conn.WriteJSON(v.Data)
    			conn.WriteJSON(gl)

    JavaScriptで受けとる

    <script>
            function obj(id, lat, lng, type, popup){
                this.id = id;
                this.lat = lat;
                this.lng = lng;
                this.type = type;
                this.popup = popup;
            }
    
    
            //ws.onmessage = e => console.log(e.data)
            ws.onmessage = function(event) {  // 受信したメッセージはここに飛んでくる
                console.log("RESPONSE",event.data)
                var obj = JSON.parse(event.data);
                console.log("after parse:",obj.id)
            }

ポイントは、Marshal、Unmarshal、parseの使い方