@@ -41,7 +41,8 @@ CREATE TYPE geores AS (
4141 shikuchoson character varying,
4242 ooaza character varying,
4343 chiban character varying,
44- go character varying
44+ go character varying,
45+ meshcode character varying
4546);
4647
4748--
9091 -- change, depending on the ABR dataset.
9192 --
9293 SELECT INTO record todofuken, shikuchoson, ooaza, chiban, go,
93- lon, lat,
94+ meshcode, lon, lat,
9495 todofuken|| shikuchoson|| ooaza|| chiban|| ' -' || go AS address
9596 FROM pggeocoder .address_g
9697 WHERE st_dwithin(point , geog,mDist)
@@ -106,13 +107,14 @@ BEGIN
106107 output .ooaza := record .ooaza ;
107108 output .chiban := record .chiban ;
108109 output .go := record .go ;
110+ output .meshcode := record .meshcode ;
109111 RETURN output;
110112 END IF;
111113
112114 SELECT INTO o_bdry geom FROM pggeocoder .boundary_o WHERE st_intersects(point ,geom);
113115 IF FOUND THEN
114116 SELECT INTO record todofuken, shikuchoson, ooaza, chiban,
115- lon, lat,
117+ meshcode, lon, lat,
116118 todofuken|| shikuchoson|| ooaza|| chiban AS address,
117119 st_distance(point ::geography,geog) AS dist
118120 FROM pggeocoder .address_c
@@ -128,11 +130,11 @@ BEGIN
128130 output .shikuchoson := record .shikuchoson ;
129131 output .ooaza := record .ooaza ;
130132 output .chiban := record .chiban ;
131-
133+ output . meshcode : = record . meshcode ;
132134 RETURN output;
133135 ELSE
134136 SELECT INTO record todofuken, shikuchoson, ooaza, NULL as chiban,
135- lon, lat,
137+ meshcode, lon, lat,
136138 todofuken|| shikuchoson|| ooaza AS address,
137139 st_distance(point ::geography,geog) AS dist
138140 FROM pggeocoder .address_o
@@ -148,6 +150,7 @@ BEGIN
148150 output .shikuchoson := record .shikuchoson ;
149151 output .ooaza := record .ooaza ;
150152 output .chiban := record .chiban ;
153+ output .meshcode := record .meshcode ;
151154 RETURN output;
152155 ELSE
153156 s_flag := TRUE;
@@ -161,7 +164,7 @@ BEGIN
161164 SELECT INTO s_bdry geom FROM pggeocoder .boundary_s WHERE st_intersects(point ,geom);
162165 IF FOUND THEN
163166 SELECT INTO record todofuken, shikuchoson, NULL as ooaza, NULL as chiban,
164- lon, lat,
167+ meshcode, lon, lat,
165168 todofuken|| shikuchoson AS address, 0 AS dist
166169 FROM pggeocoder .address_s AS a
167170 WHERE st_intersects(a .geog , s_bdry .geom ::geography);
@@ -174,6 +177,7 @@ BEGIN
174177 output .shikuchoson := record .shikuchoson ;
175178 output .ooaza := record .ooaza ;
176179 output .chiban := record .chiban ;
180+ output .meshcode := record .meshcode ;
177181 RETURN output;
178182 END IF;
179183 END IF;
0 commit comments