Description
Create SVG drawings from vector geodata files (SHP, geoJSON, etc).
SVGIS is great for: creating small multiples, combining lots of datasets in a sensible projection, and drawing styled based on classes in the source data. It's perfect for creating base maps for editing in a drawing program, and its CSS-based styling gives great flexibility for styling.
SVGIS alternatives and similar packages
Based on the "Data Visualization" category.
Alternatively, view SVGIS alternatives based on common mentions on social networks and blogs.
-
Apache Superset
DISCONTINUED. Apache Superset is a Data Visualization and Data Exploration Platform [Moved to: https://github.com/apache/superset] -
redash
Make Your Company Data Driven. Connect to any data source, easily visualize, dashboard and share your data. -
plotly
The interactive graphing library for Python :sparkles: This project now includes Plotly Express! -
#<Sawyer::Resource:0x00007fbd82367850>
Panel: The powerful data exploration & web app framework for Python -
Flask JSONDash
:snake: :bar_chart: :chart_with_upwards_trend: Build complex dashboards without any front-end code. Use your own endpoints. JSON config only. Ready to go. -
ipyvizzu
Build animated charts in Jupyter Notebook and similar environments with a simple Python syntax.
Scout Monitoring - Free Django app performance insights with Scout Monitoring
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of SVGIS or a related project?
Popular Comparisons
README
SVGIS
Create SVG drawings from vector geodata files (SHP, geojson, etc).
SVGIS is great for: creating small multiples, combining lots of datasets in a sensible projection, and drawing styled based on classes in the source data. It's perfect for creating base maps for editing in a drawing program, and its CSS-based styling gives great flexibility for styling.
svgis draw input.shp -o out.svg
svgis draw south_dakota.shp north_dakota.geojson -o dakota.svg
svgis draw england.shp scotland.shp wales.shp --style gb.css -o great_britain.svg
Documentation: https://svgis.readthedocs.io/en/stable/
Install
Requires fiona, which in turn requires GDAL.
See the GDAL docs for install info.
Then:
pip install svgis
An optional feature of svgis is clipping polygons to a bounding box. This will speed things up if you need to draw only part of a very complex feature.
pip install 'svgis[clip]'
Commands
The svgis
command line tool includes several utilities. The most important is svgis draw
, which draws SVG maps based on input geodata layers.
Additional commands:
svgis bounds
: get the bounding box for a layer in a given projectionsvgis graticule
: create a graticule (grid) within a given boundssvgis project
: determine what projectionsvgis draw
will (optionally) generate for given bounding boxsvgis scale
: change the scale of an existing SVGsvgis style
: add css styles to an existing SVG
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 cb_2014_us_nation_20m.shp --crs EPSG:5070 --scale 1000 --bounds -124 20.5 -64 49 -o us.svg
The next two examples use the Natural Earth 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
}
.ne_110m_lakes {
fill: #09d;
stroke: none;
}
svgis draw --style style.css --class-fields income_grp ne_110m_admin_0_countries.shp ne_110m_lakes.shp -o out.svg
Draw national boundaries and lakes in Europe using an Albers projection, simplifying the output polygons, and draw Germany in purple.
svgis draw ne_110m_admin_0_countries.shp ne_110m_lakes.shp \
--crs EPSG:102013 \
--scale 1000 \
--simplify 90 \
--style '.ne_110m_admin_0_countries { fill: tan } .Germany { fill: purple }' \
--style '.ne_110m_lakes { fill: #09d; stroke: none; }' \
--class-fields name \
--bounds -10 30 40 65 \
-o out.svg