bcgov / designatedlands

Python script to combine conservation related spatial data from many sources to create a single 'Designated Lands' layer for British Columbia
Apache License 2.0
9 stars 4 forks source link

Gulf Islands National Park Reserve zipfile no longer includes Administrative_Area.shp #57

Closed smnorris closed 5 years ago

smnorris commented 5 years ago
$ designatedlands load
Downloading ftp://ftp.nrcan.gc.ca/ess/sgb_pub/sgb_datasets/bc/GLACIER_NATIONAL_PARK_OF_CANADA/GLACIER_NATIONAL_PARK_OF_CANADA_SHP.zip
Extracting /var/folders/wt/1b36xf1j1tvfhl8t232cmcdc0000gn/T/tmp35jz8jraGLACIER_NATIONAL_PARK_OF_CANADA_SHP.zip to source_data/03d71ca5eb80ff33e6a163bc954e0db14709aba26303a8f99c80d1d3
Downloading ftp://ftp.nrcan.gc.ca/ess/sgb_pub/sgb_datasets/bc/GULF_ISLANDS_NATIONAL_PARK_RESERVE_OF_CANADA/GULF_ISLANDS_NATIONAL_PARK_RESERVE_OF_CANADA_SHP.zip
Extracting /var/folders/wt/1b36xf1j1tvfhl8t232cmcdc0000gn/T/tmpchvf4ru2GULF_ISLANDS_NATIONAL_PARK_RESERVE_OF_CANADA_SHP.zip to source_data/a8900083c1eaad0caffa1dd66a121dc4218f0da2e09416aa181fecbe
Traceback (most recent call last):
  File "/usr/local/bin/designatedlands", line 11, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/designatedlands/main.py", line 146, in load
    force_download=force_download,
  File "/usr/local/lib/python3.7/site-packages/designatedlands/download.py", line 104, in download_non_bcgw
    layer = fiona.listlayers(os.path.join(out_folder, filename))[0]
  File "/usr/local/lib/python3.7/site-packages/fiona/__init__.py", line 233, in listlayers
    raise IOError("no such file or directory: %r" % path)
OSError: no such file or directory: 'source_data/a8900083c1eaad0caffa1dd66a121dc4218f0da2e09416aa181fecbe/Administrative_Area.shp'

Double checking.... file is definitely not there. Archive is dated Aug29 2018.

$ wget ftp://ftp.nrcan.gc.ca/ess/sgb_pub/sgb_datasets/bc/GULF_ISLANDS_NATIONAL_PARK_RESERVE_OF_CANADA/GULF_ISLANDS_NATIONAL_PARK_RESERVE_OF_CANADA_SHP.zip
$ unzip GULF_ISLANDS_NATIONAL_PARK_RESERVE_OF_CANADA_SHP.zip
Archive:  GULF_ISLANDS_NATIONAL_PARK_RESERVE_OF_CANADA_SHP.zip
  inflating: Ancillary_Line.dbf
  inflating: Ancillary_Line.prj
  inflating: Ancillary_Line.shp
  inflating: Ancillary_Line.shx
  inflating: Land_Parcel.dbf
  inflating: Land_Parcel.prj
  inflating: Land_Parcel.shp
  inflating: Land_Parcel.shx
  inflating: Land_Parcel_Boundary.dbf
  inflating: Land_Parcel_Boundary.prj
  inflating: Land_Parcel_Boundary.shp
  inflating: Land_Parcel_Boundary.shx
  inflating: Metadata-Cadastral-Information-for-Gulf-Islands-National-Park-Reserve-of-Canada.html
  inflating: Metadata-Cadastral-Information-for-Gulf-Islands-National-Park-Reserve-of-Canada.xml
  inflating: Plan_Envelope.dbf
  inflating: Plan_Envelope.prj
  inflating: Plan_Envelope.shp
  inflating: Plan_Envelope.shx
smnorris commented 5 years ago

Same issue for park_national_gwaiihaanas and park_national_pacificrim but the other National Park zipfiles do currently include the required shapefile.

Consider using CARTS or BCGW layer WHSE_ADMIN_BOUNDARIES.CLAB_NATIONAL_PARKS instead.

smnorris commented 5 years ago

Data are now updated on the federal site but note that the file naming convention has changed slightly.

GULF_ISLANDS_NATIONAL_PARK_RESERVE_OF_CANADA_SHP.zip is now GULF_ISLANDS_NATIONAL_PARK_RESERVE_OF_CANADA_shp_eng.zip