SharpMap GIS-komponenter för.net peter.lofas@triona.se 070-3112688
Peter Löfås Systemutvecklare / arkitekt Studerat Teknisk Fysik och Elektroteknik i Linköping Jobbat på Triona sedan 2005 med GIS, Ruttplanering och system med geografisk information Aktiv användare av SharpMap sedan 2006 Del i styrgrupp för SharpMap sedan 2010 Exempel på kunder: Sveriges Radio, Volvo, NCC, Vectura (Sweco), Statens Vegvesen, NRK, Trafikverket, HaCon Gmb peter@triona.se, 070-3112688
SharpMap Historia Skapades från början av Morten Nielsen som idag jobbar på ESRI i ArcGIS Runtime teamet SharpMap 0.9 släpptes 17:e maj 2006 Fokus var förenkla GIS i.net utveckling genom en kartkomponent som till mångt och mycket fungerade som andra.net UI-kontroller Ej en slutanvändarapplikation utan en verktygslåda av GIS-komponenter när man bygger applikationer Morton blev i slutet av 2006 anställd av ESRI och lämnade då SharpMap som togs över av ett team bestående av Rory Plaire och John Diss som körde projektet fram till 2009 då Felix Obermaier blev mer och mer involverad och idag är den som leder projektet Jag blev involverad under 2010-2011 och då började vi jobba fokuserat mot att släppa version 1.0 och lägga en plan för utvecklingen framöver
MapServer, GeoServer, GeoTools, QGis C/Java produkter och komponenter Svåra att direkt använda från.net projekt Krånglig driftsmiljö (.NET + Java Container / CGI) C/Java kod är svårare att läsa för en.net utvecklare än.net kod => svårare att felsöka
Varför använder vi SharpMap? Stort behov för en ren.net kartkomponent i flera projekt ESRI:s ArcGIS Engine (och ArcGIS Runtime) har komplexa beroenden (COMgränssnitt) samt kräver installation i målmiljön. Dyr licenskostnad (per installation) för organisationer som inte har centralt avtal som täcker detta Få fria kartkomponenter för.net miljö Det stora fördelarna Paketera med kartkomponenten i installationen som vilken annan komponent som helst Versionshantera kartkomponenten tillsammans med koden! Felsök även i kartkomponentkoden (lättare att hitta datafel etc.) Rätta fel i kartkomponenten direkt (samt rapportera tillbaka till projketet) ger klart snabbare felhantering än att invänta patch från stor leverantör av GIS-system Ställer inga krav på målmiljön annat än.net Dela data mellan kartan och listvyer via samma dataaccess Enkelt att skapa egna providers / layers Snabb!
Det enkla exemplet 1. Lägg till SharpMap till projektet 2. Lägg till en kartkontroll på ditt formulär
Vad är det.net komponenter för att göra.net applikationer GIS iga Kartkontroll Kartverktyg (Pan,Zoom, Rita geometrier (punkt,linje,yta), skalstock, lagerväljare, ) DataAccess-provider till de flesta datakällor Shapefil PostGIS Oracle Spatial Microsoft SQL Server 2008 (Geometry) SQLite/SpatialLite WMS WFS Tilade kartor via BruTile (Google, Bing, Openstreetmap, WMS-T, TMS,..) Allt som GDAL/OGR stödjer (d.v.s. allt)
Vad är det mer Enkel WMS-server som man användas direkt i en ASP.NET applikation (MVC, IHttpHandler,..) Inte fullständig WMS-server, men klarar de flesta enkla användningsfall
Vad är det inte En färdig slutanvändarapplikation! Det finns ingen exe att ladda ner och köra som t.ex. Qgis (än!)
Licens - LGPL En fri licens som tillåter användning i kommersiella applikationer (länkning) men som ställer krav på att vidareförädling av SharpMaps källkod som säljs även innehåller den vidareförädlade versionen av SharpMap under samma licens Mer ändamålsenligt än GPL för detta användningsområde (bibliotek tänk att användas ibland annat kommersiella applikationer)
Får man support? Aktivt forum med snabb respons från utvecklare på de flesta frågor Tips: Genom att inkludera information om miljö, data, användning med mera direkt så är det enklare att få svar Vill man köpa supportavtal för att kunna få prioriterad / utpekad support-kontakt så kan man kontakta t.ex. mig/triona som gärna erbjuder ett sådant avtal
RoadMap framåt Version 3 blir nästa version att släppas, datum oklart då finansiering idag är beroende på uppdrag där vi använder komponenterna WPF-kontroll Stöd för andra renderare än GDI. (WPF, OpenGL, GD, ) Feature-modell istället för Tabell-modell för att få en mer skiktad arkitektur, större möjligheter kring interaktion med data samt möjlighet att köra på fler plattformar (Windows Phone, Android, IOS) Standalone WMS-server med admin gui (liknande GeoServer) Kartdefinition (motsvarande mxd / sld /.map) Bättre dokumentation
Exempel på användning
Exempel på användning
Exempel på användning