# Site Layers-overlay — read me first **What it does.** archiMap gives you the physical site: lots, buildings, roads, terrain. Site Layers-overlay adds what archiMap does not have, which is the planning rules and the climate. It puts them into the same drawing so they line up. - **Planning layers (NSW only for now):** zoning, height of buildings, floor space ratio, additional-control areas, heritage items and conservation areas, State Heritage Register curtilages, flood planning, bushfire prone land and acid sulfate soils. - **Climate (anywhere):** the sun path for your latitude, plus wind roses, temperature and rainfall from five years of weather data. - **What you get back:** a DXF for Rhino or Revit, three diagrams drawn in your own style, and a **verification register**. The register lists every fact the tool found, with an empty *verdict* column for you to fill in. **Outside NSW** you still get sun, wind and climate. The planning rows in the register say they could not be pulled for your city. Finding and checking those rules yourself is part of the assignment. --- ## Before you start (5 minutes) 1. **Run archiMap** on your site and export **DXF** (2D). Write down the pin: latitude and longitude, to six decimal places. 2. **Fill in `style_card.toml`** once: your colours, line weights, hatches, typeface and three reference images. Every diagram follows it, so the software never chooses the look. ## Run it — three ways, same tool, same results | Route | Needs | Steps | |---|---|---| | **A · Web page** | A laptop browser | Open **aia-site-layers-overlay.pages.dev** → paste your pin → add your DXF and style card → *Run Site Layers-overlay* → *Download everything (zip)*. It runs inside your browser tab and your files are not uploaded anywhere. | | **B · Colab** | A Google account | Download the notebook from the page → colab.research.google.com › *File › Upload notebook* → fill in step 1 → *Runtime › Run all* → upload your files at step 2 → the zip downloads at the end. | | **C · Your own computer** | Python 3.11 or later | `pip install ezdxf shapely pyproj matplotlib requests scipy` then `python site_layers_overlay.py --lat -33.910706 --lon 151.143224 --address "14 Kays Ave West, Dulwich Hill" --dxf my_archimap.dxf --style style_card.toml` | A run takes about one to two minutes, because each planning layer is its own request to a NSW government map service. Running the same site a second time is quick, because answers are kept. ## What comes back ``` site_.dxf archiMap's layers untouched + new AI_ layers (AI_SITE, AI_ZONE, AI_HOB, AI_FSR, AI_ADDCTRL, AI_HERITAGE, AI_FLOOD, AI_BUSHFIRE, AI_ASS, AI_SUNPATH, AI_WIND, AI_NORTH, AI_RADIUS) site__AI_only.dxf ...instead of the above, if the layers could not be lined up to within 1 m diagram_plan.svg / .png planning overlay on your base diagram_exploded.svg / .png every layer stacked and lifted apart: the hero image climate.svg / .png sun path, wind roses, temperature and rain register_.csv every fact, where it came from, how sure the tool is, and an empty verdict layers_/*.geojson the raw layers, for GIS or Grasshopper prompt_suffix.txt your style card as text, to paste after any image-generation prompt ``` SVGs open in Illustrator and import into Rhino. The DXF opens in Rhino (*Import*) and in Revit (*Insert › Import CAD*, units: metres). ## The register is the assignment Each row states one fact: *"Site is zoned R2 Low Density Residential — Inner West LEP 2022, Map Amendment No 4, currency 2026-08-21"*. Open the source URL, or the NSW Planning Portal Spatial Viewer, and check it. Then write a verdict in the **verdict** column: *confirmed*, *wrong*, *partly*, or *can't verify*. Use the **note** column to say what you found. - **HIGH:** the map service returned it along with the instrument and a currency date. It still needs checking. - **MEDIUM:** reanalysis climate data, computed sun angles, or a layer that came back empty. - **LOW:** computed by the tool (areas, distances, the alignment residual) or supplied by you (the pin). - **NOT CHECKED:** the tool could not answer. You must answer it yourself. **An empty layer does not mean the site is unconstrained.** For example, most Sydney councils publish no flood map on the Planning Portal, and the register will say so. Title, easements, the DCP and the section 10.7 certificate are always your job. ## If something goes wrong - **A layer says NOT CHECKED:** the government server didn't answer. Run it again later. Everything already fetched is cached, so a re-run only asks for what is missing. - **The DXF comes back as `_AI_only`:** the tool could not match the new layers to archiMap's lots to within 1 m. The register gives the number. Check that your pin is right. Your layers are still correct, but they sit in their own drawing, with the pin at 0,0. - **The wrong lot is outlined:** your pin is on the road or on a neighbour's lot. Move the pin, or name the lots with `--lots 10//DP7949,11//DP7949`. - **Colab is blocked where you are:** use route A or C. *Not a planning certificate and not planning advice. Sources and retrieval dates are printed on every diagram and in every register row. Climate data: Open-Meteo.com, CC BY 4.0.*