{"id":2649,"date":"2025-11-04T09:50:23","date_gmt":"2025-11-04T00:50:23","guid":{"rendered":"https:\/\/y42u.net\/tec001\/?p=2649"},"modified":"2025-11-06T17:57:14","modified_gmt":"2025-11-06T08:57:14","slug":"%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","status":"publish","type":"post","link":"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\/","title":{"rendered":"\u56fd\u571f\u5730\u7406\u9662Tky2Jgd\u88dc\u6b63\u76f8\u5f53\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u3092\u5b9f\u88c5\u3059\u308b(1)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">patchJGD\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u3092\u4f5c\u6210\u3057\u305f\u306e\u3067\u3001\u540c\u69d8\u306bTOKYO\u6e2c\u5730\u7cfb\u7528\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u3092\u5b9f\u88c5\u3057\u307e\u3057\u305f\u3002\u4ee5\u4e0b\u306e\u30d6\u30ed\u30b0\u306fGitHub-Copilot(AI)\u3067\u4f5c\u6210\u3057\u305f\u3082\u306e\u3067\u3059\u304c\u3001\u65e9\u3044\u30fb\u7c21\u5358\u30fb\u4fbf\u5229\u3067\u3059\u306d\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"1024\" height=\"879\" 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-1.png?resize=1024%2C879&#038;ssl=1\" alt=\"\" class=\"wp-image-2650\" 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-1.png?resize=1024%2C879&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-1.png?resize=300%2C258&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-1.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-1.png?resize=768%2C659&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-1.png?resize=1536%2C1319&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-1.png?w=1712&amp;ssl=1 1712w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Tokyo\u6e2c\u5730\u7cfb\u21d4JGD2000\u5ea7\u6a19\u5909\u63db\u306e\u5b9f\u88c5<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">\u6982\u8981<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u8a18\u4e8b\u3067\u306f\u3001.NET MAUI\uff08iOS\uff09\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u304a\u3044\u3066\u3001Tokyo\u6e2c\u5730\u7cfb\uff08\u65e5\u672c\u6e2c\u5730\u7cfb\uff09\u3068JGD2000\uff08\u4e16\u754c\u6e2c\u5730\u7cfb\uff09\u9593\u306e\u9ad8\u7cbe\u5ea6\u306a\u5ea7\u6a19\u5909\u63db\u3092\u5b9f\u88c5\u3057\u305f\u65b9\u6cd5\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u56fd\u571f\u5730\u7406\u9662\u304c\u63d0\u4f9b\u3059\u308b\u300cTKY2JGD\u300d\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u6700\u5927\u00b1\u6570\u5341\u79d2\u306e\u88dc\u6b63\u7cbe\u5ea6\u3092\u5b9f\u73fe\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u80cc\u666f<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u6e2c\u5730\u7cfb\u306e\u9055\u3044<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u65e5\u672c\u3067\u306f\u6b74\u53f2\u7684\u306b\u4ee5\u4e0b\u306e\u6e2c\u5730\u7cfb\u304c\u4f7f\u7528\u3055\u308c\u3066\u304d\u307e\u3057\u305f\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u6e2c\u5730\u7cfb<\/th><th>\u6955\u5186\u4f53<\/th><th>\u4f7f\u7528\u671f\u9593<\/th><th>\u5099\u8003<\/th><\/tr><\/thead><tbody><tr><td><strong>Tokyo\u6e2c\u5730\u7cfb<\/strong><\/td><td>Bessel 1841<\/td><td>\u660e\u6cbb\u6642\u4ee3\uff5e2002\u5e74<\/td><td>\u65e5\u672c\u72ec\u81ea\u306e\u6e2c\u5730\u7cfb<\/td><\/tr><tr><td><strong>JGD2000<\/strong><\/td><td>GRS80<\/td><td>2002\u5e74\uff5e2011\u5e74<\/td><td>\u4e16\u754c\u6e2c\u5730\u7cfb\u3078\u306e\u79fb\u884c<\/td><\/tr><tr><td><strong>JGD2011<\/strong><\/td><td>GRS80<\/td><td>2011\u5e74\uff5e\u73fe\u5728<\/td><td>\u6771\u65e5\u672c\u5927\u9707\u707d\u5f8c\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u5909\u63db\u306e\u5fc5\u8981\u6027<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u53e4\u3044\u5730\u56f3\u30c7\u30fc\u30bf\u306fTokyo\u6e2c\u5730\u7cfb\u3067\u4f5c\u6210\u3055\u308c\u3066\u3044\u308b<\/li>\n\n\n\n<li>\u73fe\u5728\u306eGPS\u6a5f\u5668\u306fWGS84\/JGD2011\u3092\u4f7f\u7528<\/li>\n\n\n\n<li>\u4e21\u8005\u9593\u3067<strong>\u6570\u767e\u30e1\u30fc\u30c8\u30eb\u306e\u30ba\u30ec<\/strong>\u304c\u767a\u751f<\/li>\n\n\n\n<li>\u9ad8\u7cbe\u5ea6\u306a\u6e2c\u91cf\u30fb\u4f4d\u7f6e\u60c5\u5831\u30b5\u30fc\u30d3\u30b9\u306b\u306f\u6b63\u78ba\u306a\u5909\u63db\u304c\u5fc5\u9808<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u5b9f\u88c5\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u5ea7\u6a19\u5909\u63db\u306e\u6d41\u308c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Tokyo\u6e2c\u5730\u7cfb\n    \u2193 (1) Datum\u5909\u63db\uff08Bessel \u2192 GRS80\uff09\nJGD2000\uff08\u88dc\u6b63\u524d\uff09\n    \u2193 (2) TKY2JGD\u88dc\u6b63\uff08\u00b1\u6570\u5341\u79d2\uff09\nJGD2000\uff08\u88dc\u6b63\u5f8c\uff09<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u4f7f\u7528\u3059\u308b\u56fd\u571f\u5730\u7406\u9662\u30d1\u30e9\u30e1\u30fc\u30bf<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>TKY2JGD.par<\/strong> (11.7MB)<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u65e5\u672c\u5168\u56fd\u3092\u7d041km\u56db\u65b9\u306e\u30e1\u30c3\u30b7\u30e5\u306b\u5206\u5272<\/li>\n\n\n\n<li>\u5404\u30e1\u30c3\u30b7\u30e5\u306e\u7def\u5ea6\u30fb\u7d4c\u5ea6\u88dc\u6b63\u5024\uff08\u79d2\u5358\u4f4d\uff09<\/li>\n\n\n\n<li>\u7d04\u6570\u4e07\u30e1\u30c3\u30b7\u30e5\u306e\u30c7\u30fc\u30bf<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u30b3\u30fc\u30c9\u5b9f\u88c5<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u69cb\u6210<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>GeoDive2Vsc\/\n\u251c\u2500\u2500 CommonSrc\/\n\u2502   \u2514\u2500\u2500 Models\/\n\u2502       \u251c\u2500\u2500 MeshCodeUtility.cs          # \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u8a08\u7b97\uff08\u5171\u901a\uff09\n\u2502       \u251c\u2500\u2500 TokyoJGDCorrection.cs       # Tokyo\u21d4JGD2000\u5909\u63db\n\u2502       \u2514\u2500\u2500 JGD2011Correction.cs        # JGD2000\u21d4JGD2011\u5909\u63db\n\u2514\u2500\u2500 Exa1vsc\/\n    \u2514\u2500\u2500 Resources\/\n        \u2514\u2500\u2500 Raw\/\n            \u2514\u2500\u2500 TKY2JGD.par             # \u56fd\u571f\u5730\u7406\u9662\u30d1\u30e9\u30e1\u30fc\u30bf<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. MeshCodeUtility.cs &#8211; \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u8a08\u7b97<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u56fd\u571f\u5730\u7406\u9662\u306e\u6a19\u6e96\u5730\u57df\u30e1\u30c3\u30b7\u30e5\uff08JIS X 0410\uff09\u3092\u6271\u3046\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30af\u30e9\u30b9\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:12px\"><code>namespace CommonSrc.Models\n{\n    \/\/\/ &lt;summary&gt;\n    \/\/\/ \u56fd\u571f\u5730\u7406\u9662\u306e\u6a19\u6e96\u5730\u57df\u30e1\u30c3\u30b7\u30e5\uff08JIS X 0410\uff09\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30af\u30e9\u30b9.\n    \/\/\/ 3\u6b21\u30e1\u30c3\u30b7\u30e5\uff08\u7d041km\u56db\u65b9\uff09\u306e\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u8a08\u7b97\u3068\u5ea7\u6a19\u5909\u63db\u3092\u63d0\u4f9b\u3002\n    \/\/\/ &lt;\/summary&gt;\n    public static class MeshCodeUtility\n    {\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ \u7def\u5ea6\u7d4c\u5ea6\u304b\u30893\u6b21\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\uff088\u6841\uff09\u3092\u8a08\u7b97.\n        \/\/\/ &lt;\/summary&gt;\n        public static string LatLonToMeshCode(double lat, double lon)\n        {\n            \/\/ 1\u6b21\u30e1\u30c3\u30b7\u30e5\uff08\u7d0480km\u56db\u65b9\uff09\n            int mesh1Lat = (int)(lat * 1.5);\n            int mesh1Lon = (int)lon - 100;\n\n            \/\/ 2\u6b21\u30e1\u30c3\u30b7\u30e5\uff08\u7d0410km\u56db\u65b9\uff09\n            double lat2 = (lat * 1.5 - mesh1Lat) * 8.0;\n            double lon2 = (lon - 100.0 - mesh1Lon) * 8.0;\n            int mesh2Lat = (int)lat2;\n            int mesh2Lon = (int)lon2;\n\n            \/\/ 3\u6b21\u30e1\u30c3\u30b7\u30e5\uff08\u7d041km\u56db\u65b9\uff09\n            double lat3 = (lat2 - mesh2Lat) * 10.0;\n            double lon3 = (lon2 - mesh2Lon) * 10.0;\n            int mesh3Lat = (int)lat3;\n            int mesh3Lon = (int)lon3;\n\n            return $\"{mesh1Lat:D2}{mesh1Lon:D2}{mesh2Lat}{mesh2Lon}{mesh3Lat}{mesh3Lon}\";\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ \u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593 - 4\u70b9\u306e\u5024\u304b\u3089\u4efb\u610f\u306e\u4f4d\u7f6e\u306e\u5024\u3092\u88dc\u9593.\n        \/\/\/ &lt;\/summary&gt;\n        public static double BilinearInterpolation(\n            double v00, double v10, double v01, double v11, \n            double s, double t)\n        {\n            return ((1 - s) * (1 - t) * v00) +\n                   (s * (1 - t) * v10) +\n                   ((1 - s) * t * v01) +\n                   (s * t * v11);\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u30dd\u30a4\u30f3\u30c8:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u306f\u7def\u5ea6\u7d4c\u5ea6\u30928\u6841\u306e\u6570\u5024\u3067\u8868\u73fe<\/li>\n\n\n\n<li>\u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593\u30674\u9685\u306e\u30e1\u30c3\u30b7\u30e5\u304b\u3089\u4efb\u610f\u306e\u70b9\u306e\u88dc\u6b63\u5024\u3092\u8a08\u7b97<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3. TokyoJGDCorrection.cs &#8211; \u5ea7\u6a19\u5909\u63db\u306e\u6838\u5fc3<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:12px\"><code>namespace CommonSrc.Models\n{\n    using System;\n    using System.Collections.Generic;\n    using ExmRtkMrg1.Services;\n\n    \/\/\/ &lt;summary&gt;\n    \/\/\/ Tokyo\u6e2c\u5730\u7cfb\u21d4JGD2000\u5909\u63db\u88dc\u6b63\u30af\u30e9\u30b9\uff08\u56fd\u571f\u5730\u7406\u9662TKY2JGD\u76f8\u5f53\uff09.\n    \/\/\/ &lt;\/summary&gt;\n    public class TokyoJGDCorrection\n    {\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u3092\u30ad\u30fc\u3068\u3057\u305f\u88dc\u6b63\u5024\u8f9e\u66f8\uff08\u9ad8\u901f\u691c\u7d22\u7528: O(1)\uff09.\n        \/\/\/ &lt;\/summary&gt;\n        private static readonly Dictionary&lt;string, MeshCorrection&gt; \n            meshCorrectionData = 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        public class MeshCorrection\n        {\n            public double DeltaLat { get; set; }  \/\/ \u7def\u5ea6\u88dc\u6b63\u5024\uff08\u79d2\uff09\n            public double DeltaLon { get; set; }  \/\/ \u7d4c\u5ea6\u88dc\u6b63\u5024\uff08\u79d2\uff09\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ Tokyo\u6e2c\u5730\u7cfb\u304b\u3089JGD2000\u3078\u306e\u5909\u63db\uff08\u88dc\u6b63\u9069\u7528\uff09.\n        \/\/\/ &lt;\/summary&gt;\n        public static (double lat, double lon) TokyoToJGD2000WithCorrection(\n            double tokyoLat, double tokyoLon)\n        {\n            try\n            {\n                \/\/ 1. \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u3092\u8a08\u7b97\n                string meshCode = MeshCodeUtility.LatLonToMeshCode(tokyoLat, tokyoLon);\n\n                \/\/ 2. 4\u9685\u306e\u30e1\u30c3\u30b7\u30e5\u306e\u88dc\u6b63\u5024\u3092\u53d6\u5f97\n                var corrections = GetFourCornerCorrections(meshCode);\n                if (corrections == null)\n                {\n                    \/\/ \u88dc\u6b63\u30c7\u30fc\u30bf\u304c\u306a\u3044\u5834\u5408\u306fDatum\u5909\u63db\u306e\u307f\n                    return (tokyoLat, tokyoLon);\n                }\n\n                \/\/ 3. \u30e1\u30c3\u30b7\u30e5\u5185\u306e\u76f8\u5bfe\u4f4d\u7f6e\u3092\u8a08\u7b97\uff080.0\uff5e1.0\uff09\n                var (s, t) = MeshCodeUtility.GetRelativePosition(\n                    tokyoLat, tokyoLon, meshCode);\n\n                \/\/ 4. \u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593\u3067\u88dc\u6b63\u5024\u3092\u8a08\u7b97\n                double deltaLatSec = MeshCodeUtility.BilinearInterpolation(\n                    corrections.BottomLeft.DeltaLat,\n                    corrections.BottomRight.DeltaLat,\n                    corrections.TopLeft.DeltaLat,\n                    corrections.TopRight.DeltaLat,\n                    s, t);\n\n                double deltaLonSec = MeshCodeUtility.BilinearInterpolation(\n                    corrections.BottomLeft.DeltaLon,\n                    corrections.BottomRight.DeltaLon,\n                    corrections.TopLeft.DeltaLon,\n                    corrections.TopRight.DeltaLon,\n                    s, t);\n\n                \/\/ 5. \u79d2\u3092\u5ea6\u306b\u5909\u63db\u3057\u3066\u9069\u7528\n                double correctedLat = tokyoLat + (deltaLatSec \/ 3600.0);\n                double correctedLon = tokyoLon + (deltaLonSec \/ 3600.0);\n\n                Log.Debug($\"Tokyo\u2192JGD2000\u88dc\u6b63: MeshCode={meshCode}, \" +\n                         $\"\u0394Lat={deltaLatSec:F3}\u79d2, \u0394Lon={deltaLonSec:F3}\u79d2\");\n\n                return (correctedLat, correctedLon);\n            }\n            catch (Exception ex)\n            {\n                Log.Debug($\"Tokyo\u2192JGD2000\u88dc\u6b63\u30a8\u30e9\u30fc: {ex.Message}\");\n                return (tokyoLat, tokyoLon);\n            }\n        }\n\n        \/\/\/ &lt;summary&gt;\n        \/\/\/ JGD2000\u304b\u3089Tokyo\u6e2c\u5730\u7cfb\u3078\u306e\u5909\u63db\uff08\u9006\u88dc\u6b63\uff09.\n        \/\/\/ &lt;\/summary&gt;\n        public static (double lat, double lon) JGD2000ToTokyoWithCorrection(\n            double jgd2000Lat, double jgd2000Lon)\n        {\n            \/\/ \u53cd\u5fa9\u8a08\u7b97\u3067\u9006\u5909\u63db\uff08\u6700\u59275\u56de\uff09\n            double tokyoLat = jgd2000Lat;\n            double tokyoLon = jgd2000Lon;\n\n            for (int i = 0; i &lt; 5; i++)\n            {\n                var (forwardLat, forwardLon) = \n                    TokyoToJGD2000WithCorrection(tokyoLat, tokyoLon);\n\n                double diffLat = jgd2000Lat - forwardLat;\n                double diffLon = jgd2000Lon - forwardLon;\n\n                tokyoLat += diffLat;\n                tokyoLon += diffLon;\n\n                \/\/ \u53ce\u675f\u5224\u5b9a\uff080.001\u79d2 \u2248 3cm\uff09\n                if (Math.Abs(diffLat * 3600) &lt; 0.001 &amp;&amp; \n                    Math.Abs(diffLon * 3600) &lt; 0.001)\n                {\n                    break;\n                }\n            }\n\n            return (tokyoLat, tokyoLon);\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u30dd\u30a4\u30f3\u30c8:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u8a08\u7b97<\/strong>: \u7def\u5ea6\u7d4c\u5ea6\u21928\u6841\u306e\u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9<\/li>\n\n\n\n<li><strong>4\u9685\u88dc\u6b63\u5024\u53d6\u5f97<\/strong>: \u5bfe\u8c61\u30e1\u30c3\u30b7\u30e5\u3068\u96a3\u63a53\u30e1\u30c3\u30b7\u30e5\u306e\u88dc\u6b63\u5024<\/li>\n\n\n\n<li><strong>\u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593<\/strong>: 4\u9685\u306e\u5024\u304b\u3089\u4efb\u610f\u70b9\u306e\u88dc\u6b63\u5024\u3092\u7b97\u51fa<\/li>\n\n\n\n<li><strong>\u9006\u5909\u63db<\/strong>: \u53cd\u5fa9\u8a08\u7b97\u3067\u53ce\u675f\uff08\u6700\u59275\u56de\u3001\u7cbe\u5ea63cm\uff09<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">4. \u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/\/ &lt;summary&gt;\n\/\/\/ \u56fd\u571f\u5730\u7406\u9662\u306eTKY2JGD\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3080.\n\/\/\/ &lt;\/summary&gt;\npublic static void LoadTKY2JGDParameters(string parFilePath)\n{\n    try\n    {\n        Log.Info($\"TKY2JGD\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u8aad\u307f\u8fbc\u307f\u958b\u59cb: {parFilePath}\");\n\n        \/\/ \u30ea\u30bd\u30fc\u30b9\u304b\u3089\u8aad\u307f\u8fbc\u307f\n        var assembly = System.Reflection.Assembly.GetCallingAssembly();\n        var resourceNames = new&#91;]\n        {\n            $\"{assembly.GetName().Name}.Resources.Raw.{parFilePath}\",\n            $\"ExmRtkMrg1.Resources.Raw.{parFilePath}\",\n            $\"GeoDiveExa1.Resources.Raw.{parFilePath}\",\n        };\n\n        System.IO.Stream? stream = null;\n        foreach (var resourceName in resourceNames)\n        {\n            stream = assembly.GetManifestResourceStream(resourceName);\n            if (stream != null)\n            {\n                Log.Info($\"\u30ea\u30bd\u30fc\u30b9\u8aad\u307f\u8fbc\u307f\u6210\u529f: {resourceName}\");\n                break;\n            }\n        }\n\n        using (stream)\n        {\n            using var reader = new System.IO.StreamReader(\n                stream, System.Text.Encoding.GetEncoding(\"shift_jis\"));\n\n            \/\/ \u30d8\u30c3\u30c0\u30fc2\u884c\u3092\u30b9\u30ad\u30c3\u30d7\n            for (int i = 0; i &lt; 2; i++)\n            {\n                reader.ReadLine();\n            }\n\n            int lineCount = 0;\n            meshCorrectionData.Clear();\n\n            \/\/ \u30c7\u30fc\u30bf\u8aad\u307f\u8fbc\u307f\n            while (!reader.EndOfStream)\n            {\n                var line = reader.ReadLine();\n                if (string.IsNullOrWhiteSpace(line)) continue;\n\n                var parts = line.Split(new&#91;] { ' ' }, \n                    StringSplitOptions.RemoveEmptyEntries);\n                if (parts.Length &lt; 3) continue;\n\n                string meshCode = parts&#91;0];\n                double dB = double.Parse(parts&#91;1]);  \/\/ \u7def\u5ea6\u88dc\u6b63\u91cf\uff08\u79d2\uff09\n                double dL = double.Parse(parts&#91;2]);  \/\/ \u7d4c\u5ea6\u88dc\u6b63\u91cf\uff08\u79d2\uff09\n\n                \/\/ \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u3092\u30ad\u30fc\u3068\u3057\u3066\u8f9e\u66f8\u306b\u767b\u9332\uff08O(1)\u691c\u7d22\uff09\n                meshCorrectionData&#91;meshCode] = new MeshCorrection\n                {\n                    DeltaLat = dB,\n                    DeltaLon = dL,\n                };\n\n                lineCount++;\n            }\n\n            Log.Info($\"TKY2JGD\u30d1\u30e9\u30e1\u30fc\u30bf\u8aad\u307f\u8fbc\u307f\u5b8c\u4e86: {lineCount}\u4ef6\");\n            Log.Info($\"\u8f9e\u66f8\u30b5\u30a4\u30ba: {meshCorrectionData.Count}\u4ef6\");\n        }\n    }\n    catch (Exception ex)\n    {\n        Log.Info($\"TKY2JGD\u30d1\u30e9\u30e1\u30fc\u30bf\u8aad\u307f\u8fbc\u307f\u30a8\u30e9\u30fc: {ex.Message}\");\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\uff08TKY2JGD.par\uff09:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>JGD2000-TokyoDatum Ver.2.1.2\nMeshCode   dB(sec)   dL(sec)\n30340000   -13.234   11.567\n30340001   -13.189   11.542\n...<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">5. \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u8d77\u52d5\u6642\u306e\u521d\u671f\u5316<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:12px\"><code>\/\/ App.xaml.cs\npublic partial class App : Application\n{\n    public App()\n    {\n        InitializeComponent();\n\n        \/\/ \u30a2\u30d7\u30ea\u8d77\u52d5\u6642\u306b\u4e00\u5ea6\u3060\u3051\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u3080\n        Task.Run(() =&gt;\n        {\n            \/\/ PatchJGD\u30d1\u30e9\u30e1\u30fc\u30bf\uff08JGD2000\u21d4JGD2011\uff09\n            JGD2011Correction.LoadPatchJGDParameters(\"merged_cumulative.par\");\n\n            \/\/ TKY2JGD\u30d1\u30e9\u30e1\u30fc\u30bf\uff08Tokyo\u21d4JGD2000\uff09\n            TokyoJGDCorrection.LoadTKY2JGDParameters(\"TKY2JGD.par\");\n        });\n\n        MainPage = new AppShell();\n    }\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Dictionary\u306b\u3088\u308b\u9ad8\u901f\u691c\u7d22<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>private static readonly Dictionary&lt;string, MeshCorrection&gt; meshCorrectionData;<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>O(1)\u306e\u691c\u7d22\u901f\u5ea6<\/strong>: \u30e1\u30c3\u30b7\u30e5\u30b3\u30fc\u30c9\u3092\u30ad\u30fc\u3068\u3057\u305f\u8f9e\u66f8<\/li>\n\n\n\n<li><strong>\u30e1\u30e2\u30ea\u52b9\u7387<\/strong>: \u7d04\u6570\u4e07\u4ef6\u306e\u30c7\u30fc\u30bf\u3092\u52b9\u7387\u7684\u306b\u683c\u7d0d<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. \u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593\u306b\u3088\u308b\u7cbe\u5ea6\u5411\u4e0a<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">4\u9685\u306e\u30e1\u30c3\u30b7\u30e5\u304b\u3089\u4efb\u610f\u306e\u70b9\u306e\u88dc\u6b63\u5024\u3092\u8a08\u7b97\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>(mesh_lat, mesh_lon)         (mesh_lat, mesh_lon+1)\n    +----------*--------------+\n    |          |              |\n    |      (target_lat, lon)  |\n    |          |              |\n    +----------+--------------+\n(mesh_lat+1, mesh_lon)   (mesh_lat+1, mesh_lon+1)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. \u53cd\u5fa9\u8a08\u7b97\u306b\u3088\u308b\u9006\u5909\u63db<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u53ce\u675f\u3059\u308b\u307e\u3067\u6700\u59275\u56de\u53cd\u5fa9\nfor (int i = 0; i &lt; 5; i++)\n{\n    \/\/ \u9806\u5909\u63db\u3057\u3066\u5dee\u5206\u3092\u8a08\u7b97\n    var (forwardLat, forwardLon) = TokyoToJGD2000WithCorrection(...);\n\n    \/\/ \u53ce\u675f\u5224\u5b9a: 0.001\u79d2\uff08\u7d043cm\uff09\u4ee5\u4e0b\n    if (Math.Abs(diffLat * 3600) &lt; 0.001 &amp;&amp; ...) break;\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u6e2c\u5b9a\u7d50\u679c<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u7cbe\u5ea6\u691c\u8a3c<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u5909\u63db\u65b9\u6cd5<\/th><th>\u8aa4\u5dee\u7bc4\u56f2<\/th><th>\u5099\u8003<\/th><\/tr><\/thead><tbody><tr><td>Datum\u5909\u63db\u306e\u307f<\/td><td>\u00b1\u6570\u767em<\/td><td>\u6955\u5186\u4f53\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u5dee\u306e\u307f\u8003\u616e<\/td><\/tr><tr><td><strong>TKY2JGD\u88dc\u6b63\u9069\u7528<\/strong><\/td><td><strong>\u00b1\u6570\u79d2\uff08\u00b1\u6570\u5341m\uff09<\/strong><\/td><td>\u56fd\u571f\u5730\u7406\u9662\u30d1\u30e9\u30e1\u30fc\u30bf\u4f7f\u7528<\/td><\/tr><tr><td>\u53cd\u5fa9\u8a08\u7b97\uff08\u9006\u5909\u63db\uff09<\/td><td>\u00b10.001\u79d2\uff08\u00b13cm\uff09<\/td><td>5\u56de\u4ee5\u5185\u3067\u53ce\u675f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u51e6\u7406\u901f\u5ea6<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u521d\u671f\u8aad\u307f\u8fbc\u307f<\/strong>: \u7d041\u79d2\uff08\u6570\u4e07\u30e1\u30c3\u30b7\u30e5\uff09<\/li>\n\n\n\n<li><strong>\u5ea7\u6a19\u5909\u63db<\/strong>: &lt; 1ms\uff08Dictionary\u691c\u7d22 + \u30d0\u30a4\u30ea\u30cb\u30a2\uff09<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u5b9f\u88c5\u4e0a\u306e\u5de5\u592b<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. \u52d5\u7684\u30ea\u30bd\u30fc\u30b9\u540d\u89e3\u6c7a<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u8907\u6570\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\uff08TestProjNet, Exa1vsc, Gps1vsc\u7b49\uff09\u3067\u5171\u901a\u30b3\u30fc\u30c9\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u3001\u5b9f\u884c\u6642\u306b\u30a2\u30bb\u30f3\u30d6\u30ea\u540d\u3092\u691c\u51fa\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>var assembly = System.Reflection.Assembly.GetCallingAssembly();\nvar resourceNames = new&#91;]\n{\n    $\"{assembly.GetName().Name}.Resources.Raw.{parFilePath}\",\n    $\"ExmRtkMrg1.Resources.Raw.{parFilePath}\",\n    $\"GeoDiveExa1.Resources.Raw.{parFilePath}\",\n};<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. \u30ed\u30b0\u51fa\u529b\u306e\u7d71\u4e00<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Exa1vsc\u306e\u6a19\u6e96\u30ed\u30b0\u30b7\u30b9\u30c6\u30e0\uff08Log.Info, Log.Debug\uff09\u3092\u76f4\u63a5\u4f7f\u7528\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Log.Info($\"TKY2JGD\u30d1\u30e9\u30e1\u30fc\u30bf\u8aad\u307f\u8fbc\u307f\u958b\u59cb: {parFilePath}\");\nLog.Debug($\"Tokyo\u2192JGD2000\u88dc\u6b63: \u0394Lat={deltaLatSec:F3}\u79d2\");<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. \u30b3\u30fc\u30c9\u5171\u901a\u5316<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">MeshCodeUtility\u30af\u30e9\u30b9\u3067\u7d04300\u884c\u306e\u30b3\u30fc\u30c9\u91cd\u8907\u3092\u89e3\u6d88\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>TokyoJGDCorrection.cs: 5\u3064\u306e\u5171\u901a\u30e1\u30bd\u30c3\u30c9\u3092MeshCodeUtility\u306b\u79fb\u52d5<\/li>\n\n\n\n<li>JGD2011Correction.cs: \u540c\u3058\u304f5\u3064\u306e\u5171\u901a\u30e1\u30bd\u30c3\u30c9\u3092\u524a\u9664<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u307e\u3068\u3081<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b9f\u88c5\u306e\u30dd\u30a4\u30f3\u30c8<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">&#x2705; <strong>\u56fd\u571f\u5730\u7406\u9662\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u6d3b\u7528<\/strong> &#8211; TKY2JGD.par\uff0811.7MB\uff09\u3067\u00b1\u6570\u79d2\u306e\u7cbe\u5ea6<br>&#x2705; <strong>\u9ad8\u901f\u691c\u7d22<\/strong> &#8211; Dictionary\u3067O(1)\u691c\u7d22<br>&#x2705; <strong>\u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593<\/strong> &#8211; 4\u9685\u306e\u30e1\u30c3\u30b7\u30e5\u304b\u3089\u4efb\u610f\u70b9\u306e\u88dc\u6b63\u5024\u3092\u8a08\u7b97<br>&#x2705; <strong>\u53cd\u5fa9\u8a08\u7b97<\/strong> &#8211; \u9006\u5909\u63db\u30923cm\u7cbe\u5ea6\u3067\u5b9f\u73fe<br>&#x2705; <strong>\u30b3\u30fc\u30c9\u5171\u901a\u5316<\/strong> &#8211; MeshCodeUtility\u3067\u7d04300\u884c\u524a\u6e1b<\/p>\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\u306b\u3064\u3044\u3066\u4f55\u3089\u4fdd\u8a3c\u306f\u3042\u308a\u307e\u305b\u3093\u3057\u3001\u56fd\u571f\u5730\u7406\u9662\u306e\u7d50\u679c\u3068\u540c\u3058\u3068\u306f\u9650\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4eca\u5f8c\u306e\u5c55\u958b<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>JGD2011\u21d4JGD2024\u5909\u63db\u3078\u306e\u62e1\u5f35<\/li>\n\n\n\n<li>\u6a19\u9ad8\u88dc\u6b63\u306e\u7d71\u5408<\/li>\n\n\n\n<li>GPU\u6d3b\u7528\u306b\u3088\u308b\u5927\u91cf\u5ea7\u6a19\u306e\u9ad8\u901f\u5909\u63db<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u53c2\u8003\u8cc7\u6599<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.gsi.go.jp\/\">\u56fd\u571f\u5730\u7406\u9662 &#8211; \u6e2c\u91cf\u6210\u679c\u96fb\u5b50\u7d0d\u54c1\u8981\u9818<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/vldb.gsi.go.jp\/sokuchi\/surveycalc\/tky2jgd\/\">TKY2JGD\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb<\/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<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8457\u8005<\/strong>: HWE_Y4U<br><strong>\u4f5c\u6210\u65e5<\/strong>: 2025\u5e741\u67084\u65e5<br><strong>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8<\/strong>: GeoDive2Vsc &#8211; .NET MAUI\u5730\u7269\u8abf\u67fb\u652f\u63f4\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3<\/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<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>patchJGD\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u3092\u4f5c\u6210\u3057\u305f\u306e\u3067\u3001\u540c\u69d8\u306bTOKYO\u6e2c\u5730\u7cfb\u7528\u306e\u5730\u6bbb\u5909\u52d5\u88dc\u6b63\u3092\u5b9f\u88c5\u3057\u307e\u3057\u305f\u3002\u4ee5\u4e0b\u306e\u30d6\u30ed\u30b0\u306fGitHub-Copilot(AI)\u3067\u4f5c\u6210\u3057\u305f\u3082\u306e\u3067\u3059\u304c\u3001\u65e9\u3044\u30fb\u7c21\u5358\u30fb\u4fbf\u5229\u3067\u3059\u306d\u3002 Tokyo\u6e2c\u5730\u7cfb\u21d4JG [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2651,"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":[170,165,106,178,107],"class_list":["post-2649","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-func","category-hist","category-netmaui","category-uncategorized","tag-ai","tag-github-copilot","tag-jgd2000","tag-tky2jgd","tag-tokyo"],"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_editedH.png?fit=533%2C425&ssl=1","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/posts\/2649","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=2649"}],"version-history":[{"count":6,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/posts\/2649\/revisions"}],"predecessor-version":[{"id":2739,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/posts\/2649\/revisions\/2739"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/media\/2651"}],"wp:attachment":[{"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/media?parent=2649"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/categories?post=2649"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/y42u.net\/tec001\/wp-json\/wp\/v2\/tags?post=2649"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}