都城(長岡京,平城京,平安京)造営方位の計算法


     

     古代の都城は(南北)正方位で造営されているとされる。ここでは長岡京の例に計算法を再現してみる。
     長岡京の造営方位の計算は内田賢二「長岡京条坊復元のための平均計算」長岡京跡発掘調査研究所ニュース31 (1986) p.2-8 & p.28で以下の枠内の計算方法の概要と計算結果がしめされている。結果は直角座標6系で約3分25秒(205秒)の東偏とされている。座標変換(平面直角座標系6系の補正値西偏10分12秒(長岡宮跡))により真北からは約7分の西偏となる。
     このページでは計算方法を具体化し、プログラムを作成して内容を確認する。

    【基本的な計算の考え方】
     都城が一つの条坊プランにより設計造営されたと仮定した場合、それと発掘された実際の位置を比較してその間の誤差が計算できる。具体的には或る地点A(x0,y0)を原点として、その他の地点までの距離(単位:丈=約2.96m)の理論値と実測値との誤差を計算し、全ての地点の誤差の合計が最小になるように最小二乗法を使い、地点Aの位置(x0,y0)、丈の長さ、及び条坊全体の傾きθの4変数を求める。
     したがって、計算に使用するデータである、それぞれの地点の基本条坊プラン上の位置(A点からの距離(丈数))と発掘地点の実測値が正確に対応していないと意味の無い計算となる。また以下のプログラムで使用しているデータは誤差の大きいデータをすでに除いたデータであるので、都城全体の施工精度として見るには注意が必要と思われる。  

     
       
      以下は【長岡京条坊復元のための平均計算】より抜粋。

      計算上の仮定。
      1) 条坊は平城京型である。
      2) 長岡京全体は同一のものさしを使用して造営された。
      3) 長岡京全体が同一の方位を持って造営された。

      仮定により、長岡京は直角座標系の構造を持つので、平面上のヘルマート変換式を利用できる。
      \(K・D = (Xi-x)・cos(θ) + (Yi-y)・sin(θ) \)
      \(K・D = (Yi-y)・cos(θ) - (Xi-x)・sin(θ) \)

      D:造営尺。ここでは10倍して1丈。単位はm/丈。(約2.96m)
      K:条坊座標(単位は丈)
      Xi,Yi:i地点の平面直角座標系(6系)での座標。
      x,y:条坊座標系の原点の位置の平面直角座標系(6系)。
      θ:長岡京での造営方位。

      上記式により誤差方程式を作る。

      \(Vx = (Xi-x)・cos(θ) + (Yi-y)・sin(θ) - K・D \) --- (1):東西方向の条坊に適用 \(Vy = (Yi-y)・cos(θ) - (Xi-x)・sin(θ) - K・D \) --- (2):南北方向の条坊に適用

      x,y,θ,Dの近似値をx0,y0,θ0,D0として、近似値の近傍で(1)(2)式を転換する。2次以降は省略。 \(x = x0 + Δx, y = y0 + Δy, θ = θ0 + Δθ, D = D0 + ΔD\)とすると、

      \(V = V0(x0,y0,θ0,D0) + \) \(\displaystyle \frac{\partial V}{\partial x} Δx +\) \(\displaystyle \frac{\partial V}{\partial y} Δy+\)\(\displaystyle \frac{\partial V}{\partial θ} Δθ+\)\(\displaystyle \frac{\partial V}{\partial D} ΔD \) --- (3)

      この式から最小二乗法により次の4つの正規方程式が得られる。

      \(\displaystyle \frac{\partial ΣV^2}{\partial x} = 0 ,\) \(\displaystyle \frac{\partial ΣV^2}{\partial y} = 0 ,\) \(\displaystyle \frac{\partial ΣV^2}{\partial θ} = 0 ,\) \(\displaystyle \frac{\partial ΣV^2}{\partial D} = 0 \) --- (4)

      初期値x0,y0,θ0,D0で係数を計算し、この正規方程式を解くことにより4変数が得られる。
      得られたΔxΔyΔθΔDを、初期値に加えることにより、次の近似値が計算できる。
      これを変化分(ΔxΔyΔθΔD)が十分小さくなるまで繰り返す。

      【長岡京 条坊データ】(条坊の列は1が東西、2が南北)
      番号 条坊 X座標 Y座標 条坊座標
      1 1 -118329.88 -27893.60 -270
      2 1 -118333.25 -24800.00 -270
      3 1 -117930.50 -27000.00 -135
      4 1 -117663.50 -27040.00 -45
      5 1 -117799.10 -26760.00 -90
      6 1 -118600.64 -25026.00 -360
      7 1 -117529.05 -26840.39 0
      8 1 -117268.00 -26120.00 90
      9 1 -117267.49 -25817.65 90
      10 1 -118601.52 -26220.00 -360
      11 1 -116996.88 -25815.92 180
      12 2 -117493.39 -26840.39 0
      13 2 -118025.00 -26176.50 225
      14 2 -118910.00 -25642.00 405
      15 2 -118824.00 -25241.00 540
      16 2 -118250.00 -27903.80 -360
      17 2 -119586.50 -27905.00 -360
      7番目の行が大極殿でx0,y0の初期値。θ0は0.0°。D0は2.957m。
       

       

       まず具体的に計算をするために(3)式を(1)(2)式により書き換える。

      (1)式により、
      \(\displaystyle \frac{\partial Vx}{\partial x}=-cosθ, \) \(\displaystyle \frac{\partial Vx}{\partial y} = -sinθ, \)\(\displaystyle \frac{\partial Vx}{\partial θ}=-(Xi-x)sinθ+(Yi-y)cosθ=-a,  \)\(\displaystyle \frac{\partial Vx}{\partial D}=-K \) --- (5)

      (2)式により、
      \(\displaystyle \frac{\partial Vy}{\partial x}=sinθ, \) \(\displaystyle \frac{\partial Vy}{\partial y} = -cosθ, \)\(\displaystyle \frac{\partial Vy}{\partial θ}=-(Yi-y)sinθ-(Xi-x)cosθ=-b,  \)\(\displaystyle \frac{\partial Vy}{\partial D}=-K \) ---- (6)

      (5)式により(3)式は、
      \(Vx = Vx0(x0,y0,θ0,D0) -cosθΔx -sinθΔy -aΔθ-kΔD \)--- (7)

      (6)式により(3)式は、
      \(Vy= Vy0(x0,y0,θ0,D0) +sinθΔx -cosθΔy -bΔθ-kΔD \)--- (8)

      (7)式より正規方程式を作る。(東西方向の条坊に適用する)
      \(\displaystyle \frac{\partial ΣVx^2}{\partial x} =\) \(\displaystyle \frac{\partial Σ(Vx0(x0,y0,θ0,D0) -cosθΔx -sinθΔy -aΔθ-KΔD)^2}{\partial x} \) \( = Σ- 2cosθ(Vx0(x0,y0,θ0,D0) -cosθΔx -sinθΔy -aΔθ-KΔD )= 0 \) --- (9)

      同様に
      \(\displaystyle \frac{\partial ΣVx^2}{\partial y} \) \( = Σ- 2sinθ(Vx0(x0,y0,θ0,D0) -cosθΔx -sinθΔy -aΔθ-KΔD )= 0 \) --- (10)
      \(\displaystyle \frac{\partial ΣVx^2}{\partial θ}\) \( = Σ- 2a(Vx0(x0,y0,θ0,D0) -cosθΔx -sinθΔy -aΔθ-KΔD )= 0 \) --- (11)
      \(\displaystyle \frac{\partial ΣVx^2}{\partial D} \) \( = Σ- 2K(Vx0(x0,y0,θ0,D0) -cosθΔx -sinθΔy -aΔθ-KΔD )= 0 \) --- (12)

      同様に(8)式により正規方程式を作る(南北方向の条坊に適用する)
      \(\displaystyle \frac{\partial ΣVy^2}{\partial x} \) \( = Σ- 2sinθ(Vy0(x0,y0,θ0,D0) +sinθΔx -cosθΔy -bΔθ-KΔD )= 0 \) --- (13)
      \(\displaystyle \frac{\partial ΣVy^2}{\partial y} \) \( = Σ- 2cosθ(Vy0(x0,y0,θ0,D0) +sinθΔx -cosθΔy -bΔθ-KΔD )= 0 \) --- (14)
      \(\displaystyle \frac{\partial ΣVy^2}{\partial θ}\) \( = Σ- 2b(Vy0(x0,y0,θ0,D0) +sinθΔx -cosθΔy -bΔθ-KΔD)= 0 \) --- (15)
      \(\displaystyle \frac{\partial ΣVy^2}{\partial D} \) \( = Σ- 2K(Vy0(x0,y0,θ0,D0) +sinθΔx -cosθΔy -bΔθ-KΔD)= 0 \) --- (16)

      なお"-2"は行列全てにかけてあるので、正規方程式の行列プログラムでは省略した。
      東西方向の条坊データは(9)〜(12)式で行列の係数に足し込み、南北方向は(13)〜(16)式で足し込む。
      これは、東西方向、南北方向ともに、4変数は同じという考え方。

      例えば(9)〜(12)式は以下の行列式を意味する。
      \( \left(\begin{array}{ccc} Σcosθcosθ & Σcosθsinθ & Σcosθa & ΣcosθK \\ Σsinθcosθ & Σsinθsinθ & Σsinθa & ΣsinθK \\ Σacosθ & Σasinθ & Σaa & ΣaK \\ ΣKcosθ & ΣKsinθ & ΣKa & ΣKK \end{array}\right) \left(\begin{array}{cc} Δx \\ Δy \\ Δθ \\ ΔD \end{array}\right) =\left(\begin{array}{cc} Σcosθ Vx0(x0,y0,θ0,D0) \\ ΣsinθVx0(x0,y0,θ0,D0) \\ ΣaVx0(x0,y0,θ0,D0) \\ ΣKVx0(x0,y0,θ0,D0) \end{array}\right) \)

      これは4元1次の方程式なので、この行列式を解くことでΔx,Δy,Δθ,ΔDが求まる。

      以上の内容で作ったプログラムと出力結果が以下。

      Cプログラム(テキスト文)
      プログラム出力文(テキスト文)

      【計算結果の比較】

      【計算結果の考察】
       上記論文のオリジナル計算では約19回ループして計算結果に収斂しているが、今回の作成したプログラムではループの3回目でほぼ収斂した。違いはオリジナルにはプログラムが添付されていないので比較はできない。1980年代のPCライブラリソフトの精度によるものかもしれない。しかし、本体の最終結果はほぼ同じ結果である。標準偏差も総合は同じであるが、個別の偏差値がプログラムでは2割ほど大き目にでている。これは計算方法の違いと思われる。添付のプログラムの標準偏差の個別計算は長谷川一郎「天体起動論」(1983)p.224-225の方式で計算している。(求める項目の右辺を1とし他の項目の右辺を0として解Aをもとめる。全体の標準偏差をσ、行列の解をAとすると、個別項目の標準偏差は\( σ \sqrt{A} \)で計算できるとする。)

     

      【平城京の偏位】
       内田賢二「長岡京条坊復元のための平均計算」長岡京跡発掘調査研究所ニュース31 (1986) p.2-8 & p.28には平城京のデータ及び計算結果があり、それを同じプログラムで計算した結果は以下。これも長岡京と同じく結果はほぼ同じである。結果は直角座標6系で約14分10秒(850秒)の西偏とされている。座標変換(平面直角座標系6系の補正値西偏6分56秒(平城宮跡)により真北からは約21分06秒の西偏となる。ただし、最近は条坊で計算された値も発表されている。その場合全体(条坊合わせて)補正無しで13分36秒となっている。30秒程度の差で近い値である。

      平城京Cプログラム(テキスト文)
      平城京プログラム出力文(テキスト文)

      【平城京計算結果の比較】

       

     

      【平安京の偏位】
       辻純一「平安京の条坊復元」p.76 表1 ( 京都府埋蔵文化財情報 第27号 1988年3月)に平安京のデータ及び計算結果があったので、それを同じプログラムで計算した結果が以下。結果はほぼ同じである。結果は直角座標6系で約14分8秒(848秒)の西偏とされている。座標変換(平面直角座標系6系の補正値西偏8分52秒(千本通と丸太町通りの交差点)により真北からは約23分±24秒の西偏となる。 なお計算データには条坊方向を示すデータ(1 or 2)を追記した。

      平安京Cプログラム(テキスト文)
      平安京プログラム出力文(テキスト文)

      【平安京計算結果の比較】

       


2020/06/20 基本的な計算の考え方を追記
2020/06/18 掲載

Copyright(C) 2020 Shinobu Takesako
All rights reserved