BveTs Map 2.02:UTF-8



/////	マップファイルの編集には"Notepad++"や"Visual Studio Code"といったソースコードエディタ"に,マップ構文定義ファイルを適用すると見やすく編集しやすいでしょう.
/////	1行目には,必ずファイルヘッダーを記述します.うまく読み込まれないときは,全角文字(特に,スペースなど見えない文字に注意！)や,ファイルヘッダーのバージョンと文字エンコードもチェックしましょう.
/////	キロ程には自由な数が設定できるようになりました.しかし,調査や計算が複雑になるため,設計としては25m単位にするなど,丸めて製作することも重要な工夫です. (当区間では5m単位に丸めています)

/////	シナリオファイルは,		Uchibo_3793F_ATS-P.txt
/////	マップファイルの最上位は,	3793F_P.txt

/////	[ キロ程表記について ]	:	詳細は Track_define.txt
/////	$SR01 をキロ程に使う場合, シナリオ上のキロ程は	[ 入力したキロ程 +39440 ]
/////	$WK01 をキロ程に使う場合, シナリオ上のキロ程は	[ 入力したキロ程 +  235 ]
/////	$WK02 をキロ程に使う場合, シナリオ上のキロ程は	[ 入力したキロ程 -  145 ]
/////	$SZ01 をキロ程に使う場合, シナリオ上のキロ程は	[ 入力したキロ程 + 4025 ]

/////	[ TrackKeyについて ]
/////	D-Sazanami	=	内房線下り	(千葉-蘇我間の外房線下りを含みます/原則,自軌道と同じルート)
/////	U-Sazanami	=	内房線上り	(千葉-蘇我間の外房線上りを含みます)
/////	D-Wakashio	=	外房線下り
/////	U-Wakashio	=	外房線上り
/////	D-Sazanami-3	=	内房線下り	(千葉駅3番線ルート)
/////	U-Sazanami-4	=	内房線上り	(千葉駅4番線ルート)
/////	D-Wakashio-5	=	外房線下り	(千葉駅5番線ルート)
/////	U-Wakashio-6	=	外房線上り	(千葉駅6番線ルート)
/////	Keiyo-3		=	京葉線上り	(蘇我駅3番線)
/////	Keiyo-4		=	京葉線下り	(蘇我駅4番線)

/////	KDK-D		=	京成線下り	(ちはら線直通)
/////	KDK-U		=	京成線上り	(ちはら線直通/千葉中央以南も線路上を走ります)
/////	KDK-U_Dammy	=	京成ちはら線・複線用地用Track	(千葉中央以南の引上線・複線用地部分に使用しています)


#####	このファイルでは 京成線に関連する構文を扱います.
#####	京成線の他列車は AddTrain_0.txt にて設定しています.
#####	外房線・千葉配線部・0k270mから先の京成線の座標・線形関連の構文は, Map_KDK.txt で設定しています.





	#	・千葉駅前後の京成線の再現について
	#	自軌道と他軌道のなす角が大きいとき, 自軌道と他軌道でspan(弦の長さ)の差が大きくなります.
	#	これに対応するため, 千葉駅前後の京成線では,一部のストラクチャを現物合わせで調整しています.	(ex, 25mの壁や架線のストラクチャを20m前後の間隔で配置しているところがあります)
	#	同様に, このとき 他軌道の座標差は複線間隔と一致しません. 
	#	(※ 京成線の座標設定で +3.80 などとしているところは, この計算の時間を省くために手抜きしました.ｺﾞﾒﾝﾅｻｲ / 数式で解決・考え方を残しておくのも一つの手です)

///////////////			///////////////			///////////////						///////////////			///////////////			###		↓	京成線/上下線 ( KDK-D/KDK-U )	の設定	###
#	!!!	他軌道の X 方向(横)の位置を設定する構文
#	!!!		Track[trackKey].X.Interpolate(x, radius)
#	!!!				trackKey: 軌道名 (任意の文字列)
#	!!!				x		: 自軌道からの x 座標 [m]
#	!!!				radius	: 現在の距離程以降の自軌道との平面曲線相対半径 [m] (0: 直線)
#	!!!	2 つの Track[].X.Interpolate との間の x 座標は補間されます.引数が省略された場合,1 つ手前の Track[].X.Interpolate の値が使用されます.
#	!!!	
#	!!!	他軌道には任意の文字列(好きな名前)を設定することができます.効率的に作業できるよう,覚えやすい名前を与えるとよいでしょう.
#	!!!	説明こそ”軌道”となっていますが,道路や地形など,ストラクチャを並べたいものや他列車(ストラクチャ)を走らせたい場所など,工夫によっていろいろな使い方ができます.
#	!!!	X 部分を Y に置き換えると Y 方向 (縦)の位置を設定する構文になります(Y.Interpolate).配置が複雑だったり,片方の引数が変化しない場合,X,Y別々に設定することにより効率的な作業が可能です(同時に記述したい場合はTrack.Position構文).

	  -70 + $WK01 ;																													#	  165;	に相当	/	通常,キロ程にマイナスの値は使えませんが, $WK01 により大きな数値を与えて,計算結果がプラスになるようにしています.
						Track['KDK-D']		.X.Interpolate(181.93		,    0);													#
						Track['KDK-U']		.X.Interpolate(181.93 + 3.80,    0);													#
	  -65 + $WK01 ;		Track['KDK-D']		.X.Interpolate(178.38		,-1500);													#
						Track['KDK-U']		.X.Interpolate(178.38 + 3.80,-1500);													#
	  -60 + $WK01 ;		Track['KDK-D']		.X.Interpolate(175.08		,-1000);													#
						Track['KDK-U']		.X.Interpolate(175.08 + 3.80,-1000);													#
	  -55 + $WK01 ;		Track['KDK-D']		.X.Interpolate(172.02		, -800);													#
						Track['KDK-U']		.X.Interpolate(172.02 + 3.80, -800);													#

	  -35 + $WK01 ;		Track['KDK-D']		.X.Interpolate(159.89		, -900);													#
						Track['KDK-U']		.X.Interpolate(159.89 + 3.80, -900);													#
	  -30 + $WK01 ;		Track['KDK-D']		.X.Interpolate(156.57		,-1500);													#
						Track['KDK-U']		.X.Interpolate(156.57 + 3.80,-1500);													#
	  -25 + $WK01 ;		Track['KDK-D']		.X.Interpolate(152.95		,-4750);													#
						Track['KDK-U']		.X.Interpolate(152.95 + 3.80,-4750);													#
	  -20 + $WK01 ;		Track['KDK-D']		.X.Interpolate(149.05		,    0);													#
						Track['KDK-U']		.X.Interpolate(149.05 + 3.80,    0);													#

	   -5 + $WK01 ;		Track['KDK-D']		.X.Interpolate(137.06		,    0);													#	  230;	に相当	/	通常,キロ程にマイナスの値は使えませんが, $WK01 により大きな数値を与えて,計算結果がプラスになるようにしています.
						Track['KDK-U']		.X.Interpolate(137.06 + 4.75,    0);													#
#	    0 + $WK01 ;																													#	  235;	に相当
#						Track['KDK-D']		.X.Interpolate(133.07		,    0);													#
#						Track['KDK-U']		.X.Interpolate(133.07 + 4.75,    0);													#
	    5 + $WK01 ;		Track['KDK-D']		.X.Interpolate(129.07		,-2000);													#
						Track['KDK-U']		.X.Interpolate(129.07 + 4.75,-2000);													#
	   10 + $WK01 ;		Track['KDK-D']		.X.Interpolate(125.27		, -700);													#
						Track['KDK-U']		.X.Interpolate(125.27 + 4.75, -700);													#
	   15 + $WK01 ;		Track['KDK-D']		.X.Interpolate(121.93		, -500);													#
						Track['KDK-U']		.X.Interpolate(121.93 + 4.75, -500);													#

	   50 + $WK01 ;																													#	  285;	に相当
						Track['KDK-D']		.X.Interpolate( 98.05		,    0);													#
						Track['KDK-U']		.X.Interpolate( 98.05 + 4.75,    0);													#
	   55 + $WK01 ;		Track['KDK-D']		.X.Interpolate( 94.29		,  350);													#
						Track['KDK-U']		.X.Interpolate( 94.29 + 4.75,  350);													#
	   60 + $WK01 ;		Track['KDK-D']		.X.Interpolate( 90.56		,  300);													#
						Track['KDK-U']		.X.Interpolate( 90.56 + 4.75,  300);													#
	   65 + $WK01 ;		Track['KDK-D']		.X.Interpolate( 86.63		,  250);													#
						Track['KDK-U']		.X.Interpolate( 86.63 + 4.75,  250);													#
	   70 + $WK01 ;		Track['KDK-D']		.X.Interpolate( 82.44		,  200);													#
						Track['KDK-U']		.X.Interpolate( 82.44 + 4.75,  200);													#
	   75 + $WK01 ;																													#	  310;	に相当
						Track['KDK-D']		.X.Interpolate( 78.27		,  250);													#
						Track['KDK-U']		.X.Interpolate( 78.27 + 4.75,  250);													#


	  100 + $WK01 ;																													#	  335;	に相当
						Track['KDK-D']		.X.Interpolate( 59.98		,  250);													#
						Track['KDK-U']		.X.Interpolate( 59.98 + 4.75,  250);													#


	  135 + $WK01 ;																													#	  370;	に相当
						Track['KDK-D']		.X.Interpolate( 40.25		,  250);													#
						Track['KDK-U']		.X.Interpolate( 40.25 + 4.75,  250);													#


	  155 + $WK01 ;																													#	  390;	に相当
						Track['KDK-D']		.X.Interpolate( 31.54		,  300);													#
						Track['KDK-U']		.X.Interpolate( 31.54 + 4.75,  300);													#

#	  215 + $WK01 ;																													#	  450;	に相当
#						Track['KDK-D']		.X.Interpolate( 14.63,  350);															#
#						Track['KDK-U']		.X.Interpolate( 18.43,  350);															#

	  245 + $WK01 ;																													#	  420;	に相当
						Track['KDK-D']		.X.Interpolate( 12.64		, 1500);													#
						Track['KDK-U']		.X.Interpolate( 12.64 + 3.80, 1500);													#

	  270 + $WK01 ;																													#	  420;	に相当
						Track['KDK-D']		.X.Interpolate( 11.63		,  300);													#
						Track['KDK-U']		.X.Interpolate( 11.63 + 3.80,  300);													#
///////////////			///////////////			///////////////						///////////////			///////////////			###		↑	京成線/上下線 ( KDK-D/KDK-U )	の設定	###





