GeoStyler Style Parser implementation for Mapfile
npm install geostyler-mapfile-parser


GeoStyler Style Parser implementation for Mapserver Mapfiles
And install it with npm:
``sh`
npm i geostyler-mapfile-parser
If the aim is to transform a Mapfile to another format, your Mapfile must contains only one LAYER per file.
`js
import * as fs from 'fs';
import MapfileParser from 'geostyler-mapfile-parser';
const parser = new MapfileParser();
// Load a Mapfile file
const mapfile = fs.readFileSync('./mapfiles_folder/my_mapfile.map', 'utf8');
const { output: geostylerStyle } = await parser.readStyle(mapfile);
console.log(geostylerStyle);
`
Writing a Mapfile from a Geostyler-Style object is currently not possible.
To transforms a file to another Geostyler style, use Geostyler-cli
Short example of usage - Install and transform a Mapfile to a QGIS qml file, specifying a custom directory
for symbols:
``
npm install -g geostyler-cli
geostyler -s sld -t qgis -o output.map input.qml mapfile-symbols-path=./symbols.sym
If a symbolset tag is defined in your mapfile, this link will be followed to read symbols.
If it's not the case a symbols.sym should be located from where you call the transformation.
You can set the default path with:
``
const parser = new MapfileParser();
parser.symbolsPath = ''
Alternatively, if you use this library through a script, you can set the path by adding the
command line option: mapfile-symbols-path=.
`sh`
npm install
npm run test
Be sure you have:
- GNU Make
- Docker
- Docker-compose
Then run simply: make run
You can now show predefined mapfiles at this url:
Set the layers` param to display other layers (from layers defined in /data/mapfiles).
Maintenance and further development of this code can be funded through the
GeoStyler Open Collective. All contributions and
expenses can transparently be reviewed by anyone; you see what we use the donated money for.
Thank you for any financial support you give the GeoStyler project 💞