どのAIに聞いても、Oracle APEXのマップ・リージョンが使用しているMapLibre GL JSでEPSG:6677のデータを直接描画するのは困難とのことで、OpenLayersで表示することにしました。OpenLayersとProj4jsを使用します。
podman run --rm -it -v $PWD:/home/oracle gdal
jgd2011 % podman run --rm -it -v $PWD:/home/oracle gdal
bash-5.1$
#!/bin/sh
PASS=ChangeMe
ogr2ogr -f OCI \
OCI:wksp_apexdev/${PASS}@host.containers.internal/freepdb1 \
$1 \
-oo ENCODING=CP932 \
-nln CONTOUR_LINES_6677 -lco GEOMETRY_NAME=GEOM -lco SRID=6677 -lco DIM=2 \
-a_srs EPSG:6677 \
-skipfailures
bash-5.1$ sh load_dxf.sh 09LD1874.dxf
Warning 1: Layer creation options ignored since an existing layer is
being appended to.
bash-5.1$ sh load_dxf.sh 09LD1874.dxf
ERROR 1: ORA-13223: duplicate entry for CONTOUR_LINES_6677.GEOM in SDO_GEOM_METADATA
ORA-06512: at "MDSYS.MD", line 1723
ORA-06512: at "MDSYS.MDERR", line 17
ORA-06512: at "MDSYS.SDO_GEOM_TRIG_INS1", line 91
ORA-04088: error during execution of trigger 'MDSYS.SDO_GEOM_TRIG_INS1'
Help: https://docs.oracle.com/error-help/db/ora-13223/
in INSERT INTO USER_SDO_GEOM_METADATA VALUES ('CONTOUR_LINES_6677', 'GEOM', MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X',-6400.0000003,-5999.9999997,1e-07),MDSYS.SDO_DIM_ELEMENT('Y',-35400.0000003,-35099.9999997,1e-07)), 6677)
bash-5.1$
sh load_dxf.sh 09LD1884.dxf
sh load_dxf.sh 09LD1885.dxf
sh load_dxf.sh 09LD1894.dxf
sh load_dxf.sh 09LD1895.dxf
bash-5.1$ sh load_dxf.sh 09LD1875.dxf
Warning 1: Layer creation options ignored since an existing layer is
being appended to.
bash-5.1$ sh load_dxf.sh 09LD1884.dxf
Warning 1: Layer creation options ignored since an existing layer is
being appended to.
bash-5.1$ sh load_dxf.sh 09LD1885.dxf
Warning 1: Layer creation options ignored since an existing layer is
being appended to.
bash-5.1$ sh load_dxf.sh 09LD1894.dxf
Warning 1: Layer creation options ignored since an existing layer is
being appended to.
bash-5.1$ sh load_dxf.sh 09LD1895.dxf
Warning 1: Layer creation options ignored since an existing layer is
being appended to.
bash-5.1$
データのロードは以上で完了です。
https://cdn.jsdelivr.net/npm/proj4@2.19.10/dist/proj4.js
https://cdn.jsdelivr.net/npm/ol@10.6.1/dist/ol.js
#APP_FILES#app#MIN#.js
CSSのインラインに以下を記述します。表示するマップの大きさを規定します。
以上でAPEXアプリケーションは完成です。