{"id":2969,"date":"2026-05-15T09:03:15","date_gmt":"2026-05-15T00:03:15","guid":{"rendered":"https:\/\/y42u.net\/tec001\/?p=2969"},"modified":"2026-05-15T09:03:15","modified_gmt":"2026-05-15T00:03:15","slug":"%e3%82%a2%e3%83%97%e3%83%aa%e3%81%ae%e5%ba%a7%e6%a8%99%e5%a4%89%e6%8f%9b%e3%83%bb%e8%a3%9c%e6%ad%a3%e3%83%87%e3%83%bc%e3%82%bf%e3%83%99%e3%83%bc%e3%82%b9%e8%a7%a3%e8%aa%ac","status":"publish","type":"post","link":"https:\/\/y42u.net\/tec001\/2026\/05\/15\/%e3%82%a2%e3%83%97%e3%83%aa%e3%81%ae%e5%ba%a7%e6%a8%99%e5%a4%89%e6%8f%9b%e3%83%bb%e8%a3%9c%e6%ad%a3%e3%83%87%e3%83%bc%e3%82%bf%e3%83%99%e3%83%bc%e3%82%b9%e8%a7%a3%e8%aa%ac\/","title":{"rendered":"\u30a2\u30d7\u30ea\u306e\u5ea7\u6a19\u5909\u63db\u30fb\u88dc\u6b63\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u89e3\u8aac"},"content":{"rendered":"\n<div class=\"wp-block-jetpack-markdown\"><h2>\u306f\u3058\u3081\u306b<\/h2>\n<p>\u30a2\u30d7\u30ea\u3067\u306f\u3001\u9ad8\u7cbe\u5ea6\u306a\u6e2c\u4f4d\u30fb\u5ea7\u6a19\u5909\u63db\u3092\u5b9f\u73fe\u3059\u308b\u305f\u3081\u306b\u3001\u56fd\u571f\u5730\u7406\u9662\uff08GSI\uff09\u304c\u516c\u958b\u3057\u3066\u3044\u308b\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u3092SQLite3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u5909\u63db\u3057\u3066\u5229\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u672c\u8a18\u4e8b\u3067\u306f\u3001\u5404\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u5f79\u5272\u30fb\u5143\u30d5\u30a1\u30a4\u30eb\u3068\u306e\u5bfe\u5fdc\u30fb\u88dc\u6b63\u8a08\u7b97\u65b9\u6cd5\u3092\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n<hr>\n<h2>1. \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4e00\u89a7\u3068\u56fd\u571f\u5730\u7406\u9662\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u306e\u5bfe\u5fdc<\/h2>\n<table>\n<thead>\n<tr>\n<th>#<\/th>\n<th>DB \u30d5\u30a1\u30a4\u30eb\u540d<\/th>\n<th>\u5143\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb<\/th>\n<th>\u7528\u9014<\/th>\n<th>\u30ec\u30b3\u30fc\u30c9\u6570<\/th>\n<th>DB \u30b5\u30a4\u30ba<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td><code>SemiDyna2026.db<\/code><\/td>\n<td><code>SemiDyna2026.par<\/code><\/td>\n<td>\u30bb\u30df\u30fb\u30c0\u30a4\u30ca\u30df\u30c3\u30af\u88dc\u6b63\uff082026\u5e74\u5ea6\uff09<\/td>\n<td>\u7d0421,134<\/td>\n<td>1.6MB<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td><code>SemiDyna2025.db<\/code><\/td>\n<td><code>SemiDyna2025.par<\/code><\/td>\n<td>\u30bb\u30df\u30fb\u30c0\u30a4\u30ca\u30df\u30c3\u30af\u88dc\u6b63\uff082025\u5e74\u5ea6\uff09<\/td>\n<td>\u7d0421,134<\/td>\n<td>1.6MB<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td><code>pos2jgd_202601_ITRF2020.db<\/code><\/td>\n<td><code>pos2jgd_202601_ITRF2020.par<\/code><\/td>\n<td>GNSS\u6e2c\u4f4d\u5ea7\u6a19\u2192JGD2024\u88dc\u6b63<\/td>\n<td>\u7d0421,134<\/td>\n<td>1.6MB<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td><code>TKY2JGD.db<\/code><\/td>\n<td><code>TKY2JGD.par<\/code><\/td>\n<td>\u6771\u4eac\u6e2c\u5730\u7cfb\u2192JGD2000\u5909\u63db<\/td>\n<td>392,323<\/td>\n<td>26MB<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td><code>henkaku.db<\/code><\/td>\n<td><code>henkaku.csv<\/code><\/td>\n<td>\u78c1\u6c17\u504f\u89d2\u30c7\u30fc\u30bf<\/td>\n<td>4,909<\/td>\n<td>404KB<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td><code>gsigeo2011_ver2_2.db<\/code><\/td>\n<td><code>gsigeo2011_ver2_2.asc<\/code><\/td>\n<td>\u30b8\u30aa\u30a4\u30c9\u30e2\u30c7\u30eb2011<\/td>\n<td>2,163,001<\/td>\n<td>95MB<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td><code>JPGEO2024.db<\/code><\/td>\n<td><code>JPGEO2024+Hrefconv2024.isg<\/code><\/td>\n<td>\u30b8\u30aa\u30a4\u30c9\u30e2\u30c7\u30eb2024\uff08\u96e2\u5cf6\u57fa\u6e96\u9762\u88dc\u6b63\u542b\u3080\uff09<\/td>\n<td>224,677<\/td>\n<td>167MB<\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td><code>jgdMerge2024.db<\/code><\/td>\n<td>2011\u5e74\u4ee5\u964d\u5730\u9707par\u30d5\u30a1\u30a4\u30eb4\u672c\u3092\u30de\u30fc\u30b8<\/td>\n<td>\u5730\u9707\u88dc\u6b63\uff08JGD2024\u5411\u3051\uff09<\/td>\n<td>175,657<\/td>\n<td>12MB<\/td>\n<\/tr>\n<tr>\n<td>9<\/td>\n<td><code>jgdMerge2011.db<\/code><\/td>\n<td>2003\u301c2011\u5e74\u5730\u9707par\u30d5\u30a1\u30a4\u30eb8\u672c\u3092\u30de\u30fc\u30b8<\/td>\n<td>\u5730\u9707\u88dc\u6b63\uff08JGD2011\u5411\u3051\uff09<\/td>\n<td>203,287<\/td>\n<td>14MB<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>jgdMerge\u7cfb\u306b\u4f7f\u7528\u3057\u305f\u5730\u9707\u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb<\/h3>\n<table>\n<thead>\n<tr>\n<th>\u30d5\u30a1\u30a4\u30eb\u540d<\/th>\n<th>\u5730\u9707\u540d<\/th>\n<th>\u767a\u751f\u5e74<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>tokachi2003.par<\/code><\/td>\n<td>\u5341\u52dd\u6c96\u5730\u9707<\/td>\n<td>2003<\/td>\n<\/tr>\n<tr>\n<td><code>tokachi2003b.par<\/code><\/td>\n<td>\u5341\u52dd\u6c96\u5730\u9707\uff08\u88dc\u5b8c\uff09<\/td>\n<td>2003<\/td>\n<\/tr>\n<tr>\n<td><code>fukuoka2005.par<\/code><\/td>\n<td>\u798f\u5ca1\u770c\u897f\u65b9\u6c96\u5730\u9707<\/td>\n<td>2005<\/td>\n<\/tr>\n<tr>\n<td><code>noto2007_BL.par<\/code><\/td>\n<td>\u80fd\u767b\u534a\u5cf6\u5730\u9707<\/td>\n<td>2007<\/td>\n<\/tr>\n<tr>\n<td><code>chuetsuoki2007.par<\/code><\/td>\n<td>\u65b0\u6f5f\u770c\u4e2d\u8d8a\u6c96\u5730\u9707<\/td>\n<td>2007<\/td>\n<\/tr>\n<tr>\n<td><code>iwatemiyagi2008.par<\/code><\/td>\n<td>\u5ca9\u624b\u30fb\u5bae\u57ce\u5185\u9678\u5730\u9707<\/td>\n<td>2008<\/td>\n<\/tr>\n<tr>\n<td><code>miyakojima2008.par<\/code><\/td>\n<td>\u5bae\u53e4\u5cf6\u8fd1\u6d77\u5730\u9707<\/td>\n<td>2008<\/td>\n<\/tr>\n<tr>\n<td><code>touhokutaiheiyouoki2011.par<\/code><\/td>\n<td>\u6771\u5317\u5730\u65b9\u592a\u5e73\u6d0b\u6c96\u5730\u9707<\/td>\n<td>2011<\/td>\n<\/tr>\n<tr>\n<td><code>kumamoto2016_BL.par<\/code><\/td>\n<td>\u718a\u672c\u5730\u9707<\/td>\n<td>2016<\/td>\n<\/tr>\n<tr>\n<td><code>noto2024_BL.par<\/code><\/td>\n<td>\u4ee4\u548c6\u5e74\u80fd\u767b\u534a\u5cf6\u5730\u9707<\/td>\n<td>2024<\/td>\n<\/tr>\n<tr>\n<td><code>noto2024_02BL.par<\/code><\/td>\n<td>\u4ee4\u548c6\u5e74\u80fd\u767b\u534a\u5cf6\u5730\u9707\uff08\u88dc\u5b8c\uff09<\/td>\n<td>2024<\/td>\n<\/tr>\n<tr>\n<td><code>hyuganada2024_BL.par<\/code><\/td>\n<td>\u65e5\u5411\u7058\u5730\u9707<\/td>\n<td>2024<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr>\n<h2>2. \u5404\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u8a73\u7d30<\/h2>\n<h3>2-1. SemiDyna2026.db \/ SemiDyna2025.db \u2014 \u30bb\u30df\u30fb\u30c0\u30a4\u30ca\u30df\u30c3\u30af\u88dc\u6b63<\/h3>\n<p><strong>\u5f79\u5272<\/strong>: JGD2011\u5ea7\u6a19\u304b\u3089JGD2024\u5ea7\u6a19\u3078\u5909\u63db\u3059\u308b\u305f\u3081\u306e\u30bb\u30df\u30fb\u30c0\u30a4\u30ca\u30df\u30c3\u30af\u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf\u3002<\/p>\n<p><strong>\u5143\u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8<\/strong>\uff08SemiDyna2026.par\u629c\u7c8b\uff09:<\/p>\n<pre><code>for SemiDynaEXE    Ver.1.0.0\n...\n\u9069\u7528\u671f\u9593\uff1a2026\u5e744\u67081\u65e5\u304b\u30892027\u5e743\u670831\u65e5\u307e\u3067\n\u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf\u57fa\u6e96\u5e74\u6708\u65e5\uff1a2026\u5e741\u67081\u65e5\n...\nMeshCode dB(sec)  dL(sec) dH(m)\n36230600  -0.06131   0.04401   0.00073\n36230605  -0.06066   0.04414   0.00028\n<\/code><\/pre>\n<ul>\n<li>\u30d8\u30c3\u30c0\u30fc: 16\u884c\uff0817\u884c\u76ee\u304b\u3089\u30c7\u30fc\u30bf\uff09<\/li>\n<li>\u30c7\u30fc\u30bf: <code>\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9  \u0394B(\u79d2)  \u0394L(\u79d2)  \u0394H(m)<\/code><\/li>\n<li>\u6587\u5b57\u30b3\u30fc\u30c9: UTF-8<\/li>\n<\/ul>\n<p><strong>\u30c6\u30fc\u30d6\u30eb\u5b9a\u7fa9<\/strong>:<\/p>\n<pre><code class=\"language-sql\">CREATE TABLE semidyna_corrections (\n    mesh_code TEXT PRIMARY KEY,  -- 3\u6b21\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\uff088\u6841\uff09\n    db_sec    REAL NOT NULL,      -- \u7def\u5ea6\u88dc\u6b63\u91cf\uff08\u79d2\uff09\n    dl_sec    REAL NOT NULL,      -- \u7d4c\u5ea6\u88dc\u6b63\u91cf\uff08\u79d2\uff09\n    dh_m      REAL NOT NULL       -- \u6955\u5186\u4f53\u9ad8\u88dc\u6b63\u91cf\uff08m\uff09\n);\nCREATE INDEX idx_mesh_code ON semidyna_corrections(mesh_code);\n<\/code><\/pre>\n<p><strong>\u9069\u7528\u671f\u9593\u306b\u3064\u3044\u3066<\/strong>: SemiDyna\u30d5\u30a1\u30a4\u30eb\u306f\u5e74\u5ea6\u3054\u3068\u306b\u767a\u884c\u3055\u308c\u308b\u30022026\u5e74\u5ea6\u7248\uff08SemiDyna2026.par\uff09\u306e\u9069\u7528\u671f\u9593\u306f2026\u5e744\u67081\u65e5\u301c2027\u5e743\u670831\u65e5\u3002\u6e2c\u91cf\u306b\u4f7f\u7528\u3059\u308b\u5834\u5408\u306f\u3001\u6e2c\u91cf\u5b9f\u65bd\u5e74\u5ea6\u306b\u5bfe\u5fdc\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002<\/p>\n<hr>\n<h3>2-2. pos2jgd_202601_ITRF2020.db \u2014 GNSS\u6e2c\u4f4d\u5ea7\u6a19\u2192JGD2024\u88dc\u6b63<\/h3>\n<p><strong>\u5f79\u5272<\/strong>: \u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3\u3084GNSS\u53d7\u4fe1\u6a5f\u304c\u51fa\u529b\u3059\u308bITRF2020\uff08GRS80\u6955\u5186\u4f53\uff09\u5ea7\u6a19\u3092\u3001\u65e5\u672c\u306e\u56fd\u5bb6\u57fa\u6e96\u3067\u3042\u308bJGD2024\u306b\u5909\u63db\u3059\u308b\u30d1\u30e9\u30e1\u30fc\u30bf\u3002<\/p>\n<p><strong>\u5143\u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8<\/strong>\uff08pos2jgd_202601_ITRF2020.par\u30d8\u30c3\u30c0\u30fc\u629c\u7c8b\uff09:<\/p>\n<pre><code>GRIDDED CORRECTION PARAMETER FOR POS2JGD\nFORMAT_VERSION             = 1.01\nNATIONAL_DATUM             = JGD2024\nPOSITIONING_DATUM          = ITRF2020+GRS80\nEPOCH_OF_PARAMETER         = 20260101\nSTART_OF_APPLICABLE_PERIOD = 20260401\nEND_OF_APPLICABLE_PERIOD   = 20260531\nDATA_FIELDS                = '4 MeshCode dB dL dH'\n<\/code><\/pre>\n<ul>\n<li>\u30d8\u30c3\u30c0\u30fc: 18\u884c\uff0819\u884c\u76ee\u304b\u3089\u30c7\u30fc\u30bf\uff09<\/li>\n<li>\u6587\u5b57\u30b3\u30fc\u30c9: UTF-8<\/li>\n<\/ul>\n<p><strong>\u30c6\u30fc\u30d6\u30eb\u5b9a\u7fa9<\/strong>:<\/p>\n<pre><code class=\"language-sql\">CREATE TABLE pos2jgd_corrections (\n    mesh_code TEXT PRIMARY KEY,\n    db_sec    REAL NOT NULL,\n    dl_sec    REAL NOT NULL,\n    dh_m      REAL NOT NULL\n);\n<\/code><\/pre>\n<p><strong>SemiDyna\u3068\u306e\u9055\u3044<\/strong>:<\/p>\n<table>\n<thead>\n<tr>\n<th>\u9805\u76ee<\/th>\n<th>SemiDyna<\/th>\n<th>pos2jgd<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u5909\u63db\u5143<\/td>\n<td>JGD2011<\/td>\n<td>ITRF2020\uff08GNSS\u6e2c\u4f4d\u5024\uff09<\/td>\n<\/tr>\n<tr>\n<td>\u5909\u63db\u5148<\/td>\n<td>JGD2024<\/td>\n<td>JGD2024<\/td>\n<\/tr>\n<tr>\n<td>\u4e3b\u306a\u7528\u9014<\/td>\n<td>\u65e2\u5b58\u6e2c\u91cf\u30c7\u30fc\u30bf\u306e\u5909\u63db<\/td>\n<td>\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0GNSS\u6e2c\u4f4d\u5024\u306e\u88dc\u6b63<\/td>\n<\/tr>\n<tr>\n<td>\u9069\u7528\u671f\u9593<\/td>\n<td>1\u5e74\u5ea6\u3054\u3068<\/td>\n<td>\u7d042\u30f6\u6708\u3054\u3068\u306b\u66f4\u65b0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr>\n<h3>2-3. TKY2JGD.db \u2014 \u6771\u4eac\u6e2c\u5730\u7cfb\u2192JGD2000\u5909\u63db<\/h3>\n<p><strong>\u5f79\u5272<\/strong>: \u65e7\u6765\u306e\u6771\u4eac\u6e2c\u5730\u7cfb\uff08Tokyo Datum\uff09\u5ea7\u6a19\u3092JGD2000\u3078\u5909\u63db\u3059\u308b\u30d1\u30e9\u30e1\u30fc\u30bf\u30022003\u5e74\u4ee5\u524d\u306e\u5730\u56f3\u30fb\u6e2c\u91cf\u30c7\u30fc\u30bf\u3068\u306e\u4e92\u63db\u6027\u306e\u305f\u3081\u306b\u4f7f\u7528\u3002<\/p>\n<p><strong>\u5143\u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8<\/strong>\uff08TKY2JGD.par\uff09:<\/p>\n<pre><code>JGD2000-TokyoDatum Ver.2.1.2\nMeshCode   dB(sec)   dL(sec)\n46303582  12.79799  -8.13354\n46303583  12.79879  -8.13749\n<\/code><\/pre>\n<ul>\n<li>\u30d8\u30c3\u30c0\u30fc: 2\u884c\uff083\u884c\u76ee\u304b\u3089\u30c7\u30fc\u30bf\uff09<\/li>\n<li>\u30c7\u30fc\u30bf: <code>\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9  \u0394B(\u79d2)  \u0394L(\u79d2)<\/code> \uff08\u9ad8\u3055\u88dc\u6b63\u306a\u3057\uff09<\/li>\n<li>\u6587\u5b57\u30b3\u30fc\u30c9: Shift_JIS (cp932)<\/li>\n<\/ul>\n<p><strong>\u30c6\u30fc\u30d6\u30eb\u5b9a\u7fa9<\/strong>:<\/p>\n<pre><code class=\"language-sql\">CREATE TABLE tky2jgd_corrections (\n    mesh_code TEXT PRIMARY KEY,\n    db_sec    REAL NOT NULL,\n    dl_sec    REAL NOT NULL\n);\n<\/code><\/pre>\n<hr>\n<h3>2-4. henkaku.db \u2014 \u78c1\u6c17\u504f\u89d2\u30c7\u30fc\u30bf<\/h3>\n<p><strong>\u5f79\u5272<\/strong>: \u30b3\u30f3\u30d1\u30b9\u304c\u793a\u3059\u78c1\u5317\u3068\u3001\u5730\u56f3\u306e\u771f\u5317\u306e\u305a\u308c\u89d2\uff08\u78c1\u6c17\u504f\u89d2\uff09\u3092\u88dc\u6b63\u3059\u308b\u30c7\u30fc\u30bf\u30022\u6b21\u30e1\u30c3\u30b7\u30e5\u5358\u4f4d\u3067\u53ce\u9332\u3002<\/p>\n<p><strong>\u5143\u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8<\/strong>\uff08henkaku.csv\uff09:<\/p>\n<pre><code>ido,kdo,henkaku,mesh2\n34.0,130.0,-6.5,5130\n34.0,131.0,-6.3,5131\n<\/code><\/pre>\n<ul>\n<li>\u30d5\u30a9\u30fc\u30de\u30c3\u30c8: CSV\uff08\u30d8\u30c3\u30c0\u30fc\u884c\u3042\u308a\uff09<\/li>\n<li>\u6587\u5b57\u30b3\u30fc\u30c9: Shift_JIS (cp932)<\/li>\n<\/ul>\n<p><strong>\u30c6\u30fc\u30d6\u30eb\u5b9a\u7fa9<\/strong>:<\/p>\n<pre><code class=\"language-sql\">CREATE TABLE henkaku_data (\n    mesh2   TEXT PRIMARY KEY,   -- 2\u6b21\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\n    ido     REAL NOT NULL,       -- \u7def\u5ea6\uff08\u5ea6\uff09\n    kdo     REAL NOT NULL,       -- \u7d4c\u5ea6\uff08\u5ea6\uff09\n    henkaku REAL NOT NULL        -- \u78c1\u6c17\u504f\u89d2\uff08\u5ea6\uff09\n);\n<\/code><\/pre>\n<hr>\n<h3>2-5. gsigeo2011_ver2_2.db \u2014 \u30b8\u30aa\u30a4\u30c9\u30e2\u30c7\u30eb2011<\/h3>\n<p><strong>\u5f79\u5272<\/strong>: GNSS\u6e2c\u4f4d\u3067\u5f97\u3089\u308c\u308b\u6955\u5186\u4f53\u9ad8\u3092\u3001\u5b9f\u7528\u7684\u306a\u6a19\u9ad8\uff08\u5e73\u5747\u6d77\u9762\u304b\u3089\u306e\u9ad8\u3055\uff09\u306b\u5909\u63db\u3059\u308b\u305f\u3081\u306e\u30b8\u30aa\u30a4\u30c9\u9ad8\u30c7\u30fc\u30bf\u3002JGD2011\u6e96\u62e0\u3002<\/p>\n<p><strong>\u5143\u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8<\/strong>\uff08gsigeo2011_ver2_2.asc\uff09:<\/p>\n<pre><code>  20.00000 120.00000 0.016667 0.025000 1801 1201 1 ver2.2\n 999.0000 999.0000 ...  \u2190 \u9678\u57df\u5916\u306f999.0000\uff08\u7121\u52b9\u5024\uff09\n<\/code><\/pre>\n<ul>\n<li>1\u884c\u76ee: <code>\u5357\u7aef\u7def\u5ea6 \u897f\u7aef\u7d4c\u5ea6 \u7def\u5ea6\u9593\u9694 \u7d4c\u5ea6\u9593\u9694 \u884c\u6570 \u5217\u6570 ... \u30d0\u30fc\u30b8\u30e7\u30f3<\/code><\/li>\n<li>2\u884c\u76ee\u4ee5\u964d: \u30b8\u30aa\u30a4\u30c9\u9ad8\uff08m\uff09\u3001\u7a7a\u767d\u533a\u5207\u308a\u3067\u9023\u7d9a<\/li>\n<li>\u6587\u5b57\u30b3\u30fc\u30c9: Shift_JIS (cp932)<\/li>\n<\/ul>\n<p><strong>\u30b0\u30ea\u30c3\u30c9\u4ed5\u69d8<\/strong>:<\/p>\n<table>\n<thead>\n<tr>\n<th>\u9805\u76ee<\/th>\n<th>\u5024<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u30ab\u30d0\u30fc\u7bc4\u56f2<\/td>\n<td>\u5317\u7def20\u301c50\u5ea6\u3001\u6771\u7d4c120\u301c150\u5ea6<\/td>\n<\/tr>\n<tr>\n<td>\u7def\u5ea6\u9593\u9694<\/td>\n<td>0.016667\u5ea6\uff08\u7d041\u5206\uff09<\/td>\n<\/tr>\n<tr>\n<td>\u7d4c\u5ea6\u9593\u9694<\/td>\n<td>0.025\u5ea6\uff08\u7d041.5\u5206\uff09<\/td>\n<\/tr>\n<tr>\n<td>\u30b0\u30ea\u30c3\u30c9\u6570<\/td>\n<td>1801\u884c \u00d7 1201\u5217 = 2,163,001\u70b9<\/td>\n<\/tr>\n<tr>\n<td>\u7121\u52b9\u5024<\/td>\n<td>999.0000\uff08\u9678\u57df\u5916\uff09<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u30c6\u30fc\u30d6\u30eb\u5b9a\u7fa9<\/strong>\uff08JPGEO2024\u3068\u5171\u901a\u69cb\u6210\uff09:<\/p>\n<pre><code class=\"language-sql\">CREATE TABLE geoid_data (\n    row_idx      INTEGER NOT NULL,  -- \u5357\u7aef=0\u3001\u5317\u306b\u5411\u304b\u3063\u3066\u5897\u52a0\n    col_idx      INTEGER NOT NULL,  -- \u897f\u7aef=0\u3001\u6771\u306b\u5411\u304b\u3063\u3066\u5897\u52a0\n    geoid_height REAL    NOT NULL,  -- \u30b8\u30aa\u30a4\u30c9\u9ad8\uff08m\uff09\n    PRIMARY KEY (row_idx, col_idx)\n);\nCREATE TABLE metadata (\n    key   TEXT PRIMARY KEY,\n    value TEXT\n);\nCREATE INDEX idx_row_col ON geoid_data(row_idx, col_idx);\n<\/code><\/pre>\n<p><strong>\u30e1\u30bf\u30c7\u30fc\u30bf\u306b\u683c\u7d0d\u3055\u308c\u308b\u60c5\u5831<\/strong>:<\/p>\n<pre><code>lat_south    = 20.0      \u2190 \u30b0\u30ea\u30c3\u30c9\u5357\u7aef\u7def\u5ea6\nlon_west     = 120.0     \u2190 \u30b0\u30ea\u30c3\u30c9\u897f\u7aef\u7d4c\u5ea6\nlat_interval = 0.016667  \u2190 \u7def\u5ea6\u65b9\u5411\u30b0\u30ea\u30c3\u30c9\u9593\u9694\nlon_interval = 0.025     \u2190 \u7d4c\u5ea6\u65b9\u5411\u30b0\u30ea\u30c3\u30c9\u9593\u9694\nnrows        = 1801\nncols        = 1201\nnodata       = 999.0\n<\/code><\/pre>\n<p><strong>\u6ce8\u610f<\/strong>: gsigeo2011\u3067\u306f\u7121\u52b9\u5024\uff08999.0\uff09\u3082\u30c7\u30fc\u30bf\u3068\u3057\u3066\u4fdd\u5b58\u3057\u3066\u3044\u308b\uff08\u51682,163,001\u30ec\u30b3\u30fc\u30c9\uff09\u3002\u5ea7\u6a19\u304b\u3089\u306e\u691c\u7d22\u5f8c\u306b\u7121\u52b9\u5024\u30c1\u30a7\u30c3\u30af\u304c\u5fc5\u8981\u3002<\/p>\n<hr>\n<h3>2-6. JPGEO2024.db \u2014 \u30b8\u30aa\u30a4\u30c9\u30e2\u30c7\u30eb2024\uff08\u96e2\u5cf6\u57fa\u6e96\u9762\u88dc\u6b63\u542b\u3080\uff09<\/h3>\n<p><strong>\u5f79\u5272<\/strong>: JGD2024\u6e96\u62e0\u306e\u6700\u65b0\u30b8\u30aa\u30a4\u30c9\u30e2\u30c7\u30eb\u3002\u96e2\u5cf6\u306e\u5c40\u6240\u57fa\u6e96\u9762\uff08Hrefconv2024\uff09\u3092\u542b\u3080\u7248\uff08<code>JPGEO2024+Hrefconv2024.isg<\/code>\uff09\u3002<\/p>\n<p><strong>\u5143\u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8<\/strong>\uff08ISG 2.0\u5f62\u5f0f\uff09:<\/p>\n<pre><code>begin_of_head ====...\nmodel name     : JPGEO2024+Hrefconv2024\ndata ordering  : N-to-S, W-to-E    \u2190 \u5317\u2192\u5357\u306e\u9806\u3067\u30c7\u30fc\u30bf\u304c\u4e26\u3076\nref ellipsoid  : GRS80\nlat min        =  15\u00b000'00&quot;\nlat max        =  50\u00b000'00&quot;\nlon min        = 120\u00b000'00&quot;\nlon max        = 160\u00b000'00&quot;\ndelta lat      =   0\u00b001'00&quot;   \u2190 1\u5206\u9593\u9694\ndelta lon      =   0\u00b001'30&quot;   \u2190 1.5\u5206\u9593\u9694\nnrows          =        2101\nncols          =        1601\nnodata         =  -9999.0000\ncreation date  =  01\/04\/2025\nend_of_head ===...\n-9999.0000 -9999.0000 ...   \u2190 \u9678\u57df\u5916\u306fnodata\n<\/code><\/pre>\n<p><strong>\u30b0\u30ea\u30c3\u30c9\u4ed5\u69d8<\/strong>:<\/p>\n<table>\n<thead>\n<tr>\n<th>\u9805\u76ee<\/th>\n<th>\u5024<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u30ab\u30d0\u30fc\u7bc4\u56f2<\/td>\n<td>\u5317\u7def15\u301c50\u5ea6\u3001\u6771\u7d4c120\u301c160\u5ea6<\/td>\n<\/tr>\n<tr>\n<td>\u7def\u5ea6\u9593\u9694<\/td>\n<td>1\u5206\uff080.016667\u5ea6\uff09<\/td>\n<\/tr>\n<tr>\n<td>\u7d4c\u5ea6\u9593\u9694<\/td>\n<td>1.5\u5206\uff080.025\u5ea6\uff09<\/td>\n<\/tr>\n<tr>\n<td>\u30b0\u30ea\u30c3\u30c9\u6570<\/td>\n<td>2101\u884c \u00d7 1601\u5217 = 3,363,701\u70b9<\/td>\n<\/tr>\n<tr>\n<td>\u7121\u52b9\u5024<\/td>\n<td>-9999.0000<\/td>\n<\/tr>\n<tr>\n<td>\u6709\u52b9\u30ec\u30b3\u30fc\u30c9\u6570<\/td>\n<td>224,677\uff08nodata\u9664\u304f\uff09<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u30c6\u30fc\u30d6\u30eb\u5b9a\u7fa9<\/strong>: gsigeo2011\u3068\u540c\u4e00\u69cb\u6210\u3002<\/p>\n<p><strong>\u884c\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u65b9\u5411<\/strong>:<br>\nISG\u30d5\u30a1\u30a4\u30eb\u306f\u300c\u5317\u304b\u3089\u5357\u300d\u306e\u9806\u3067\u30c7\u30fc\u30bf\u304c\u4e26\u3093\u3067\u3044\u308b\u304c\u3001DB\u3078\u306e\u683c\u7d0d\u6642\u306b <strong><code>row_idx = (nrows - 1) - row_from_north<\/code><\/strong> \u3068\u3057\u3066\u53cd\u8ee2\u3055\u305b\u3001\u300c\u5357\u7aef=0\u300d\u306e\u7d71\u4e00\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306b\u5909\u63db\u3057\u3066\u3044\u308b\u3002<\/p>\n<hr>\n<h3>2-7. jgdMerge2024.db \/ jgdMerge2011.db \u2014 \u5730\u9707\u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf<\/h3>\n<p><strong>\u5f79\u5272<\/strong>: \u65e5\u672c\u3067\u767a\u751f\u3057\u305f\u5927\u5730\u9707\u306b\u3088\u308b\u5730\u6bbb\u5909\u52d5\u91cf\u3092\u88dc\u6b63\u3059\u308b\u30d1\u30e9\u30e1\u30fc\u30bf\u3002\u5404\u5730\u9707\u306ePatchJGD\u30d5\u30a1\u30a4\u30eb\u3092\u6642\u7cfb\u5217\u9806\u306b\u683c\u7d0d\u3057\u3001\u30a2\u30d7\u30ea\u5074\u304c <code>year_no<\/code> \u6607\u9806\u306b<strong>\u7e70\u308a\u8fd4\u3057\u5ea7\u6a19\u88dc\u6b63\u3092\u9069\u7528<\/strong>\u3059\u308b\u3053\u3068\u3067\u7d2f\u7a4d\u5730\u6bbb\u5909\u52d5\u3092\u53cd\u6620\u3059\u308b\u3002<\/p>\n<p><strong>\u88dc\u6b63\u306e\u9069\u7528\u30ed\u30b8\u30c3\u30af\uff08\u30a2\u30d7\u30ea\u5074\uff09<\/strong>:<\/p>\n<pre><code class=\"language-csharp\">\/\/ year_no \u6607\u9806\u306b\u5404\u5730\u9707\u306e\u88dc\u6b63\u3092\u9806\u756a\u306b\u9069\u7528\u3059\u308b\nvar corrections = db.Query(\n    &quot;SELECT db_sec, dl_sec FROM mesh_corrections WHERE mesh_code IN (...) ORDER BY year_no ASC&quot;);\n\nforeach (var (yearNo, dB, dL) in corrections)\n{\n    \/\/ \u5730\u9707\u3054\u3068\u306b\u88dc\u6b63\u3092\u7e70\u308a\u8fd4\u3057\u9069\u7528\uff08\u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593\u3092\u90fd\u5ea6\u5b9f\u65bd\uff09\n    (lat, lon) = ApplyBilinearCorrection(lat, lon, dB, dL);\n}\n<\/code><\/pre>\n<blockquote>\n<p><strong>\u8a2d\u8a08\u306e\u30dd\u30a4\u30f3\u30c8<\/strong>: \u88dc\u6b63\u306f\u300c\u7d2f\u7a4d\u52a0\u7b97\u3057\u305f1\u56de\u5206\u300d\u3067\u306f\u306a\u304f\u300c\u5404\u5730\u9707\u30921\u56de\u305a\u3064\u9806\u756a\u306b\u9069\u7528\u300d\u3059\u308b\u3002\n\u3053\u308c\u306b\u3088\u308a\u3001\u88dc\u6b63\u5f8c\u306e\u5ea7\u6a19\u3092\u6b21\u306e\u88dc\u6b63\u306e\u5165\u529b\u3068\u3059\u308b\u9023\u9396\u7684\u306a\u5909\u63db\u304c\u6b63\u78ba\u306b\u884c\u308f\u308c\u308b\u3002\nDB\u306b\u306f\u5404\u5730\u9707\u306e<strong>\u5358\u4f53\u88dc\u6b63\u91cf<\/strong>\u3092 <code>year_no<\/code> \u4ed8\u304d\u3067\u683c\u7d0d\u3057\u3001\u7d2f\u7a4d\u5408\u7b97\u306f\u884c\u308f\u306a\u3044\u3002\n\uff08\u7d2f\u7a4d\u5024\u306f <code>.par<\/code> \u30d5\u30a1\u30a4\u30eb\u5074\u306b\u306e\u307f\u66f8\u304d\u51fa\u3055\u308c\u3066\u3044\u308b\uff09<\/p>\n<\/blockquote>\n<p><strong>\u30c6\u30fc\u30d6\u30eb\u5b9a\u7fa9<\/strong>:<\/p>\n<pre><code class=\"language-sql\">CREATE TABLE mesh_corrections (\n    mesh_code TEXT    NOT NULL,\n    db_sec    REAL    NOT NULL,   -- \u305d\u306e\u5730\u9707\u5358\u4f53\u306e\u7def\u5ea6\u88dc\u6b63\u91cf\uff08\u79d2\uff09\n    dl_sec    REAL    NOT NULL,   -- \u305d\u306e\u5730\u9707\u5358\u4f53\u306e\u7d4c\u5ea6\u88dc\u6b63\u91cf\uff08\u79d2\uff09\n    year_no   INTEGER NOT NULL,   -- \u5730\u9707\u767a\u751f\u9806\u306e\u30b7\u30fc\u30b1\u30f3\u30b7\u30e3\u30ebNo\uff080\u59cb\u307e\u308a\uff09\n    PRIMARY KEY (mesh_code, year_no)\n);\nCREATE INDEX idx_mesh_code ON mesh_corrections(mesh_code);\nCREATE INDEX idx_year_no   ON mesh_corrections(year_no);\n<\/code><\/pre>\n<p><strong>year_no \u3068\u30d5\u30a1\u30a4\u30eb\u306e\u5bfe\u5fdc\uff08jgdMerge2011.db\uff09<\/strong>:<\/p>\n<table>\n<thead>\n<tr>\n<th>year_no<\/th>\n<th>\u30d5\u30a1\u30a4\u30eb<\/th>\n<th>\u5730\u9707\u540d<\/th>\n<th>\u30ec\u30b3\u30fc\u30c9\u6570<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0<\/td>\n<td>tokachi2003.par<\/td>\n<td>\u5341\u52dd\u6c96\u5730\u9707<\/td>\n<td>33,220<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>tokachi2003b.par<\/td>\n<td>\u5341\u52dd\u6c96\u5730\u9707\uff08\u88dc\u5b8c\uff09<\/td>\n<td>8,602<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>fukuoka2005.par<\/td>\n<td>\u798f\u5ca1\u770c\u897f\u65b9\u6c96\u5730\u9707<\/td>\n<td>1,165<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>noto2007_BL.par<\/td>\n<td>\u80fd\u767b\u534a\u5cf6\u5730\u9707<\/td>\n<td>604<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>chuetsuoki2007.par<\/td>\n<td>\u4e2d\u8d8a\u6c96\u5730\u9707<\/td>\n<td>694<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>iwatemiyagi2008.par<\/td>\n<td>\u5ca9\u624b\u30fb\u5bae\u57ce\u5185\u9678\u5730\u9707<\/td>\n<td>7,851<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>miyakojima2008.par<\/td>\n<td>\u5bae\u53e4\u5cf6\u8fd1\u6d77\u5730\u9707<\/td>\n<td>348<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>touhokutaiheiyouoki2011.par<\/td>\n<td>\u6771\u5317\u5730\u65b9\u592a\u5e73\u6d0b\u6c96\u5730\u9707<\/td>\n<td>161,053<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>year_no \u3068\u30d5\u30a1\u30a4\u30eb\u306e\u5bfe\u5fdc\uff08jgdMerge2024.db\uff09<\/strong>:<\/p>\n<table>\n<thead>\n<tr>\n<th>year_no<\/th>\n<th>\u30d5\u30a1\u30a4\u30eb<\/th>\n<th>\u5730\u9707\u540d<\/th>\n<th>\u30ec\u30b3\u30fc\u30c9\u6570<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0<\/td>\n<td>kumamoto2016_BL.par<\/td>\n<td>\u718a\u672c\u5730\u9707<\/td>\n<td>10,651<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>noto2024_BL.par<\/td>\n<td>\u4ee4\u548c6\u5e74\u80fd\u767b\u534a\u5cf6\u5730\u9707<\/td>\n<td>15,347<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>noto2024_02BL.par<\/td>\n<td>\u4ee4\u548c6\u5e74\u80fd\u767b\u534a\u5cf6\u5730\u9707\uff08\u88dc\u5b8c\uff09<\/td>\n<td>2,001<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>hyuganada2024_BL.par<\/td>\n<td>\u65e5\u5411\u7058\u5730\u9707<\/td>\n<td>3,747<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>2\u7a2e\u985e\u306e\u7528\u9014<\/strong>:<\/p>\n<table>\n<thead>\n<tr>\n<th>DB\u540d<\/th>\n<th>\u30de\u30fc\u30b8\u5bfe\u8c61<\/th>\n<th>\u7528\u9014<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>jgdMerge2024.db<\/code><\/td>\n<td>2011\u5e74\u4ee5\u964d\uff084\u30d5\u30a1\u30a4\u30eb\uff09<\/td>\n<td>JGD2011\u2192JGD2024\u5909\u63db\uff08\u718a\u672c\u5730\u9707\u4ee5\u964d\uff09<\/td>\n<\/tr>\n<tr>\n<td><code>jgdMerge2011.db<\/code><\/td>\n<td>2003\u301c2011\u5e74\uff088\u30d5\u30a1\u30a4\u30eb\uff09<\/td>\n<td>WGS84\/JGD2000\u2192JGD2011\u5909\u63db<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr>\n<h2>3. \u88dc\u6b63\u8a08\u7b97\u65b9\u6cd5<\/h2>\n<h3>3-1. \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u8a08\u7b97<\/h3>\n<p>\u3059\u3079\u3066\u306e\u30e1\u30c3\u30b7\u30e5\u30d9\u30fc\u30b9DB\u306f**3\u6b21\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\uff088\u6841\uff09**\u3092\u30ad\u30fc\u306b\u3057\u3066\u3044\u308b\u3002\u7def\u5ea6\u30fb\u7d4c\u5ea6\u304b\u3089\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u3092\u7b97\u51fa\u3059\u308b\u65b9\u6cd5\uff1a<\/p>\n<pre><code>\u7def\u5ea6 lat\u3001\u7d4c\u5ea6 lon \u304b\u3089 3\u6b21\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n1\u6b21\u30b3\u30fc\u30c9\uff084\u6841\uff09: p = floor(lat * 1.5)       \u2192 2\u6841\n                  u = floor(lon) - 100         \u2192 2\u6841\n                  1\u6b21 = p * 100 + u + 100 * 36  ... \u5b9f\u969b\u306fp,u\u9023\u7d50\u30674\u6841\n\n2\u6b21\u30b3\u30fc\u30c9\uff086\u6841\uff09: q = floor((lat * 1.5 - p) * 8)\n                  v = floor((lon - floor(lon)) * 8)\n                  2\u6b21 = 1\u6b21\u30b3\u30fc\u30c9 + q * 8 + v  \uff082\u6841\u8ffd\u52a0\uff09\n\n3\u6b21\u30b3\u30fc\u30c9\uff088\u6841\uff09: r = floor((lat * 1.5 - p - q\/8) * 10 * 8)\n                  w = floor((lon - floor(lon) - v\/8) * 10 * 8)\n                  3\u6b21 = 2\u6b21\u30b3\u30fc\u30c9 + r * 10 + w  \uff082\u6841\u8ffd\u52a0\uff09\n<\/code><\/pre>\n<h3>3-2. \u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593<\/h3>\n<p>3\u6b21\u30e1\u30c3\u30b7\u30e5\uff08\u7d041km\u56db\u65b9\uff09\u306e\u4e2d\u5fc3\u5024\u3060\u3051\u3067\u306f\u7cbe\u5ea6\u304c\u4e0d\u8db3\u3059\u308b\u305f\u3081\u3001\u5bfe\u8c61\u70b9\u306e\u5468\u56f24\u30e1\u30c3\u30b7\u30e5\u306e\u88dc\u6b63\u5024\u3092\u4f7f\u3063\u3066\u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593\u3092\u884c\u3046\u3002<\/p>\n<pre><code>\u5bfe\u8c61\u70b9 P(lat, lon) \u306b\u5bfe\u3057\u30664\u9685\u306e\u30e1\u30c3\u30b7\u30e5\u3092\u53d6\u5f97:\n  P11 = (i,   j)    P12 = (i,   j+1)\n  P21 = (i+1, j)    P22 = (i+1, j+1)\n\n\u30e1\u30c3\u30b7\u30e5\u5185\u306e\u76f8\u5bfe\u4f4d\u7f6e:\n  t = (lat - lat_P11) \/ mesh_lat_size    (0\u301c1)\n  s = (lon - lon_P11) \/ mesh_lon_size    (0\u301c1)\n\n\u88dc\u9593\u5024:\n  val = (1-t)(1-s) * P11\n      + (1-t)(  s) * P12\n      + (  t)(1-s) * P21\n      + (  t)(  s) * P22\n<\/code><\/pre>\n<h3>3-3. \u5ea7\u6a19\u5909\u63db\u30d5\u30ed\u30fc<\/h3>\n<p>\u30a2\u30d7\u30ea\u3067\u4f7f\u7528\u3057\u3066\u3044\u308b\u5ea7\u6a19\u5909\u63db\u306e\u5168\u4f53\u30d5\u30ed\u30fc\u3092\u793a\u3059\u3002<\/p>\n<pre><code>\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n  \u30b9\u30de\u30fc\u30c8\u30d5\u30a9\u30f3GNSS\u6e2c\u4f4d\u5024 (ITRF2020\/WGS84)\n          \u2502\n          \u251c\u2500\u2500\u2192 pos2jgd\u88dc\u6b63 \u2500\u2500\u2192 JGD2024 (\u7def\u5ea6\u30fb\u7d4c\u5ea6)\n          \u2502     \u2514\u2500 pos2jgd_202601_ITRF2020.db\n          \u2502\n          \u251c\u2500\u2500\u2192 3\u6b21\u5143\u5ea7\u6a19\u5909\u63db \u2500\u2500\u2192 JGD2011\n          \u2502     \u2514\u2500 7\u30d1\u30e9\u30e1\u30fc\u30bfBursaWolf\u5909\u63db\uff08\u5b9a\u6570\uff09\n          \u2502          \u2502\n          \u2502          \u251c\u2500\u2500\u2192 jgdMerge2024\u88dc\u6b63 \u2500\u2500\u2192 JGD2024\n          \u2502          \u2502    \u2514\u2500 jgdMerge2024.db\n          \u2502          \u2502\n          \u2502          \u2514\u2500\u2500\u2192 SemiDyna\u88dc\u6b63 \u2500\u2500\u2192 JGD2024\n          \u2502               \u2514\u2500 SemiDyna2026.db\uff08\u5e74\u5ea6\u3067\u9078\u629e\uff09\n          \u2502\n          \u2514\u2500\u2500\u2192 TKY2JGD\u88dc\u6b63 \u2500\u2500\u2192 JGD2000\/JGD2011\n               \u2514\u2500 TKY2JGD.db\uff08\u6771\u4eac\u6e2c\u5730\u7cfb\u30c7\u30fc\u30bf\u3068\u306e\u4e92\u63db\u7528\uff09\n\n  \u30b8\u30aa\u30a4\u30c9\u9ad8\u5909\u63db\uff08\u6955\u5186\u4f53\u9ad8\u2192\u6a19\u9ad8\uff09:\n  \u6955\u5186\u4f53\u9ad8 h (GNSS)\n      \u2502\n      \u251c\u2500\u2500\u2192 \u30b8\u30aa\u30a4\u30c9\u9ad8 N (gsigeo2011_ver2_2.db or JPGEO2024.db)\n      \u2502\n      \u2514\u2500\u2500\u2192 \u6a19\u9ad8 H = h - N  \uff08JGD2011: gsigeo2011\u4f7f\u7528\u3001JGD2024: JPGEO2024\u4f7f\u7528\uff09\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\n<\/code><\/pre>\n<h3>3-4. \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9DB vs \u30b0\u30ea\u30c3\u30c9DB \u306e\u88dc\u6b63\u5024\u53d6\u5f97\u65b9\u6cd5<\/h3>\n<p><strong>\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9DB\uff08SemiDyna\u3001TKY2JGD\u3001pos2jgd\u3001jgdMerge\u7cfb\uff09<\/strong>:<\/p>\n<pre><code class=\"language-csharp\">\/\/ 1. \u7def\u5ea6\u7d4c\u5ea6\u304b\u30893\u6b21\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u3092\u8a08\u7b97\nstring meshCode = CalcMeshCode(lat, lon);\n\n\/\/ 2. DB\u304b\u3089\u305d\u306e\u5468\u8fba4\u30e1\u30c3\u30b7\u30e5\u306e\u88dc\u6b63\u5024\u3092\u53d6\u5f97\nvar corrections = db.Query(&quot;SELECT mesh_code, db_sec, dl_sec FROM ... WHERE ...&quot;);\n\n\/\/ 3. \u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593\u3067\u88dc\u6b63\u5024\u3092\u8a08\u7b97\n(double dB, double dL) = BilinearInterpolate(lat, lon, corrections);\n\n\/\/ 4. \u88dc\u6b63\u9069\u7528\ndouble correctedLat = lat + dB \/ 3600.0;\ndouble correctedLon = lon + dL \/ 3600.0;\n<\/code><\/pre>\n<p><strong>\u30b0\u30ea\u30c3\u30c9DB\uff08gsigeo2011\u3001JPGEO2024\uff09<\/strong>:<\/p>\n<pre><code class=\"language-csharp\">\/\/ 1. \u7def\u5ea6\u7d4c\u5ea6\u304b\u3089\u30b0\u30ea\u30c3\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u8a08\u7b97\n\/\/ \u30e1\u30bf\u30c7\u30fc\u30bf\u304b\u3089 lat_south, lon_west, lat_interval, lon_interval \u3092\u53d6\u5f97\ndouble rowF = (lat - lat_south) \/ lat_interval;\ndouble colF = (lon - lon_west)  \/ lon_interval;\n\nint row0 = (int)Math.Floor(rowF);\nint col0 = (int)Math.Floor(colF);\n\n\/\/ 2. \u5468\u8fba4\u70b9\u306e\u30b8\u30aa\u30a4\u30c9\u9ad8\u3092\u53d6\u5f97\ndouble N00 = GetGeoidHeight(row0,   col0);\ndouble N01 = GetGeoidHeight(row0,   col0+1);\ndouble N10 = GetGeoidHeight(row0+1, col0);\ndouble N11 = GetGeoidHeight(row0+1, col0+1);\n\n\/\/ 3. \u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593\ndouble t = rowF - row0;  \/\/ 0\u301c1\ndouble s = colF - col0;  \/\/ 0\u301c1\ndouble N = (1-t)*(1-s)*N00 + (1-t)*s*N01 + t*(1-s)*N10 + t*s*N11;\n\n\/\/ 4. \u6a19\u9ad8\u8a08\u7b97\ndouble H = ellipsoidHeight - N;\n<\/code><\/pre>\n<hr>\n<h2>4. \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u751f\u6210\u65b9\u6cd5(\u5185\u90e8\u8cc7\u6599)<\/h2>\n<pre><code class=\"language-bash\">cd jgdPara\/idokido\n\n# \u5730\u9707\u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u30de\u30fc\u30b8\u3068DB\u5316\uff08jgdMerge\u7cfb3\u30d5\u30a1\u30a4\u30eb\uff09\npython3 mergePar.py\n\n# \u305d\u306e\u4ed6\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u306eDB\u5316\uff08SemiDyna\/pos2jgd\/TKY2JGD\/henkaku\/\u30b8\u30aa\u30a4\u30c9\uff09\npython3 convertParToDb.py\n<\/code><\/pre>\n<p><strong>\u51fa\u529b\u5148<\/strong>: <code>parOut\/<\/code> \u30d5\u30a9\u30eb\u30c0<\/p>\n<p><strong>\u6ce8\u610f<\/strong>: <code>gsigeo2011_ver2_2.db<\/code>\uff0895MB\uff09\u3068 <code>JPGEO2024.db<\/code>\uff08167MB\uff09\u306f\u5927\u5bb9\u91cf\u306e\u305f\u3081Git LFS\u3067\u7ba1\u7406\u3055\u308c\u3066\u3044\u308b\u3002\u65b0\u898f\u30af\u30ed\u30fc\u30f3\u5f8c\u306f <code>git lfs pull<\/code> \u3067\u53d6\u5f97\u304c\u5fc5\u8981\u3002<\/p>\n<hr>\n<h2>5. \u53c2\u7167\u5143\u30c7\u30fc\u30bf\u306e\u5165\u624b\u5148\uff08\u56fd\u571f\u5730\u7406\u9662\uff09<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u30c7\u30fc\u30bf<\/th>\n<th>\u5165\u624b\u5148URL<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>SemiDyna\uff08\u30bb\u30df\u30fb\u30c0\u30a4\u30ca\u30df\u30c3\u30af\u88dc\u6b63\uff09<\/td>\n<td>https:\/\/www.gsi.go.jp\/sokuchikijun\/semidyna.html<\/td>\n<\/tr>\n<tr>\n<td>pos2jgd\uff08GNSS\u6e2c\u4f4d\u5024\u2192JGD2024\uff09<\/td>\n<td>https:\/\/www.gsi.go.jp\/sokuchikijun\/pos2jgd.html<\/td>\n<\/tr>\n<tr>\n<td>TKY2JGD\uff08\u6771\u4eac\u6e2c\u5730\u7cfb\u2192JGD2000\uff09<\/td>\n<td>https:\/\/www.gsi.go.jp\/sokuchikijun\/tky2jgd.html<\/td>\n<\/tr>\n<tr>\n<td>PatchJGD\uff08\u5730\u9707\u88dc\u6b63\uff09<\/td>\n<td>https:\/\/www.gsi.go.jp\/sokuchikijun\/patchjgd.html<\/td>\n<\/tr>\n<tr>\n<td>gsigeo2011\uff08\u30b8\u30aa\u30a4\u30c92011\uff09<\/td>\n<td>https:\/\/www.gsi.go.jp\/buturisokuchi\/geoid.html<\/td>\n<\/tr>\n<tr>\n<td>JPGEO2024\uff08\u30b8\u30aa\u30a4\u30c92024\uff09<\/td>\n<td>https:\/\/www.gsi.go.jp\/buturisokuchi\/geoid.html<\/td>\n<\/tr>\n<tr>\n<td>\u78c1\u6c17\u504f\u89d2<\/td>\n<td>https:\/\/www.gsi.go.jp\/buturisokuchi\/menu03_magnetic_chart.html<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr>\n<h2>\u307e\u3068\u3081<\/h2>\n<p>\u30a2\u30d7\u30ea\u3067\u306f\u8a0810\u7a2e\u985e\u306eSQLite3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f7f\u3044\u5206\u3051\u308b\u3053\u3068\u3067\u3001\u4ee5\u4e0b\u306e\u5909\u63db\u3092\u9ad8\u901f\u304b\u3064\u9ad8\u7cbe\u5ea6\u306b\u5b9f\u73fe\u3057\u3066\u3044\u308b\uff1a<\/p>\n<ul>\n<li><strong>\u6e2c\u5730\u7cfb\u5909\u63db<\/strong>: \u6771\u4eac\u6e2c\u5730\u7cfb\u2192JGD2000\u3001WGS84\u2192JGD2011\u2192JGD2024\u3001GNSS\u6e2c\u4f4d\u5024\u2192JGD2024<\/li>\n<li><strong>\u5730\u6bbb\u5909\u52d5\u88dc\u6b63<\/strong>: 2003\u301c2024\u5e74\u306e12\u5927\u5730\u9707\u306b\u3088\u308b\u5909\u52d5\u91cf\u3092\u30e1\u30c3\u30b7\u30e5\u5358\u4f4d\u3067\u88dc\u6b63<\/li>\n<li><strong>\u6a19\u9ad8\u5909\u63db<\/strong>: \u6955\u5186\u4f53\u9ad8\u304b\u3089\u30b8\u30aa\u30a4\u30c9\u9ad8\u3092\u5dee\u3057\u5f15\u3044\u305f\u6b63\u898f\u76f4\u4ea4\u9ad8\uff08\u6a19\u9ad8\uff09\u3078\u306e\u5909\u63db<\/li>\n<li><strong>\u30b3\u30f3\u30d1\u30b9\u88dc\u6b63<\/strong>: \u78c1\u6c17\u504f\u89d2\u3092\u7528\u3044\u305f\u771f\u5317\u88dc\u6b63<\/li>\n<\/ul>\n<p>\u3059\u3079\u3066\u306eDB\u306b\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u5f35\u3089\u308c\u3066\u304a\u308a\u3001O(1)\u301cO(log n)\u3067\u306e\u691c\u7d22\u304c\u53ef\u80fd\u3002\u30a2\u30d7\u30ea\u8d77\u52d5\u6642\u306eDB\u30ed\u30fc\u30c9\u3068\u3001\u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593\u306b\u3088\u308b\u5185\u633f\u8a08\u7b97\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3067\u30011cm\u7cbe\u5ea6\u30af\u30e9\u30b9\u306e\u9ad8\u901f\u5ea7\u6a19\u5909\u63db\u3092\u5b9f\u73fe\u3057\u3066\u3044\u308b\u3002<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":2882,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","_veu_custom_css":"","veu_display_promotion_alert":"common","vkexunit_cta_each_option":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[9,1],"tags":[180,95,33,175,198],"class_list":["post-2969","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-func","category-uncategorized","tag-180","tag-95","tag-33","tag-175","tag-198"],"veu_head_title_object":{"title":"","add_site_title":""},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/y42u.net\/tec001\/wp-content\/uploads\/2025\/11\/GeoConPro.jpg?fit=988%2C1045&ssl=1","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/posts\/2969","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/comments?post=2969"}],"version-history":[{"count":1,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/posts\/2969\/revisions"}],"predecessor-version":[{"id":2970,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/posts\/2969\/revisions\/2970"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/media\/2882"}],"wp:attachment":[{"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/media?parent=2969"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/categories?post=2969"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/tags?post=2969"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}