09KD9568.zip 09KD9660.zip 09KD9680.zip 09LD0508.zip 09LD0610.zip
09KD9569.zip 09KD9661.zip 09KD9681.zip 09LD0509.zip 09LD0611.zip
09KD9578.zip 09KD9662.zip 09KD9682.zip 09LD0518.zip 09LD0612.zip
09KD9579.zip 09KD9663.zip 09KD9683.zip 09LD0519.zip 09LD0613.zip
09KD9588.zip 09KD9670.zip 09KD9690.zip 09LD0600.zip
09KD9589.zip 09KD9671.zip 09KD9691.zip 09LD0601.zip
09KD9598.zip 09KD9672.zip 09KD9692.zip 09LD0602.zip
09KD9599.zip 09KD9673.zip 09KD9693.zip 09LD0603.zip
create user tokyodata identified by tokyodata ;
alter user tokyodata quota unlimited on users;
grant connect, resource to tokyodata;
grant execute on mdsys.sdo_georaster to tokyodata;
grant execute on mdsys.sdo_geor to tokyodata;
grant execute on mdsys.sdo_geor_utl to tokyodata;
grant execute on mdsys.sdo_geor_admin to tokyodata;
grant create trigger to tokyodata;
作業環境はmacOSで、コンテナの実行にpodmanを使用します。
podman run -d --name spatialstudio -p 8090:8080 -p 4040:4040 spatialstudio
GeoTIFF % podman run -d --name spatialstudio -p 8090:8080 -p 4040:4040 spatialstudio
abfa6ea83e05be580b0124ea03e0a47263c762b01293483fb28aec88ff884ff6
GeoTIFF %
Oracle Spatial Studioが起動します。ブラウザより以下のURLを開きます。
注)すでにSpatial Studioを構成済みのスキーマに接続すると「The selected repository is already registered to another instance of Spatial Studio. Check the system logs for more details.」というエラーが発生することがあります。対処についてはOracle Spatial Studioのドキュメント2.7 Recovery from Lost Master Keyに記載されています。
create table tokyo_digital_twin(id varchar2(8) primary key, raster sdo_georaster);
begin
sdo_geor_utl.createdmltrigger(
'TOKYO_DIGITAL_TWIN',
'RASTER' );
end;
/
SQL> create table tokyo_digital_twin(id varchar2(8) primary key, raster sdo_georaster);
Table TOKYO_DIGITAL_TWINは作成されました。
SQL> begin
2 sdo_geor_utl.createdmltrigger(
3 'TOKYO_DIGITAL_TWIN',
4 'RASTER' );
5 end;
6* /
PL/SQLプロシージャが正常に完了しました。
SQL>
GeoTIFF % unzip 09KD9568.zip
Archive: 09KD9568.zip
inflating: 09KD9568.tif
GeoTIFF %
取り出したGeoTIFFファイルの座標参照系は、日本測地系2011/平面直角座標系第9系(EPSG:6677)です。これをWGS 84 地理座標系(EPSG:4326)に変換します。
podman run --rm -it -v $PWD:/home/oracle gdal
GeoTIFF % podman run --rm -it -v $PWD:/home/oracle gdal bash-5.1$
export NLS_LANG=American_America.AL32UTF8
export PATH=/usr/local/bin:$PATH
export ORACLE_HOME=/usr/lib/oracle/23/client64
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:/usr/local/lib64:${LD_LIBRARY_PATH}
gdalwarp -s_srs EPSG:6677 -t_srs EPSG:4326 \
--config GTIFF_SRS_SOURCE EPSG \
-r bilinear 09KD9568.tif 09KD9568_4326.tif
bash-5.1$ gdalwarp -s_srs EPSG:6677 -t_srs EPSG:4326 \
--config GTIFF_SRS_SOURCE EPSG \
-r bilinear 09KD9568.tif 09KD9568_4326.tif
Creating output file that is 1708P x 1046L.
Using internal nodata values (e.g. -32767) for image 09KD9568.tif.
Copying nodata values from source 09KD9568.tif to destination 09KD9568_4326.tif.
Processing 09KD9568.tif [1/1] : 0...10...20...30...40...50...60...70...80...90...100 - done.
bash-5.1$
gdal_translate \
-of georaster 09KD9568_4326.tif \
"georaster:tokyodata/tokyodata@host.containers.internal/freepdb1,TOKYO_DIGITAL_TWIN,RASTER" \
-co "INSERT=(ID,RASTER) VALUES ('09KD9568',SDO_GEOR.INIT())" \
-co "BLOCKXSIZE=512" -co "BLOCKYSIZE=512" -co "SRID=4326" -co "GENPYRAMID=NN"
bash-5.1$ gdal_translate \
> -of georaster 09KD9568_4326.tif \
> "georaster:tokyodata/tokyodata@host.containers.internal/freepdb1,TOKYO_DIGITAL_TWIN,RASTER" \
> -co "INSERT=(ID,RASTER) VALUES ('09KD9568',SDO_GEOR.INIT())" \
> -co "BLOCKXSIZE=512" -co "BLOCKYSIZE=512" -co "SRID=4326" -co "GENPYRAMID=NN"
Input file size is 1708, 1046
0...10...20...30...40...50...60...70...80...90...100 - done.
bash-5.1$
追加されたデータセット09KD9586を開き、RASTERを掴んで地図にドロップします。
bash-5.1$ sh load_geotiff.sh 09KD9569.zip; sh load_geotiff.sh 09KD9578.zip; sh load_geotiff.sh 09KD9579.zip
Archive: 09KD9569.zip
inflating: 09KD9569.tif
Creating output file that is 1708P x 1046L.
Using internal nodata values (e.g. -32767) for image 09KD9569.tif.
Copying nodata values from source 09KD9569.tif to destination 09KD9569_4326.tif.
Processing 09KD9569.tif [1/1] : 0...10...20...30...40...50...60...70...80...90...100 - done.
Input file size is 1708, 1046
0...10...20...30...40...50...60...70...80...90...100 - done.
Archive: 09KD9578.zip
inflating: 09KD9578.tif
Creating output file that is 1708P x 1046L.
Using internal nodata values (e.g. -32767) for image 09KD9578.tif.
Copying nodata values from source 09KD9578.tif to destination 09KD9578_4326.tif.
Processing 09KD9578.tif [1/1] : 0...10...20...30...40...50...60...70...80...90...100 - done.
Input file size is 1708, 1046
0...10...20...30...40...50...60...70...80...90...100 - done.
Archive: 09KD9579.zip
inflating: 09KD9579.tif
Creating output file that is 1708P x 1046L.
Using internal nodata values (e.g. -32767) for image 09KD9579.tif.
Copying nodata values from source 09KD9579.tif to destination 09KD9579_4326.tif.
Processing 09KD9579.tif [1/1] : 0...10...20...30...40...50...60...70...80...90...100 - done.
Input file size is 1708, 1046
0...10...20...30...40...50...60...70...80...90...100 - done.
bash-5.1$
for f in *.zip; do unzip $f; done
bash-5.1$ rm -f *.tif
bash-5.1$ for f in *.zip; do unzip $f; done
Archive: 09KD9568.zip
inflating: 09KD9568.tif
Archive: 09KD9569.zip
inflating: 09KD9569.tif
Archive: 09KD9578.zip
inflating: 09KD9578.tif
Archive: 09KD9579.zip
inflating: 09KD9579.tif
[中略]
Archive: 09LD0610.zip
inflating: 09LD0610.tif
Archive: 09LD0611.zip
inflating: 09LD0611.tif
Archive: 09LD0612.zip
inflating: 09LD0612.tif
Archive: 09LD0613.zip
inflating: 09LD0613.tif
bash-5.1$
解凍されたGeoTIFFファイルを1枚のファイルmosaic_6677.vrtにまとめます。
gdalbuildvrt --config GTIFF_SRS_SOURCE EPSG -a_srs EPSG:6677 mosaic_6677.vrt *.tif
bash-5.1$ gdalbuildvrt --config GTIFF_SRS_SOURCE EPSG -a_srs EPSG:6677 mosaic_6677.vrt *.tif
0...10...20...30...40...50...60...70...80...90...100 - done.
bash-5.1$
gdalwarp -s_srs EPSG:6677 -t_srs EPSG:4326 -r bilinear mosaic_6677.vrt mosaic_4326.vrt
bash-5.1$ gdalwarp -s_srs EPSG:6677 -t_srs EPSG:4326 -r bilinear mosaic_6677.vrt mosaic_4326.vrt
Creating output file that is 10248P x 6273L.
Using internal nodata values (e.g. -32767) for image mosaic_6677.vrt.
Copying nodata values from source mosaic_6677.vrt to destination mosaic_4326.vrt.
Processing mosaic_6677.vrt [1/1] : 0...10...20...30...40...50...60...70...80...90...100 - done.
bash-5.1$
gdal_translate \
--config GTIFF_SRS_SOURCE EPSG \
-of georaster mosaic_4326.vrt \
"georaster:tokyodata/tokyodata@host.containers.internal/freepdb1,TOKYO_DIGITAL_TWIN,RASTER" \
-co "INSERT=(ID,RASTER) VALUES ('mosaic',SDO_GEOR.INIT())" \
-co "BLOCKXSIZE=512" -co "BLOCKYSIZE=512" -co "SRID=4326" -co "GENPYRAMID=NN"
bash-5.1$ gdal_translate \
--config GTIFF_SRS_SOURCE EPSG \
-of georaster mosaic_4326.vrt \
"georaster:tokyodata/tokyodata@host.containers.internal/freepdb1,TOKYO_DIGITAL_TWIN,RASTER" \
-co "INSERT=(ID,RASTER) VALUES ('mosaic',SDO_GEOR.INIT())" \
-co "BLOCKXSIZE=512" -co "BLOCKYSIZE=512" -co "SRID=4326" -co "GENPYRAMID=NN"
Input file size is 10248, 6273
0...10...20...30...40...50...60...70...80...90...100 - done in 00:00:20.
bash-5.1$