cad2geo
cad2geo is a small Python SDK for inspecting Netcad NCZ/NCA drawings and converting supported geometry into GeoJSON without QGIS.
The first release focuses on the high-value headless core extracted from 02CadGis:
- pure-Python NCZ/NCA block scanning and geometry decoding
- cheap layer catalog inspection before full decode
- selective layer decoding
- stable dataclasses for coordinates, entities, attribute tables, and parse results
- GeoJSON FeatureCollection export
- CLI commands for inspection and conversion
Installation
pip install cad2geo
Python API
from cad2geo import inspect_source, parse_netcad, write_geojson
layers = inspect_source("imar_plani.ncz")
for layer in layers:
print(layer.layer_code, layer.layer_name, layer.record_count)
result = parse_netcad("imar_plani.ncz")
write_geojson(result.entities, "imar_plani.geojson")
CLI
cad2geo inspect imar_plani.ncz
cad2geo inspect imar_plani.ncz --json
cad2geo convert imar_plani.ncz imar_plani.geojson
cad2geo convert imar_plani.ncz roads.geojson --layers 1,3,7
Scope
cad2geo 0.1.0 intentionally does not wrap QGIS, GDAL/OGR, DWG, DXF, FileGDB, or GeoPackage workflows. Those remain in the 02CadGis QGIS plugin. The SDK starts with a dependency-free Netcad reader so it can run in scripts, notebooks, CI, and server-side processing.
License
GPL-2.0-or-later. The NCZ decoding lineage is documented in THIRD_PARTY_NOTICES.md.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cad2geo-0.1.0.tar.gz.
File metadata
- Download URL: cad2geo-0.1.0.tar.gz
- Upload date:
- Size: 33.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e19d93afce476aa9161e0c434b0a9e819b2e2cc7f8813fd5a4cb79b5aba3dae
|
|
| MD5 |
2091d850edf666953e750e5e795b4b68
|
|
| BLAKE2b-256 |
2766fa21fa60a86b03c7f0278ee734e3e48093af8620869eae6713653cc7f191
|
Provenance
The following attestation bundles were made for cad2geo-0.1.0.tar.gz:
Publisher:
publish.yml on YusufEminoglu/cad2geo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cad2geo-0.1.0.tar.gz -
Subject digest:
8e19d93afce476aa9161e0c434b0a9e819b2e2cc7f8813fd5a4cb79b5aba3dae - Sigstore transparency entry: 2589100709
- Sigstore integration time:
-
Permalink:
YusufEminoglu/cad2geo@5e2cd630df2514f66e684e39664f7a0d37ccee31 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/YusufEminoglu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5e2cd630df2514f66e684e39664f7a0d37ccee31 -
Trigger Event:
release
-
Statement type:
File details
Details for the file cad2geo-0.1.0-py3-none-any.whl.
File metadata
- Download URL: cad2geo-0.1.0-py3-none-any.whl
- Upload date:
- Size: 31.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e62e4a52192901171f0dfab76d0de723bd63cd9d92c1ddabd823d940fca6ef5
|
|
| MD5 |
0727a41d5e6767bf3dfcf893dbfc3dec
|
|
| BLAKE2b-256 |
5a55009322dc0c5ccb413e348c96b092247590baf87f8ae6677eebda8c1f942d
|
Provenance
The following attestation bundles were made for cad2geo-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on YusufEminoglu/cad2geo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cad2geo-0.1.0-py3-none-any.whl -
Subject digest:
6e62e4a52192901171f0dfab76d0de723bd63cd9d92c1ddabd823d940fca6ef5 - Sigstore transparency entry: 2589100804
- Sigstore integration time:
-
Permalink:
YusufEminoglu/cad2geo@5e2cd630df2514f66e684e39664f7a0d37ccee31 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/YusufEminoglu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5e2cd630df2514f66e684e39664f7a0d37ccee31 -
Trigger Event:
release
-
Statement type: