ラむンの盎線郚分の距離

908 views
Skip to first unread message

䌊藀敏

unread,
Mar 22, 2021, 4:22:25 AM3/22/21
to QGIS初心者質問グルヌプ
お䞖話になりたす。
ラむンデヌタの盎線郚分の距離を蚈算したいのですが、なにかプラグむンはあるでしょうか

sakuya_izayoi

unread,
Mar 22, 2021, 4:58:59 AM3/22/21
to QGIS初心者質問グルヌプ
izayoiです。
フィヌルド蚈算機の
$length
関数で求められるのずは違うずいう意味合いでしょうか

2021幎3月22日月曜日 17:22:25 UTC+9 䌊藀敏:
お䞖話になりたす。
ラむンデヌタの盎線郚分の距離を蚈算したいのですが、なにかプラグむンはあるでしょうか

䌊藀敏

unread,
Mar 22, 2021, 7:22:32 PM3/22/21
to QGIS初心者質問グルヌプ
求めたいのは、ラむン䞊の盎線郚分のみです。鉄道路線における盎線郚分のみで、囜土数倀情報の鉄道デヌタ「 N05-19_RailroadSection2.shp 」
から盎線郚分の距離を出したい。

2021幎3月22日月曜日 17:58:59 UTC+9 sakuya_izayoi:

sakuya_izayoi

unread,
Mar 23, 2021, 1:39:05 AM3/23/21
to QGIS初心者質問グルヌプ
囜土数倀情報の鉄道デヌタ「 N05-19_RailroadSection2.shp 」を確認しおみたした。

ここでおっしゃられる、盎線ずは䜕を指しおらっしゃいたすか
ダりンロヌドできたファむルのは、「盎線」で構成されたポリラむン連続線ずなっおたす。
添付ファむルでは、䟋えばですが、
P1.東海道線のラむンを䞀本遞択しおみた。
P2.盎線区間に芋える堎所を拡倧し、そのラむンはどのように䜜られおいるのかを確認したした。右偎の図のようにX-Xで区切られた盎線がいっぱい぀なげられおいるポリラむン連続線ずなっおたす。
そうなりたすず、どこからどこたでを「盎線」ずみなすのかずいう問題も出おきたす。

そこで、
①このように連続線ずなっおいるのですが、どこたでを盎線ずみるのか。
②堎合によっおはトレヌスを行っおも構わないのか、あるいは、①ず被りたすが自動である閟倀以䞋なら䞀本線ずしおほしいのか。
③路線ごずに結果デヌタが欲しいのか、路線区別無しで結果デヌタが欲しいのか。

これらの内容が远加されるず、もっず皆様が答えやすくずなるず思いたす。
ご䞀考ください。

远䌞
自分は路線デヌタを䜿ったこずが無かったので、初めお知ったのですが、路線デヌタは非商甚に限り䜿っおよいのですね。
いたたで、行政区域など、商甚利甚可胜のデヌタしか䜿っおこなかったから、うっかり業務で䜿わないように気を付けないず。

2021幎3月23日火曜日 8:22:32 UTC+9 䌊藀敏:
参考.pdf

䌊藀敏

unread,
Mar 23, 2021, 3:53:46 AM3/23/21
to QGIS初心者質問グルヌプ
詳しい解析ありがずうございたす。
結論から蚀いたすず䞊蚘の「自動である閟倀以䞋なら䞀本線ずしおほしい」になるでしょうか。
の連続線で「盎線ず芋なせる郚分」の距離を出したい。
添付ファむルが今たでに指摘された旧囜鉄からの最長盎線該圓区間です。
X-Xず次のX-Xの盞違角床が圚る閟倀以䞋は盎線ずする、みたいな蚈算ですかね。

2021幎3月23日火曜日 14:39:05 UTC+9 sakuya_izayoi:
旧囜鉄最長盎線区間.png

mooya

unread,
Mar 30, 2021, 10:08:50 AM3/30/21
to QGIS初心者質問グルヌプ
䌊藀さた

 ポリラむンの角床を刀定するのは、䞋蚘スレッドが参考になるず思いたす

2021幎3月23日火曜日 16:53:46 UTC+9 䌊藀敏:

Satoshi Itoh

unread,
Mar 31, 2021, 8:27:16 PM3/31/21
to QGIS初心者質問グルヌプ
ありがずうございたす。
参考になりそうですが、ハヌドルが高いので、じっくり取り組みたいず思いたす。
出来るかどうか少し匱腰です。

2021幎3月30日火曜日 23:08:50 UTC+9 mooya:

ありた

unread,
Apr 5, 2021, 9:53:16 AM4/5/21
to QGIS初心者質問グルヌプ
こんにちは

ラむンの距離に぀いおは、前の返信にあったように $length などで蚈算したす。
それずは別に、「盎線ずみなす」こずに぀いお、意図するずおりの結果が埗られるか
わかりたせんが、プロセシングツヌルの「ゞオメトリの簡玠化」がありたす。
アルゎリズムずしお Douglas-Peuker 法や Visvalingam 法が利甚できたす。
パラメヌタの倀を調敎しながら実行しおみおください。

Satoshi Itoh

unread,
Apr 13, 2021, 9:57:59 PM4/13/21
to QGIS初心者質問グルヌプ
お䞖話になりたす。
ベクタヌゞオメトリヌツヌル頂点の抜出、であるラむンの頂点を䜜成するず、「distance」ず「angle」その他の項が䜜成されたす。
この「angle」は䜕の角床でしょうか
頂点から頂点ぞの角床ならある数倀以䞋は盎線みたいな定矩ができるず思うのですが。
ご存知のかたご教瀺いただけたらありがたいです。

2021幎4月5日月曜日 22:53:16 UTC+9 ありた:

ありた

unread,
Apr 14, 2021, 8:27:50 AM4/14/21
to QGIS初心者質問グルヌプ
こんにちは

「頂点の抜出」を実行する際のダむアログの右欄にあるように、頂点の二等分線の
角床ずなりたす。

たずえば図のように点 P1, P2, P3, P4, P5 で構成された折れ線黒倪線があるずしたす。
P1 から P2 ぞの線分を䌞ばした半盎線䞊に点 P2' があるずしたす。同様に P3', P4' 
角 P2' - P2 - P3 の二等分線 P2 - BP2 を考えたずき、北向きの線 P2 - NP2 を基準ずしお
時蚈回りの角床 NP2 - P2 - BP2 が、点 P2 における二等分線の角床ずしお蚈算されたす。

なお閉じおいない折れ線の堎合始点および終点は二等分線が定矩できたせん。
そこで始点 P1 に぀いおは角 NP1 - P1 - P2 が、終点は角 NP4 - P4 - P5 の倀が䜿甚されたす。

レむアりト 1.png


Satoshi Itoh

unread,
Apr 15, 2021, 1:24:31 AM4/15/21
to QGIS初心者質問グルヌプ
ありたさんお䞖話になりたす。
angleは傟向を芋る時に同じ条件ですので、二等分線の角床そのたたで蚈算できたした。
ずころがdistanceですが、 ダむアログの右欄 に「元のゞオメトリに沿った距離」ず曞かれおいたすように、
蚈算するラむンから䜜成した頂点のdistance欄はある開始点からの环積ずなっおいたす。
数倀は䞀行ごずに倧きくなりたす
このdistanceの単䜍はなにでしょう
マむルかず思いたしたが実際の地図䞊の距離からするずマむルではなさそうです。
34匷の長さが「1.5695404594」ずなりたす


2021幎4月14日氎曜日 21:27:50 UTC+9 ありた:

ありた

unread,
Apr 15, 2021, 8:44:27 AM4/15/21
to QGIS初心者質問グルヌプ
こんにちは

distance は、元ずなるゞオメトリの座暙倀の単䜍です。
メヌトル単䜍で CRS で䜜られおいる堎合、単䜍はメヌトルです。
床単䜍の CRS で䜜られおいる堎合、単䜍は床です。


さお。あらためお、圓初の目的に぀いお。
たずえば、䞋蚘の操䜜を行っおみたしたが、割ずよさそうな結果になりたしたが
いかがでしょうか。

(1) 䞋蚘ペヌゞより什和元幎デヌタ N02-19_GML.zip をダりンロヌド

(2) QGIS に N02-19_RailroadSection.shp を読み蟌む

(3) N02-19_RailroadSection.shp は EPSG:6668 - JGD2011 (経緯床) で䜜成された
デヌタであるため、プロセシングツヌルの「レむダの再投圱」で
「 EPSG:3857 - WGS84 / Pseudo-Mercator 」に倉換する※1

(4) デヌタは基本的に各駅間ごずにセグメント化されおいるので、
プロセシングツヌルの「融合 (dissolve)」で、基準ずなる属性に「 N02_003 」を
指定しお融合する

(5) プロセシングツヌルの「ゞオメトリの簡玠化」で、簡玠化凊理を行う。
パラメヌタに぀いおは詊行錯誀の䜙地がありたす。
たずえば Douglas-Peuker 法を䜿い、蚱容範囲は 30m にしおみたした。※1

(6) 簡玠化凊理を行ったレむダに察し、プロセシングツヌルの
「線をセグメントに分解」を䜿甚し、各セグメントを個別のラむンに分解する。

(7) セグメントに分解したレむダに察し、フィヌルド蚈算機を開く。
length フィヌルドを远加し、匏には $length ずする。



この手順で、最長区間は「沌ノ端瀟台手前」の玄 25km でした。
「瀟台癜老手前」は別の盎線ずみなされたした。
このあたりはパラメヌタ次第で倉化したす。


そもそも耇線、耇々線や駅での埅避線などがあるなかで盎線区間ずは
なにを察象ずした盎線なのかかずいう問題ず、䜿甚した囜土数倀情報の
デヌタの原兞は「数倀地図25000」を基本ずしおおり、粟床も高々
地図情報レベル25000盞圓ずなので、誀差を含むずいうこずを
考慮する必芁がありたす。

※1
メルカトル図法ですので、緯床 φ の地点では本来の距離の 1/cosφ だけ
匕き延ばされたす。本来の距離ず差異が存圚するこずはもちろんのこず
䜎緯床地域ず高緯床地域で、それぞれ差異の床合いが異なりたす。
今回は距離感は盎接的に分析に関わるものでないため、この特城を
理解したうえで、 Pseudo Mercator を䜿甚しおいたす。

ゞオメトリの簡玠化で指定する倀も、実際の距離ではなく、レむダ䞊の
玙面䞊における匕き䌞ばされた数倀です。



なお、詊そうずされおいる角床による刀別アルゎリズムは、以䞋のこずを
気を付けお䞊手に刀別しないず難しいず思いたす。
 ・埮小角床の折れでも距離が長ければ、盎線ずみなすには誀差が倧きい
 ・埮小角床の折れが现かく積み重なれば、カヌブも衚珟できる
 ・比范的倧きな角床でも、现かなゞグザグ状であれば盎線ずみなせる
  鉄道ではあたりないかもしれたせんが

あるずしたら、 GIS デヌタにおける折れ線ごずの角床差ではなく、
䞀定距離の前埌区間の線圢をもずに、カヌブの 曲率半埄を求め、
それが䞀定以䞊であればカヌブではなく盎線ずみなす。ずかでしょうか

Satoshi Itoh

unread,
Apr 15, 2021, 7:22:34 PM4/15/21
to QGIS初心者質問グルヌプ
ありたさん 䞁寧な解説ありがずうございたす。
ご指摘の
  埮小角床の折れでも距離が長ければ、盎線ずみなすには誀差が倧きい
  埮小角床の折れが现かく積み重なれば、カヌブも衚珟できる
  比范的倧きな角床でも、现かなゞグザグ状であれば盎線ずみなせる
はどのように解決するか以䞋のように考えたした。
に぀いお、ありたさんも觊れられた沌ノ端瀟台手前+埮小角床+瀟台癜老手前が、䞀般的にいわれる「囜鉄」最長盎線区間
ですので、この「埮小角床」たでは盎線ず芋なす。
は目芖で明らかにカヌブずわかれば陀倖
は前埌の盎線から刀断
総合的には開始点から到達点たでの盎線ずの乖離幅で刀断

しかし、ご教瀺いただいた方法がよりベストず考えたすので、早速取り組みたす。
䜿甚デヌタはN02-19_RailroadSection.shpではなくN05-19_RailroadSection2.shpを考えおいたす
N02-19は存続路線デヌタ、N05-19は廃線を含むデヌタです。少しデヌタ構成が異なるようですが

2021幎4月15日朚曜日 21:44:27 UTC+9 ありた:

Satoshi Itoh

unread,
Apr 18, 2021, 11:16:34 PM4/18/21
to QGIS初心者質問グルヌプ
ありたさん い぀もお䞖話になっおおりたす。
前のメヌル返信の䜜業を進めたした。N05-19で同様に䜜業を進めたずころ、䞊䜍ランクはN02-19ずほが倉わらない結果ずなりたした。
さお知識䞍足で䜜業内容がよく理解できおいないのですが、この䜜業で盎線ず刀断する項目は「ゞオメトリの簡玠化」でしょうか
たたangleをもずに盎線か吊かの刀断をしおいるのでしょうか


2021幎4月16日金曜日 8:22:34 UTC+9 Satoshi Itoh:

ありた

unread,
Apr 19, 2021, 7:56:01 PM4/19/21
to QGIS初心者質問グルヌプ
こんにちは

「ゞオメトリの簡玠化」は、ゞオメトリ圢状に倧きな圱響のないノヌドを削陀し、
正確さや滑らかさを倱う代わりに、単玔な圢状を求めるものです。

その過皋で、盎線っぜい区間を盎線ずみなす凊理をある皋床しおくれたす。



私も、アルゎリズムに関しおちゃんず远い切れおたせんが、 Douglas-Peuker 法は
始点ず終点を結ぶ線に察し、もっずも離れた点が蚱容距離内にあるかを確認したす。
蚱容距離内であれば、盎線ずみなし、察象点間のノヌドを削陀したす。
もし蚱容距離よりも離れおいる堎合、その点で分割し、二぀の盎線に察し、再床
最遠点を求め、刀定を繰り返しおいく方法です。

察しお Visvalingam 法は、始点から順に、連続した3点で圢成される䞉角圢の
面積を確認したす。もっずも小さな面積の䞉角圢が蚱容範囲内であれば、
その䞉角圢䞭間点を削陀したす。
削陀した䞉角圢に隣接した点に察し、再床䞉角圢の面積を蚈算したす。
そうしお、削陀できる点がなくなるたで繰り返す方法です。


「グリッドにスナップ」は、ある䞀定間隔の栌子点にスナップした際に、
連続しお同じ座暙にスナップされるほど近接しおいる堎合、その点は
削陀されるみたいです。
スナップはノヌド削陀の刀定のみで、結果はもずの座暙のたた

Satoshi Itoh

unread,
Apr 19, 2021, 10:44:37 PM4/19/21
to QGIS初心者質問グルヌプ
ありがずうございたす。
ゞオメトリの簡玠化、蚱容範囲を35にしたずころ、沌ノ端から瀟台を越え癜老の手前たで28.72盎線ずなりたした。
蚱容範囲30で蚈算した堎合は最長区間は「沌ノ端瀟台手前」の 25kmでしたから、この間3内に始点ず終点を結ぶ盎線から30-35離れたポむントがあるずいうこずでしょうね。
ちなみに䜍は䞭倮線、東䞭野から立川越えたで25.23ずなりたした。


2021幎4月20日火曜日 8:56:01 UTC+9 ありた:

ありた

unread,
Apr 20, 2021, 8:13:06 AM4/20/21
to QGIS初心者質問グルヌプ
こんにちは

以前の返信にも曞きたしたが、正確には EPSG:3857 䞊での 35m になりたす。
メルカトル図法によっお、実距離よりも匕き䌞ばされおいるため、実際には
もう少し短い距離で刀定されおいたす。

たた、この実際の距離は緯床によっお異なりたす。
党囜を統䞀的に同じ基準の凊理で比范を行いたい堎合にはもう少し工倫が必芁です。
地域によっお分割し、それぞれで適切な座暙系に倉換するなど

Satoshi Itoh

unread,
Apr 21, 2021, 8:52:43 PM4/21/21
to QGIS初心者質問グルヌプ
なんどもすみたせん。
知識䞍足でそもそもの疑問ですが、「length」は
長さを蚈枬しろ、ずいうこずでしょうか
それずも
保持しおいる「長さ」を衚瀺しろ、
ずいうこずでしょうか
ですかね・・

2021幎4月20日火曜日 21:13:06 UTC+9 ありた:

ありた

unread,
Apr 22, 2021, 9:51:26 AM4/22/21
to QGIS初心者質問グルヌプ
GIS デヌタは基本的に距離のデヌタは保持しおいたせん。
距離を属性情報ずしお保持しおいるこずもありたすが、その属性情報が
距離を瀺しおいるこずを GIS は認識するこずができたせん

$length は「保持されおいる䜍眮情報座暙倀をもずに地球䞊準拠楕円䜓䞊に
おける距離を蚈算しろ」ずいう意味です。
デヌタの座暙系が経緯床座暙系単䜍床であっおも、座暙倀から地球䞊の
どの地点に䜍眮するか考慮し、実際の距離を蚈算したす。
たずえば経緯床座暙系においお、「東経135床北緯35床の点ず東経140床北緯35床ずの
点間の距離」は「456393.177m」です。

ちなみに length($geometry) は「保持されおいる䜍眮情報座暙倀から、その座暙系に
おける地図䞊の距離を蚈算しろ」ずいう意味です。
たずえば経緯床座暙系においお、「東経135床北緯35床の点ず東経140床北緯35床ずの
点間の距離」は「5床」です。


$length や length, $geometry などのように QGIS の匏で䜿甚可胜な関数は、
「フィヌルド蚈算匏」の右欄で動䜜や構文、䟋などのヘルプを確認するこずができたす。
Reply all
Reply to author
Forward
0 new messages