[general]
name=02CadGis Universal CAD/GIS Importer
qgisMinimumVersion=3.22
qgisMaximumVersion=4.99
description=Convert Netcad NCZ/NCA drawings, DXF CAD, KML/KMZ, GML, GeoJSON, CSV, SpatiaLite, GPX, DGN, and GDB datasets directly into optimized GeoPackage layers with QGIS styling.
about=An advanced CAD and GIS dataset converter utility for the PlanX ecosystem, with native support for Netcad NCZ/NCA drawings. Easily import DXF, Netcad NCZ/NCA, KML, KMZ, GML, GeoJSON, delimited CSV/TSV text with automatic X/Y or WKT geometry detection, SpatiaLite/SQLite, GPX, DGN, and GDB formats directly, with drag-and-drop loading, pre-conversion layer preview and selection, CAD collinear simplification, coordinate transformation, automatic labeling, database joins, and remembered import and export folders across sessions. DWG import is tracked as a future enhancement.
version=2.5.1
author=Yusuf Eminoglu
email=yusuf.eminoglu@deu.edu.tr
repository=https://github.com/YusufEminoglu/zero2cadgis
tracker=https://github.com/YusufEminoglu/zero2cadgis/issues
homepage=https://github.com/YusufEminoglu/zero2cadgis
category=Vector
icon=icons/icon.png
tags=cad,gpkg,kml,dxf,ncz,nca,gdb,mdb,dgn,gml,geojson,csv,spatialite,gpx,converter,importer
experimental=False
deprecated=False
license=GPL-2.0-or-later
changelog=2.5.1: A layer's symbol is now taken from its tabaka, never from its name. A layer holding one tabaka fell through to matching its own layer name, which only worked while layers were named after a category whose name happened to contain the tabaka's keyword; once layers took the official upper group names that stopped being true, so PL_DERE came out plain grey instead of water blue and SNR_YAPIYAK and HAT_KADEME lost their official styling. Plan areas are now also drawn with a 0.7 mm outline: the official style set leaves the outline off most polygon rules since the fill or the tarama carries the meaning, but a plan sheet still needs its function boundaries to read. 2.5.0: Layers are now grouped by the Ministry's own upper groups. PlanGML mode grouped tabaka into seven categories that read like the regulation's but were not from it; it now uses the upper groups of the official UIP tabaka catalog, so a plan opens organised the way the regulation organises it - KONUT ALANLARI / YERLESIM ALANLARI, KENTSEL CALISMA ALANLARI, EGITIM TESISLERI ALANI, PLANLAMA SINIRLARI, OZEL CIZGILER and the rest. Layer names change accordingly. Tabaka the catalog does not define go to a single DIGER PLAN ALANLARI layer, deliberately the only group name in the tree that is not the Ministry's own. The layer tree and the PlanGML schema columns now agree, since both are resolved from the same official catalog. 2.4.0: The PlanGML schema columns now carry the Ministry's own codes. They were derived from the symbology engine's keyword lists, which hold no codes at all, so every feature came out claiming upper group 100 - a value that means nothing and that survives into an exported GeoPackage looking authoritative. PL_KONUT now comes out as upper group 112000 KONUT ALANLARI / YERLESIM ALANLARI, function 112002 YERLESIK KONUT ALANI. The 256 tabaka and 25 upper groups of the official UIP tabaka catalog are compiled into the plugin from the Mekansal Planlar Yapim Yonetmeligi UIP database, with a short documented alias list resolving local spellings a municipality actually uses onto the official tabaka they are the same function as. A tabaka the catalog does not define gets empty code cells rather than invented ones, which covers CAD symbol and text layers. The drawing's own tabaka name is still kept in uip_tabaka, so layer grouping and the categorised symbology are unchanged. 2.3.2: PL_KONUT is now drawn as yerlesik konut. The Ministry's UIP tabaka catalog settles the reading under upper group 112000 KONUT ALANLARI / YERLESIM ALANLARI: 112001 GELISME KONUT ALANI is the tabaka PL_GELISME_KONUT and 112002 YERLESIK KONUT ALANI is the tabaka PL_KONUT, so a bare PL_KONUT is not a generic konut needing a default and was being given the gelisme colour. Kaldirim, refuj and yaya yolu are now 0.3 mm hairlines: their widths are declared in the official style set in metres of ground and were being copied into a paper width, drawing them several times too heavy. Also cleared the two findings the QGIS Hub reported on the previous version, an unused import shadowing a local name and five unscoped Qt enum members, both verified on QGIS 3.44 LTR and QGIS 4.2. 2.3.1: Fixed the drawing's own text not being shown. Labels were bound to the first candidate column that merely existed rather than one that held anything, so labelling latched onto a column that is empty on every feature and drew nothing while the column holding the real text (ada/parsel numbers, building heights, area names) was never reached. The label column is now chosen by looking for one that actually contains text, and labelling is left off when a layer carries none. Point layers that carry text now draw a small 0.6 mm anchor instead of a full marker, so the text is what you read. 2.3.0: Automatic CRS detection for Netcad drawings. A drawing stores its own SRS id rather than an EPSG code, so the EPSG is now worked out from the drawing's projection text (which gives the datum, since TUREF and ED50 cannot be told apart from coordinates alone) together with a sample of its coordinates (whose easting magnitude gives the axis convention: a 6-digit easting is the TM form, an 8-digit one the zone-prefixed Gauss-Kruger form). Covers TUREF and ED50 TM27 to TM45 and their Gauss-Kruger zones 9 to 15, the UTM zones over Turkey on WGS 84 and ED50, and geographic coordinates. The detected CRS is preselected, is what the layers are drawn in, and is what a written GeoPackage carries; when the drawing does not say enough to name one with confidence, nothing is selected and the panel explains what is missing rather than guessing. 2.2.0: Spatial planning release. A new PlanGML spatial planning mode (off by default, so non-planning drawings keep their raw tabaka names, attributes and ARGB colors) groups tabaka into the official PlanGML upper groups, fills the PlanGML schema columns, and draws each tabaka with the official Turkish plan gosterimleri: 350 tabaka rules covering uygulama imar (1/1000), nazim imar (1/5000) and cevre duzeni (1/25.000 and above), plus the 131 tarama tiles they reference, are compiled into the plugin, so nothing is downloaded and no style server is needed. Merged upper-group layers use a categorized renderer over uip_tabaka so every land use keeps its own gosterim; yerlesik and gelisme konut are told apart from the tabaka name; tabaka the official set does not cover fall back to a neutral style. A plan type selector reads the scale from the file name automatically and can be overridden per import. Verified on QGIS 3.44 LTR and QGIS 4.2 against a real 1/1000 municipal drawing. The gosterim is the official standard, not 02CadGis artwork; see THIRD_PARTY_NOTICES.md for its source and the basis for reproducing it. 1.0.0: First stable release. Validated in QGIS 3.44 LTR and QGIS 4 on real municipal datasets, with a consistent import pipeline across the Netcad (NCZ Engine v2 + selective decode + index cache), CAD (DXF/DGN split into selectable CAD layers), and GIS (DXF, KML/KMZ, GML, GeoJSON, CSV, SpatiaLite, GPX, FileGDB, Personal GDB) tools, three output modes (GeoPackage, scratch, live zero-copy), and catalog caching. No functional change from 0.8.0. 0.8.0: Added a fingerprinted layer-catalog cache for Geodatabase/database sources (reopening an unchanged .gdb/.mdb lists its layers instantly, 100x+ faster), DXF/DGN splitting into selectable CAD layers (by Layer/Level), full multi-document KMZ import (all KML documents, not just the first), and a clearer Output Mode radio group. 0.7.0: Added a live layer-loading mode to the CAD & GIS Converter - selected layers from an ArcGIS FileGDB (.gdb), Personal Geodatabase (.mdb), or any multi-layer source can now be added straight to QGIS as zero-copy references with no conversion, so even multi-million-feature Geodatabase layers open almost instantly (two layers of 4.27M features loaded in about 0.27 s on a real municipal FileGDB). GeoPackage and temporary-scratch output remain available for standalone copies. 0.6.0: Added a fingerprinted local index cache for Netcad drawings - reopening an unchanged drawing shows its layer tree near-instantly with no file read or scan (about 160x faster on a real 1.2 MiB file); auto-invalidates on file change, with a Clear cache button. 0.5.0: The NCZ importer now uses the v2 lazy catalog - selecting a drawing only indexes its layers (no geometry decode, near-instant even for large drawings) and geometry is decoded only for the layers you check at import. 0.4.1: Validated NCZ Engine v2 bit-for-bit against a real 8163-entity municipal Netcad drawing; fixed a colour fallback for non-standard feature colour codes and aligned box float math with the previous engine. 0.4.0: New NCZ Engine v2 - an independent block-oriented Netcad decoder with a bounds-checked reader, a geometry-decoder registry, and a lazy layer catalog for selective decoding, verified byte-identical to the previous engine across a synthetic NCZ corpus. 0.3.0: Added GML, GeoJSON, SpatiaLite/SQLite, GPX and delimited CSV/TSV import with automatic X/Y or WKT geometry detection, drag-and-drop loading, pre-conversion layer preview and selection, live progress with message-bar notifications, remembered options, and QMetaType-based Qt6 field types.
