Skip to content

Commit

Permalink
GUI: GPKGとShapefileの場合に指定できる投影先を変更 (#456)
Browse files Browse the repository at this point in the history
close  #457

- #455 のマージが前提です
- GPKGとShapefileの場合は、ユーザーが2Dの平面直角座標系を指定できるようにしました
<img width="691" alt="image"
src="https://github.com/MIERUNE/PLATEAU-GIS-Converter/assets/31245655/a7f090c2-a056-4c55-8ae3-6dfdf66ff172">

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit


- **新機能**
- 「JGD 2011 /
平面直角座標系」ラベルのために、`filetypeOptions`のEPSG値が6669から6687の範囲で新しく更新されました。

- **改善点**
-
`ShapefileSink`実装では、`run`メソッドが`_schema`の代わりに`schema`パラメーターを取るようになりました。また、`.prj`ファイルの書き込みを扱う`crs`モジュールが導入され、`prj`および`shx`ファイルのファイルパス処理が調整されました。
-
`ProjectionTransform`実装では、投影変換のための異なるEPSGコードを扱うための変更が行われました。具体的には、JGD2011(垂直)高さおよび日本平面直角座標系への座標変換を行うための調整が行われました。また、特定のEPSGコードに対するエラーハンドリングと未実装のケースも対処されました。

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
  • Loading branch information
nokonoko1203 authored Mar 13, 2024
1 parent 91e4afd commit b076d84
Showing 1 changed file with 73 additions and 23 deletions.
96 changes: 73 additions & 23 deletions app/src/lib/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,67 +6,117 @@ const filetypeOptions: Record<string, { label: string; extensions: string[]; eps
label: 'GeoPackage',
extensions: ['gpkg'],
epsg: [
{ value: 4979, label: 'WGS84' },
{ value: 10162, label: 'JGD 2011 / 平面直角座標系 I' },
{ value: 10163, label: 'JGD 2011 / 平面直角座標系 II' },
{ value: 10164, label: 'JGD 2011 / 平面直角座標系 III' },
{ value: 10165, label: 'JGD 2011 / 平面直角座標系 IV' },
{ value: 10166, label: 'JGD 2011 / 平面直角座標系 V' },
{ value: 10167, label: 'JGD 2011 / 平面直角座標系 VI' },
{ value: 10168, label: 'JGD 2011 / 平面直角座標系 VII' },
{ value: 10169, label: 'JGD 2011 / 平面直角座標系 VIII' },
{ value: 10170, label: 'JGD 2011 / 平面直角座標系 IX' },
{ value: 10171, label: 'JGD 2011 / 平面直角座標系 X' },
{ value: 10172, label: 'JGD 2011 / 平面直角座標系 XI' },
{ value: 10173, label: 'JGD 2011 / 平面直角座標系 XII' },
{ value: 10174, label: 'JGD 2011 / 平面直角座標系 XIII' }
{ value: 4979, label: 'WGS84 (EPSG:4979)' },
{ value: 6669, label: 'JGD 2011 / 平面直角座標系 I (EPSG:6669)' },
{ value: 6670, label: 'JGD 2011 / 平面直角座標系 II (EPSG:6670)' },
{ value: 6671, label: 'JGD 2011 / 平面直角座標系 III (EPSG:6671)' },
{ value: 6672, label: 'JGD 2011 / 平面直角座標系 IV (EPSG:6672)' },
{ value: 6673, label: 'JGD 2011 / 平面直角座標系 V (EPSG:6673)' },
{ value: 6674, label: 'JGD 2011 / 平面直角座標系 VI (EPSG:6674)' },
{ value: 6675, label: 'JGD 2011 / 平面直角座標系 VII (EPSG:6675)' },
{ value: 6676, label: 'JGD 2011 / 平面直角座標系 VIII (EPSG:6676)' },
{ value: 6677, label: 'JGD 2011 / 平面直角座標系 IX (EPSG:6677)' },
{ value: 6678, label: 'JGD 2011 / 平面直角座標系 X (EPSG:6678)' },
{ value: 6679, label: 'JGD 2011 / 平面直角座標系 XI (EPSG:6679)' },
{ value: 6680, label: 'JGD 2011 / 平面直角座標系 XII (EPSG:6680)' },
{ value: 6681, label: 'JGD 2011 / 平面直角座標系 XIII (EPSG:6681)' },
{ value: 6682, label: 'JGD 2011 / 平面直角座標系 XIV (EPSG:6682)' },
{ value: 6683, label: 'JGD 2011 / 平面直角座標系 XV (EPSG:6683)' },
{ value: 6684, label: 'JGD 2011 / 平面直角座標系 XVI (EPSG:6684)' },
{ value: 6685, label: 'JGD 2011 / 平面直角座標系 XVII (EPSG:6685)' },
{ value: 6686, label: 'JGD 2011 / 平面直角座標系 XVIII (EPSG:6686)' },
{ value: 6687, label: 'JGD 2011 / 平面直角座標系 XIX (EPSG:6687)' },
{ value: 10162, label: 'JGD 2011 / 平面直角座標系 I + 標高 (EPSG:10162)' },
{ value: 10163, label: 'JGD 2011 / 平面直角座標系 II + 標高 (EPSG:10163)' },
{ value: 10164, label: 'JGD 2011 / 平面直角座標系 III + 標高 (EPSG:10164)' },
{ value: 10165, label: 'JGD 2011 / 平面直角座標系 IV + 標高 (EPSG:10165)' },
{ value: 10166, label: 'JGD 2011 / 平面直角座標系 V + 標高 (EPSG:10166)' },
{ value: 10167, label: 'JGD 2011 / 平面直角座標系 VI + 標高 (EPSG:10167)' },
{ value: 10168, label: 'JGD 2011 / 平面直角座標系 VII + 標高 (EPSG:10168)' },
{ value: 10169, label: 'JGD 2011 / 平面直角座標系 VIII + 標高 (EPSG:10169)' },
{ value: 10170, label: 'JGD 2011 / 平面直角座標系 IX + 標高 (EPSG:10170)' },
{ value: 10171, label: 'JGD 2011 / 平面直角座標系 X + 標高 (EPSG:10171)' },
{ value: 10172, label: 'JGD 2011 / 平面直角座標系 XI + 標高 (EPSG:10172)' },
{ value: 10173, label: 'JGD 2011 / 平面直角座標系 XII + 標高 (EPSG:10173)' },
{ value: 10174, label: 'JGD 2011 / 平面直角座標系 XIII + 標高 (EPSG:10174)' }
]
},
geojson: {
label: 'GeoJSON',
extensions: [],
epsg: [{ value: 4979, label: 'WGS84' }]
epsg: [{ value: 4979, label: 'WGS84 (EPSG:4979)' }]
},

cesiumtiles: {
label: '3D Tiles',
extensions: [''],
epsg: [{ value: 4979, label: 'WGS84' }]
epsg: [{ value: 4979, label: 'WGS84 (EPSG:4979)' }]
},
mvt: {
label: 'Vector Tiles (MVT)',
extensions: [''],
epsg: [{ value: 4979, label: 'WGS84' }]
epsg: [{ value: 4979, label: 'WGS84 (EPSG:4979)' }]
},

czml: {
label: 'CZML',
extensions: ['json'],
epsg: [{ value: 4979, label: 'WGS84' }]
epsg: [{ value: 4979, label: 'WGS84 (EPSG:4979)' }]
},

kml: {
label: 'KML',
extensions: ['kml'],
epsg: [{ value: 4979, label: 'WGS84' }]
epsg: [{ value: 4979, label: 'WGS84 (EPSG:4979)' }]
},
gltf: {
label: 'glTF',
extensions: [''],
epsg: [{ value: 4979, label: 'WGS84' }]
epsg: [{ value: 4979, label: 'WGS84 (EPSG:4979)' }]
},
ply: {
label: 'PLY',
extensions: ['ply'],
epsg: [{ value: 4979, label: 'WGS84' }]
epsg: [{ value: 4979, label: 'WGS84 (EPSG:4979)' }]
},

shapefile: {
label: 'Shapefile',
extensions: [''],
epsg: [
{ value: 4979, label: 'WGS84' }
// TODO: more epsg options
{ value: 4979, label: 'WGS84 (EPSG:4979)' },
{ value: 6669, label: 'JGD 2011 / 平面直角座標系 I (EPSG:6669)' },
{ value: 6670, label: 'JGD 2011 / 平面直角座標系 II (EPSG:6670)' },
{ value: 6671, label: 'JGD 2011 / 平面直角座標系 III (EPSG:6671)' },
{ value: 6672, label: 'JGD 2011 / 平面直角座標系 IV (EPSG:6672)' },
{ value: 6673, label: 'JGD 2011 / 平面直角座標系 V (EPSG:6673)' },
{ value: 6674, label: 'JGD 2011 / 平面直角座標系 VI (EPSG:6674)' },
{ value: 6675, label: 'JGD 2011 / 平面直角座標系 VII (EPSG:6675)' },
{ value: 6676, label: 'JGD 2011 / 平面直角座標系 VIII (EPSG:6676)' },
{ value: 6677, label: 'JGD 2011 / 平面直角座標系 IX (EPSG:6677)' },
{ value: 6678, label: 'JGD 2011 / 平面直角座標系 X (EPSG:6678)' },
{ value: 6679, label: 'JGD 2011 / 平面直角座標系 XI (EPSG:6679)' },
{ value: 6680, label: 'JGD 2011 / 平面直角座標系 XII (EPSG:6680)' },
{ value: 6681, label: 'JGD 2011 / 平面直角座標系 XIII (EPSG:6681)' },
{ value: 6682, label: 'JGD 2011 / 平面直角座標系 XIV (EPSG:6682)' },
{ value: 6683, label: 'JGD 2011 / 平面直角座標系 XV (EPSG:6683)' },
{ value: 6684, label: 'JGD 2011 / 平面直角座標系 XVI (EPSG:6684)' },
{ value: 6685, label: 'JGD 2011 / 平面直角座標系 XVII (EPSG:6685)' },
{ value: 6686, label: 'JGD 2011 / 平面直角座標系 XVIII (EPSG:6686)' },
{ value: 6687, label: 'JGD 2011 / 平面直角座標系 XIX (EPSG:6687)' },
{ value: 10162, label: 'JGD 2011 / 平面直角座標系 I + 標高 (EPSG:10162)' },
{ value: 10163, label: 'JGD 2011 / 平面直角座標系 II + 標高 (EPSG:10163)' },
{ value: 10164, label: 'JGD 2011 / 平面直角座標系 III + 標高 (EPSG:10164)' },
{ value: 10165, label: 'JGD 2011 / 平面直角座標系 IV + 標高 (EPSG:10165)' },
{ value: 10166, label: 'JGD 2011 / 平面直角座標系 V + 標高 (EPSG:10166)' },
{ value: 10167, label: 'JGD 2011 / 平面直角座標系 VI + 標高 (EPSG:10167)' },
{ value: 10168, label: 'JGD 2011 / 平面直角座標系 VII + 標高 (EPSG:10168)' },
{ value: 10169, label: 'JGD 2011 / 平面直角座標系 VIII + 標高 (EPSG:10169)' },
{ value: 10170, label: 'JGD 2011 / 平面直角座標系 IX + 標高 (EPSG:10170)' },
{ value: 10171, label: 'JGD 2011 / 平面直角座標系 X + 標高 (EPSG:10171)' },
{ value: 10172, label: 'JGD 2011 / 平面直角座標系 XI + 標高 (EPSG:10172)' },
{ value: 10173, label: 'JGD 2011 / 平面直角座標系 XII + 標高 (EPSG:10173)' },
{ value: 10174, label: 'JGD 2011 / 平面直角座標系 XIII + 標高 (EPSG:10174)' }
]
}
};
Expand Down

0 comments on commit b076d84

Please sign in to comment.