GeoLint Geometry Inspector

Supported inputs and limitations

Supported input

GeoJSON FeatureCollection, Feature, or any of the seven GeoJSON geometry types (Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon and GeometryCollection); standalone .shp or a .zip containing exactly one .shp layer. Positions must contain exactly two finite numbers. The product limit is 10 MiB (10 × 1024 × 1024 bytes); this is a conservative policy, not a measured capacity guarantee.

ZIP expanded content is limited to 10 MiB and 1,024 entries. Only stored or deflated ordinary ZIPs are supported. Matching DBF attributes and CPG are read from ZIPs; SHX, PRJ and DBF-derived feature IDs are not interpreted. 2D Point, MultiPoint, PolyLine and Polygon SHP records are checked. Multipart lines and polygons retain their parts. Original x/y coordinates and record order are retained. Malformed records are parse failures; ambiguous shell/hole relationships are not repaired. Invalid file headers, record framing or archives reject the entire run.

Skipped or rejected

GeometryCollection members are validated recursively and checked as one source record. Nesting beyond 64 levels is a parse failure. Null geometry, empty top-level coordinate arrays and empty collections are skipped. A collection containing any empty geometry is skipped as a whole; no members are silently dropped. Z/M dimensions and Shapefile MultiPatch records are skipped; mixed dimensions, malformed positions, lines with fewer than two positions and malformed rings are parse failures. Legacy crs members cause a file-level rejection.

Attribute scope

Feature properties and matching ZIP DBF attributes support required fields, strict types, numeric bounds, enums, lengths and regular expressions. Field names are case-sensitive top-level keys. DBF C/N/F/L/D fields are supported. Deleted rows are skipped and indexes retained; mismatched SHP/DBF record counts or damaged DBF cause attribute failure independently of geometry.

Supported DBF encodings are UTF-8, ASCII, Windows-1252 and GBK/CP936. CPG takes priority over a recognized DBF encoding marker. Ambiguous non-ASCII input is rejected. Rule files are limited to 1 MiB, 500 rules, 256-character field names and 512-character regular expressions. A complex expression can still take time; cancellation terminates the Worker.

No cross-field scripts, unique-value or relationship checks, nested paths, arbitrary DBF dialects or automatic property repair.

Outside scope

No automatic repair, CRS validation, topology rules other than duplicate geometry, map editing, GeoPackage import, multi-layer archives, URL import, accounts or cloud storage. Input is never automatically closed, simplified or reprojected.

Browser and performance status

Use a modern desktop browser and a secure origin (HTTPS or local loopback). Chrome, Edge, Firefox and Safari each require recorded acceptance before support is claimed. Mobile devices and older browsers are not validated. Large-file benchmarks are isolated experiments and do not increase the public size limit.

Return to the inspector

Duplicate geometry rule

The optional duplicate geometry check compares valid planar 2D points, lines and polygons within one file using topological equality. Vertex order, extra collinear vertices, attributes and feature IDs do not determine equality. MultiPoint, MultiLineString and MultiPolygon participate; GeometryCollection is excluded. No tolerance, snapping or repair is applied. Each unordered pair of duplicate source records produces one topology problem. With three equal records there are three pairs. Downloads contain all pairs and the run configuration; the record table shows each record's related pairs. Skipped comparisons and partial coverage are reported explicitly. Overlaps, gaps, line simplicity and network connectivity are not covered by this rule.