Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ADRG: remove write support #11727

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ Supported Formats: (ro:read-only, rw:read-write, +:update, v:virtual-I/O s:subda
HDF5Image -raster- (rov): HDF5 Dataset
NWT_GRD -raster- (rw+v): Northwood Numeric Grid Format .grd/.tab (*.grd)
NWT_GRC -raster- (rov): Northwood Classified Grid Format .grc/.tab (*.grc)
ADRG -raster- (rw+vs): ARC Digitized Raster Graphics (*.gen)
ADRG -raster- (rovs): ARC Digitized Raster Graphics (*.gen)
SRP -raster- (rovs): Standard Raster Product (ASRP/USRP) (*.img)
BLX -raster- (rwv): Magellan topo (.blx) (*.blx)
GeoRaster -raster- (rw+s): Oracle Spatial GeoRaster
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ Supported Formats: (ro:read-only, rw:read-write, +:update, v:virtual-I/O s:subda
HDF5Image -raster- (rov): HDF5 Dataset
NWT_GRD -raster- (rw+v): Northwood Numeric Grid Format .grd/.tab (*.grd)
NWT_GRC -raster- (rov): Northwood Classified Grid Format .grc/.tab (*.grc)
ADRG -raster- (rw+vs): ARC Digitized Raster Graphics (*.gen)
ADRG -raster- (rovs): ARC Digitized Raster Graphics (*.gen)
SRP -raster- (rovs): Standard Raster Product (ASRP/USRP) (*.img)
BLX -raster- (rwv): Magellan topo (.blx) (*.blx)
PostGISRaster -raster- (rws): PostGIS Raster driver
Expand Down
108 changes: 20 additions & 88 deletions autotest/gdrivers/adrg.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@
# SPDX-License-Identifier: MIT
###############################################################################

import os
import shutil

import gdaltest
import pytest

Expand Down Expand Up @@ -58,91 +55,6 @@ def test_adrg_read_subdataset_img():
tst.testOpen()


###############################################################################
# Test copying.


def test_adrg_copy():

drv = gdal.GetDriverByName("ADRG")
srcds = gdal.Open("data/adrg/SMALL_ADRG/ABCDEF01.GEN")

dstds = drv.CreateCopy("tmp/ABCDEF01.GEN", srcds)

chksum = dstds.GetRasterBand(1).Checksum()

assert chksum == 62833, "Wrong checksum"

dstds = None

drv.Delete("tmp/ABCDEF01.GEN")


###############################################################################
# Test creating a fake 2 subdataset image and reading it.


def test_adrg_2subdatasets():

drv = gdal.GetDriverByName("ADRG")
srcds = gdal.Open("data/adrg/SMALL_ADRG/ABCDEF01.GEN")

with gdal.config_option("ADRG_SIMULATE_MULTI_IMG", "ON"):
dstds = drv.CreateCopy("tmp/XXXXXX01.GEN", srcds)
del dstds

shutil.copy("tmp/XXXXXX01.IMG", "tmp/XXXXXX02.IMG")

ds = gdal.Open("tmp/TRANSH01.THF")
assert ds.RasterCount == 0, "did not expected non 0 RasterCount"
ds = None

ds = gdal.Open("ADRG:tmp/XXXXXX01.GEN,tmp/XXXXXX02.IMG")
chksum = ds.GetRasterBand(1).Checksum()

assert chksum == 62833, "Wrong checksum"

md = ds.GetMetadata("")
assert md["ADRG_NAM"] == "XXXXXX02", "metadata wrong."

ds = None

os.remove("tmp/XXXXXX01.GEN")
os.remove("tmp/XXXXXX01.GEN.aux.xml")
os.remove("tmp/XXXXXX01.IMG")
os.remove("tmp/XXXXXX02.IMG")
os.remove("tmp/TRANSH01.THF")


###############################################################################
# Test creating an in memory copy.


def test_adrg_copy_vsimem():

drv = gdal.GetDriverByName("ADRG")
srcds = gdal.Open("data/adrg/SMALL_ADRG/ABCDEF01.GEN")

dstds = drv.CreateCopy("/vsimem/ABCDEF01.GEN", srcds)

chksum = dstds.GetRasterBand(1).Checksum()

assert chksum == 62833, "Wrong checksum"

dstds = None

# Reopen file
ds = gdal.Open("/vsimem/ABCDEF01.GEN")

chksum = ds.GetRasterBand(1).Checksum()
assert chksum == 62833, "Wrong checksum"

ds = None

drv.Delete("/vsimem/ABCDEF01.GEN")
gdal.Unlink("/vsimem/TRANSH01.THF")


###############################################################################
# Test reading a fake North Polar dataset (#6560)

Expand Down Expand Up @@ -196,3 +108,23 @@ def test_adrg_zna_18():


###############################################################################
# Test reading dataset with 2 subdataset image


def test_adrg_read_2subdatasets():

ds = gdal.Open("data/adrg/subdataset/TRANSH01.THF")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might want to use with gdal.Open("data/adrg/subdataset/TRANSH01.THF") as ds and same with the 2nd open in this test.

assert ds.RasterCount == 0, "did not expected non 0 RasterCount"
ds = None

ds = gdal.Open(
"ADRG:data/adrg/subdataset/XXXXXX01.GEN,data/adrg/subdataset/XXXXXX02.IMG"
)
chksum = ds.GetRasterBand(1).Checksum()

assert chksum == 62833, "Wrong checksum"

md = ds.GetMetadata("")
assert md["ADRG_NAM"] == "XXXXXX02", "metadata wrong."

ds = None
1 change: 1 addition & 0 deletions autotest/gdrivers/data/adrg/subdataset/TRANSH01.THF
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
009902L 0600135 340300003000000010420030VDR1180072FDR1020190QSR0740292QUV0670366CPS0990433CPT0570532SPR1700589BDF0500759VFF0460809 TRANSMITTAL_HEADER_FILE1000;&RECORD_ID_FIELDRTY!RID(A(3),A(2))1600;&TRANSMITTAL_HEADER_FIELDMSD!VOO!ADR!NOV!SQN!NOF!URF!END!DAT(A(1),A(200),A(1),I(1),I(1),I(3),A(16),I(3),A(12))1600;&DATA_SET_DESCRIPTION_FIELDNAM!STR!PRT!SWO!SWA!NEO!NEA(A(8),I(1),A(4),A(11),A(10),A(11),A(10))1000;&SECURITY_AND_RELEASE_FIELDQSS!QOD!DAT!QLE(A(1),A(1),A(12),A(200))1000;&VOLUME_UP_TO_DATENESS_FIELDSRC!DAT!SPA(A(100),A(12),A(20))1600;&TEST_PATCH_IDENTIFIER_FIELDPNM!DWV!REF!PUR!PIR!PIG!PIB(A(7),I(6),R(5),R(5),I(3),I(3),I(3))1600;&TEST_PATCH_INFORMATION_FIELDSTR!SCR(I(1),A(100))1600;&DATA_SET_PARAMETERS_FIELDNUL!NUS!NLL!NLS!NFL!NFC!PNC!PNL!COD!ROD!POR!PCB!PVB!BAD!TIF(I(6),I(6),I(6),I(6),I(3),I(3),I(6),I(6),I(1),I(1),I(1),I(1),I(1),A(12),A(1))2600;&BAND_ID_FIELD*BID!WS1!WS2(A(5),I(5),I(5))1000;&TRANSMITTAL_FILENAMES_FIELDVFF(A(51))00356 D 00055 34030010060000VDR2390006FDR0560245VTH01 11001 001017,19940101XXXXXX013ADRG-0000000.50+465959.48+0010000.52+480000.5000409 D 00055 34030010060000QSR2150006QUV1330221LCF01UN MILITARY SPECIFICATION ARC DIGITIZED RASTER GRAPHICS (ADRG) 022,19900222MIL-A-89007 00323 D 00075 34030010060000CPS0330006CPT1020039SPR0610141BDF0460202TPA01Black 0000000003 00000000051100051100000000400400012800012801008TESTPA01.CPHNRed 0000000000Green0000000000Blue 000000000000417 D 00151 9903001000000006000000000VFF000000052000000006VFF000000052000000058VFF000000052000000110VFF000000052000000162VFF000000052000000214TFN01TRANSH01.THF TESTPA01.CPH XXXXXX01.GEN XXXXXX01.IMG XXXXXX02.IMG 
1 change: 1 addition & 0 deletions autotest/gdrivers/data/adrg/subdataset/XXXXXX01.GEN
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
008182L 0600115 340300003100000010420031DRF0570073DSI0440130OVI0820174GEN2290256SPR1290485BDF0500614TIM0390664 GENERAL_INFORMATION_FILE1000;&RECORD_ID_FIELDRTY!RID(A(3),A(2))1100;&DATA_SET_DESCRIPTION_FIELDNSH!NSV!NOZ!NOS(4I(2))1000;&DATA_SET-ID_FIELDPRT!NAM(A(4),A(8))1600;&OVERVIEW_INFORMATION_FIELDSTR!ARV!BRV!LSO!PSO(I(1),I(8),I(8),A(11),A(10))1600;&GENERAL_INFORMATION_FIELDSTR!LOD!LAD!UNIloa!SWO!SWA!NWO!NWA!NEO!NEA!SEO!SEA!SCA!ZNA!PSP!IMR!ARV!BRV!LSO!PSO!TXT(I(1),2R(6),I(3),A(11),A(10),A(11),A(10),A(11),A(10),A(11),A(10),I(9),I(2),R(5),A(1),2I(8),A(11),A(10),A(64))1600;&DATA_SET_PARAMETERS_FIELDNUL!NUS!NLL!NLS!NFL!NFC!PNC!PNL!COD!ROD!POR!PCB!PVB!BAD!TIF(4I(6),2I(3),2I(6),5I(1),A(12),A(1))2600;&BAND_ID_FIELD*BID!WS1!WS2(A(5),I(5),I(5))2100;&TILE_INDEX_MAP_FIELD*TSI(I(5))00060 D 00045 34030010060000DRF0090006DSS010101010100322 D 00151 9903001000000006000000000DSI000000013000000006OVI000000039000000019SPR000000061000000058BDF000000046000000119TIM000000006000000165OVV01ADRGXXXXXX0130004606700046067-0000000.50+480000.5000000000012700012700000000100100012800012801008XXXXXX01.IMGYRed 0000000000Green0000000000Blue 00000000000000100502 D 00151 9903001000000006000000000DSI000000013000000006GEN000000219000000019SPR000000061000000238BDF000000046000000299TIM000000006000000345GIN01ADRGXXXXXX0130099.90099.9016-0000000.50+465959.48-0000000.50+480000.50+0010000.52+480000.50+0010000.52+465959.4800869134101100.0N0004606700046067-0000000.50+480000.50 00000000012700012700000000100100012800012801008XXXXXX01.IMGYRed 0000000000Green0000000000Blue 00000000000000100502 D 00151 9903001000000006000000000DSI000000013000000006GEN000000219000000019SPR000000061000000238BDF000000046000000299TIM000000006000000345GIN01ADRGXXXXXX0230099.90099.9016-0000000.50+465959.48-0000000.50+480000.50+0010000.52+480000.50+0010000.52+465959.4800869134101100.0N0004606700046067-0000000.50+480000.50 00000000012700012700000000100100012800012801008XXXXXX02.IMGYRed 0000000000Green0000000000Blue 000000000000001
19 changes: 19 additions & 0 deletions autotest/gdrivers/data/adrg/subdataset/XXXXXX01.IMG

Large diffs are not rendered by default.

19 changes: 19 additions & 0 deletions autotest/gdrivers/data/adrg/subdataset/XXXXXX02.IMG

Large diffs are not rendered by default.

9 changes: 1 addition & 8 deletions doc/source/drivers/raster/adrg.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,7 @@ ADRG -- ADRG/ARC Digitized Raster Graphics (.gen/.thf)

.. built_in_by_default::

Supported by GDAL for read access. Creation is possible, but it must be
considered as experimental and a means of testing read access (although
files created by the driver can be read successfully on another GIS
software)
Supported by GDAL for read access.

An ADRG dataset is made of several files. The file recognised by GDAL is
the General Information File (.GEN). GDAL will also need the image file
Expand All @@ -32,10 +29,6 @@ See also : the `ADRG specification
Driver capabilities
-------------------

.. supports_createcopy::

.. supports_create::

.. supports_georeferencing::

.. supports_virtualio::
Loading
Loading