This release is a pre-release and may not be stable for production use.
nsw-topo-split
nsw-topo-split is a simple Python package that provides a command-line
interface for downloading and evenly splitting NSW Spatial Services topographic
maps across smaller pages. This is useful if you can't get an official hard copy
(e.g., for a new edition), or if you don't have access to a large-format printer
to print the digital maps provided on the NSW Spatial Collaboration
Portal.
Quick example
nsw-topo-split cover katoomba 2022
nsw-topo-split map katoomba 2022
Maps shown above are © State of New South Wales (Spatial Services, a business unit of the Department of Customer Service NSW), reproduced under the terms of the Creative Commons Attribution 4.0 license.
Installation
Option 1: pipx (preferred)
This is the easiest option because it automatically installs nsw-topo-split
into a standalone virtual environment and allows you to run nsw-topo-split
anywhere.
Install pipx, then run
pipx install nsw-topo-split
Option 2: pip
Create and activate a clean virtual environment, then run
pip install nsw-topo-split
Development installation
Clone the repository and navigate to its root directory. Then, in a clean virtual environment, run
pip install -r requirements-dev.txt # for reproducibility
pre-commit install
pip install -e .
Usage
usage: nsw-topo-split [-h] [-o OUT] [-f] [-d [DPI]] [-q] [-s SIZE] [-p]
[-n NX NY] [-l LX LY] [-w]
{map,cover} name year
split a NSW topographic map across smaller pages
positional arguments:
{map,cover} 'map' to make the map pages, 'cover' to make the cover
pages
name map name (case-insensitive), e.g., katoomba; remember
to quote names with spaces
year year of publication
options:
-h, --help show this help message and exit
-o OUT, --out OUT output directory (default: working directory); files
are output in a subdirectory corresponding to the
publication year and map name, e.g.,
2022/8930-1S+KATOOMBA
-f, --force-download download the original map, even if it already exists
in the output directory
-d [DPI], --dpi [DPI]
rasterize the output to the specified resolution
(default: 300 DPI); if this option is not given, then
the output will not be rasterized. WARNING: this may
make gridlines hard to see on some map editions. It
will also increase processing time, and file size for
mode=map.
-q, --quiet suppress log messages
page format options:
-s SIZE, --size SIZE page size (case-insensitive; default A3); options are
'A0' through 'A10', 'B0' through 'B10', 'C0' through
'C10', 'Card-4x6', 'Card-5x7', 'Commercial',
'Executive', 'Invoice', 'Ledger', 'Legal', 'Legal-13',
'Letter', 'Monarch' and 'Tabloid-Extra'
-p, --portrait use portrait layout rather than landscape
-n NX NY, --n-pages NX NY
horizontal and vertical number of pages (determined
automatically by default)
-l LX LY, --overlap LX LY
horizontal and vertical overlap between pages in mm
(default: [20.0, 20.0])
-w, --allow-whitespace
do not expand overlaps to eliminate white space
For example, the quick example above will produce three PDFs
in ./2022/8930-1S+KATOOMBA:
8930-1S+KATOOMBA.pdf: The original map downloaded from Spatial Services8930-1S+KATOOMBA_cover_a3.pdf: A landscape A3 page with the map cover page and legend side-by-side8930-1S+KATOOMBA_split_a3.pdf: The map, split across six landscape A3 pages with 20mm overlaps.
When printing double-sided, make sure to choose "flip on long edge".
Metadata
Release files for nsw-topo-split 0.1.0b3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nsw_topo_split-0.1.0b3.tar.gz | 12.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nsw_topo_split-0.1.0b3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.1 kB
Release files / nsw_topo_split-0.1.0b3.tar.gz
| Download URL | nsw_topo_split-0.1.0b3.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
979bf6766c987a662f9148f6b5071bf47b834c8a309b074235c8ec5d869d9a19
|
|
BLAKE2b-256 checksum How to use checksums |
39162f0946e533a0bb5ce13e8fa4f34bd30bfdb98e5d5439d9ab07929c26782a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 22, 2025.
Transparency logRelease files / nsw_topo_split-0.1.0b3-py3-none-any.whl
| Download URL | nsw_topo_split-0.1.0b3-py3-none-any.whl |
|---|---|
| Size | 12.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c637271e7585cc38973c2f9f5a6e98ea6546447d424e5011a659ecee65750dfe
|
|
BLAKE2b-256 checksum How to use checksums |
16637d7a10a05b3790d1ba3d0149e76e7fc4a49606d6a4eb3875b472d2d37670
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 22, 2025.
Transparency log