== Tools

=== Mapnik tools

[#mapnik-index]
==== mapnik-index

TODO - this is an almost undocumented tool meant to improve the processing of CSV and GeoJSON files somehow

[#shapeindex]
==== shapeindex

TODO - this is an almost undocumented tool meant to improve the processing of shapefiles somehow

=== OpenStreetMap tools

While OpenStreetMap data files can be processed directly using the OGR `<Datasource>` this only really works out for rather small files / areas.

To cover larger areas, and especially the full planet, OSM data is usually pre-processed and stored in a database more suitable for processing by a renderer.

The two main tools used to do so are `osm2pgsql` and `imposm`, with the former one seeming to be the far more popular one by now.

==== osm2pgsql

`osm2pgsql` is used by many projects, including the OpenStreetMap Carto style used to generate the default map tiles on the OpenStreetMap website itself.

Databases imported by it are usually well suited for use in combination with the PostGIS data source plugin.

For details see: https://osm2pgsql.org/

==== imposm

See https://imposm.org/

=== Style tools

==== carto

`carto` is a tool that parses CartoCSS stylesheets and converts them into Mapnik XML.

Many OpenStreetMap styles these days are actually implemented using CartoCSS, and not the Mapnik XML syntax directly, including the OpenStreetMap Carto default style.

See also: https://github.com/mapbox/carto

==== Kosmtik

Kosmtik is a Javascript based graphical tool for developing CartoCSS stylesheets in a more "what you see is what you get" way than the classic approach to edit Mapnik XML or CartoCSS stylesheets directly with a text editor.

See also: https://github.com/kosmtik/kosmtik