Draw geodata in SVG
Project description
SVGIS
-----
Create SVG drawings from vector geodata files (SHP, geoJSON, etc).
SVGIS is good for: creating small multiples, combining lots of datasets
in a sensible projections, and drawing maps with basic styles based on
classes in the source data.
.. code:: bash
svgis draw input.shp -o out.svg
svgis draw --project utm south_dakota.shp north_dakota.geojson -o dakota.svg
svgis draw --style my.css england.shp scotland.shp wales.shp -o great_britain.svg
Documentation: http://pythonhosted.org/svgis
Install
-------
Requires `fiona <http://pypi.python.org/pypi/fiona>`__, which in turn
requires GDAL.
Before installing, run the following on OS X: ``brew install gdal``. On
Linux: ``sudo apt-get -qq install libgdal1-dev``.
Then:
::
pip install svgis
An additional feature is available if you want to download more
prerequisites:
::
# Clip output shapes to the bounding box (smaller files)
brew install geos # os x
sudo yum/apt-get geos # linux
pip install svgis[clip]
Command line tools
------------------
The ``svgis`` command line tool has four commands: ``draw``,
``project``, ``scale`` and ``style``. ``svgis scale`` and
``svgis style`` will add a scaling factor or CSS style to an existing
SVG file. ``svgis project`` is a utility for determining what projection
``svgis draw`` will (optionally) generate for given bounding boxes. Read
the `docs <>`__ for complete information on these commands and their
options.
Examples
~~~~~~~~
Draw the outline of the contiguous United States, projected in Albers:
::
curl -O http://www2.census.gov/geo/tiger/GENZ2014/shp/cb_2014_us_nation_20m.zip
unzip cb_2014_us_nation_20m.zip
svgis draw --project EPSG:5070 --scale 1000 --bounds -124 20.5 -64 49 cb_2014_us_nation_20m.shp -o us.svg
The next two examples use the `Natural
Earth <http://naturalearthdata.com>`__ admin-0 data set.
Draw upper income countries in green, low-income countries in blue:
::
/* style.css */
.income_grp_5_Low_income {
fill: blue
}
.income_grp_3_Upper_middle_income {
fill: green
}
::
svgis draw --style style.css --class-fields income_grp ne_110m_admin_0_countries.shp -o out.svg
Draw national boundaries in the Europe using an `Albers
projection <http://epsg.io/102013>`__, simplifying the output polygons,
and draw Germany in purple.
\`\ ``svgis draw \ --project EPSG:102013 \ --scale 1000 \ --simplify 0.10 \ --style "#Germany { fill: purple }" \ --id-field name \ --bounds -10 30 40 65 \ ne_110m_admin_0_countries.shp \ -o out.svg``
-----
Create SVG drawings from vector geodata files (SHP, geoJSON, etc).
SVGIS is good for: creating small multiples, combining lots of datasets
in a sensible projections, and drawing maps with basic styles based on
classes in the source data.
.. code:: bash
svgis draw input.shp -o out.svg
svgis draw --project utm south_dakota.shp north_dakota.geojson -o dakota.svg
svgis draw --style my.css england.shp scotland.shp wales.shp -o great_britain.svg
Documentation: http://pythonhosted.org/svgis
Install
-------
Requires `fiona <http://pypi.python.org/pypi/fiona>`__, which in turn
requires GDAL.
Before installing, run the following on OS X: ``brew install gdal``. On
Linux: ``sudo apt-get -qq install libgdal1-dev``.
Then:
::
pip install svgis
An additional feature is available if you want to download more
prerequisites:
::
# Clip output shapes to the bounding box (smaller files)
brew install geos # os x
sudo yum/apt-get geos # linux
pip install svgis[clip]
Command line tools
------------------
The ``svgis`` command line tool has four commands: ``draw``,
``project``, ``scale`` and ``style``. ``svgis scale`` and
``svgis style`` will add a scaling factor or CSS style to an existing
SVG file. ``svgis project`` is a utility for determining what projection
``svgis draw`` will (optionally) generate for given bounding boxes. Read
the `docs <>`__ for complete information on these commands and their
options.
Examples
~~~~~~~~
Draw the outline of the contiguous United States, projected in Albers:
::
curl -O http://www2.census.gov/geo/tiger/GENZ2014/shp/cb_2014_us_nation_20m.zip
unzip cb_2014_us_nation_20m.zip
svgis draw --project EPSG:5070 --scale 1000 --bounds -124 20.5 -64 49 cb_2014_us_nation_20m.shp -o us.svg
The next two examples use the `Natural
Earth <http://naturalearthdata.com>`__ admin-0 data set.
Draw upper income countries in green, low-income countries in blue:
::
/* style.css */
.income_grp_5_Low_income {
fill: blue
}
.income_grp_3_Upper_middle_income {
fill: green
}
::
svgis draw --style style.css --class-fields income_grp ne_110m_admin_0_countries.shp -o out.svg
Draw national boundaries in the Europe using an `Albers
projection <http://epsg.io/102013>`__, simplifying the output polygons,
and draw Germany in purple.
\`\ ``svgis draw \ --project EPSG:102013 \ --scale 1000 \ --simplify 0.10 \ --style "#Germany { fill: purple }" \ --id-field name \ --bounds -10 30 40 65 \ ne_110m_admin_0_countries.shp \ -o out.svg``
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
svgis-0.3.3.tar.gz
(23.4 kB
view hashes)
Built Distributions
svgis-0.3.3-py3-none-any.whl
(23.9 kB
view hashes)
svgis-0.3.3-py2-none-any.whl
(23.9 kB
view hashes)