8 Standalone Spatial & GeoAI SDKs
Zero C-compiler build steps, 100% pure Python, and headless high-throughput computing. Built for Jupyter Notebooks, pandas/geopandas spatial pipelines, automated backend cron jobs, and cloud microservices.
geoai2analytics-sdk
v0.12.1Spatial Statistics, Econometrics (GWR/MGWR/SAR) & Explainable GeoAI (Spatial SHAP).
- Spatial Autocorrelation: Global Moran's I, Geary's C, Getis-Ord General G with permutation inference
- Spatial Econometrics: Spatial Autoregressive (SAR), Spatial Error Model (SEM), GWR & MGWR
- Explainable GeoAI: Spatial SHAP tree explainers, spatial cross-validation, and Moran eigenvectors
- Performance: Pure NumPy/SciPy linear algebra, zero GDAL or C-compiler requirement
from geoai2analytics import MoranI, SpatialRegression, SpatialSHAP
# 1. Global Moran's I spatial autocorrelation
mi = MoranI(values, weights_matrix)
print(f"Moran's I: {mi.I:.4f}, p-value: {mi.p_value:.4f}")
# 2. Train Explainable GeoAI Random Forest with Spatial SHAP
explainer = SpatialSHAP(model, coordinates)
shap_values = explainer.compute_shapley()
planx-sdk
v2.27.1Urban Resilience, Multi-Criteria Site Analysis (MCDA), EV Queues & Cellular Automata.
- MCDA Engine: Analytic Hierarchy Process (AHP), TOPSIS, and Monte Carlo weight sensitivity simulations
- Urban Hazards: HAZUS-based seismic vulnerability, flood exposure, and urban heat island metrics
- Stochastic Mobility: M/M/c/K queueing simulation for metropolitan EV fast-charging demand
- Cellular Automata: SLEUTH-style urban land-use growth and morphological transition matrices
from planx import MCDA, CellularAutomata, EVChargingQueue
# 1. Monte Carlo Analytical Hierarchy Process (AHP)
ahp = MCDA.run_monte_carlo_ahp(criteria_matrix, n_simulations=1000)
print(f"Consistency Ratio: {ahp.cr:.3f}, Weights: {ahp.weights}")
# 2. Stochastic M/M/c/K queue for urban EV fast-charging
queue = EVChargingQueue(arrival_rate=14.2, service_rate=4.0, servers=4)
print(f"Mean Wait Time: {queue.mean_wait_time_minutes:.1f} mins")
cad2geo
v0.12.1High-Speed CAD to GeoJSON converter, Bishop slope stability & CRTN traffic noise.
- Headless CAD Converter: Parses AutoCAD DXF (R12 to 2018) & binary DWG directly into GeoJSON
- Geotechnical Stability: Bishop circular arc slice method Factor of Safety (FoS) computation
- Environmental Acoustics: UK Calculation of Road Traffic Noise (CRTN) 18-hour L10 propagation
- Output Formats: GeoJSON, WKT, GeoPandas DataFrame, and GeoPackage compatible dicts
from cad2geo import CADConverter, BishopSlopeStability
# 1. Headless high-speed conversion from DXF/DWG to GeoJSON
geojson_data = CADConverter.to_geojson("site_plan.dxf")
# 2. Bishop Circular Arc Factor of Safety (FoS) calculation
bishop = BishopSlopeStability(dem_slices, cohesion=24.5, friction_angle=32)
print(f"Factor of Safety: {bishop.factor_of_safety:.3f}")
NCZ2Geo
v0.12.1Pure-Python Netcad NCZ/NCA parser with PlanGML zoning identity & e-Plan symbology.
- Netcad NCZ/NCA Parser: High-throughput decoder for binary & ASCII Turkish cadastre files
- PlanGML Compliance: Generates official Ministry of Environment PlanGML zoning identities
- Symbology Engine: 100+ Turkish e-Plan cadastral line styles, hatch patterns, and color keys
- Coordinate Systems: Native ITRF96, ED50, and UTM 3-degree/6-degree projection transforms
from ncz2geo import NCZParser, PlanGMLBuilder
# 1. Parse Netcad NCZ/NCA binary & ASCII cadastre geometries
cadastre = NCZParser.parse_file("imar_plani.ncz")
# 2. Generate Law 3194 compliant PlanGML zoning identity
plangml = PlanGMLBuilder.from_ncz(cadastre, projection="EPSG:5256")
plangml.export_gml("plan_identity.gml")
multilayer-sdk
v0.12.1Synchronized Multi-Panel Map Visualization, Real-Time Crosshairs & Curtain Swipe.
- Multi-Panel Synchronization: Synchronizes up to 8 interactive map canvas extents & zoom levels
- Laser Pointer Crosshairs: Broadcasts real-time coordinate cursor across split-screen viewports
- Curtain Swipe: Hardware-accelerated split-screen before/after change detection slider
- Proximity Radar: Multi-tier concentric isochronic buffers (100m, 300m, 500m) for accessibility
from multilayer import MultiCanvasSync, POIProximityRadar
# 1. Synchronize multiple map canvases with shared laser crosshairs
viewer = MultiCanvasSync(layers=[satellite_layer, zoning_layer])
# 2. Multi-Scale POI Proximity Radar (100m, 300m, 500m)
radar = POIProximityRadar(study_area, pois=["hospital", "school", "park"])
radar_scores = radar.compute_isochronic_radii()
myface2city
v0.12.1Optical urban portrait engine, vector halftone stippling & Japanese Suminagashi marbling.
- Optical Urban Art Engine: Transforms portrait photographs into living street networks
- Halftone & Dithering: Vector circular halftone, Floyd-Steinberg dithering, and Voronoi stippling
- Suminagashi Marbling: Fluid dynamic Japanese paper marbling simulation over road networks
- Export Formats: High-resolution SVG, PDF art posters, and QGIS-ready GeoJSON polylines
from myface2city import FaceToCityEngine, HalftoneStipple
# 1. Render portrait photography into living street network geometry
network = FaceToCityEngine.render_street_network("portrait.jpg", density=0.8)
# 2. Export Voronoi stippling & Japanese Suminagashi vector poster
network.export_svg("urban_face_poster.svg")
osm2threejs
v0.12.1Headless 3D procedural city generation from OpenStreetMap into Three.js WebGL & glTF.
- OSM 3D Generation: Headless OpenStreetMap building footprint ingestion and procedural extrusion
- Solar Shadow Simulation: Solar azimuth/elevation calculation with cumulative shadow heatmaps
- WebGL & glTF Export: Compiles optimized 3D glTF/GLB digital twin meshes with PBR materials
- Browser Orbit Controls: Embedded Three.js viewer with fly-through camera trajectory recording
from osm2threejs import OSMCityBuilder, ShadowEngine
# 1. Generate 3D procedural buildings directly from bounding box
scene = OSMCityBuilder.from_bbox([38.41, 27.12, 38.43, 27.15])
# 2. Cumulative solar shadow exposure and glTF export
shadows = ShadowEngine.simulate_annual_shadows(scene, latitude=38.42)
scene.export_gltf("izmir_digital_twin.glb")
zero2route3d_sdk
v0.12.13D DEM slope kinematics, Minetti metabolic caloric routing & HMM Viterbi map-matching.
- 3D Kinematic Routing: Elevation-aware A* pathfinding over Digital Elevation Model (DEM) rasters
- Metabolic Physiology: Minetti energetic expenditure modeling (Joules/kg) along terrain gradients
- Terrain Resistance: Surface friction matrices combining land cover, slope, and surface roughness
- Map-Matching: Hidden Markov Model (HMM) Viterbi algorithm for snapping GPS tracks to 3D networks
from zero2route3d import KinematicRouter, MinettiEnergy
# 1. 3D elevation-aware metabolic pathfinding over DEM raster
router = KinematicRouter(dem_raster="izmir_elevation.tif")
path = router.find_optimal_path(origin, destination, profile="pedestrian")
# 2. Minetti metabolic caloric consumption along slope gradients
calories = MinettiEnergy.calculate_energy_joules(path.gradients, mass_kg=75)
Explore In-Browser Simulation & Growth Models
Test interactive simulation modes directly on live Leaflet maps in our Unified Playground, or view the complete Bass diffusion econometric growth models and PyPI download history in our SDK Governance Studio.