Skip to content

Commit

Permalink
Add new provider GIS (#847)
Browse files Browse the repository at this point in the history
* Addition of new GIS provider

* Add information on how to add new provider

* generated elements update

* add new nodes in provider GIS

* update gis provider content

* add new elements

* New nodes

* add imposm

* add here data provider

* Apply last comments and add new nodes

* Fix geonetwork image size

* Cleaning, resizing icons

* Add icon for gis provider

* Move mapnik node

* Move mapnik node

* Try fixing precommit hook messages
  • Loading branch information
AlexGacon authored Feb 2, 2025
1 parent 31e735a commit b341ded
Show file tree
Hide file tree
Showing 174 changed files with 3,037 additions and 2 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@
},
"workspaceMount": "source=${localWorkspaceFolder},target=/usr/src/diagrams,type=bind",
"workspaceFolder": "/usr/src/diagrams"
}
}
15 changes: 15 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,21 @@ Then just run the `./autogen.sh` to generate the added or updated node classes.
[black]: https://pypi.org/project/black
[inkscape]: https://inkscape.org/ko/release

### Add new provider

To add a new provider to Diagrams, please follow the steps below in addition to the image intructions above:
- in `autogen.sh` add in the `providers` variable the new provider code
- in `config.py`:
- in the `providers` variable, add the new provider code
- in the `FILE_PREFIXES` variable, add a new entry with your new provider code. And eventually a file prefix
- Optionnaly, update the `UPPER_WORDS` variable to a new entry with your new provider code.
- in the `ALIASES` variable, add a new entry with your new provider code. See below on how to add new aliases.
- in `scripts/resource.py`:
- add a function `cleaner_XXX` (replace XXX by your provider name). For the implementation look at the existing functions
- in the `cleaners` variable, add an entry with your new provider code and the function defined above
- in `sidebars.json`, update the `Nodes` array to add the reference of the new provider
- in the `diagrams` folder, add a new file `__init__.py` for the new provider. For the content look at the existing providers

### Update Aliases

Some node classes have alias. For example, `aws.compute.ECS` class is an alias
Expand Down
1 change: 1 addition & 0 deletions autogen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ providers=(
"generic"
"openstack"
"outscale"
"gis"
)

if ! [ -x "$(command -v round)" ]; then
Expand Down
4 changes: 4 additions & 0 deletions config.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
"generic",
"openstack",
"outscale",
"gis"
)

#########################
Expand Down Expand Up @@ -59,6 +60,7 @@
"outscale": (),
"generic": (),
"openstack": (),
"gis": (),
}

#########################
Expand Down Expand Up @@ -89,6 +91,7 @@
"openstack": ("rpm", "loci", "nfv", "ec2api"),
"pve": ("pve"),
"ibm": ("ibm"),
"gis": ("gis","ban","ign","ogc","qgis","wfs","wms"),
}

TITLE_WORDS = {
Expand Down Expand Up @@ -411,6 +414,7 @@
}
},
"digitalocean": {},
"gis": {},
"oci": {
"compute": {
"VM": "VirtualMachine",
Expand Down
12 changes: 12 additions & 0 deletions diagrams/gis/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
"""
GIS provides a set of services for Geographic Information Systems provider.
"""

from diagrams import Node


class _GIS(Node):
_provider = "gis"
_icon_dir = "resources/gis"

fontcolor = "#2d3436"
35 changes: 35 additions & 0 deletions diagrams/gis/cli.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _GIS


class _Cli(_GIS):
_type = "cli"
_icon_dir = "resources/gis/cli"


class Gdal(_Cli):
_icon = "gdal.png"


class Imposm(_Cli):
_icon = "imposm.png"


class Lastools(_Cli):
_icon = "lastools.png"


class Mapnik(_Cli):
_icon = "mapnik.png"


class Mdal(_Cli):
_icon = "mdal.png"


class Pdal(_Cli):
_icon = "pdal.png"


# Aliases
15 changes: 15 additions & 0 deletions diagrams/gis/cplusplus.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _GIS


class _Cplusplus(_GIS):
_type = "cplusplus"
_icon_dir = "resources/gis/cplusplus"


class Mapnik(_Cplusplus):
_icon = "mapnik.png"


# Aliases
27 changes: 27 additions & 0 deletions diagrams/gis/data.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _GIS


class _Data(_GIS):
_type = "data"
_icon_dir = "resources/gis/data"


class BAN(_Data):
_icon = "ban.png"


class Here(_Data):
_icon = "here.png"


class IGN(_Data):
_icon = "ign.png"


class Openstreetmap(_Data):
_icon = "openstreetmap.png"


# Aliases
15 changes: 15 additions & 0 deletions diagrams/gis/database.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _GIS


class _Database(_GIS):
_type = "database"
_icon_dir = "resources/gis/database"


class Postgis(_Database):
_icon = "postgis.png"


# Aliases
19 changes: 19 additions & 0 deletions diagrams/gis/desktop.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _GIS


class _Desktop(_GIS):
_type = "desktop"
_icon_dir = "resources/gis/desktop"


class Maptunik(_Desktop):
_icon = "maptunik.png"


class QGIS(_Desktop):
_icon = "qgis.png"


# Aliases
19 changes: 19 additions & 0 deletions diagrams/gis/format.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _GIS


class _Format(_GIS):
_type = "format"
_icon_dir = "resources/gis/format"


class Geopackage(_Format):
_icon = "geopackage.png"


class Geoparquet(_Format):
_icon = "geoparquet.png"


# Aliases
27 changes: 27 additions & 0 deletions diagrams/gis/geocoding.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _GIS


class _Geocoding(_GIS):
_type = "geocoding"
_icon_dir = "resources/gis/geocoding"


class Addok(_Geocoding):
_icon = "addok.png"


class Gisgraphy(_Geocoding):
_icon = "gisgraphy.png"


class Nominatim(_Geocoding):
_icon = "nominatim.png"


class Pelias(_Geocoding):
_icon = "pelias.png"


# Aliases
11 changes: 11 additions & 0 deletions diagrams/gis/georchestra.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _GIS


class _Georchestra(_GIS):
_type = "georchestra"
_icon_dir = "resources/gis/georchestra"


# Aliases
15 changes: 15 additions & 0 deletions diagrams/gis/java.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _GIS


class _Java(_GIS):
_type = "java"
_icon_dir = "resources/gis/java"


class Geotools(_Java):
_icon = "geotools.png"


# Aliases
43 changes: 43 additions & 0 deletions diagrams/gis/javascript.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _GIS


class _Javascript(_GIS):
_type = "javascript"
_icon_dir = "resources/gis/javascript"


class Cesium(_Javascript):
_icon = "cesium.png"


class Geostyler(_Javascript):
_icon = "geostyler.png"


class Keplerjs(_Javascript):
_icon = "keplerjs.png"


class Leaflet(_Javascript):
_icon = "leaflet.png"


class Maplibre(_Javascript):
_icon = "maplibre.png"


class OlExt(_Javascript):
_icon = "ol-ext.png"


class Openlayers(_Javascript):
_icon = "openlayers.png"


class Turfjs(_Javascript):
_icon = "turfjs.png"


# Aliases
23 changes: 23 additions & 0 deletions diagrams/gis/mobile.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _GIS


class _Mobile(_GIS):
_type = "mobile"
_icon_dir = "resources/gis/mobile"


class Mergin(_Mobile):
_icon = "mergin.png"


class Qfield(_Mobile):
_icon = "qfield.png"


class Smash(_Mobile):
_icon = "smash.png"


# Aliases
23 changes: 23 additions & 0 deletions diagrams/gis/ogc.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _GIS


class _OGC(_GIS):
_type = "ogc"
_icon_dir = "resources/gis/ogc"


class OGC(_OGC):
_icon = "ogc.png"


class WFS(_OGC):
_icon = "wfs.png"


class WMS(_OGC):
_icon = "wms.png"


# Aliases
15 changes: 15 additions & 0 deletions diagrams/gis/organization.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _GIS


class _Organization(_GIS):
_type = "organization"
_icon_dir = "resources/gis/organization"


class Osgeo(_Organization):
_icon = "osgeo.png"


# Aliases
Loading

0 comments on commit b341ded

Please sign in to comment.