| Conditions | 1 |
| Paths | 1 |
| Total Lines | 399 |
| Code Lines | 56 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php |
||
| 54 | function generateConstants(string $resDir, string $srcDir): void |
||
| 55 | { |
||
| 56 | $sqlite = new SQLite3( |
||
| 57 | $resDir . '/epsg/epsg.sqlite', |
||
| 58 | SQLITE3_OPEN_READONLY |
||
| 59 | ); |
||
| 60 | $sqlite->enableExceptions(true); |
||
| 61 | |||
| 62 | /* |
||
| 63 | * Units of Measure |
||
| 64 | */ |
||
| 65 | $sql = " |
||
| 66 | SELECT |
||
| 67 | m.uom_code AS constant_value, |
||
| 68 | m.unit_of_meas_type || '_' || m.unit_of_meas_name AS constant_name, |
||
| 69 | m.unit_of_meas_name || '\n' || m.remarks AS constant_help, |
||
| 70 | m.deprecated |
||
| 71 | FROM epsg_unitofmeasure m |
||
| 72 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_unitofmeasure' AND dep.object_code = m.uom_code AND dep.deprecation_date <= '2020-09-01' |
||
| 73 | WHERE dep.deprecation_id IS NULL |
||
| 74 | ORDER BY constant_name |
||
| 75 | "; |
||
| 76 | |||
| 77 | $result = $sqlite->query($sql); |
||
| 78 | |||
| 79 | updateFile($srcDir . '/UnitOfMeasure/UnitOfMeasure.php', $result); |
||
| 80 | |||
| 81 | /* |
||
| 82 | * Prime Meridians |
||
| 83 | */ |
||
| 84 | $sql = " |
||
| 85 | SELECT |
||
| 86 | p.prime_meridian_code AS constant_value, |
||
| 87 | p.prime_meridian_name AS constant_name, |
||
| 88 | p.prime_meridian_name || '\n' || p.remarks AS constant_help, |
||
| 89 | p.deprecated |
||
| 90 | FROM epsg_primemeridian p |
||
| 91 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_primemeridian' AND dep.object_code = p.prime_meridian_code AND dep.deprecation_date <= '2020-09-01' |
||
| 92 | WHERE dep.deprecation_id IS NULL |
||
| 93 | ORDER BY constant_name |
||
| 94 | "; |
||
| 95 | |||
| 96 | $result = $sqlite->query($sql); |
||
| 97 | |||
| 98 | updateFile($srcDir . '/Datum/PrimeMeridian.php', $result); |
||
| 99 | |||
| 100 | /* |
||
| 101 | * Ellipsoids |
||
| 102 | */ |
||
| 103 | $sql = " |
||
| 104 | SELECT |
||
| 105 | DISTINCT |
||
| 106 | e.ellipsoid_code AS constant_value, |
||
| 107 | e.ellipsoid_name AS constant_name, |
||
| 108 | e.ellipsoid_name || '\n' || e.remarks AS constant_help, |
||
| 109 | e.deprecated |
||
| 110 | FROM epsg_ellipsoid e |
||
| 111 | JOIN epsg_datum d ON d.ellipsoid_code = e.ellipsoid_code -- there are some never used entries |
||
| 112 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_ellipsoid' AND dep.object_code = e.ellipsoid_code AND dep.deprecation_date <= '2020-09-01' |
||
| 113 | WHERE dep.deprecation_id IS NULL |
||
| 114 | ORDER BY constant_name |
||
| 115 | "; |
||
| 116 | $result = $sqlite->query($sql); |
||
| 117 | |||
| 118 | updateFile($srcDir . '/Datum/Ellipsoid.php', $result); |
||
| 119 | |||
| 120 | /* |
||
| 121 | * Datums |
||
| 122 | */ |
||
| 123 | $sql = " |
||
| 124 | SELECT |
||
| 125 | DISTINCT |
||
| 126 | d.datum_code AS constant_value, |
||
| 127 | d.datum_name AS constant_name, |
||
| 128 | d.datum_name || '\n' || 'Type: ' || d.datum_type || '\n' || 'Extent: ' || e.extent_description || '\n' || 'Scope: ' || s.scope || '\n' || d.origin_description || '\n' || d.remarks AS constant_help, |
||
| 129 | d.deprecated |
||
| 130 | FROM epsg_datum d |
||
| 131 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_datum' AND dep.object_code = d.datum_code AND dep.deprecation_date <= '2020-09-01' |
||
| 132 | LEFT JOIN epsg_usage u ON u.object_table_name = 'epsg_datum' AND u.object_code = d.datum_code |
||
| 133 | LEFT JOIN epsg_scope s ON u.scope_code = s.scope_code |
||
| 134 | LEFT JOIN epsg_extent e ON u.extent_code = e.extent_code |
||
| 135 | WHERE dep.deprecation_id IS NULL AND d.datum_type != 'engineering' |
||
| 136 | ORDER BY constant_name |
||
| 137 | "; |
||
| 138 | $result = $sqlite->query($sql); |
||
| 139 | |||
| 140 | updateFile($srcDir . '/Datum/Datum.php', $result); |
||
| 141 | |||
| 142 | /* |
||
| 143 | * Coordinate systems |
||
| 144 | */ |
||
| 145 | $sql = " |
||
| 146 | SELECT |
||
| 147 | DISTINCT |
||
| 148 | cs.coord_sys_code AS constant_value, |
||
| 149 | cs.coord_sys_name || CASE cs.coord_sys_code WHEN 4531 THEN '_LOWERCASE' ELSE '' END AS constant_name, |
||
| 150 | cs.coord_sys_name || '\n' || 'Type: ' || cs.coord_sys_type || '\n' || cs.remarks AS constant_help, |
||
| 151 | cs.deprecated |
||
| 152 | FROM epsg_coordinatesystem cs |
||
| 153 | JOIN epsg_coordinatereferencesystem crs ON crs.coord_sys_code = cs.coord_sys_code AND crs.coord_ref_sys_kind NOT IN ('engineering', 'derived') AND crs.coord_ref_sys_name NOT LIKE '%example%' |
||
| 154 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_coordinatesystem' AND dep.object_code = cs.coord_sys_code AND dep.deprecation_date <= '2020-09-01' |
||
| 155 | WHERE dep.deprecation_id IS NULL AND cs.coord_sys_type != 'ordinal' |
||
| 156 | ORDER BY constant_name |
||
| 157 | "; |
||
| 158 | $result = $sqlite->query($sql); |
||
| 159 | |||
| 160 | updateFile($srcDir . '/CoordinateSystem/CoordinateSystem.php', $result); |
||
| 161 | |||
| 162 | /* |
||
| 163 | * Coordinate systems (cartesian) |
||
| 164 | */ |
||
| 165 | $sql = " |
||
| 166 | SELECT |
||
| 167 | DISTINCT |
||
| 168 | cs.coord_sys_code AS constant_value, |
||
| 169 | REPLACE(REPLACE(REPLACE(cs.coord_sys_name, 'Cartesian 2D CS', ''), 'Cartesian 3D CS', ''), 'for', '') || CASE cs.coord_sys_code WHEN 4531 THEN '_LOWERCASE' ELSE '' END AS constant_name, |
||
| 170 | cs.coord_sys_name || '\n' || 'Type: ' || cs.coord_sys_type || '\n' || cs.remarks AS constant_help, |
||
| 171 | cs.deprecated |
||
| 172 | FROM epsg_coordinatesystem cs |
||
| 173 | JOIN epsg_coordinatereferencesystem crs ON crs.coord_sys_code = cs.coord_sys_code AND crs.coord_ref_sys_kind NOT IN ('engineering', 'derived') AND crs.coord_ref_sys_name NOT LIKE '%example%' |
||
| 174 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_coordinatesystem' AND dep.object_code = cs.coord_sys_code AND dep.deprecation_date <= '2020-09-01' |
||
| 175 | WHERE dep.deprecation_id IS NULL AND cs.coord_sys_type != 'ordinal' |
||
| 176 | AND cs.coord_sys_type = 'Cartesian' |
||
| 177 | ORDER BY constant_name |
||
| 178 | "; |
||
| 179 | $result = $sqlite->query($sql); |
||
| 180 | |||
| 181 | updateFile($srcDir . '/CoordinateSystem/Cartesian.php', $result); |
||
| 182 | |||
| 183 | /* |
||
| 184 | * Coordinate systems (ellipsoidal) |
||
| 185 | */ |
||
| 186 | $sql = " |
||
| 187 | SELECT |
||
| 188 | DISTINCT |
||
| 189 | cs.coord_sys_code AS constant_value, |
||
| 190 | REPLACE(REPLACE(REPLACE(cs.coord_sys_name, 'Ellipsoidal 2D CS', ''), 'Ellipsoidal 3D CS', ''), 'for', '') AS constant_name, |
||
| 191 | cs.coord_sys_name || '\n' || 'Type: ' || cs.coord_sys_type || '\n' || cs.remarks AS constant_help, |
||
| 192 | cs.deprecated |
||
| 193 | FROM epsg_coordinatesystem cs |
||
| 194 | JOIN epsg_coordinatereferencesystem crs ON crs.coord_sys_code = cs.coord_sys_code AND crs.coord_ref_sys_kind NOT IN ('engineering', 'derived') AND crs.coord_ref_sys_name NOT LIKE '%example%' |
||
| 195 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_coordinatesystem' AND dep.object_code = cs.coord_sys_code AND dep.deprecation_date <= '2020-09-01' |
||
| 196 | WHERE dep.deprecation_id IS NULL AND cs.coord_sys_type != 'ordinal' |
||
| 197 | AND cs.coord_sys_type = 'ellipsoidal' |
||
| 198 | ORDER BY constant_name |
||
| 199 | "; |
||
| 200 | $result = $sqlite->query($sql); |
||
| 201 | |||
| 202 | updateFile($srcDir . '/CoordinateSystem/Ellipsoidal.php', $result); |
||
| 203 | |||
| 204 | /* |
||
| 205 | * Coordinate systems (vertical) |
||
| 206 | */ |
||
| 207 | $sql = " |
||
| 208 | SELECT |
||
| 209 | DISTINCT |
||
| 210 | cs.coord_sys_code AS constant_value, |
||
| 211 | REPLACE(REPLACE(cs.coord_sys_name, 'Vertical CS', ''), 'for', '') AS constant_name, |
||
| 212 | cs.coord_sys_name || '\n' || 'Type: ' || cs.coord_sys_type || '\n' || cs.remarks AS constant_help, |
||
| 213 | cs.deprecated |
||
| 214 | FROM epsg_coordinatesystem cs |
||
| 215 | JOIN epsg_coordinatereferencesystem crs ON crs.coord_sys_code = cs.coord_sys_code AND crs.coord_ref_sys_kind NOT IN ('engineering', 'derived') AND crs.coord_ref_sys_name NOT LIKE '%example%' |
||
| 216 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_coordinatesystem' AND dep.object_code = cs.coord_sys_code AND dep.deprecation_date <= '2020-09-01' |
||
| 217 | WHERE dep.deprecation_id IS NULL AND cs.coord_sys_type != 'ordinal' |
||
| 218 | AND cs.coord_sys_type = 'vertical' |
||
| 219 | ORDER BY constant_name |
||
| 220 | "; |
||
| 221 | $result = $sqlite->query($sql); |
||
| 222 | |||
| 223 | updateFile($srcDir . '/CoordinateSystem/Vertical.php', $result); |
||
| 224 | |||
| 225 | /* |
||
| 226 | * Coordinate systems (other) |
||
| 227 | */ |
||
| 228 | $sql = " |
||
| 229 | SELECT |
||
| 230 | DISTINCT |
||
| 231 | cs.coord_sys_code AS constant_value, |
||
| 232 | cs.coord_sys_name AS constant_name, |
||
| 233 | cs.coord_sys_name || '\n' || 'Type: ' || cs.coord_sys_type || '\n' || cs.remarks AS constant_help, |
||
| 234 | cs.deprecated |
||
| 235 | FROM epsg_coordinatesystem cs |
||
| 236 | JOIN epsg_coordinatereferencesystem crs ON crs.coord_sys_code = cs.coord_sys_code AND crs.coord_ref_sys_kind NOT IN ('engineering', 'derived') AND crs.coord_ref_sys_name NOT LIKE '%example%' |
||
| 237 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_coordinatesystem' AND dep.object_code = cs.coord_sys_code AND dep.deprecation_date <= '2020-09-01' |
||
| 238 | WHERE dep.deprecation_id IS NULL AND cs.coord_sys_type != 'ordinal' |
||
| 239 | AND cs.coord_sys_type NOT IN ('Cartesian', 'ellipsoidal', 'vertical') |
||
| 240 | ORDER BY constant_name |
||
| 241 | "; |
||
| 242 | $result = $sqlite->query($sql); |
||
| 243 | |||
| 244 | updateFile($srcDir . '/CoordinateSystem/CoordinateSystem.php', $result); |
||
| 245 | |||
| 246 | /* |
||
| 247 | * Coordinate reference systems (compound) |
||
| 248 | */ |
||
| 249 | $sql = " |
||
| 250 | SELECT |
||
| 251 | crs.coord_ref_sys_code AS constant_value, |
||
| 252 | crs.coord_ref_sys_name AS constant_name, |
||
| 253 | crs.coord_ref_sys_name || '\n' || 'Extent: ' || e.extent_description || '\n' || 'Scope: ' || s.scope || '\n' || crs.remarks AS constant_help, |
||
| 254 | crs.deprecated |
||
| 255 | FROM epsg_coordinatereferencesystem crs |
||
| 256 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_coordinatereferencesystem' AND dep.object_code = crs.coord_ref_sys_code AND dep.deprecation_date <= '2020-09-01' |
||
| 257 | LEFT JOIN epsg_usage u ON u.object_table_name = 'epsg_coordinatereferencesystem' AND u.object_code = crs.coord_ref_sys_code |
||
| 258 | LEFT JOIN epsg_scope s ON u.scope_code = s.scope_code |
||
| 259 | LEFT JOIN epsg_extent e ON u.extent_code = e.extent_code |
||
| 260 | WHERE dep.deprecation_id IS NULL AND crs.coord_ref_sys_kind NOT IN ('engineering', 'derived') AND crs.coord_ref_sys_name NOT LIKE '%example%' |
||
| 261 | AND (crs.cmpd_horizcrs_code IS NULL OR crs.cmpd_horizcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('engineering', 'derived'))) |
||
| 262 | AND (crs.cmpd_vertcrs_code IS NULL OR crs.cmpd_vertcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('engineering', 'derived'))) |
||
| 263 | AND crs.coord_ref_sys_kind = 'compound' |
||
| 264 | GROUP BY crs.coord_ref_sys_code |
||
| 265 | ORDER BY constant_name |
||
| 266 | "; |
||
| 267 | |||
| 268 | $result = $sqlite->query($sql); |
||
| 269 | |||
| 270 | updateFile($srcDir . '/CoordinateReferenceSystem/Compound.php', $result); |
||
| 271 | |||
| 272 | /* |
||
| 273 | * Coordinate reference systems (geocentric) |
||
| 274 | */ |
||
| 275 | $sql = " |
||
| 276 | SELECT |
||
| 277 | crs.coord_ref_sys_code AS constant_value, |
||
| 278 | crs.coord_ref_sys_name AS constant_name, |
||
| 279 | crs.coord_ref_sys_name || '\n' || 'Extent: ' || e.extent_description || '\n' || 'Scope: ' || s.scope || '\n' || crs.remarks AS constant_help, |
||
| 280 | crs.deprecated |
||
| 281 | FROM epsg_coordinatereferencesystem crs |
||
| 282 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_coordinatereferencesystem' AND dep.object_code = crs.coord_ref_sys_code AND dep.deprecation_date <= '2020-09-01' |
||
| 283 | LEFT JOIN epsg_usage u ON u.object_table_name = 'epsg_coordinatereferencesystem' AND u.object_code = crs.coord_ref_sys_code |
||
| 284 | LEFT JOIN epsg_scope s ON u.scope_code = s.scope_code |
||
| 285 | LEFT JOIN epsg_extent e ON u.extent_code = e.extent_code |
||
| 286 | WHERE dep.deprecation_id IS NULL AND crs.coord_ref_sys_kind NOT IN ('engineering', 'derived') AND crs.coord_ref_sys_name NOT LIKE '%example%' |
||
| 287 | AND (crs.cmpd_horizcrs_code IS NULL OR crs.cmpd_horizcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('engineering', 'derived'))) |
||
| 288 | AND (crs.cmpd_vertcrs_code IS NULL OR crs.cmpd_vertcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('engineering', 'derived'))) |
||
| 289 | AND crs.coord_ref_sys_kind = 'geocentric' |
||
| 290 | GROUP BY crs.coord_ref_sys_code |
||
| 291 | ORDER BY constant_name |
||
| 292 | "; |
||
| 293 | |||
| 294 | $result = $sqlite->query($sql); |
||
| 295 | |||
| 296 | updateFile($srcDir . '/CoordinateReferenceSystem/Geocentric.php', $result); |
||
| 297 | |||
| 298 | /* |
||
| 299 | * Coordinate reference systems (geographic 2D) |
||
| 300 | */ |
||
| 301 | $sql = " |
||
| 302 | SELECT |
||
| 303 | crs.coord_ref_sys_code AS constant_value, |
||
| 304 | crs.coord_ref_sys_name AS constant_name, |
||
| 305 | crs.coord_ref_sys_name || '\n' || 'Extent: ' || e.extent_description || '\n' || 'Scope: ' || s.scope || '\n' || crs.remarks AS constant_help, |
||
| 306 | crs.deprecated |
||
| 307 | FROM epsg_coordinatereferencesystem crs |
||
| 308 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_coordinatereferencesystem' AND dep.object_code = crs.coord_ref_sys_code AND dep.deprecation_date <= '2020-09-01' |
||
| 309 | LEFT JOIN epsg_usage u ON u.object_table_name = 'epsg_coordinatereferencesystem' AND u.object_code = crs.coord_ref_sys_code |
||
| 310 | LEFT JOIN epsg_scope s ON u.scope_code = s.scope_code |
||
| 311 | LEFT JOIN epsg_extent e ON u.extent_code = e.extent_code |
||
| 312 | WHERE dep.deprecation_id IS NULL AND crs.coord_ref_sys_kind NOT IN ('engineering', 'derived') AND crs.coord_ref_sys_name NOT LIKE '%example%' |
||
| 313 | AND (crs.cmpd_horizcrs_code IS NULL OR crs.cmpd_horizcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('engineering', 'derived'))) |
||
| 314 | AND (crs.cmpd_vertcrs_code IS NULL OR crs.cmpd_vertcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('engineering', 'derived'))) |
||
| 315 | AND crs.coord_ref_sys_kind = 'geographic 2D' |
||
| 316 | GROUP BY crs.coord_ref_sys_code |
||
| 317 | ORDER BY constant_name |
||
| 318 | "; |
||
| 319 | |||
| 320 | $result = $sqlite->query($sql); |
||
| 321 | |||
| 322 | updateFile($srcDir . '/CoordinateReferenceSystem/Geographic2D.php', $result); |
||
| 323 | |||
| 324 | /* |
||
| 325 | * Coordinate reference systems (geographic 3D) |
||
| 326 | */ |
||
| 327 | $sql = " |
||
| 328 | SELECT |
||
| 329 | crs.coord_ref_sys_code AS constant_value, |
||
| 330 | crs.coord_ref_sys_name AS constant_name, |
||
| 331 | crs.coord_ref_sys_name || '\n' || 'Extent: ' || e.extent_description || '\n' || 'Scope: ' || s.scope || '\n' || crs.remarks AS constant_help, |
||
| 332 | crs.deprecated |
||
| 333 | FROM epsg_coordinatereferencesystem crs |
||
| 334 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_coordinatereferencesystem' AND dep.object_code = crs.coord_ref_sys_code AND dep.deprecation_date <= '2020-09-01' |
||
| 335 | LEFT JOIN epsg_usage u ON u.object_table_name = 'epsg_coordinatereferencesystem' AND u.object_code = crs.coord_ref_sys_code |
||
| 336 | LEFT JOIN epsg_scope s ON u.scope_code = s.scope_code |
||
| 337 | LEFT JOIN epsg_extent e ON u.extent_code = e.extent_code |
||
| 338 | WHERE dep.deprecation_id IS NULL AND crs.coord_ref_sys_kind NOT IN ('engineering', 'derived') AND crs.coord_ref_sys_name NOT LIKE '%example%' |
||
| 339 | AND (crs.cmpd_horizcrs_code IS NULL OR crs.cmpd_horizcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('engineering', 'derived'))) |
||
| 340 | AND (crs.cmpd_vertcrs_code IS NULL OR crs.cmpd_vertcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('engineering', 'derived'))) |
||
| 341 | AND crs.coord_ref_sys_kind = 'geographic 3D' |
||
| 342 | GROUP BY crs.coord_ref_sys_code |
||
| 343 | ORDER BY constant_name |
||
| 344 | "; |
||
| 345 | |||
| 346 | $result = $sqlite->query($sql); |
||
| 347 | |||
| 348 | updateFile($srcDir . '/CoordinateReferenceSystem/Geographic3D.php', $result); |
||
| 349 | |||
| 350 | /* |
||
| 351 | * Coordinate reference systems (projected) |
||
| 352 | */ |
||
| 353 | $sql = " |
||
| 354 | SELECT |
||
| 355 | crs.coord_ref_sys_code AS constant_value, |
||
| 356 | crs.coord_ref_sys_name AS constant_name, |
||
| 357 | crs.coord_ref_sys_name || '\n' || 'Extent: ' || e.extent_description || '\n' || 'Scope: ' || s.scope || '\n' || crs.remarks AS constant_help, |
||
| 358 | crs.deprecated |
||
| 359 | FROM epsg_coordinatereferencesystem crs |
||
| 360 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_coordinatereferencesystem' AND dep.object_code = crs.coord_ref_sys_code AND dep.deprecation_date <= '2020-09-01' |
||
| 361 | LEFT JOIN epsg_usage u ON u.object_table_name = 'epsg_coordinatereferencesystem' AND u.object_code = crs.coord_ref_sys_code |
||
| 362 | LEFT JOIN epsg_scope s ON u.scope_code = s.scope_code |
||
| 363 | LEFT JOIN epsg_extent e ON u.extent_code = e.extent_code |
||
| 364 | WHERE dep.deprecation_id IS NULL AND crs.coord_ref_sys_kind NOT IN ('engineering', 'derived') AND crs.coord_ref_sys_name NOT LIKE '%example%' |
||
| 365 | AND (crs.cmpd_horizcrs_code IS NULL OR crs.cmpd_horizcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('engineering', 'derived'))) |
||
| 366 | AND (crs.cmpd_vertcrs_code IS NULL OR crs.cmpd_vertcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('engineering', 'derived'))) |
||
| 367 | AND crs.coord_ref_sys_kind = 'projected' |
||
| 368 | GROUP BY crs.coord_ref_sys_code |
||
| 369 | ORDER BY constant_name |
||
| 370 | "; |
||
| 371 | |||
| 372 | $result = $sqlite->query($sql); |
||
| 373 | |||
| 374 | updateFile($srcDir . '/CoordinateReferenceSystem/Projected.php', $result); |
||
| 375 | |||
| 376 | /* |
||
| 377 | * Coordinate reference systems (vertical) |
||
| 378 | */ |
||
| 379 | $sql = " |
||
| 380 | SELECT |
||
| 381 | crs.coord_ref_sys_code AS constant_value, |
||
| 382 | crs.coord_ref_sys_name AS constant_name, |
||
| 383 | crs.coord_ref_sys_name || '\n' || 'Extent: ' || e.extent_description || '\n' || 'Scope: ' || s.scope || '\n' || crs.remarks AS constant_help, |
||
| 384 | crs.deprecated |
||
| 385 | FROM epsg_coordinatereferencesystem crs |
||
| 386 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_coordinatereferencesystem' AND dep.object_code = crs.coord_ref_sys_code AND dep.deprecation_date <= '2020-09-01' |
||
| 387 | LEFT JOIN epsg_usage u ON u.object_table_name = 'epsg_coordinatereferencesystem' AND u.object_code = crs.coord_ref_sys_code |
||
| 388 | LEFT JOIN epsg_scope s ON u.scope_code = s.scope_code |
||
| 389 | LEFT JOIN epsg_extent e ON u.extent_code = e.extent_code |
||
| 390 | WHERE dep.deprecation_id IS NULL AND crs.coord_ref_sys_kind NOT IN ('engineering', 'derived') AND crs.coord_ref_sys_name NOT LIKE '%example%' |
||
| 391 | AND (crs.cmpd_horizcrs_code IS NULL OR crs.cmpd_horizcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('engineering', 'derived'))) |
||
| 392 | AND (crs.cmpd_vertcrs_code IS NULL OR crs.cmpd_vertcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('engineering', 'derived'))) |
||
| 393 | AND crs.coord_ref_sys_kind = 'vertical' |
||
| 394 | GROUP BY crs.coord_ref_sys_code |
||
| 395 | ORDER BY constant_name |
||
| 396 | "; |
||
| 397 | |||
| 398 | $result = $sqlite->query($sql); |
||
| 399 | |||
| 400 | updateFile($srcDir . '/CoordinateReferenceSystem/Vertical.php', $result); |
||
| 401 | |||
| 402 | /* |
||
| 403 | * Coordinate reference systems (other) |
||
| 404 | */ |
||
| 405 | $sql = " |
||
| 406 | SELECT |
||
| 407 | crs.coord_ref_sys_code AS constant_value, |
||
| 408 | crs.coord_ref_sys_kind || '_' || crs.coord_ref_sys_name AS constant_name, |
||
| 409 | crs.coord_ref_sys_name || '\n' || 'Type: ' || crs.coord_ref_sys_kind || '\n' || 'Extent: ' || e.extent_description || '\n' || 'Scope: ' || s.scope || '\n' || crs.remarks AS constant_help, |
||
| 410 | crs.deprecated |
||
| 411 | FROM epsg_coordinatereferencesystem crs |
||
| 412 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_coordinatereferencesystem' AND dep.object_code = crs.coord_ref_sys_code AND dep.deprecation_date <= '2020-09-01' |
||
| 413 | LEFT JOIN epsg_usage u ON u.object_table_name = 'epsg_coordinatereferencesystem' AND u.object_code = crs.coord_ref_sys_code |
||
| 414 | LEFT JOIN epsg_scope s ON u.scope_code = s.scope_code |
||
| 415 | LEFT JOIN epsg_extent e ON u.extent_code = e.extent_code |
||
| 416 | WHERE dep.deprecation_id IS NULL AND crs.coord_ref_sys_kind NOT IN ('engineering', 'derived') AND crs.coord_ref_sys_name NOT LIKE '%example%' |
||
| 417 | AND (crs.cmpd_horizcrs_code IS NULL OR crs.cmpd_horizcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('engineering', 'derived'))) |
||
| 418 | AND (crs.cmpd_vertcrs_code IS NULL OR crs.cmpd_vertcrs_code NOT IN (SELECT coord_ref_sys_code FROM epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('engineering', 'derived'))) |
||
| 419 | AND crs.coord_ref_sys_kind NOT IN ('compound', 'geocentric', 'geographic 2D', 'geographic 3D', 'projected', 'vertical') |
||
| 420 | GROUP BY crs.coord_ref_sys_code |
||
| 421 | ORDER BY constant_name |
||
| 422 | "; |
||
| 423 | |||
| 424 | $result = $sqlite->query($sql); |
||
| 425 | |||
| 426 | updateFile($srcDir . '/CoordinateReferenceSystem/CoordinateReferenceSystem.php', $result); |
||
| 427 | |||
| 428 | /* |
||
| 429 | * Coordinate operation methods |
||
| 430 | */ |
||
| 431 | $sql = " |
||
| 432 | SELECT |
||
| 433 | m.coord_op_method_code AS constant_value, |
||
| 434 | m.coord_op_method_name AS constant_name, |
||
| 435 | m.coord_op_method_name || '\n' || m.remarks AS constant_help, |
||
| 436 | m.deprecated |
||
| 437 | FROM epsg_coordoperationmethod m |
||
| 438 | -- on this table, the deprecated ids are used internally, so don't exclude them unless they were replaced |
||
| 439 | LEFT JOIN epsg_deprecation dep ON dep.object_table_name = 'epsg_coordoperationmethod' AND dep.object_code = m.coord_op_method_code |
||
| 440 | WHERE dep.replaced_by IS NULL |
||
| 441 | AND m.coord_op_method_name NOT LIKE '%wellbore%' |
||
| 442 | AND m.coord_op_method_name NOT LIKE '%mining%' |
||
| 443 | AND m.coord_op_method_name NOT LIKE '%seismic%' |
||
| 444 | GROUP BY m.coord_op_method_code |
||
| 445 | ORDER BY constant_name |
||
| 446 | "; |
||
| 447 | |||
| 448 | $result = $sqlite->query($sql); |
||
| 449 | |||
| 450 | updateFile($srcDir . '/CoordinateOperation/CoordinateOperationMethods.php', $result); |
||
| 451 | |||
| 452 | $sqlite->close(); |
||
| 453 | } |
||
| 497 |