Easy GIS .NET Desktop Edition


2 December 2023 - Version 4.8.8
  • csv to shapefile now includes option to specify CRS
  • Click select and select by polygon modes added to SFMap
  • Fixed bug where area of use was not not found when using identified CRS (#123)
  • IsDeprecated property added to CRS
  • SFMap - Added ability to enable/disable shift/control/alt key mouse drag selection
  • CRS IsEquivalent method now cached for performance improvement
4 June 2023 - Version 4.8.7
  • CoordinateReferenceSystemFactory now loads compound coordinate reference systems
  • GeodesicDistanceAndBearingBetweenLatLonPoints now calculated using Vicenty distance calculations for improved accuracy for map measurements
  • #115 SFMap control BeginUpdate EndUpdate methods added to disable drawing while adding or removing shapefiles from the map
31 January 2023 - Version 4.8.6
  • Fixed bug[#106] where creating an ICoordinateTransformation between 2 coordinate reference systems in some cases may attempt to use an unavailable transformation grid. (Introduced in version 4.8.5)
7 Decmber 2022 - Version 4.8.5
  • Fixed bug[#92] where in some cases the visual studio designer will set the SFMap ZoomLevel property to zero, which generates an exception at runtime
  • [#97] SFMap BorderStyle property now using default property of None
  • [#100] Fixed issue where EGIS.Projections throws exception in .net6.0 after upgrading to proj9.0
  • [#101] Fixed issue where ICRSFactory.CreateCoordinateTrasformation may not aways create the most relevant transformation between 2 Coordinate Reference Systems
17 September 2022 - Version 4.8.2
  • Added Visible property to RenderSettings to allow hiding layers without removing them from the map
  • Visible Extent and Measurements now using Ellipsoidal distance calculations for projected CRS
  • Fix bug[#86] where point records not always rendered on edge of map
  • Bug fix [#71]
28 May 2022 - Version 4.8.1
  • Updated to .NET Framework 4.7.2
  • Fix bug where SFMap selection state is invalid if control lost focus while key down
  • Caching creation of Coordinate Transformation objects to improve creation times
  • Added BaseMapLayers to EGIS.Controls (Example6)
  • Fix bug[#65] where point, pointZ and multipoint shapefiles had an offset when rendering using low quality setting
  • [#66] Improved labeling when using Shadow Text.
18 April 2022 - Version 4.8.0
  • Fixed bug where a attribute list filter / selection error was not clearing after a successful query
  • MouseWheelZoomMode feature added to SFMap control
  • ShapeFile GetClosestShape function implemented for PolygonZ
  • Identification confidence threshold added to CoordinateReferenceSystemFactory used when identifying a CRS from WKT
  • SFMap Improvements to deal with shapeFiles with a zero width or height extent
  • EGIS.Projections updated to use Proj9.0
  • Fixed issue where a Bound CRS was not identified when loading from WKT
  • EGIS C# projects updated to newer SDK csproj format. Class libraries updated to .NET 4.7
  • Source ICRS parameter added to ShapeFile GetClosestShape methods
  • New NuGet packages created for EGIS Class libraries and published to nuget.org
6 March 2022 - Version 4.7.3
  • RenderSettings.ShadowTextColor alpha restriction removed
  • Fixed bug where renderig in SFMap was offset by 5 pixels (introduced in 4.7.1)
  • Fixed issue where SFMap GetShapeIndexAtPixelCoord and tooltip not detecting geometry in some cases
  • Added check for invalid shapefile bounding box in header
16 January 2022 - Version 4.7.2
  • Added option to output a CRS in different WKT formats, inluding WKT2_2015, WKT2_2018, WKT1_ESRI and WKT1_GDAL
  • SFMap Control selection rectangle text now aligned vertical and horizonntal
  • Fixed bug when generating WKT in multiline format (32 bit only)
  • Added filter option to CRS selection control
  • Added GetWgs84UtmEpsgCode function to CoordinateReferenceSystemFactory to get the EPSG UTM CRS for a given lat/lon coordinate
18 May 2021 - Version 4.7.0
  • Fixes issue where ShapeFileWriter could create an empty .prj file if WKT not supplied
  • ICustomRenderSettings now includes methods GetRecordLabel to provide custom labels and GetDirection for changing arrow direction
  • Refactored SFMap to allow adding background and foreground shapefile layers
  • ShadowTextColor added to RenderSettings
7 March 2021 - Version 4.6.6
  • Fixes issue where a single shapefile record with zero height or width cannot be selected
  • Correction of 'EPGS Code' typo to 'EPSG Code'
  • Checking record visibility in ShapeFile intersect and closest shape methods
  • Dealing with infinite points in intersection tests
  • Removed hard-coding of Windows-style directory separators
27 November 2020 - Version 4.6.5
  • Create CRS from prj file added to CoordinateReferenceSystemFactory
  • Fixes OutOfMemory exception when pen LineDashStyle not solid and zooming out on polygon layers (GDI+ workaround)
  • Option added to SFMap AddShapefile methods to refresh immediately or invalidate
  • Improved rendering of polygon layers when layer CRS and target CRS are different
  • Transforming Rectangle bounding box improved
  • Fixes overflow issue when zooming very far into polygon layers
  • PolygonClipping algorithm improved for integer Point polygons at high zoom (overflow issue)
14 November 2020 - Version 4.6.4
  • SFMap Control now defaults to WGS84 CRS
  • Tag property added to ShapeFile class
  • Direction Arrows can now be drawn on PolyLine, PolyLineM and PolyLineZ shapeFiles
  • Improved ShapeFile internal quad tree creation times for Point shapefiles
  • Map CoordinateReferenceSystem now saved in egp projects
  • Refactored DbfReader usage in ShapeFile and RenderSettings
  • ShapeFileWriter now supports writing to MemoryStreams
  • ShapeFileWriter now creates .prj file
  • Added DefaultMapCursor and DefaultSelectionCursor property to SFMap Control
  • Fixes overflow issue when rendering PolyLineM and PolyLineZ shapefiles at high zoom levels
  • Shapefiles can now be added to SFMap as ShapeFile objects or using individual shapefile streams
  • ShapeFileWriter now support PolyLineZ
  • Adding option to add Shapefiles to SFMap control using Memory Streams
  • Fixes bug when drawing point icon images (incorrect size)
8 September 2020 - Version 4.6.3
  • Updated native proj_6_1.dll search path
9 July 2020 - Version 4.6.2
  • Fixed bug in SFMap.GetBitmap method (image size 1 pixel too large)
16 June 2020 - Version 4.6.1
  • Added ShapeFile MemoryStream option
16 May 2020 - Version 4.6.0
  • Updated to .NET 4.6.1
  • Coordinate Reference System (CRS) and Projection support added to library
  • Added polyline and polygon clipping algorithms
  • Property added to set QuadTreeMaxLevels
  • TileUtil supports arbitrary tile size (previously hard-coded to 256)
  • Shapefile records clipped when zooming to avoid overflow at high zoom levels
  • LineEndCap added to RenderSettings
  • SFMap.GetBitmap supports transparent background colors
  • DbfReader trims '\0' characters and whitespace
  • Fixed bug when reading very large DBF files
  • ViewAttributes Form supports long integer values
  • Line-Line intersection algorithm added to GeometryAlgorithms
  • ShapeFileWriter AddRecord overload to support records with multiple parts
  • Added support for Mapbox vector tiles
6 November 2018 - Version 4.5.9
  • Fixed issue in CsvUtil where DBF field lengths set incorrectly
  • Detection of duplicate filed names in CsvUtil after truncating field names to 10 characters
  • Reduced memory usage in ViewAttributesForm
16 June 2018 - Version 4.5.8
  • Added ability to add simple XY CSV data to map by converting to point shapefile
  • Implemented measures for PolyLineZ shapeFiles
6 December 2017 - Version 4.5.7
  • Fixed issue where tooltip and selection was not working for some point data due to floating point precision
  • Added overloaded SimplifyDouglassPeucker function to GeometryAlgorithms to return simplified indicies
  • Added ability to export egp projects for web as single zip file
20 March 2016 - Version 4.5.6
  • Fixed bug when loading projects with spaces in path
  • Fixed issue when selecting polygons records intersecting rect for polygons containing holes
  • Added ZoomToSelection method to SFMap control
  • Added Polygon "touches" polygon function to GeometryAlgorithms to find neighbouring polygon records
  • SFMap control - Added zoom to selected extent when ctrl-key down
11 October 2015 - Version 4.5.5
  • Fixed issue where shapes with zero width or height can not always be selected due to floating-point comparison issue
  • Added ability to set render quality on individual shapefiles
27 June 2015 - Version 4.5.4
  • Added PaintMapBackground event to SFMap control
  • Added FitToExtent, ZoomToSelection, InvalidateAndClearBackground methods to SFMap control
  • Added view attributes form with ability to select or filter records using where clause
24 May 2015 - Version 4.5.3
  • Added support for PolyLineM ShapeFiles to ShapeFileWriter
18 May 2015 - Version 4.5.2
  • SFMap.Dispose now calls Dispose on any loaded shapefiles
  • Added PolygonPolygonIntersects and PolyLinePolygonIntersects functions to GeometryAlgorithms
  • Added SimplifyDouglasPeucker functions to GeometryAlgorithms
  • Rebuilt geomutil_libx64.dll to statically link to MSVC runtime
  • Fixed bug in DbfWriter Dispose method
26 May 2014 - Version 4.5
  • Fixed bug where DBF file not always closed properly
  • Added new append functionality to ShapefileWriter
  • Enhanced Polyline GetClosestShape function to restrict search to specific records
1 Dec 2013 - Version 4.4
  • Fixed divide by zero bug when loading shapefile if control is hidden or zero size
  • Fixed bug where shapefile was not always centred when loading in map
  • Added member to obtain the Measures (M data) from a polylineM shapefile
  • Added GetClosestShape member to ShapeFile class
  • Updated GeometryAlgorithms to return PolylineDistanceInfo in LineSegPointDist and ClosestPointOnPolyline functions
8 Oct 2013 - Version 4.3
  • Improved Zoom functionality int SFMap control
  • Added PanSelectMode.None to provide the ability to disable panning and selection in the SFMap control
30 Jun 2013 - Version 4.2.3
  • Fixed bug in shapeFileWriter where Extent of shapefile incorrectly calculated for Point shapefiles with a single record
24 Feb 2013 - Version 4.2
  • Added basic print functionality to desktop application
  • Fixed bug in ShapeFileEnumerator where large records could not be read
10 Feb 2013 - Version 4.1
  • Fixed bug where red rectangle was drawn around labels when shadowtext property was set to false
  • ShapeFileWriter now implements IDisposable
5 Nov 2012 - Version 4.0
  • Added support for MultiPoint and MultiPointZ ShapeFile types
  • Upgraded solution to VS2010
  • Rewrote RenderSettings ImageFileNameEditor to avoid .NET 4.0 Client profile issue
19 Aug 2012 - Version 3.6
  • Added check for NullShape when rendering shapefiles which was causing an unhandled exception
1 May 2012 - Version 3.5.3
  • Added select functionality to SFMap and ShapeFile classes. Shapefile records can now be selected using rectangular and circular intersection tests
  • Fixed dbf field decimal point bug in shapeFileWriter class
  • Refactoring of many internal EGIS.ShapeFileLib classes
9 Apr 2012 - Version 3.5
  • Improved label rendering in polyline shapefiles when viewing shapefiles at low resolution
  • Implemented higher accuracy shapefile record rectangle intersection. This fixes bug where ShapeFileEnumerator incorrectly returned 'L-shaped'shapes near the ShapeFileenumerator extent.
  • Changed build target from x86 to Any CPU to avoid 64-bit issues reported by some users
10 Sep 2011 - Version 3.4
  • Added support to specify decimal points in DBF fields when writing shapefiles
2 June 2011 - Version 3.3
  • Ensured CentrePoint and Extent of SFMap always expressed in unprojected Lat/Long coordinates
  • Added CustomRenderSettingsUtil class for easy creation of CustomRenderSettings
  • Removed static UseMercatorProjection property from ShapeFile class. Mercator projection now specified as a parameter of Render methods Breaking Change
13 Feb 2011 - Version 3.2
  • Fixed bug in SFPolygonZCol.GetShapeHeightData causing ShapeFileEnumerator to return incorrect values when calling GetCurrentZValues
  • Added support for PolyLineZ shapefiles
12 Jan 2011 - Version 3.1
  • Software released under the LGPL open source license
  • Fixed bug in ShapeFileWriter caused by Dotfuscator incorrectly obfuscating overloaded methods
  • Fixed bug where software incorrectly looked for a .shpx file when exporting projects
19 Oct 2010 - Version 3.0
  • Major rewrite of EGIS.ShapeFileLib to replace the use of single precision PointF representation of GIS points with double precision PointD structure to address problem of lost precision of GIS coordinates
  • Replaced use of PointF in ShapeFileEnumerator methods with PointD - Breaking Change
  • Shapefiles now read directly - .shpx file no longer generated or used. Improved time to load and display large shapefiles
  • Added support for PointZ shapefiles
  • Better support for shapefiles using Unicode attribute data. Added functionality to specify the StringEncoding used to read DBF text fields
  • Added option to map shapefiles in memory using Native File Mapping for improved rendering speed
  • Improved memory usage when viewing large shapefiles - successfully loaded 1GB shapefile
  • Fixed bug where polyline records containing a single point would generate an unhandled exception
  • Added functionality to select shapefile records and specify the color of selected records
11 Jul 2010 - Version 2.5.1
  • Fixed bug where double-clicking to zoom on the SFMap calculated the wrong map location when mercator projection selected
  • Improved rendering algorithm to support rendering holes in polygons. See counter-clockwise rule in ESRI Shapefile description
  • Fixed bug where custom render settings would not render custom icons without supplying a default image in a Shapefile's RenderSettings
  • Added 2 new Code Examples for download from Developers Resources section
27 Jun 2010 - Version 2.5
  • Added partial support for 3D shapefiles - PolygonZ shapefiles read and rendered as 2D polygons
  • Re-designed how center point was implemented when using mercator projection in SFMap
  • Fixed bug in ShapeFileWriter classes to correctly display Unicode characters in shapefiles viewed using ESRI products
23 Feb 2010 - Version 2.4
  • Added further support for Custom Render Settings
  • Improved rendering speed for polyline and polygon shapefiles. Performance increase for low quality rendering
  • Added support for opening massive shapefiles. Tested on 1GB polygon shapefile
  • 64bit version released
5 Dec 2009 - Version 2.3
  • Fixed bug where GIS location displayed incorrectly in DesktopEdition status strip when using Mercator Projection
  • Changed Open File Dialog to allow selecting multiple files, to avoid adding multiple shapefiles to a map 1 at a time
  • Added option to render duplicate labels in polyline shapefiles
  • Added property MaxLineWidth to RenderSettings
18 Sep 2009 - Version 2.2
  • Implemented changes to DBFWriter, ShapeFileWrtier and DbfReader to support UTF8 encoding
  • Changed floating-point implementation in EGIS.Controls.SFMap and EGIS.ShapeFileLib.ShapeFile to use doubles instead of floats to address rendering issue when viewing maps at high zoom level.
  • Removed "Map Generated by Easy GIS .NET" message from EGIS.Controls.SFMap Control
  • Altered paint event handling in EGIS.Controls.SFMap to allow drawing custom overlays
24 Aug 2009 - Version 2.1
  • Added support to create multi-part shapes in ShapeFileWriter
  • Implemented functionality to support ICustomRenderSettings in EGIS.ShapeFileLib
  • Added support to open multiple shapefiles in egis.exe
  • Added checks for unsupported shape types
27 Apr 2009 - Version 1.3
  • Improved Label Rendering efficiency and rendering speed
  • Minor bug fixes
13 Apr 2009 - Version 1.2
  • Added classes to support creation and editing of shapefiles
  • Improvements to rendering speed in EGIS.ShapeFileLib
  • Added support for icons when labeling point shapefiles
20 Mar 2009 - Version 1.1
  • Initial public release

Easy GIS .NET Web Edition


2 December 2023 - Version 4.8.8
  • Updated to use new EGIS.ShapeFileLib changes
4 June 2023 - Version 4.8.7
  • Updated to use new EGIS.ShapeFileLib changes
31 January 2023 - Version 4.8.6
  • Updated to use new EGIS.ShapeFileLib changes
7 December 2022 - Version 4.8.5
  • Updated to use new EGIS.ShapeFileLib changes
17 September 2022 - Version 4.8.2
  • Updated to use new EGIS.ShapeFileLib changes
28 May 2022 - Version 4.8.1
  • Updated to use new EGIS.ShapeFileLib changes
6 March 2022 - Version 4.7.3
  • Updated to use new EGIS.ShapeFileLib changes
16 January 2022 - Version 4.7.2
  • Updated to use new EGIS.ShapeFileLib changes
7 Nov 2021 - Version 4.7.1
  • TiledMapHandler now supports ShapeFiles with coordinates in any projection (previous versions required the ShapeFile to use WGS84 geodetic projection)
18 May 2021 - Version 4.7.0
  • Refactored VectorTileGenerator to allow creation of vector tiles from an ISpatialDataSource. Allows creation of vector tiles from database spatial tables
7 March 2021 - Version 4.6.6
  • Fixed issue where Web Demo files were ignored and not included in source
  • Updated to use new EGIS.ShapeFileLib changes
27 November 2020 - Version 4.6.5
  • Fixes bug where VectorTileGenerator did not set TileLayer.Name for polyline shapefiles
  • Updated to use new EGIS.ShapeFileLib changes
14 November 2020 - Version 4.6.4
  • Aded support for point based vector tiles to VectorTileGenerator
  • Updated to use new EGIS.ShapeFileLib changes
8 September 2020 - Version 4.6.3
  • Updated to use new EGIS.ShapeFileLib changes
9 July 2020 - Version 4.6.2
  • Updated to use new EGIS.ShapeFileLib changes
16 June 2020 - Version 4.6.1
  • Updated to use new EGIS.ShapeFileLib changes
16 May 2020 - Version 4.6.0
  • Updated to .NET 4.6.1
  • Updated to use new EGIS.ShapeFileLib changes
  • Added support for Mapbox vector tiles
6 November 2018 - Version 4.5.9
  • Updated to use new EGIS.ShapeFileLib changes
16 June 2018 - Version 4.5.8
  • Updated to use new EGIS.ShapeFileLib changes
  • Fixed issue where some polylines cannot be selected in TiledMapHandler due to floating point precision
6 December 2017 - Version 4.5.7
  • Updated to use new EGIS.ShapeFileLib changes
  • TiledMapHandler - Normalised Tile Coordinates to fix issue where tiles not generated in GoogleMaps for "negative" tile numbers
20 March 2016 - Version 4.5.6
  • Updated to use new EGIS.ShapeFileLib changes
11 October 2015 - Version 4.5.5
  • Updated to use new EGIS.ShapeFileLib changes
27 June 2015 - Version 4.5.4
  • Fixed incorrect JSON content type in TiledMapHandler
24 May 2015 - Version 4.5.3
  • No changes
18 May 2015 - Version 4.5.2
  • Added support for transparent PNG tiles
  • Added GeoJson classes to Web Edition
  • Added function to TiledMapHandler to return record attributes in JSON format
8 October 2013 - Version 4.3
  • No changes
30 Jun 2013 - Version 4.2.3
  • Updated TiledSFMap javascript to allow setting custom parameters in MapHandler URL
  • Added new TiledSFMap example showing how to use CustomRenderSettings in a Tiled Map
  • Added egis.MapObject.SetMapHandler function to javascript API to allow altering a map's MapHandler URL without posting back to server
24 Feb 2013 - Version 4.2
  • Added Map Marker Example to WebTest project
  • Removed auto entry in web.config httphandlers section. Now needs to be done manually
  • Modified the javascript initialisation of the TiledSFMap to ensure it is created earlier
  • Added check in TiledSFMap to register egis javascript. Previously this was only done in the MapPanControl
10 Feb 2013 - Version 4.1
  • Major rewrite of egis javascript code to use module patterns and general cleanup of code
  • Touch event handlers added to TiledSFMap control to support tablet browsers
  • Added client-side "map marker" layer functionality to the TiledSFMap control
  • TiledSFMap control floating-point based "Zoom" property replaced with integer-based "ZoomLevel" property. Breaking Change
  • Simplified how the Map controls are referenced by the MapPanControl
5 Nov 2012 - Version 4.0
  • Upgraded solution to VS2010
19 Aug 2012 - Version 3.6
  • Added ESRI ArcGIS JavaScript demo to Web Edition
1 May 2012 - Version 3.5.3
  • Updated to use new EGIS.ShapeFileLib changes
9 Apr 2012 - Version 3.5
  • Updated to use new EGIS.ShapeFileLib changes
10 Sep 2011 - Version 3.4
  • Added GoogleMaps demo
  • Minor change to TiledMapHandler
2 June 2011 - Version 3.3
  • Added ability to load shapefiles directly without creating a .egp project
  • Added Abstract TiledMapHandler class to give full control of how Map Tiles are rendered
  • Added functionality and examples to load ShapeFile layers in Bing Maps
13 Feb 2011 - Version 3.2
  • Updated Web Edition to use version 3.2 of EGIS.ShapeFileLib.dll
12 Jan 2011 - Version 3.1
  • Software released under the LGPL open source license
19 Oct 2010 - Version 3.0
  • Updated to use version 3.0 of EGIS.ShapeFileLib
  • Support for PolygonZ and PointZ shapefiles
28 Feb 2010 - Version 2.4.1
  • Fixed bug in SFMap and TiledSFMap javascript where mousemove javacsript stopped working on pages displayed in Firefox
23 Feb 2010 - Version 2.4
  • Implemented fix to SFMap and TiledSFMap to support changes in Firefox version 3.6
5 Dec 2009 - Version 2.3
  • Fixed issue where MapPanControl would not work correctly if added to a page before a SFMap control
  • Resolved issue where SFMap reference in a MapPanControl needed to be set explicitly in Page_Load method
  • Added new TiledSFMap Control and Map Tile Utility functions
24 Aug 2009 - Version 2.1
  • Initial public release
18 Sep 2009 - Version 2.2
  • Implemented changes to DBFWriter, ShapeFileWrtier and DbfReader to support UTF8 encoding
  • Changed floating-point implementation in EGIS.Controls.SFMap and EGIS.ShapeFileLib.ShapeFile to use doubles instead of floats to address rendering issue when viewing maps at high zoom level.
  • Removed "Map Generated by Easy GIS .NET" message from EGIS.Controls.SFMap Control
  • Altered paint event handling in EGIS.Controls.SFMap to allow drawing custom overlays
24 Aug 2009 - Version 2.1
  • Added support to create multi-part shapes in ShapeFileWriter
  • Implemented functionality to support ICustomRenderSettings in EGIS.ShapeFileLib
  • Added support to open multiple shapefiles in egis.exe
  • Added checks for unsupported shape types
27 Apr 2009 - Version 1.3
  • Improved Label Rendering efficiency and rendering speed
  • Minor bug fixes
13 Apr 2009 - Version 1.2
  • Added classes to support creation and editing of shapefiles
  • Improvements to rendering speed in EGIS.ShapeFileLib
  • Added support for icons when labeling point shapefiles
20 Mar 2009 - Version 1.1
  • Initial public release