GeoSHPer

GeoSHPer is a JavaScript library for converting shapefile data into GeoJSON. It reads ZIP archives containing .shp, .dbf, and .prj files, parses geographic features and attributes, and supports coordinate transformation using Proj4js. The result is a GeoJSON FeatureCollection, enabling easy integration with web mapping libraries.

This script should not be not be installed directly. It is a library for other scripts to include with the meta directive // @require https://update.greasyfork.org/scripts/526996/1537647/GeoSHPer.js


Ask a question, post a review, or report the script.
Author
JS55CT
Version
1.0.0
Created
2025-02-15
Updated
2025-02-15
Size
33.5 KB
License
MIT

GeoSHPer

GeoSHPer is a JavaScript library designed to convert shapefile data into GeoJSON format effortlessly. It reads ZIP archives containing various components of shapefiles (.shp, .dbf, and .prj files), parses geographic features and attributes, and supports coordinate transformations using Proj4js. The final result is a GeoJSON FeatureCollection, which can be easily integrated with web mapping libraries.

Features

Installation Dependency

To use GeoSHPer, you need to include the Proj4js library as a dependency:

<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.15.0/proj4-src.js"></script>

or via Tamplermonkey / GreasyFork

// @require  https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.15.0/proj4-src.js

Usage

Basic Example

Here is a simple example of how to use GeoSHPer to convert shapefile data to GeoJSON:

(async () => {
const response = await fetch('path/to/your/shapefile.zip');
const buffer = await response.arrayBuffer();
const geoSHPer = new GeoSHPer();
await geoSHPer.read(buffer);
const geoJSON = geoSHPer.toGeoJSON();
console.log(geoJSON);
})();

Handling Different Encodings

GeoSHPer supports different string encoding formats specified in .cpg files for .dbf attributes.

// Assuming a `.cpg` file exists in your .zip providing character encoding details.

Error Handling

GeoSHPer provides error messages for common issues:

Ensure you handle these errors appropriately in your application.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

Acknowledgments

GeoSHPer builds upon foundational work from:

Each library is subject to its own license and must be used in accordance with their respective terms. This code adapts and extends functionalities from shpjs to convert shapefile data into GeoJSON.

Contact

Created by JS55CT - GitHub