Standards

SurveyOS publishes three standards at launch, and a fourth is in development. Each is a PDF on this site and on SourceForge, licensed under CC BY 4.0, and covered by our Patent Non-Assertion Pledge.

Standard What it governs Version Status Example implementation
SurveyLISP AutoLISP Coding Standard How AutoLISP and DCL code is named, structured, tested, and made portable 100.0.0 Released SurveyLISP libraries
SurveyLISP Bundle Specification How AutoLISP code is packaged in a zip with a bundle.toml manifest for installation 100.0.0 Released SurveyLISP Bundle Manager (RH Labs)
UAV Image Metadata Standard A sidecar metadata record for each UAV image, in TOML or XML 100.0.0 Draft for comment Imago Aeria Curator (RH Labs)
Survey Calculation Annotation Standard A standard way to annotate survey calculations — In development —

SurveyLISP AutoLISP Coding Standard

This standard makes AutoLISP code readable to a new reader and portable between AutoCAD and BricsCAD. It separates code into three layers: libraries that only take and return data, adapters that are the only code to touch the drawing, and commands that do all the prompting. It also covers naming, comments, error handling, dialog (DCL) files, testing, and loading. Rules marked [lint] and [warn] are checked by the SurveyLISP linter.

[Download PDF] · SourceForge

SurveyLISP Bundle Specification

A bundle is a standard zip file with a bundle.toml manifest. The manifest names the bundle, its version, the files it installs and where, the modules it provides and depends on, the files to load at CAD startup, and its entries in the shared SurveyLISP menu. The specification also defines the SurveyLISP workspace folders a bundle may install into and the paths it may never write.

The specification does not depend on any one tool. Anyone may write a program that builds or installs bundles. The SurveyLISP Bundle Manager from RH Labs is the example implementation. To learn how to package your code, see the Bundle Packaging Guide.

[Download PDF] · SourceForge

UAV Image Metadata Standard

This standard describes one UAV image in one metadata record, so images can be cataloged, searched, and reviewed for asset management and inspection. A record identifies the exact image file, separates where the camera was from where it pointed and what it shows, and records which assets appear in the image and whether each identification has been verified. It states the exposure time without ambiguity and records where each value came from. Records can be written in TOML or XML, and an XML Schema is provided.

This standard is a Draft for comment. Comments are open for 30 days from the date its comment post appears under Latest. See Contribute for how to send them.

[Download PDF] · [Download XML Schema] · SourceForge

Survey Calculation Annotation Standard

We are developing a standard way to annotate survey calculations. A draft will be posted for comment under Latest.

Versions and status

Every standard and every library has a version number in the form MAJOR.MINOR.PATCH, starting at 100.0.0.

  • MAJOR changes when something that conformed before would no longer conform.
  • MINOR changes when we add something that does not break existing conforming work.
  • PATCH changes for corrections and clarifications that do not change meaning.

Standards and libraries are versioned separately. Every library release states which standard versions it implements. We always write the name with the version, for example “SurveyLISP Bundle Specification 100.0.0.”

Each standard has one of four statuses:

Status Meaning
In development Being written; not yet available
Draft for comment Published so you can comment; may change before release
Released Stable; safe to implement
Superseded Replaced by a newer version; kept for reference