Jtb Raster2ole

| Limitation | Future Work | |------------------------------------------|------------------------------------------------| | Windows-only for full OLE read/write (IStorage) | Implement cross-platform via libole2 (Linux/macOS read-only initially) | | No built-in OLE host viewer (Excel/CAD must render) | Provide sample VBA/C# control for map interaction | | Large rasters (>500 MB) cause OLE container bloat | Add external tile referencing as fallback | | CRS transformation not applied during embed | Auto-reproject to target container’s native CRS if known |

with open("image.tif", "rb") as f: ole_bytes = raster2ole.convert(f, build_overviews=True) jtb raster2ole

: AutoCAD may not support high-resolution OLE images (typically above 1600x1200 pixels); exceeding this may result in a blank object. "rb") as f: ole_bytes = raster2ole.convert(f

: Nested images inside rotated blocks or polar array objects are not supported. jtb raster2ole

[Root Storage] ├── "RasterData" (stream) → raw pixel bytes (Band Interleaved by Pixel – BIP) ├── "GeoTransform" (stream) → double[6] (GDAL affine transform) ├── "Projection" (stream) → WKT2 string ├── "Metadata" (stream) → key-value pairs (XML/JSON) ├── "Overview_1", "Overview_2", ... (streams) → reduced resolution copies └── "ColorTable" (stream) → for paletted images

This paper outlines the technical and operational overview of , a specialized add-in for Autodesk AutoCAD and its verticals, designed to solve the common issue of managing external raster image references. 1. Problem Statement