Om je eigen dat te serven heb je een backend nodig, die je data zal filteren en omzetten naar een webservice die leesbaar is voor web-applicatie's. Zoals WMS en Tiles voor raster data en gerenderde vectorkaarten of text-formaten zoals geojson voor niet-gerenderde vectordata.
Een type GIS-server-infrastructuur bestaat meestal uit 3 lagen:
- Een datalaag: meestal een ruimtelijke database zoals postgis, maar kan in principe ook een bestandssysteem zijn, zoals een folder met shapefiles.
- Een GIS-(applicatie)server: de backend voor webserver, die de GIS-data vertaald naar informatie die leesbaar is in webpagina, Geoserver en Mapserver.
- Een webserver waarop je html en eigen logica staat.
Er zijn tegenwoordig heel bedrijven die je data opslaan op hun server-infrastructuur en je toelaten om dit via een gebruiksvriendelijke webinterface te beheren. Daarnaast is ook steeds de data in deze webtoepassingen toegankelijk via een web-api, om eigen toepassingen mee te ontwikkelen.
- Cartodb is een platform dat erg gericht is op de visualisatie van vectordata. Via Spatial SQL kan je allerlei analyses en bewerkingen op je data doen.
- MapBox is ook erg gericht op visualisatie van gegevens, maar werkt meer op basis van tiles. Ideaal om een basiskaart op maat van je bedrijf te maken.
- Arcgis gebruikers kunnen tegenwoordig ook via Arcgis-online hun data beschikbaar maken in de cloud, zonder dat nog een eigen Arcgis server nodig hebt. Zonder Arcgis desktop is deze toepassing echter maar beperkt bruikbaar.
- Acugis geoserver/postgis hosting in de cloud, configuratie via webinterface.
Als een eigen server infrastructuur hebt kan je ook je services zelf hosten. Daarvoor zijn heel wat out of the box server applicaties beschikbaar. Rendering van ruwe data en gestandaardiseerde OGC-services zijn erg complex, daarom implementeer je dit best niet zelf. Dit soort services komen soms met een beheer en raadpleeg toepassing of worden geconfigureerd met text-bestanden. Vermits ze meestal OGC-services ondersteunen, zijn ze bruikbaar voor het aanbieden van data voor zowel Desktop als Web-toepassingen.
- geoserver is een gebruiksvriendelijke Java server applicatie die alle belangrijke OGC-standaarden (WMS, WMTS, WFS, WPS, ...) ondersteund. Alle configuratie van kan verlopen via een web interface, Rest-api of via een QGIS plugin. Scripting is mogelijk via plugin. Bijvoorbeeld DOV en MercatorNet zijn hierop gebaseerd.
- mapserver mapserver is een geografische data server applicatie geprogrammeerd in C. Configuratie doe je via text-bestanden (Map-files) of via scripting-talen, meestal is dit python hoewel ook andere talen ondersteund zijn. Output is WMS, Tiles of WFS of afbeeldingen in vele formaten. AGIV gebruikt deze erg performante service voor zijn WMS-diensten.
- arcgis server ESRI heeft voor arcgis-gebruikers arcgis-server. Deze ondersteunt vele OGC-standaarden naast de eigen Rest-api.
Vectoriëele data is relatief eenvoudig te serven in een json-formaat zoals geojson, het is dus niet perse nodig om hiervoor een zeer uitgebreide out the box, met hoge systeem vereisten, applicatie server te voorzien zoals de bovenstaande toepassingen.
Als je data uit een databank komt zoals postgis kan je deze meestal via de standaard database-api aan te spreken. Voor bestandsformaten zoals shapefile heb je aan library nodig. Voor geometrische operaties zoals buffers, het dichtste punt bij en lijn bepalen, alle gegevens op een bepaalde afstand tot een andere geometrie bepalen en zo voort, gebruik je ook best een library. Als je deze gegevens wilt renderen naar een afbeelding zal wellicht ook een rendering-API nodig hebben.
###C/C++
- gdal is een data-toegang library voor zowel vector als rasterdata, met bindingen voor vele talen, waaronder python en nodeJs.
- geos geometrische operaties, ingebouwd in gdal en database API's zoals postgis.
- proj4 projecties, met bindingen naar verschillden talen, zoals python.
- mapnik kaart rendering framework, met bindingen naar verschillden talen nodeJs en python.
###python
- geodjango webapplicatie framework, inclusief geometrische operaties en data-toegang. Alles wat je nodig hebt om je eigen services te maken.
- shapely geometrische operaties op vectordata.
- fiona vector data-toegang.
- rasterIO raster data-toegang en berekeningen.
###nodeJs (javascript)
- turfJs geometrische operaties in node of rechtstreeks in de browser.
- proj4js projecties in node of rechtstreeks in de browser, een vertaling van de C-versie naar javascript.
- ESRI is tegenwoordig ook into nodeJs:
- Geoservices Tool om ESRI-services aan te spreken vanuit een nodejs omgeving.
- node-geoservices-adaptor converteer een webservice naar ee, ESRI-service.
- geotrigger-js via deze tool kan je werken met de realtime geotrigger-service van ESRI in node.
###C-sharp
- Net Topology Suite geometrische operaties
- sharpmap rendering + data-toegang.
###Java