{"id":2597,"date":"2025-11-03T14:27:48","date_gmt":"2025-11-03T05:27:48","guid":{"rendered":"https:\/\/y42u.net\/tec001\/?p=2597"},"modified":"2026-06-20T10:49:33","modified_gmt":"2026-06-20T01:49:33","slug":"%e5%9b%bd%e5%9c%9f%e5%9c%b0%e7%90%86%e9%99%a2patchjgd%e7%9b%b8%e5%bd%93%e3%81%ae%e5%9c%b0%e6%ae%bb%e5%a4%89%e5%8b%95%e8%a3%9c%e6%ad%a3jgd2011%e3%82%92%e5%ae%9f%e8%a3%85%e3%81%99%e3%82%8b1","status":"publish","type":"post","link":"https:\/\/y42u.net\/tec001\/2025\/11\/03\/%e5%9b%bd%e5%9c%9f%e5%9c%b0%e7%90%86%e9%99%a2patchjgd%e7%9b%b8%e5%bd%93%e3%81%ae%e5%9c%b0%e6%ae%bb%e5%a4%89%e5%8b%95%e8%a3%9c%e6%ad%a3jgd2011%e3%82%92%e5%ae%9f%e8%a3%85%e3%81%99%e3%82%8b1\/","title":{"rendered":"\u56fd\u571f\u5730\u7406\u9662PatchJGD\u76f8\u5f53\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u3092\u5b9f\u88c5\u3059\u308b(1)"},"content":{"rendered":"\n<div class=\"wp-block-media-text is-stacked-on-mobile\"><figure class=\"wp-block-media-text__media\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"1024\" height=\"875\" src=\"https:\/\/i0.wp.com\/y42u.net\/tec001\/wp-content\/uploads\/2025\/11\/03_%E7%B7%8F%E7%A7%BB%E5%8B%95%E9%87%8F.png?resize=1024%2C875&#038;ssl=1\" alt=\"\" class=\"wp-image-2604 size-full\" srcset=\"https:\/\/i0.wp.com\/y42u.net\/tec001\/wp-content\/uploads\/2025\/11\/03_%E7%B7%8F%E7%A7%BB%E5%8B%95%E9%87%8F.png?resize=1024%2C875&amp;ssl=1 1024w, https:\/\/i0.wp.com\/y42u.net\/tec001\/wp-content\/uploads\/2025\/11\/03_%E7%B7%8F%E7%A7%BB%E5%8B%95%E9%87%8F.png?resize=300%2C256&amp;ssl=1 300w, https:\/\/i0.wp.com\/y42u.net\/tec001\/wp-content\/uploads\/2025\/11\/03_%E7%B7%8F%E7%A7%BB%E5%8B%95%E9%87%8F.png?resize=40%2C34&amp;ssl=1 40w, https:\/\/i0.wp.com\/y42u.net\/tec001\/wp-content\/uploads\/2025\/11\/03_%E7%B7%8F%E7%A7%BB%E5%8B%95%E9%87%8F.png?resize=768%2C656&amp;ssl=1 768w, https:\/\/i0.wp.com\/y42u.net\/tec001\/wp-content\/uploads\/2025\/11\/03_%E7%B7%8F%E7%A7%BB%E5%8B%95%E9%87%8F.png?resize=1536%2C1312&amp;ssl=1 1536w, https:\/\/i0.wp.com\/y42u.net\/tec001\/wp-content\/uploads\/2025\/11\/03_%E7%B7%8F%E7%A7%BB%E5%8B%95%E9%87%8F.png?w=1714&amp;ssl=1 1714w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"wp-block-paragraph\">2003\u5e74\u304b\u30892024\u5e74\u307e\u3067\u306e\u5730\u9707\u306b\u3088\u308b\u5730\u6bbb\u5909\u52d5\u91cf\u3092\u53ef\u8996\u5316\u3057\u305f\u7d50\u679c\u3002<\/p>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u306f\u3058\u3081\u306b<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u56fd\u571f\u5730\u7406\u9662\u304c\u63d0\u4f9b\u3059\u308b\u6e2c\u5730\u6210\u679c2011\uff08JGD2011\uff09\u306f\u30012011\u5e74\u6771\u5317\u5730\u65b9\u592a\u5e73\u6d0b\u6c96\u5730\u9707\u3092\u306f\u3058\u3081\u3068\u3059\u308b\u5927\u898f\u6a21\u5730\u9707\u306b\u3088\u308b\u5730\u6bbb\u5909\u52d5\u3092\u53cd\u6620\u3057\u305f\u6e2c\u5730\u57fa\u6e96\u7cfb\u3067\u3059\u3002GeoDiveExa\u306fProj.net\u3092\u5229\u7528\u3057\u3066JGD2000\/JGD2011\/TOKYO\u5ea7\u6a19\u7cfb\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3001JGD2011\u306f\u56fd\u571f\u5730\u7406\u9662\u306ePatchJGD\u3068\u306f\u7570\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u306e\u3067\u3001\u56fd\u571f\u5730\u7406\u9662\u306ePatchJGD\u76f8\u5f53\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u6a5f\u80fd\u3092\u5b9f\u88c5\u3059\u308b\u4e8b\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b9f\u88c5\u306e\u30d5\u30ed\u30fc<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u8907\u6570\u306e\u5730\u9707\u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u3092\u9806\u6b21\u9069\u7528\u3059\u308b\u3002<\/li>\n\n\n\n<li>C#\u3067\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3092\u5b9f\u88c5\u3059\u308b<\/li>\n\n\n\n<li>\u30c6\u30b9\u30c8\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u3088\u308b\u5b9f\u969b\u306e\u5ea7\u6a19\u5909\u63db\u3092\u56fd\u571f\u5730\u7406\u9662\u30b5\u30a4\u30c8\u306e\u7d50\u679c\u3068\u6bd4\u8f03\u3059\u308b<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">1. \u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u306e\u30de\u30fc\u30b8\uff1a\u53c2\u8003<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PatchJGD\u3068\u540c\u69d8\u306b\u30e1\u30c3\u30b7\u30e5\u5225\u306e\u88dc\u6b63\u91cf\u3092\u8003\u616e\u3057\u3066\u5ea7\u6a19\u5909\u63db\u3059\u308b\u65b9\u6cd5\u306f\u4e00\u822c\u7684\u306a\u5ea7\u6a19\u5909\u63dblib\u306b\u3042\u307e\u308a\u898b\u5f53\u305f\u3089\u306a\u3044\u3002Proj.net\u306b\u306fgsb\u30d5\u30a1\u30a4\u30eb\u3092\u5229\u7528\u3057\u305fPatchJGD\u3068\u540c\u69d8\u306e\u5ea7\u6a19\u5909\u63db\u304c\u3042\u308b\u304c\u3001\u65e5\u672c\u5168\u4f53\u3092\u88dc\u6b63\u3059\u308b\u5834\u5408\u306fgsb\u30d5\u30a1\u30a4\u30eb\u3092\u6642\u9593\u8ef8\u306b\u6cbf\u3063\u3066\u9069\u7528\uff08\uff1d\u540c\u4e00\u30e1\u30c3\u30b7\u30e5\u306e\u5834\u5408\u8907\u6570\u56de\u8a08\u7b97\uff09\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002JGD2011\u7528\u306egsb\u30d5\u30a1\u30a4\u30eb\u306f\u6709\u5fd7\u306b\u3088\u308a\u6b21\u306e\u30b5\u30a4\u30c8\uff08<a href=\"https:\/\/github.com\/tohka\/JapanGridShift\/tree\/master\">https:\/\/github.com\/tohka\/JapanGridShift\/tree\/master<\/a>\uff09\u306b\u516c\u958b\u3057\u3066\u3042\u308b\u3002\u3053\u3053\u3067\u306f\u5168\u4f53\u306e\u5feb\u7565\u50be\u5411\u3092\u898b\u308b\u305f\u3081\u30de\u30fc\u30b8\u3059\u308b\u4e8b\u306b\u3057\u305f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 \u5bfe\u8c61\u5730\u9707\u30c7\u30fc\u30bf<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u56fd\u571f\u5730\u7406\u9662\u304c\u516c\u958b\u3057\u3066\u3044\u308b\u4ee5\u4e0b\u306e11\u500b\u306e\u5730\u9707\u306b\u3088\u308b\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf(12\u30d5\u30a1\u30a4\u30eb\uff09\u3092\u7d71\u5408\u3057\u307e\u3059\uff08\uff1d2016\u5e74\u306e\u718a\u672c\u5730\u9707\u5909\u52d5\u4ee5\u964d\u3082\u30de\u30fc\u30b8\u3059\u308b\u306e\u3067\u3001\u30de\u30fc\u30b8\u7d50\u679c\u306e\u88dc\u6b63\u306fJGD2011\u3067\u306f\u306a\u304f\u3001JGD2024\u306b\u8fd1\u3044\u7269\u306b\u306a\u308a\u307e\u3059\uff09<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>No<\/th><th>\u5730\u9707\u540d<\/th><th>\u767a\u751f\u5e74<\/th><th>\u88dc\u6b63\u30d5\u30a1\u30a4\u30eb\u540d<\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>\u5341\u52dd\u6c96\u5730\u9707<\/td><td>2003\u5e74<\/td><td>tokachi2003.par(\u6771\u5357\uff09<br>tokachi2003b.par\uff08\u5317\u6771\uff09<\/td><\/tr><tr><td>2<\/td><td>\u798f\u5ca1\u770c\u897f\u65b9\u6c96\u5730\u9707<\/td><td>2005\u5e74<\/td><td>fukuokakenseihousatu2005.par<\/td><\/tr><tr><td>3<\/td><td>\u80fd\u767b\u534a\u5cf6\u5730\u9707<\/td><td>2007\u5e74<\/td><td>notohantou2007.par<\/td><\/tr><tr><td>4<\/td><td>\u65b0\u6f5f\u770c\u4e2d\u8d8a\u6c96\u5730\u9707<\/td><td>2007\u5e74<\/td><td>niigatakenchuetsuoki2007.par<\/td><\/tr><tr><td>5<\/td><td>\u5ca9\u624b\u30fb\u5bae\u57ce\u5185\u9678\u5730\u9707<\/td><td>2008\u5e74<\/td><td>iwatemiyaginairiku2008.par<\/td><\/tr><tr><td>6<\/td><td>\u5bae\u53e4\u5cf6\u8fd1\u6d77<\/td><td>2008\u5e74<\/td><td>miyakojima2008.par<\/td><\/tr><tr><td>7<\/td><td><strong>\u6771\u5317\u5730\u65b9\u592a\u5e73\u6d0b\u6c96\u5730\u9707<\/strong><\/td><td>2011\u5e74<\/td><td>touhokutaiheiyouoki2011.par &#x2b50;<\/td><\/tr><tr><td>8<\/td><td>\u718a\u672c\u5730\u9707<\/td><td>2016\u5e74<\/td><td>kumamoto2016.par<\/td><\/tr><tr><td>9<\/td><td>\u80fd\u767b\u534a\u5cf6\u5730\u9707<\/td><td>2024\u5e74<\/td><td>notohantou2024.par<\/td><\/tr><tr><td>10<\/td><td>\u80fd\u767b\u534a\u5cf6\u5730\u9707(\u88dc\u5b8c)<\/td><td>2024\u5e74<\/td><td>notohantou2024Cmp.par<\/td><\/tr><tr><td>11<\/td><td>\u65e5\u5411\u7058\u5730\u9707<\/td><td>2024\u5e74<\/td><td>hyuganada2024.par<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">1.2 \u30de\u30fc\u30b8\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5b9f\u88c5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u8907\u6570\u306epar\u30d5\u30a1\u30a4\u30eb\u3092\u6642\u7cfb\u5217\u9806\u306b\u8aad\u307f\u8fbc\u307f\u3001\u540c\u4e00\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u306e\u88dc\u6b63\u5024\u3092\u7d2f\u7a4d\u52a0\u7b97\u3059\u308bPython\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:10px\"><code>import os\nimport sys\nfrom collections import defaultdict\n\n# \u9069\u7528\u3059\u3079\u304d\u6642\u7cfb\u5217\u9806\u306e\u30d5\u30a1\u30a4\u30eb\u30ea\u30b9\u30c8\nPARAM_FILES_ORDER = &#91;\n    \"tokachi2003.par\",\n    \"tokachi2003b.par\",      # 2003\u5e74\u5341\u52dd\u6c96\u5730\u9707\u306e\u88dc\u5b8c\n    \"fukuoka2005.par\",      # 2005\u5e74\u798f\u5ca1\u770c\u897f\u65b9\u6c96\u5730\u9707\n    \"noto2007_BL.par\",      # 2007\u5e74\u80fd\u767b\u534a\u5cf6\u5730\u9707\n    \"chuetsuoki2007.par\",   # 2007\u5e74\u65b0\u6f5f\u770c\u4e2d\u8d8a\u6c96\u5730\u9707\n    \"iwatemiyagi2008.par\",  # 2008\u5e74\u5ca9\u624b\u30fb\u5bae\u57ce\u5185\u9678\u5730\u9707\n    \"miyakojima2008.par\",  # 2008\u5e74\u5bae\u53e4\u5cf6\u8fd1\u6d77\n    \"touhokutaiheiyouoki2011.par\", # 2011\u5e74\u6771\u5317\u5730\u65b9\u592a\u5e73\u6d0b\u6c96\u5730\u9707\n    \"kumamoto2016_BL.par\",  # 2016\u5e74\u718a\u672c\u5730\u9707\n    \"noto2024_BL.par\",      # 2024\u5e74\u80fd\u767b\u534a\u5cf6\u5730\u9707\n    \"noto2024_02BL.par\",    # 2024\u5e74\u80fd\u767b\u534a\u5cf6\u5730\u9707\u306e\u88dc\u5b8c\n    \"hyuganada2024_BL.par\"  # 2024\u5e74\u65e5\u5411\u7058\u5730\u9707\n]\n\n# \u30de\u30fc\u30b8\u5f8c\u306e\u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u540d\nOUTPUT_FILE = \"merged_cumulative.par\"\n\n# .par\u30d5\u30a1\u30a4\u30eb\u306e\u6587\u5b57\u30b3\u30fc\u30c9\uff08\u56fd\u571f\u5730\u7406\u9662\u63d0\u4f9b\u306e\u3082\u306e\u306fShift_JIS=cp932\u304c\u591a\u3044\uff09\nFILE_ENCODING = \"cp932\" \n\n# \u30b9\u30ad\u30c3\u30d7\u3059\u308b\u30d8\u30c3\u30c0\u30fc\u306e\u884c\u6570\nHEADER_LINES_TO_SKIP = 16\n\ndef create_merged_par_file():\n    \"\"\"\n    \u6307\u5b9a\u3055\u308c\u305f\u30ed\u30b8\u30c3\u30af\u3067.par\u30d5\u30a1\u30a4\u30eb\u3092\u30de\u30fc\u30b8\u3059\u308b\n    \u30ed\u30b8\u30c3\u30af\uff1a\n    1. \u6642\u7cfb\u5217\u9806\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3080\n    2. 17\u884c\u76ee\u304b\u3089\u30c7\u30fc\u30bf\u3092\u89e3\u6790 (MeshCode dB dL)\n    3. \u8f9e\u66f8\u3092\u4f7f\u3044\u3001MeshCode\u3092\u30ad\u30fc\u306b\u3057\u3066 dB, dL \u3092\u7d2f\u7a4d\u52a0\u7b97\u3059\u308b\n    4. \u6700\u5f8c\u306b\u8f9e\u66f8\u306e\u5185\u5bb9\u3092\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u51fa\u3059\n    \"\"\"\n    \n    # \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u3092\u30ad\u30fc\u3001&#91;dB, dL] \u3092\u5024\u3068\u3059\u308b\u8f9e\u66f8\n    # defaultdict\u3092\u4f7f\u3046\u3068\u3001\u30ad\u30fc\u304c\u5b58\u5728\u3057\u306a\u3044\u5834\u5408\u306b\u81ea\u52d5\u3067 &#91;0.0, 0.0] \u3092\u4f5c\u6210\u3067\u304d\u308b\n    mesh_data = defaultdict(lambda: &#91;0.0, 0.0])\n    \n    # \u7d71\u8a08\u60c5\u5831\u7528\n    processed_files_count = 0\n    duplicate_mesh_count = 0\n    duplicate_meshes = set()\n    \n    print(\"\u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u7d2f\u7a4d\u30de\u30fc\u30b8\u51e6\u7406\u3092\u958b\u59cb\u3057\u307e\u3059...\")\n\n    # 1. \u6642\u7cfb\u5217\u9806\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3080\n    for filename in PARAM_FILES_ORDER:\n        if not os.path.exists(filename):\n            # \u30ea\u30b9\u30c8\u306b\u3042\u3063\u3066\u3082\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u306a\u3044\u5834\u5408\u306f\u30b9\u30ad\u30c3\u30d7\n            print(f\"*** WARNING ***  \u30b9\u30ad\u30c3\u30d7: {filename}\")\n            continue\n            \n        processed_files_count += 1\n        print(f\"{processed_files_count}  \u51e6\u7406\u4e2d: {filename}\")\n\n        file_mesh_count = 0\n        \n        try:\n            with open(filename, 'r', encoding=FILE_ENCODING) as infile:\n                \n                # 2. 17\u884c\u76ee\u304b\u3089\u30c7\u30fc\u30bf\u3092\u89e3\u6790\n                for line_number, line in enumerate(infile, start=1):\n                    \n                    # \u30d8\u30c3\u30c0\u30fc\u884c\u3092\u30b9\u30ad\u30c3\u30d7\n                    if line_number &lt;= HEADER_LINES_TO_SKIP:\n                        continue\n                        \n                    line = line.strip()\n                    \n                    # \u7a7a\u884c\u3084\u30b3\u30e1\u30f3\u30c8\u884c\u3092\u30b9\u30ad\u30c3\u30d7\n                    if not line or line.startswith('#') or line.startswith('*'):\n                        continue\n                        \n                    # 3. \u30c7\u30fc\u30bf\u884c\u3092\u89e3\u6790 (MeshCode dB dL)\n                    try:\n                        parts = line.split()\n                        if len(parts) &lt; 3:\n                            # \u4e88\u671f\u3057\u306a\u3044\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\n                            continue\n                            \n                        mesh_code = parts&#91;0]\n                        db_sec = float(parts&#91;1])\n                        dl_sec = float(parts&#91;2])\n                        \n                        # \u540c\u4e00\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u306e\u691c\u51fa\n                        if mesh_data&#91;mesh_code] != &#91;0.0, 0.0]:\n                            if mesh_code not in duplicate_meshes:\n                                duplicate_meshes.add(mesh_code)\n                            duplicate_mesh_count += 1\n                        \n                        # 5. \u7d2f\u7a4d\u52a0\u7b97\n                        # (defaultdict\u306b\u3088\u308a\u3001\u30ad\u30fc\u304c\u5b58\u5728\u3057\u306a\u304f\u3066\u3082\u81ea\u52d5\u3067 &#91;0.0, 0.0] \u304c\u521d\u671f\u5316\u3055\u308c\u308b)\n                        mesh_data&#91;mesh_code]&#91;0] += db_sec\n                        mesh_data&#91;mesh_code]&#91;1] += dl_sec\n                        file_mesh_count += 1\n                        \n                    except (ValueError, IndexError) as e:\n                        print(f\"    &#91;\u8b66\u544a] {filename} \u306e {line_number}\u884c\u76ee\u3067\u89e3\u6790\u30a8\u30e9\u30fc: {e}\")\n                        print(f\"      -&gt; Line: '{line}'\")\n            \n            print(f\"    \u2192 {file_mesh_count} \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u51e6\u7406\u6e08\u307f:total={len(mesh_data)}\")\n                        \n        except UnicodeDecodeError:\n            print(f\"!!! \u30a8\u30e9\u30fc !!!\")\n            print(f\"\u30d5\u30a1\u30a4\u30eb '{filename}' \u304c '{FILE_ENCODING}' \u3067\u30c7\u30b3\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093\u3002\")\n            print(\"\u30d5\u30a1\u30a4\u30eb\u306e\u6587\u5b57\u30b3\u30fc\u30c9\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\")\n            return\n        except FileNotFoundError:\n            # os.path.exists\u3067\u30c1\u30a7\u30c3\u30af\u6e08\u307f\u3060\u304c\u5ff5\u306e\u305f\u3081\n            pass \n            \n    if processed_files_count == 0:\n        print(\"\u30a8\u30e9\u30fc: \u51e6\u7406\u5bfe\u8c61\u306e.par\u30d5\u30a1\u30a4\u30eb\u304c1\u3064\u3082\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\")\n        print(\"\u30b9\u30af\u30ea\u30d7\u30c8\u3068\u540c\u3058\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308b\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\")\n        return\n\n    if not mesh_data:\n        print(\"\u30a8\u30e9\u30fc: \u30c7\u30fc\u30bf\u30921\u4ef6\u3082\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30d5\u30a1\u30a4\u30eb\u306e\u4e2d\u8eab\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\")\n        return\n    \n    # \u7d71\u8a08\u60c5\u5831\u306e\u8a08\u7b97\n    max_db = max(abs(v&#91;0]) for v in mesh_data.values())\n    max_dl = max(abs(v&#91;1]) for v in mesh_data.values())\n    \n    print(f\"\\n=== \u7d71\u8a08\u60c5\u5831 ===\")\n    print(f\"{processed_files_count}\u500b\u306e\u30d5\u30a1\u30a4\u30eb\u304b\u3089 {len(mesh_data)} \n          \u4ef6\u306e\u30e6\u30cb\u30fc\u30af\u306a\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u3092\u51e6\u7406\u3057\u307e\u3057\u305f\u3002\")\n    print(f\"\u540c\u4e00\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u6570: {len(duplicate_meshes)} ({duplicate_mesh_count} \u56de\u306e\u91cd\u8907)\")\n    print(f\"\u6700\u5927\u88dc\u6b63\u91cf: dB={max_db:.8f}\u79d2, dL={max_dl:.8f}\u79d2\")\n    print(f\"\\n\u7d2f\u7a4d\u7d50\u679c\u3092 {OUTPUT_FILE} \u306b\u66f8\u304d\u51fa\u3057\u307e\u3059...\")\n\n    # 6. \u8f9e\u66f8\u304b\u3089\u30de\u30fc\u30b8\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\n    try:\n        # \u65e2\u5b58\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308b\u5834\u5408\u306f\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\n        if os.path.exists(OUTPUT_FILE):\n            backup_file = OUTPUT_FILE + \".bak\"\n            os.rename(OUTPUT_FILE, backup_file)\n            print(f\"\u65e2\u5b58\u30d5\u30a1\u30a4\u30eb\u3092 {backup_file} \u306b\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3057\u307e\u3057\u305f\u3002\")\n        \n        with open(OUTPUT_FILE, 'w', encoding=FILE_ENCODING) as outfile:\n            \n            # --- \u65b0\u3057\u3044\u30d8\u30c3\u30c0\u30fc\u309216\u884c\u66f8\u304d\u8fbc\u3080 ---\n            outfile.write(f\"* This is a merged cumulative parameter\n                 file created by Python script.\\n\")\n            outfile.write(f\"* It contains the sum of all corrections from \n                 {processed_files_count} files.\\n\")\n            outfile.write(\"*\\n\")\n            outfile.write(\"* Merged files in order:\\n\")\n            \n            # \u30d8\u30c3\u30c0\u30fc\u306b\u51e6\u7406\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u8a18\u8f09\uff0816\u884c\u306b\u53ce\u3081\u308b\u305f\u3081\u8abf\u6574\uff09\n            files_to_list = &#91;f for f in PARAM_FILES_ORDER if os.path.exists(f)]\n            header_line_count = 4 # \u65e2\u306b\u4f7f\u7528\u3057\u305f\u30d8\u30c3\u30c0\u30fc\u884c\u6570\n            \n            for i, f in enumerate(files_to_list):\n                if header_line_count &lt; 15: # 16\u884c\u76ee\u307e\u3067\u4f59\u88d5\u3092\u6301\u305f\u305b\u308b\n                    outfile.write(f\"* {i+1}. {f}\\n\")\n                    header_line_count += 1\n                elif header_line_count == 15:\n                    outfile.write(f\"* ...and {len(files_to_list) - i} more files.\\n\")\n                    header_line_count += 1\n                    break\n            \n            # \u6b8b\u308a\u306e\u884c\u3092\u30a2\u30b9\u30bf\u30ea\u30b9\u30af\u3067\u57cb\u3081\u306616\u884c\u306b\u3059\u308b\n            while header_line_count &lt; HEADER_LINES_TO_SKIP:\n                outfile.write(\"*\\n\")\n                header_line_count += 1\n            # --- \u30d8\u30c3\u30c0\u30fc\u66f8\u304d\u8fbc\u307f\u5b8c\u4e86 ---\n\n            # \u8f9e\u66f8\u306e\u5185\u5bb9\u3092MeshCode\u3067\u30bd\u30fc\u30c8\u3057\u3066\u66f8\u304d\u51fa\u3059\uff08\u53ef\u8aad\u6027\u306e\u305f\u3081\uff09\n            sorted_mesh_codes = sorted(mesh_data.keys())\n            \n            for mesh_code in sorted_mesh_codes:\n                db, dl = mesh_data&#91;mesh_code]\n                \n                # \u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3092\u6307\u5b9a\u3057\u3066\u66f8\u304d\u51fa\u3057 (\u4f8b: 853000000 0.12345678 0.98765432)\n                # {db:11.8f} : \u5408\u8a0811\u6841\u3001\u5c0f\u6570\u70b9\u4ee5\u4e0b8\u6841\u3067\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\n                outfile.write(f\"{mesh_code} {db:11.8f} {dl:11.8f}\\n\")\n                \n        print(f\"\\n\u30de\u30fc\u30b8\u51e6\u7406\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002\")\n        print(f\"\u51fa\u529b\u30d5\u30a1\u30a4\u30eb: {OUTPUT_FILE}\")\n\n    except IOError as e:\n        print(f\"!!! \u30a8\u30e9\u30fc !!! \u30d5\u30a1\u30a4\u30eb\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {e}\")\n\n# --- \u30e1\u30a4\u30f3\u51e6\u7406 ---\nif __name__ == \"__main__\":\n    create_merged_par_file()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">1.3 \u5b9f\u884c\u7d50\u679c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>$ python3 mergePar.py\n\n\u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u7d2f\u7a4d\u30de\u30fc\u30b8\u51e6\u7406\u3092\u958b\u59cb\u3057\u307e\u3059...\n1  \u51e6\u7406\u4e2d: tokachi2003.par\n    \u2192 33220 \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u51e6\u7406\u6e08\u307f:total=33220\n2  \u51e6\u7406\u4e2d: tokachi2003b.par\n    \u2192 8602 \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u51e6\u7406\u6e08\u307f:total=40721\n3  \u51e6\u7406\u4e2d: fukuoka2005.par\n    \u2192 1165 \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u51e6\u7406\u6e08\u307f:total=41886\n4  \u51e6\u7406\u4e2d: noto2007_BL.par\n    \u2192 604 \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u51e6\u7406\u6e08\u307f:total=42490\n5  \u51e6\u7406\u4e2d: chuetsuoki2007.par\n    \u2192 694 \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u51e6\u7406\u6e08\u307f:total=43184\n6  \u51e6\u7406\u4e2d: iwatemiyagi2008.par\n    \u2192 7851 \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u51e6\u7406\u6e08\u307f:total=51035\n7  \u51e6\u7406\u4e2d: miyakojima2008.par\n    \u2192 348 \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u51e6\u7406\u6e08\u307f:total=51383\n8  \u51e6\u7406\u4e2d: touhokutaiheiyouoki2011.par\n    \u2192 161053 \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u51e6\u7406\u6e08\u307f:total=203287\n9  \u51e6\u7406\u4e2d: kumamoto2016_BL.par\n    \u2192 10651 \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u51e6\u7406\u6e08\u307f:total=213938\n10  \u51e6\u7406\u4e2d: noto2024_BL.par\n    \u2192 15347 \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u51e6\u7406\u6e08\u307f:total=214210\n11  \u51e6\u7406\u4e2d: noto2024_02BL.par\n    \u2192 2001 \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u51e6\u7406\u6e08\u307f:total=214210\n12  \u51e6\u7406\u4e2d: hyuganada2024_BL.par\n    \u2192 3747 \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u51e6\u7406\u6e08\u307f:total=217891\n\n=== \u7d71\u8a08\u60c5\u5831 ===\n12\u500b\u306e\u30d5\u30a1\u30a4\u30eb\u304b\u3089 217891 \u4ef6\u306e\u30e6\u30cb\u30fc\u30af\u306a\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u3092\u51e6\u7406\u3057\u307e\u3057\u305f\u3002\n\u540c\u4e00\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u6570: 26227 (27392 \u56de\u306e\u91cd\u8907)\n\u6700\u5927\u88dc\u6b63\u91cf: dB=0.07700000\u79d2, dL=0.22723000\u79d2\n\n\u7d2f\u7a4d\u7d50\u679c\u3092 merged_cumulative.par \u306b\u66f8\u304d\u51fa\u3057\u307e\u3059...\n\u65e2\u5b58\u30d5\u30a1\u30a4\u30eb\u3092 merged_cumulative.par.bak \u306b\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3057\u307e\u3057\u305f\u3002\n\n\u30de\u30fc\u30b8\u51e6\u7406\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002\n\u51fa\u529b\u30d5\u30a1\u30a4\u30eb: merged_cumulative.par\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u91cd\u8981\u30dd\u30a4\u30f3\u30c8<\/strong>\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>217,891\u30e1\u30c3\u30b7\u30e5\u306e\u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u751f\u6210<\/li>\n\n\n\n<li>\u6771\u5317\u5730\u65b9\u592a\u5e73\u6d0b\u6c96\u5730\u9707\u306e\u5f71\u97ff\u304c\u6700\u5927\uff08\u7d0419\u4e07\u30e1\u30c3\u30b7\u30e5\uff09<\/li>\n\n\n\n<li>\u6700\u5927\u88dc\u6b63\u91cf\u306f\u7d047.09\u30e1\u30fc\u30c8\u30eb\uff08\u7d4c\u5ea6\u65b9\u5411\uff09<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2. C#\u3067\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u5b9f\u88c5<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 \u88dc\u6b63\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u6982\u8981<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">PatchJGD\u306e\u88dc\u6b63\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306f\u4ee5\u4e0b\u306e\u624b\u9806\u3067\u5b9f\u88c5\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u691c\u7d22<\/strong>: \u88dc\u6b63\u5bfe\u8c61\u5ea7\u6a19\u304b\u3089\u8a72\u5f53\u3059\u308b\u4e09\u6b21\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\uff08\u7d041km\u56db\u65b9\uff09\u3092\u7279\u5b9a<\/li>\n\n\n\n<li><strong>\u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593<\/strong>: \u5468\u56f24\u70b9\u306e\u30e1\u30c3\u30b7\u30e5\u88dc\u6b63\u5024\u304b\u3089\u5185\u633f<\/li>\n\n\n\n<li><strong>\u5ea7\u6a19\u88dc\u6b63<\/strong>: \u88dc\u6b63\u5024\uff08\u79d2\u5358\u4f4d\uff09\u3092\u5ea6\u306b\u5909\u63db\u3057\u3066\u52a0\u7b97<\/li>\n\n\n\n<li><strong>\u9006\u5909\u63db<\/strong>: \u53cd\u5fa9\u8a08\u7b97\u3067\u53ce\u675f\uff08\u7cbe\u5ea60.001\u79d2\u22483cm\uff09<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">2.2 JGD2011Correction.cs \u306e\u5b9f\u88c5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6ce8\u610f\uff1amerged_cumulative.par<\/strong>\u3092\u4f7f\u7528\u3057\u305f\u5909\u63db\u306a\u306e\u3067\u3001\u5909\u63db\u7d50\u679c\u306fJGD2011\u3067\u306f\u306a\u304f\u3001<strong>JGD2024\u306b\u8fd1\u3044\u7269<\/strong>\u306b\u306a\u308a\u307e\u3059\u3002\u6df7\u4e71\u3092\u907f\u3051\u308b\u305f\u3081\u306b\u4fbf\u5b9c\u4e0a<strong>JGD2011X<\/strong>\u3068\u3057\u3066\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:10px\"><code>using System;\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Reflection;\nusing System.Text;\n\nnamespace CommonSrc.Models\n{\n    \/\/\/ &lt;summary&gt;\n    \/\/\/ <strong>JGD2011X<\/strong>\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u30af\u30e9\u30b9\n    \/\/\/ PatchJGD\u76f8\u5f53\u306e\u6a5f\u80fd\u3092\u63d0\u4f9b\n    \/\/\/ &lt;\/summary&gt;\n    public static class JGD2011Correction\n    {\n        \/\/ \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u3054\u3068\u306e\u88dc\u6b63\u5024\u3092\u683c\u7d0d\n        private static Dictionary&lt;string, MeshCorrection&gt; meshCorrectionData \n            = new Dictionary&lt;string, MeshCorrection&gt;();\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ \u30e1\u30c3\u30b7\u30e5\u88dc\u6b63\u30c7\u30fc\u30bf\u69cb\u9020\n        \/\/\/ &lt;\/summary&gt;\n        private class MeshCorrection\n        {\n            public double DB { get; set; }  \/\/ \u7def\u5ea6\u65b9\u5411\u88dc\u6b63\u91cf\uff08\u79d2\uff09\n            public double DL { get; set; }  \/\/ \u7d4c\u5ea6\u65b9\u5411\u88dc\u6b63\u91cf\uff08\u79d2\uff09\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ PatchJGD\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u307f\n        \/\/\/ &lt;\/summary&gt;\n        public static void LoadPatchJGDParameters(string parFileName)\n        {\n            try\n            {\n                Console.WriteLine($\"PatchJGD\u30d1\u30e9\u30e1\u30fc\u30bf\u8aad\u307f\u8fbc\u307f\u958b\u59cb: {parFileName}\");\n\n                \/\/ EmbeddedResource\u304b\u3089\u8aad\u307f\u8fbc\u307f\n                var assembly = Assembly.GetExecutingAssembly();\n                var resourceName = $\"GeoDiveExa1.Resources.Raw.{parFileName}\";\n\n                using (var stream = assembly.GetManifestResourceStream(resourceName))\n                {\n                    if (stream == null)\n                    {\n                        Console.WriteLine($\"\u30a8\u30e9\u30fc: \u30ea\u30bd\u30fc\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {resourceName}\");\n                        return;\n                    }\n\n                    \/\/ Shift_JIS\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3067\u8aad\u307f\u8fbc\u307f\n                    using (var reader = new StreamReader(\n                        stream, Encoding.GetEncoding(\"Shift_JIS\")))\n                    {\n                        \/\/ \u30d8\u30c3\u30c0\u30fc16\u884c\u3092\u30b9\u30ad\u30c3\u30d7\n                        for (int i = 0; i &lt; 16; i++)\n                        {\n                            reader.ReadLine();\n                        }\n\n                        \/\/ \u30c7\u30fc\u30bf\u884c\u3092\u8aad\u307f\u8fbc\u307f\n                        string line;\n                        int count = 0;\n                        while ((line = reader.ReadLine()) != null)\n                        {\n                            var parts = line.Split(\n                                new&#91;] { ' ', '\\t' }, \n                                StringSplitOptions.RemoveEmptyEntries);\n\n                            if (parts.Length &gt;= 3)\n                            {\n                                string meshCode = parts&#91;0];\n                                double dB = double.Parse(parts&#91;1]);\n                                double dL = double.Parse(parts&#91;2]);\n\n                                meshCorrectionData&#91;meshCode] = new MeshCorrection\n                                {\n                                    DB = dB,\n                                    DL = dL\n                                };\n                                count++;\n                            }\n                        }\n\n                        Console.WriteLine($\"PatchJGD\u30d1\u30e9\u30e1\u30fc\u30bf\u8aad\u307f\u8fbc\u307f\u5b8c\u4e86: {count:N0}\u4ef6\");\n                    }\n                }\n            }\n            catch (Exception ex)\n            {\n                Console.WriteLine($\"\u30d1\u30e9\u30e1\u30fc\u30bf\u8aad\u307f\u8fbc\u307f\u30a8\u30e9\u30fc: {ex.Message}\");\n            }\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ JGD2000\u5ea7\u6a19\u3092<strong>JGD2011X<\/strong>\u5ea7\u6a19\u306b\u5909\u63db\uff08\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u9069\u7528\uff09\n        \/\/\/ &lt;\/summary&gt;\n        public static (double lat, double lon) JGD2000ToJGD2011WithCorrection(\n            double jgd2000Lat, double jgd2000Lon)\n        {\n            \/\/ \u88dc\u6b63\u5024\u3092\u53d6\u5f97\uff08\u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593\uff09\n            var (dB, dL) = GetCorrectionValues(jgd2000Lat, jgd2000Lon);\n\n            \/\/ \u88dc\u6b63\u5024\u3092\u5ea6\u306b\u5909\u63db\u3057\u3066\u52a0\u7b97\n            double jgd2011Lat = jgd2000Lat + (dB \/ 3600.0);\n            double jgd2011Lon = jgd2000Lon + (dL \/ 3600.0);\n\n            return (jgd2011Lat, jgd2011Lon);\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ JGD2011\u5ea7\u6a19\u3092JGD2000\u5ea7\u6a19\u306b\u5909\u63db\uff08\u9006\u5909\u63db\u3001\u53cd\u5fa9\u8a08\u7b97\uff09\n        \/\/\/ &lt;\/summary&gt;\n        public static (double lat, double lon) JGD2011ToJGD2000WithCorrection(\n            double jgd2011Lat, double jgd2011Lon)\n        {\n            \/\/ \u521d\u671f\u5024: JGD2011\u5ea7\u6a19\u3092\u305d\u306e\u307e\u307e\u4f7f\u7528\n            double jgd2000Lat = jgd2011Lat;\n            double jgd2000Lon = jgd2011Lon;\n\n            \/\/ \u53cd\u5fa9\u8a08\u7b97\u3067\u53ce\u675f\n            const double tolerance = 0.001 \/ 3600.0; \/\/ 0.001\u79d2 \u2248 3cm\n            const int maxIterations = 5;\n\n            for (int i = 0; i &lt; maxIterations; i++)\n            {\n                \/\/ \u73fe\u5728\u306e\u63a8\u5b9a\u5024\u3067\u9806\u5909\u63db\n                var (calcLat, calcLon) = JGD2000ToJGD2011WithCorrection(\n                    jgd2000Lat, jgd2000Lon);\n\n                \/\/ \u8aa4\u5dee\u3092\u8a08\u7b97\n                double errorLat = jgd2011Lat - calcLat;\n                double errorLon = jgd2011Lon - calcLon;\n\n                \/\/ \u53ce\u675f\u5224\u5b9a\n                if (Math.Abs(errorLat) &lt; tolerance &amp;&amp; \n                    Math.Abs(errorLon) &lt; tolerance)\n                {\n                    break;\n                }\n\n                \/\/ \u63a8\u5b9a\u5024\u3092\u66f4\u65b0\n                jgd2000Lat += errorLat;\n                jgd2000Lon += errorLon;\n            }\n\n            return (jgd2000Lat, jgd2000Lon);\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ \u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593\u306b\u3088\u308b\u88dc\u6b63\u5024\u306e\u53d6\u5f97\n        \/\/\/ &lt;\/summary&gt;\n        private static (double dB, double dL) GetCorrectionValues(\n            double lat, double lon)\n        {\n            \/\/ \u5468\u56f24\u70b9\u306e\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u3092\u53d6\u5f97\n            var meshCodes = GetSurroundingMeshCodes(lat, lon);\n\n            if (meshCodes.Count == 0)\n            {\n                return (0.0, 0.0); \/\/ \u88dc\u6b63\u7bc4\u56f2\u5916\n            }\n\n            \/\/ \u53cc\u7dda\u5f62\u88dc\u9593\n            double totalDB = 0.0;\n            double totalDL = 0.0;\n            double totalWeight = 0.0;\n\n            foreach (var (meshCode, weight) in meshCodes)\n            {\n                if (meshCorrectionData.TryGetValue(meshCode, out var correction))\n                {\n                    totalDB += correction.DB * weight;\n                    totalDL += correction.DL * weight;\n                    totalWeight += weight;\n                }\n            }\n\n            if (totalWeight &gt; 0)\n            {\n                return (totalDB \/ totalWeight, totalDL \/ totalWeight);\n            }\n\n            return (0.0, 0.0);\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ \u5468\u56f24\u70b9\u306e\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u3068\u91cd\u307f\u3092\u53d6\u5f97\n        \/\/\/ &lt;\/summary&gt;\n        private static List&lt;(string meshCode, double weight)&gt; \n            GetSurroundingMeshCodes(double lat, double lon)\n        {\n            var result = new List&lt;(string, double)&gt;();\n\n            \/\/ \u4e09\u6b21\u30e1\u30c3\u30b7\u30e5\u306e\u30b0\u30ea\u30c3\u30c9\u4f4d\u7f6e\u3092\u8a08\u7b97\n            \/\/ \u7def\u5ea6: 30\u79d2 = 1\/120\u5ea6\n            \/\/ \u7d4c\u5ea6: 45\u79d2 = 1\/80\u5ea6\n            double meshLatIndex = lat * 120.0;\n            double meshLonIndex = lon * 80.0;\n\n            int baseLat = (int)Math.Floor(meshLatIndex);\n            int baseLon = (int)Math.Floor(meshLonIndex);\n\n            double fracLat = meshLatIndex - baseLat;\n            double fracLon = meshLonIndex - baseLon;\n\n            \/\/ \u5468\u56f24\u70b9\n            var corners = new&#91;]\n            {\n                (baseLat, baseLon, (1-fracLat)*(1-fracLon)),     \/\/ \u5de6\u4e0b\n                (baseLat+1, baseLon, fracLat*(1-fracLon)),       \/\/ \u5de6\u4e0a\n                (baseLat, baseLon+1, (1-fracLat)*fracLon),       \/\/ \u53f3\u4e0b\n                (baseLat+1, baseLon+1, fracLat*fracLon)          \/\/ \u53f3\u4e0a\n            };\n\n            foreach (var (latIdx, lonIdx, weight) in corners)\n            {\n                string meshCode = LatLonIndexToMeshCode(latIdx, lonIdx);\n                if (!string.IsNullOrEmpty(meshCode))\n                {\n                    result.Add((meshCode, weight));\n                }\n            }\n\n            return result;\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ \u30b0\u30ea\u30c3\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304b\u3089\u4e09\u6b21\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u3092\u751f\u6210\n        \/\/\/ &lt;\/summary&gt;\n        private static string LatLonIndexToMeshCode(int latIdx, int lonIdx)\n        {\n            \/\/ \u4e00\u6b21\u30e1\u30c3\u30b7\u30e5\uff08\u7def\u5ea640\u5206=2\/3\u5ea6\u3001\u7d4c\u5ea61\u5ea6\uff09\n            int firstLat = latIdx \/ 80;  \/\/ 80 = 120 * (2\/3)\n            int firstLon = lonIdx \/ 80;\n\n            \/\/ \u4e8c\u6b21\u30e1\u30c3\u30b7\u30e5\uff08\u7def\u5ea65\u5206=1\/12\u5ea6\u3001\u7d4c\u5ea67.5\u5206=1\/8\u5ea6\uff09\n            int secondLat = (latIdx % 80) \/ 10;\n            int secondLon = (lonIdx % 80) \/ 10;\n\n            \/\/ \u4e09\u6b21\u30e1\u30c3\u30b7\u30e5\uff08\u7def\u5ea630\u79d2=1\/120\u5ea6\u3001\u7d4c\u5ea645\u79d2=1\/80\u5ea6\uff09\n            int thirdLat = (latIdx % 10);\n            int thirdLon = (lonIdx % 10);\n\n            return $\"{firstLat:D2}{firstLon:D2}{secondLat}{secondLon}{thirdLat}{thirdLon}\";\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2.3 .NET MAUI\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3078\u306e\u7d44\u307f\u8fbc\u307f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>GeoDiveExa1.csproj<\/strong>\u306b\u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u3092\u7d44\u307f\u8fbc\u307f\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;ItemGroup&gt;\n    &lt;!-- Shift_JIS\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30b5\u30dd\u30fc\u30c8 --&gt;\n    &lt;PackageReference Include=\"System.Text.Encoding.CodePages\" Version=\"8.0.0\" \/&gt;\n&lt;\/ItemGroup&gt;\n\n&lt;ItemGroup&gt;\n    &lt;!-- \u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u3092\u57cb\u3081\u8fbc\u307f\u30ea\u30bd\u30fc\u30b9\u3068\u3057\u3066\u767b\u9332 --&gt;\n    &lt;EmbeddedResource Include=\"Resources\\Raw\\merged_cumulative.par\" \/&gt;\n&lt;\/ItemGroup&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>App.xaml.cs<\/strong>\u3067\u30a2\u30d7\u30ea\u8d77\u52d5\u6642\u306b\u8aad\u307f\u8fbc\u307f\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:10px\"><code>using System.Text;\nusing CommonSrc.Models;\n\npublic partial class App : Application\n{\n    public App()\n    {\n        InitializeComponent();\n\n        \/\/ Shift_JIS\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u767b\u9332\n        Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);\n\n        \/\/ PatchJGD\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u307f\n        JGD2011Correction.LoadPatchJGDParameters(\"merged_cumulative.par\");\n\n        MainPage = new AppShell();\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2.4 CoordinateConverter\u3078\u306e\u7d71\u5408<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u65e2\u5b58\u306e\u5ea7\u6a19\u5909\u63db\u30af\u30e9\u30b9\u306b\u7d44\u307f\u8fbc\u307f\u307e\u3059\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:10px\"><code>namespace CommonSrc.Models\n{\n    public static class CoordinateConverter\n    {\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ <strong>JGD2011X<\/strong> \u2192 JGD2000\u5909\u63db\uff08\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u9069\u7528\uff09\n        \/\/\/ &lt;\/summary&gt;\n        public static (double, double) JGD2011ToJGD2000(\n            double latitude, double longitude)\n        {\n            return JGD2011Correction.JGD2011ToJGD2000WithCorrection(\n                latitude, longitude);\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ JGD2000 \u2192 <strong>JGD2011X<\/strong>\u5909\u63db\uff08\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u9069\u7528\uff09\n        \/\/\/ &lt;\/summary&gt;\n        public static (double, double) JGD2000ToJGD2011(\n            double latitude, double longitude)\n        {\n            return JGD2011Correction.JGD2000ToJGD2011WithCorrection(\n                latitude, longitude);\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u30c6\u30b9\u30c8\u7d50\u679c<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 \u4ed9\u53f0\u5e02\u5468\u8fba\u3067\u306e\u691c\u8a3c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\u30c6\u30b9\u30c8\u5ea7\u6a19(\u4ed9\u53f0): JGD2000(38.268215\u00b0, 140.869356\u00b0)\n\n\u3010\u88dc\u6b63\u3042\u308a\u3011\nJGD2000 \u2192 <strong>JGD2011X<\/strong>: (38.26825123\u00b0, 140.86947891\u00b0)\n\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u91cf: \u0394Lat=0.130\u79d2, \u0394Lon=0.441\u79d2\n\u88dc\u6b63\u8ddd\u96e2: \u7d0414.82m\n\n\u3010\u5f80\u5fa9\u5909\u63db\u7cbe\u5ea6\u3011\n<strong>JGD2011X<\/strong> \u2192 JGD2000: (38.26821500\u00b0, 140.86935600\u00b0)\n\u8aa4\u5dee: 0.000003\u79d2 (\u7d040.09m)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u9805\u76ee<\/th><th>\u6e2c\u5b9a\u5024<\/th><\/tr><\/thead><tbody><tr><td>par\u30d5\u30a1\u30a4\u30eb\u8aad\u307f\u8fbc\u307f\u6642\u9593<\/td><td>\u7d041\uff5e2\u79d2<\/td><\/tr><tr><td>\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf<\/td><td>\u7d0420MB<\/td><\/tr><tr><td>\u5358\u4e00\u5ea7\u6a19\u5909\u63db\u6642\u9593<\/td><td>&lt;1ms\uff08\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\uff09<\/td><\/tr><tr><td>\u5f80\u5fa9\u5909\u63db\u7cbe\u5ea6<\/td><td>\u7d040.09m<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4. \u307e\u3068\u3081<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u4eee\u5b9f\u88c5\u306e\u30dd\u30a4\u30f3\u30c8<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30c7\u30fc\u30bf\u7d71\u5408<\/strong>: 12\u500b\u306e\u5730\u9707\u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u7d2f\u7a4d\u30de\u30fc\u30b8\uff08217,891\u30e1\u30c3\u30b7\u30e5\uff09<br>\u3000\u3000\u3042\u304f\u307e\u3067\u3082\u5168\u4f53\u306e\u50be\u5411\u3092\u898b\u308b\u7269\u3067<strong>\u5b9f\u52d9\u306b\u306f\u4f7f\u3048\u307e\u305b\u3093<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u52b9\u7387\u7684\u306a\u691c\u7d22<\/strong>: Dictionary\u3067O(1)\u30e1\u30c3\u30b7\u30e5\u691c\u7d22<\/li>\n\n\n\n<li><strong>\u9ad8\u7cbe\u5ea6\u88dc\u6b63<\/strong>: \u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593 + \u53cd\u5fa9\u8a08\u7b97\u30673cm\u7cbe\u5ea6<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\u6d3b\u7528\u30b7\u30fc\u30f3<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>2000\u5e74\u304b\u30892024\u5e74\u307e\u3067\u306e\u5730\u9707\u306b\u3088\u308b\u5730\u6bbb\u5909\u52d5\u306e\u53ef\u8996\u5316<\/li>\n\n\n\n<li>\u5730\u6bbb\u5909\u52d5\u306e\u5f71\u97ff\u3092\u8003\u616e\u3057\u305f\u4f4d\u7f6e\u60c5\u5831\u30b5\u30fc\u30d3\u30b9<\/li>\n\n\n\n<li>\u5730\u56f3\u30a2\u30d7\u30ea\u3067\u306eJGD2000&#x2194;JGD2024\u5909\u63db\u306e\u53c2\u8003\u6bd4\u8f03\u30c7\u30fc\u30bf<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u53c2\u8003\u30ea\u30f3\u30af<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.gsi.go.jp\/sokuchikijun\/sokuchikijun41012.html\">\u56fd\u571f\u5730\u7406\u9662 PatchJGD<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.gsi.go.jp\/sokuchikijun\/sokuchikijun41003.html\">\u6e2c\u5730\u6210\u679c2011<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/vldb.gsi.go.jp\/sokuchi\/surveycalc\/\">\u6e2c\u91cf\u8a08\u7b97\u30b5\u30a4\u30c8<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.jisc.go.jp\/\">JIS X 0410 \u5730\u57df\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u6ce8\u610f\uff1a\u4fdd\u8a3c\u306f\u3042\u308a\u307e\u305b\u3093<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u3053\u306b\u8f09\u305b\u305f\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u3042\u304f\u307e\u3067\u3082\u53c2\u8003\u3067\u3059\u3002\u30de\u30fc\u30b8\u3057\u305f\u7d50\u679c\u3092\u4f7f\u7528\u3057\u3066\u5ea7\u6a19\u88dc\u6b63\u3092\u884c\u3063\u305f\u7d50\u679c\u306fJGD2000\u306b\u5730\u9707\u306b\u3088\u308b\u5730\u6bbb\u5909\u52d5\u3092\u52a0\u3048\u305f\u3082\u306e(<strong>JGD2011X<\/strong>)\u3067\u3001JGD2024\u306b\u8fd1\u3044\u7269\u3067\u3042\u308a\u307e\u3059\u304c\u56fd\u571f\u5730\u7406\u9662\u306e\u7d50\u679c\u3068\u306f\u7570\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u8ffd\u8a18: \u3088\u304f\u3042\u308b\u8cea\u554f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q1: \u306a\u305c\u6771\u5317\u5730\u65b9\u592a\u5e73\u6d0b\u6c96\u5730\u9707\u306e\u5f71\u97ff\u304c\u5927\u304d\u3044\u306e\u3067\u3059\u304b\uff1f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A: M9.0\u306e\u8d85\u5de8\u5927\u5730\u9707\u306b\u3088\u308a\u3001\u6700\u5927\u3067\u7d045.3m\uff08\u6c34\u5e73\u65b9\u5411\uff09\u306e\u5730\u6bbb\u5909\u52d5\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u672c\u5b9f\u88c5\u3067\u306f\u6700\u59277.09m\u306e\u88dc\u6b63\u5024\u3092\u78ba\u8a8d\u3057\u3066\u304a\u308a\u3001\u3053\u308c\u306f\u4e3b\u306b\u6771\u5317\u5730\u65b9\u592a\u5e73\u6d0b\u6c96\u5730\u9707\u306b\u3088\u308b\u3082\u306e\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q2: \u9006\u5909\u63db\u3067\u53cd\u5fa9\u8a08\u7b97\u304c\u5fc5\u8981\u306a\u7406\u7531\u306f\uff1f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A: \u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u306f\u975e\u7dda\u5f62\u306a\u5909\u63db\u306e\u305f\u3081\u3001\u9806\u5909\u63db\uff08JGD2000\u2192JGD2011\uff09\u306e\u9006\u95a2\u6570\u3092\u89e3\u6790\u7684\u306b\u6c42\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u306e\u305f\u3081\u3001\u30cb\u30e5\u30fc\u30c8\u30f3\u6cd5\u7684\u306a\u53cd\u5fa9\u8a08\u7b97\u3067\u8fd1\u4f3c\u89e3\u3092\u6c42\u3081\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q3: \u30e1\u30c3\u30b7\u30e5\u7bc4\u56f2\u5916\u306e\u5ea7\u6a19\u306f\u3069\u3046\u306a\u308a\u307e\u3059\u304b\uff1f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A: \u88dc\u6b63\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u5b58\u5728\u3057\u306a\u3044\u7bc4\u56f2\u3067\u306f\u88dc\u6b63\u91cf\u3092\u30bc\u30ed\u3068\u3057\u3066\u6271\u3044\u307e\u3059\u3002\u3064\u307e\u308a\u3001JGD2000\u5ea7\u6a19\u3068JGD2011\u5ea7\u6a19\u304c\u540c\u4e00\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q4: \u3088\u308a\u7d30\u304b\u3044\u30e1\u30c3\u30b7\u30e5\uff08\u56db\u6b21\u30e1\u30c3\u30b7\u30e5\u7b49\uff09\u306b\u5bfe\u5fdc\u3067\u304d\u307e\u3059\u304b\uff1f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A: \u53ef\u80fd\u3067\u3059\u3002\u56fd\u571f\u5730\u7406\u9662\u304c\u56db\u6b21\u30e1\u30c3\u30b7\u30e5\uff08\u7d04500m\u56db\u65b9\uff09\u306e\u30c7\u30fc\u30bf\u3092\u63d0\u4f9b\u3057\u3066\u3044\u308b\u5834\u5408\u3001\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u89e3\u6790\u90e8\u5206\u30929\u6841\u306b\u62e1\u5f35\u3059\u308b\u3053\u3068\u3067\u5bfe\u5fdc\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Q5: SemiDynaEXE\uff08\u6642\u7cfb\u5217\u88dc\u6b63\uff09\u3068\u306e\u9055\u3044\u306f\uff1f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A: \u672c\u5b9f\u88c5\u306f\u7d2f\u7a4d\u88dc\u6b63\uff082024\u5e74\u6642\u70b9\u306e\u7dcf\u5909\u52d5\u91cf\uff09\u3067\u3059\u3002SemiDynaEXE\u306f\u89b3\u6e2c\u5e74\u6708\u65e5\u3092\u8003\u616e\u3057\u3066\u4f59\u52b9\u5909\u52d5\u307e\u3067\u88dc\u6b63\u3057\u307e\u3059\u3002\u3088\u308a\u9ad8\u7cbe\u5ea6\u306a\u6e2c\u91cf\u306b\u306f\u3001SemiDynaEXE\u306e\u4f75\u7528\u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GeoDiveExa\u306b\u306fSemiDynaEXE\u3068\u540c\u7b49\u306eJGD2024\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u307e\u3057\u305f\uff1b\u53c2\u8003\u3000<a href=\"https:\/\/y42u.net\/tec001\/2025\/11\/06\/jgd2011%e3%81%a8jgd2024%e3%81%ae%e9%81%95%e3%81%84-geodiveexa%e3%81%aejgd2024%e5%af%be%e5%bf%9c2\/\">JGD2011\u3068JGD2024\u306e\u9055\u3044 \u2013 GeoDiveExa\u306eJGD2024\u5bfe\u5fdc(2)<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u95a2\u9023\u6295\u7a3f<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/y42u.net\/tec001\/2025\/11\/03\/%e5%9b%bd%e5%9c%9f%e5%9c%b0%e7%90%86%e9%99%a2patchjgd%e7%9b%b8%e5%bd%93%e3%81%ae%e5%9c%b0%e6%ae%bb%e5%a4%89%e5%8b%95%e8%a3%9c%e6%ad%a3jgd2011%e3%82%92%e5%ae%9f%e8%a3%85%e3%81%99%e3%82%8b1\/\">\u56fd\u571f\u5730\u7406\u9662PatchJGD\u76f8\u5f53\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u3092\u5b9f\u88c5\u3059\u308b(1)<\/a>\u3000\u5909\u63db\u30d7\u30ed\u30b0\u30e9\u30e0<\/li>\n\n\n\n<li><a href=\"https:\/\/y42u.net\/tec001\/2025\/11\/03\/%e5%9b%bd%e5%9c%9f%e5%9c%b0%e7%90%86%e9%99%a2patchjgd%e7%9b%b8%e5%bd%93%e3%81%ae%e5%9c%b0%e6%ae%bb%e5%a4%89%e5%8b%95%e8%a3%9c%e6%ad%a3jgd2011%e3%82%92%e5%ae%9f%e8%a3%85%e3%81%99%e3%82%8b2\/\">\u56fd\u571f\u5730\u7406\u9662PatchJGD\u76f8\u5f53\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u3092\u5b9f\u88c5\u3059\u308b(2)<\/a>\u3000\u53ef\u8996\u5316<\/li>\n\n\n\n<li><a href=\"https:\/\/y42u.net\/tec001\/2025\/11\/03\/%e5%9b%bd%e5%9c%9f%e5%9c%b0%e7%90%86%e9%99%a2patchjgd%e7%9b%b8%e5%bd%93%e3%81%ae%e5%9c%b0%e6%ae%bb%e5%a4%89%e5%8b%95%e8%a3%9c%e6%ad%a3jgd2011%e3%82%92%e5%ae%9f%e8%a3%85%e3%81%99%e3%82%8b%ef%bc%93\/\">\u56fd\u571f\u5730\u7406\u9662PatchJGD\u76f8\u5f53\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u3092\u5b9f\u88c5\u3059\u308b(\uff13)<\/a>\u3000\u30af\u30e9\u30b9\u30bf\u30fc\u5206\u5272\u53ef\u8996\u5316<\/li>\n\n\n\n<li><a href=\"https:\/\/y42u.net\/tec001\/2025\/11\/04\/%e5%9b%bd%e5%9c%9f%e5%9c%b0%e7%90%86%e9%99%a2tky2jgd%e8%a3%9c%e6%ad%a3%e7%9b%b8%e5%bd%93%e3%81%ae%e5%9c%b0%e6%ae%bb%e5%a4%89%e5%8b%95%e8%a3%9c%e6%ad%a3%e3%82%92%e5%ae%9f%e8%a3%85%e3%81%99%e3%82%8b1\/\">\u56fd\u571f\u5730\u7406\u9662Tky2Jgd\u88dc\u6b63\u76f8\u5f53\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u3092\u5b9f\u88c5\u3059\u308b(1)<\/a>\u3000\u5909\u63db\u30d7\u30ed\u30b0\u30e9\u30e0<\/li>\n\n\n\n<li><a href=\"https:\/\/y42u.net\/tec001\/2025\/11\/04\/%e5%9b%bd%e5%9c%9f%e5%9c%b0%e7%90%86%e9%99%a2tky2jgd%e8%a3%9c%e6%ad%a3%e7%9b%b8%e5%bd%93%e3%81%ae%e5%9c%b0%e6%ae%bb%e5%a4%89%e5%8b%95%e8%a3%9c%e6%ad%a3%e3%82%92%e5%ae%9f%e8%a3%85%e3%81%99%e3%82%8b2\/\">\u56fd\u571f\u5730\u7406\u9662Tky2Jgd\u88dc\u6b63\u76f8\u5f53\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u3092\u5b9f\u88c5\u3059\u308b(2)<\/a>\u3000\u53ef\u8996\u5316<\/li>\n\n\n\n<li><a href=\"https:\/\/y42u.net\/tec001\/2025\/11\/04\/jgd2011%e3%81%a8jgd2024%e3%81%ae%e9%81%95%e3%81%84-geodiveexa%e3%81%ae%e3%82%b8jgd2024%e5%af%be%e5%bf%9c\/\">JGD2011\u3068JGD2024\u306e\u9055\u3044 \u2013 GeoDiveExa\u306eJGD2024\u5bfe\u5fdc(1)<\/a>\u3000\u8aac\u660e<\/li>\n\n\n\n<li><a href=\"https:\/\/y42u.net\/tec001\/2025\/11\/06\/jgd2011%e3%81%a8jgd2024%e3%81%ae%e9%81%95%e3%81%84-geodiveexa%e3%81%aejgd2024%e5%af%be%e5%bf%9c2\/\">JGD2011\u3068JGD2024\u306e\u9055\u3044 \u2013 GeoDiveExa\u306eJGD2024\u5bfe\u5fdc(2)<\/a>\u3000\u5909\u63db\u30d7\u30ed\u30b0\u30e9\u30e0<\/li>\n\n\n\n<li><a href=\"https:\/\/y42u.net\/tec001\/2025\/11\/06\/jgd2011%e3%81%a8jgd2024%e3%81%ae%e9%81%95%e3%81%84-geodiveexa%e3%81%aejgd2024%e5%af%be%e5%bf%9c3\/\">JGD2011\u3068JGD2024\u306e\u9055\u3044 \u2013 GeoDiveExa\u306eJGD2024\u5bfe\u5fdc(3)<\/a>\u3000\u53ef\u8996\u5316<\/li>\n\n\n\n<li><a href=\"https:\/\/y42u.net\/tec001\/2025\/11\/06\/%e6%97%a5%e6%9c%ac%e3%81%ae%e6%b8%ac%e5%9c%b0%e7%b3%bb%e3%81%ae%e5%a4%89%e9%81%b7%e3%81%a8%e5%ae%9f%e5%8b%99%e5%af%be%e5%bf%9c%ef%bc%9atokyo%e3%81%8b%e3%82%89jgd2024b%e3%81%be%e3%81%a7\/\">&#x1f5fe; \u65e5\u672c\u306e\u6e2c\u5730\u7cfb\u306e\u5909\u9077\u3068\u5b9f\u52d9\u5bfe\u5fdc\uff1aTOKYO\u304b\u3089<strong>jgd2024b<\/strong>\u307e\u3067<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/y42u.net\/tec001\/2025\/11\/15\/tokyo-jgd2024%e3%81%be%e3%81%a7%e3%81%ae%e5%9c%b0%e9%9c%87%e5%a4%89%e5%8b%95%e3%83%91%e3%83%a9%e3%83%a1%e3%83%bc%e3%82%bf%e3%81%ae%e5%8f%af%e8%a6%96%e5%8c%96\/\">JGD2000 ~JGD2024\u307e\u3067\u306e\u5730\u9707\u5909\u52d5\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u53ef\u8996\u5316<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>2003\u5e74\u304b\u30892024\u5e74\u307e\u3067\u306e\u5730\u9707\u306b\u3088\u308b\u5730\u6bbb\u5909\u52d5\u91cf\u3092\u53ef\u8996\u5316\u3057\u305f\u7d50\u679c\u3002 \u306f\u3058\u3081\u306b \u56fd\u571f\u5730\u7406\u9662\u304c\u63d0\u4f9b\u3059\u308b\u6e2c\u5730\u6210\u679c2011\uff08JGD2011\uff09\u306f\u30012011\u5e74\u6771\u5317\u5730\u65b9\u592a\u5e73\u6d0b\u6c96\u5730\u9707\u3092\u306f\u3058\u3081\u3068\u3059\u308b\u5927\u898f\u6a21\u5730\u9707\u306b\u3088\u308b\u5730\u6bbb\u5909\u52d5\u3092\u53cd\u6620\u3057\u305f\u6e2c\u5730 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2611,"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":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[9,10,145,1],"tags":[105,181,174,33,176,175],"class_list":["post-2597","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-func","category-hist","category-netmaui","category-uncategorized","tag-jgd2011","tag-jgd2024","tag-patchjgd","tag-33","tag-176","tag-175"],"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\/03_%E7%B7%8F%E7%A7%BB%E5%8B%95%E9%87%8F_cut.png?fit=433%2C428&ssl=1","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/posts\/2597","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=2597"}],"version-history":[{"count":18,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/posts\/2597\/revisions"}],"predecessor-version":[{"id":3017,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/posts\/2597\/revisions\/3017"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/media\/2611"}],"wp:attachment":[{"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/media?parent=2597"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/categories?post=2597"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/tags?post=2597"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}