GeoLint Geometry Inspector

Check rules

Stable reference numbers describe existing behavior. Original diagnostic codes and GEOS reasons remain available. Skipped, parse-failed and engine-failed records have no validity result; warnings do not change validity. File and run failures do not produce a completed report.

SR001 · File format and size

Accept .geojson/.json, .shp or .zip, at most 10 MiB. Read GeoJSON as UTF-8 JSON; files are processed locally.

Related diagnostics: SE010 READ_ERROR, SE011 FILE_TOO_LARGE, SE012 UNSUPPORTED_FORMAT, SE013 INVALID_JSON

SR002 · GeoJSON document and features

Require a supported geometry, Feature or FeatureCollection. Features must contain geometry. Legacy crs declarations reject the file.

Related diagnostics: SE007 INVALID_FEATURE, SE014 INVALID_ROOT, SE015 UNSUPPORTED_CRS

SR003 · Geometry structure and coordinates

Support all seven GeoJSON geometry types. Positions contain finite numbers; lines require at least two positions. Collections are checked recursively, with a 64-level nesting limit.

Related diagnostics: SE005 INVALID_COORDINATES

SR004 · Explicitly closed polygon rings

Each ring requires at least four positions; the first and last x/y positions must match. Input is never automatically closed.

Related diagnostics: SE006 INVALID_RING

SR005 · Two-dimensional scope

Only consistently two-dimensional coordinates reach GEOS. Z/M coordinates are skipped; mixed dimensions fail parsing. No reprojection or spherical interpretation occurs.

Related diagnostics: SE003 UNSUPPORTED_DIMENSION, SE005 INVALID_COORDINATES

SR006 · Empty geometry policy

Null geometry, empty top-level coordinates and empty collections are skipped. A collection with an empty member is skipped as a whole after structural validation.

Related diagnostics: SE002 EMPTY_GEOMETRY

SR007 · Shapefile framing and records

Validate SHP headers and record boundaries. Check 2D Point, MultiPoint, PolyLine and Polygon records; preserve order and coordinates. Malformed parts or ambiguous shell/hole relationships fail parsing without repair.

Related diagnostics: SE008 INVALID_SHAPE_RECORD, SE016 INVALID_SHAPEFILE

SR008 · Shapefile type scope

Z/M records are skipped under SR005. MultiPatch is skipped because conversion is outside scope. DBF attributes are checked separately; indexes and CRS are not checked.

Related diagnostics: SE004 UNSUPPORTED_TYPE

SR009 · ZIP integrity and single layer

Require one .shp layer. Limit expanded content to 10 MiB and 1,024 entries. Validate framing and CRC; reject encryption, split archives, ZIP64, unsupported compression and duplicate filenames.

Related diagnostics: SE017 INVALID_ARCHIVE, SE018 ARCHIVE_TOO_LARGE, SE019 MISSING_SHAPEFILE, SE020 MULTIPLE_SHAPEFILES

SR010 · GEOS planar validity

GEOS 3.13.0 uses GEOSisValidDetail with flags 0 on each complete geometry. Only the first reason and optional location are returned. Examples include self-intersection, holes outside shells, nested holes/shells, disconnected interiors and too few distinct points. Line crossings and repeated points can be valid: simplicity and cross-feature topology are outside scope.

Related diagnostics: SE001 GEOMETRY_INVALID

SR011 · Engine and Worker execution

Initialize local WASM in a Worker and release GEOS resources. Recoverable record errors have no validity result; initialization, fatal engine or Worker failures stop the run. Cancelled or incomplete runs cannot be exported as completed reports.

Related diagnostics: SE009 ENGINE_ERROR, SE021 ENGINE_INIT_ERROR, SE022 ENGINE_FATAL_ERROR, SE023 WORKER_ERROR

SR012 · Feature identification

Preserve numeric or string IDs and source indexes. Invalid IDs produce a warning and fall back to the source index; they do not invalidate geometry.

Related diagnostics: SE024 INVALID_FEATURE_ID

AR001 · Required attributes

Check configured fields and null or empty-value policies.

AR002 · Attribute types

Check strict string, int, double, boolean or date values without coercion.

AR003 · Attribute constraints

Check configured numeric bounds, enums, string lengths and regular expressions.

AR004 · Attribute sources

Read Feature properties or matching DBF attributes; unavailable or damaged sources have no attribute validity result.

AR005 · Attribute configuration

Validate a versioned attribute rule file before starting inspection.

Return to the inspector