Skip to content

Repository files navigation

Shapefile Toolkit logo

Shapefile Toolkit

A focused Windows desktop app for inspecting, organizing, converting, and delivering ESRI Shapefiles.

English · 简体中文

Latest release Downloads Windows x64 Electron 28 MIT License

Note

Version 0.5.0 introduces a safe batch workbench that takes a group of Shapefiles from inspection to an auditable delivery package without modifying the source datasets.

Why this project exists

Opening a large GIS application is unnecessary when the immediate task is simply to answer questions such as:

  • Which Shapefiles are in this folder?
  • Are the SHP, SHX, DBF, PRJ, and CPG components complete?
  • What are the geometry type, feature count, fields, CRS, encoding, and extent?
  • Do multiple DBF tables use the same field definitions?
  • Can these datasets be renamed, organized, converted, and packaged without damaging the originals?

Shapefile Toolkit is designed for these focused, repeatable jobs. It is especially useful for GIS students, coursework delivery, data handoff, and quick dataset inspection on Windows.

Highlights

Inspect and understand data

  • Import multiple .shp files or recursively scan a folder.
  • Check mandatory and recommended sidecar files.
  • Read geometry type, feature count, field count, dataset size, bounds, CRS, and DBF encoding.
  • Preview geometry on an interactive canvas and inspect the attribute table.
  • Filter healthy, warning, and error datasets in the health dashboard.
  • Export a three-sheet Excel health report.

Batch workbench

The workbench follows a clear four-step flow:

  1. Select and filter datasets.
  2. Choose a tool and configure its options.
  3. Select a separate output directory.
  4. Preview every action, conflict, and warning before execution.

Available tools:

Tool What it does
Organize datasets Copies the complete Shapefile component set and renames every sidecar consistently
Delivery ZIP Creates a portable ZIP with data, manifests, logs, Excel inventory, and an optional health report
Compare DBF schemas Compares field presence, type, width, and decimal precision across datasets
Convert selected data Exports selected datasets to GeoJSON or CSV
Merge compatible data Merges compatible geographic datasets into GeoJSON and records feature provenance

The workbench also provides search, status filters, multi-selection, prefix/suffix renaming, find-and-replace, per-dataset folders, three conflict policies, reusable presets, progress reporting, safe cancellation, and direct access to the output folder.

Safety and verification

The application treats the source dataset as read-only.

  • The output directory must be separate from every source directory.
  • The main process rereads the actual SHP header and PRJ instead of trusting UI metadata.
  • Every source component receives a SHA-256 snapshot before execution and is checked again before commit.
  • Outputs are created in a staging directory and validated before being moved into the final location.
  • Existing files are never silently overwritten: choose automatic numbering, skip, or stop.
  • Generated GeoJSON is reread and its feature count is verified.
  • Delivery ZIPs are written as streams and then checked entry by entry for exact names, sizes, and CRC32 values.
  • Cancellation and failures remove uncommitted temporary outputs.
  • manifest.json and .operation.json record inputs, outputs, checksums, warnings, and verification status.

All processing is local. The application does not upload GIS data to a server.

Download and run

  1. Open the latest release.
  2. Download Shapefile-Toolkit-v*-win-x64.zip.
  3. Extract the complete ZIP to a folder.
  4. Double-click Shapefile Toolkit.exe.

No installation, Node.js, or PowerShell is required. The extracted ZIP build is recommended because it starts faster than a self-extracting portable executable.

Important

Keep all files from the downloaded ZIP together. Inside a GIS dataset, a usable Shapefile normally requires matching .shp, .shx, and .dbf files. Keeping .prj and .cpg is strongly recommended.

Coordinate-system rules

  • CSV export preserves source coordinate values.
  • GeoJSON export requires a known geographic coordinate system.
  • Projected coordinates are never written directly as GeoJSON coordinates.
  • Shapefile Toolkit does not currently perform reliable reprojection to WGS84.
  • Copying a reference PRJ only defines the CRS of an output copy; it does not transform coordinates.
  • Writing a CPG only declares the DBF encoding; it does not transcode text.

These boundaries are intentional: the tool reports what it can verify and does not present metadata edits as spatial transformations.

Current limitations

  • No Shapefile write-back or reconstruction.
  • No production-grade reprojection, GeoPackage output, or MakeValid geometry repair.
  • No streaming parser for very large SHP/DBF feature data; large layers may consume substantial memory.
  • Built-in Turf.js operations are lightweight in-memory utilities, not replacements for a full GIS analysis engine.
  • The Windows build is not commercially code-signed, so SmartScreen may display a warning on first launch.

Development

Requirements: Node.js 18 or later on Windows.

npm install
npm test
npm start

Build the recommended Windows ZIP:

npm run build

Additional build targets:

npm run build:dir
npm run build:portable

The test suite covers core Shapefile reading, DBF schema handling, conflict policies, source preservation, cancellation cleanup, GeoJSON safeguards, streaming ZIP verification, and batch IPC plan integrity.

Technology

  • Electron 28
  • Node.js
  • shapefile
  • Turf.js
  • ExcelJS
  • JSZip
  • zip-stream
  • csv-stringify

Roadmap

  • Recursive file and folder import
  • Shapefile component and metadata inspection
  • Geometry preview and attribute table
  • Health dashboard and Excel health report
  • Multi-dataset batch workbench and action preview
  • Complete sidecar copy, safe renaming, and conflict handling
  • Delivery ZIP, manifests, logs, inventory, and output verification
  • DBF schema comparison, including common Chinese encodings
  • Selected GeoJSON/CSV conversion and compatible GeoJSON merge
  • Distributable optional GIS runtime
  • Reliable reprojection, GeoPackage output, and geometry repair
  • Shapefile merge, split, and field-writing tools
  • Streaming support for very large datasets
  • English and Chinese application UI

See CHANGELOG.md for version history.

Contributing

Bug reports, practical GIS workflow ideas, and pull requests are welcome. Please open an Issue with a reproducible example whenever possible.

License

Shapefile Toolkit is released under the MIT License.

About

A modern desktop toolkit for batch processing ESRI Shapefiles.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages