ThinkGeo Cloud
ThinkGeo UI Controls
ThinkGeo Open Source
Help and Support
External Resources
ThinkGeo Cloud
ThinkGeo UI Controls
ThinkGeo Open Source
Help and Support
External Resources
This is an old revision of the document!
Release date: 06/24/2015
ThinkGeo.MapSuite.Core Namespace:
Release date: 11/17/2014
ThinkGeo.MapSuite.Core Namespace:
Release date: 06/06/2014
ThinkGeo.MapSuite.Core Namespace:
Release date: 06/03/2013
ThinkGeo.MapSuite.Core Namespace:
Release date: 05/14/2012
ThinkGeo.MapSuite.Core Namespace:
Release date: 12/31/2011
Release date: 11/14/2011
ThinkGeo.MapSuite.Core Namespace:
Release date: 7/7/2011
ThinkGeo.MapSuite.Core Namespace:
Release date: 5/16/2011
ThinkGeo.MapSuite.Core Namespace: *Fixed an issue where an exception was thrown when adding two styles with the same column name except the case was different. *Fixed a bug where the result was not complete in the MultipleShapefileFeatureSource.GetFeaturesNearestTo() method. *Fixed a bug where the TileCache result was not always correct when using a projection. *Fixed a bug where the GetInternalGeographyUnit always return Unknown when using FeatureSource.GetFeaturesWithinDistance with the RotationProjection. *Fixed a bug where the UserID doesn't be set in the constructor of OracleFeatureSource/OracleFeatureLayer. *Fixed a bug where the DrawingLevel could not be set for an IconStyle. *Fixed a bug that the GetLineOnLine method doesn't work correctly for some cases. *Fixed a bug where the map was not displayed correctly when using GdiPlusRasterLayer. *Fixed a bug where Feature.Equals method didn't always work correctly. *Fixed the issue where the GraticuleAdornmentLayer blocks when its projection's internal and external parameters are the same. *Fixed the issue where an exception was thrown when calling GetBoundingBox in MsSqlFeatureSource which only had one feature. *Fixed the issue where the map was not displayed properly when using GoogleLayer as background with different DPIs. *Fixed a bug in MultipleFeatureLayer where GetFeatureById returned a wrong feature. *Fixed a bug where an exception was thrown when zooming out too far for geotiff raster layers. *Fixed the issue where the ClientId and PrivateKey properties wouldn't work in the Google Maps Layer. *Fixed a bug where the Column.MaxLength is not correct when opening a database view with MsSQL2008FeatureLayer. *Fixed the bug that the result if not correct for GetBoundingBox method in WmsRasterLayer. *Fix a bug where the image had a one pixel offset while using WMSRasterLayer. *Fixed the issue where the GetDistanceTo method returns the same result no matter what the DistanceUnit was. *Fixed a bug where the GeometryCollectionShape could only be displayed when three default styles where set. *Fixed a bug where “null object reference” exception was thrown when using AllowLineCarriage=true. *Fixed a bug where the GeoTiffRasterLayer threw an exception when passing in a rectangle shape instead of a world file. *Fixed the issue where the GoogleLayer would not overlap with a given shape file in some zoomlevels. *Fixed the issue that FDOExtensionX64 didn't work in .net 4.0 framework. *Fixed a bug in the InMemoryFeatureLayer.Update which caused it to fail in some cases. *Fixed the issue where a wrong Geography Unit was used within GetFeaturesWithinDistanceOf when the projection was set. *Fixed a bug where the AreaStyle didn't work properly in the CustomStyles collection when the feature count was less than ten. *Fixed a bug where the value of the Tag property is lost when assigning a BaseShape to a Feature. *Fixed a bug that the result of GetLineOnALine is not correct for some cases. *Fixed the issue where some features had fewer points than they should using the DotDensityStyle. *Fixed the issue where the GeoLinearGradientBrush might draw incorrectly. *Fixed a bug where DrawWorldImageWithoutScaling didn't work correctly when passing in a rotation angle. *Fixed a bug where the TabFeatureLayer in the previous FdoExtension could not be serialized. *Fixed the bug in GetLineOnALine where the first and last vertex has the same coordinates. *Added the static method GenerateGrid() in the GridFeatureLayer to create grid files. *Modified the validator to allow the user to use unstandard crs. *Improved the exception descriptions for Oracle, Sql2008 and Postgre layer. *Added an constructor which accepts an image in LogoAdornmentLayer class. *Set an alias when a dbf has duplicate column names. *Added support for more types of GeoTiff files. *Added properties in FdoFeatureLayer to make them consistent with the constructor parameters.. *Added validators to ZoomLevel.Draw method to check if input features are empty. *Added Methods GetWGS84ParametersString, GetDecimalDegreesParametersString and GetLatLongParametersString to ManagedProj4Projection, UnmanagedProj4Projection and Proj4Projection. *Added ShapeFileReadWriteMode property to the ShapeFileFeatureLayer. *Enhanced TiledWmsLayer to support more than one server url as input. *Fixed a bug where the ScaleLine didn't refresh properly during panning. *Fixed a bug that memory usage would increase when using Projection. *Added a way to build nice looking legends using the LegendAdornmentLayer. *Supported projection for GeometryCollectionShape. *Updated EPSG list from the Proj4 website. *Added a validator to handle the exception when passing in an empty collection of features to the ZoomLevel.Draw. *Enhanced exception description for the RtreeSpatialIndex. *Fixed the issue where the GeoPen.Brush only worked for the GeoSolidBrush. *Enhanced the way of using StreamLoading event in GdiPlusRasterSource. *Supported conversion of .PRJ files to and from PROJ4 strings. *Fixed a problem where the polygon GetCenterPoint returns NaN for some case. *Added an event in GoogleMapsLayer which passes out the request url. *Updated the GetGeographyUnit methods and remove unused GetXXXParameters methods. *Added a GeographyUnit property to the RotationProjection. *Added a way to get the bounding box from the world file class. *Added support for the 64 bit version of FDO. *Marked ManagedGeoTiffRasterSource Serializable. *Added a new API to create a simple MsSqlServer table. *Fixed a bug where the GetLongitudeDifferenceFromDistance didn't work correctly when very small values were used as inputs. *Added BingMapsLayer and BingMapsZoomLevelSet. *Added new overload constructor Feature(wellKnownText, id, columnValues) to Feature. *Added GraticuleAdornmentLayer class. *Added Height, Width and BackgroundMask properties to AdornmentLayer. *Added AlternateBarBrush property to ScaleBarAdornmentLayer. *Added DrawingQuality enum to GeoTiffRasterLayer. *Marked Serializable for GeoTiffRasterLayer, HeatLayer, GraticuleAdornmentLayer and HeatStyle. *Added overloads for GetFeaturesNearestTo at QueryTools to be the same as the FeatureSource. *Exposed InterpolationMode for GdiPlusGeoCanvas and GdiPlusRasterLayer. *Added a StreamLoading event to the GdiPlusRasterLayer and ShapeFileFeatureLayer to make it easier for the users to find. *Added OpenStreetMapsZoomLevelSet class. *Added WrappingMode property to support map wrapping past the dateline. *Added LabelAllLineParts property in TextStyle to label all parts of a MultiplelineShape. *Added the enum PolygonLabelingLocationMode to improve the algorithm for labeling polygon. *Added new class “SerializationHelper” for help to deserialize objects accross different versions of Map Suite. *Obsoleted some methods in ManagedProj4Projection according to Proj4Projection class. *Fixed a bug where the IconStyle didn't display any labels when user didn't set icon images. *Removed the Obsolete APIs.
Release date: 11/01/2010
ThinkGeo.MapSuite.Core Namespace: *Fixed the problem not encrypted for some private functions *Optimized the retrieving twice for MSSqlFeatureSource geometry column. *Provided support for VS2010 and samples. *Fixed a rounding bug in GetPointOnALine API of LineShape. *Fixed an issue when using a Chinese font *Functions of MSSqlServer2008FeatureSource or Layer run to error in some specified culture. *Bad performance with SQLServer2008 when using Geography type and large data size. *Fixed an issue when using the UpdateColumnName API in dbf module. *Fixed an issue throwing exception when calling BuildIndex in Turkey enviroment. *Point Placement Affected by Label Length *WmsRasterLayer cannot work when deserialized *Support .NET 3.5 Client Profiler *Implemented INotifyCollectionChanged, INotifyPropertyChanged interface in GeoCollection *Replaced the Proj4Projection into ManagedProj4Projection used internally *Fixed the issue the RasterLayer is not drawn in the PrinterGeoCanvas. *Added OpenStreetMapLayer to support OpenStreetMap *Added Managed GeoTiffRasterSource *Added GetFeatureInfo functions for WmsRasterLayer *Enhanced performance for GdiPlusRasterLayer *Added ClusterPointStyle *Added DrawingProgressChanged event
Release date: 6/15/2010
*Updated assembly version to 4.0.0.0; included strong-named and weak-named assemblies. Please see the latest post in the Developer Blog for full details.
ThinkGeo.MapSuite.Core Namespace: *Fixed issue with the ScaleTo API in BaseShape when called by a Rectangle Shape. *Fixed issue where an exception would be thrown when calling BuildIndex in a Turkish enviroment. *Fixed issue when using the UpdateColumnName API in DBF module. *Fixed issue involving use of Chinese fonts *Fixed a rounding bug in the GetPointOnALine API of LineShape. *Some minor API changes. See the API change log for complete details.
Release date: 5/1/2010
ThinkGeo.MapSuite.Core Namespace: *Added additional helper methods to the GeoCollection class. *Added better support for labeling with Asian characters. *Added support for Google Static Maps API v2. *Added simple support for Yahoo Maps. *Added support for heat map layers. *Added support for 100% managed proj Projection Library. *Added direct support for Map Shapes. *Added API to modify the column name in ShapeFileFeatureSource and ShapeFileFeatureLayer. *Added new API BuildIndex for MultipleShapeFileFeatureLayer *Included GraticuleLineLayer support and a sample application for it. *Enhanced the MultiShapeFileFeaturesLayer class to allow you to use files in multiple folders. *Enhanced the distance measuring method to use the Haversine formula. *Improved GeoCache performance. *Updated the PostgreSQL Assembly versions. *Exposed the DBaseFile class library. *Exposed the disk-based RTree Spatial Index. *Split up the Map Suite MergeModule into smaller and more manageable pieces. *Fixed issue where GetCenterPoint using NTS would return an invalid value when the polygon's width and height is 0. *Fixed issue regarding GetBoundingBox of GroupLayer. *Fixed issue where GetAllColumns also returns the Geometries column. *Many API additions. See the API change log for complete details. *Updated the API documentation.
Release date: 11/16/2009
ThinkGeo.MapSuite.Core Namespace: *Fixed issue with the ScaleTo API in BaseShape when called by a Rectangle Shape. *Fixed issue where SaveToProjection is incorrect for some data. *Fixed issue with the DecimalDegreesHelper API GetDecimalDegreeFromDegreesMinutesSeconds. *Fixed caculation issue in DecimalDegreeHelper.GetDistanceFromDecimalDegrees when passing particular data. *Fixed issue where an exception is thrown for TAB files when the column name starts with an underscore(_). *Some minor API changes. See the API change log for complete details.
Release date: 10/22/2009
ThinkGeo.MapSuite.Core Namespace: *Added Haversine formula to calculate distance. *Added DrawException method to draw exceptions rather than throwing them in the Overlay and Layer. *Added IndexedInMemoryFeatureLayer Class. *Added ReadOnly logic to ClearCache and DeleteTile methods. *Added the schema supported in PostgreFeatureSource. *Added API overloads for GetFeaturesByColumnValue method. *Added API to detect the feature type in FeatureSource. *Added API BuildIndex in InMemoryFeatureLayer. *Enhanced the Sql2008FeatureSource, PostgreFeatureSource and OracleFeatureSource by adding one event ExecutingSqlStatement. *Extended the KeyColor from one color to an array of colors or a range of colors. *Fixed a memory leak when calling OpenAllLayers multiple times. *Fixed issue where ApplyUntilZoomLevel doesn't work right when using CustomZoomLevel. *Fixed OutofMemory exception issue in WFSFeatureSource. *Fixed issue where SaveToProjection in ShapeFileFeatureSource would throw an out of memory exception. *Fixed issue with the Stream_Loading event in ShapeFileFeatureSource. *Fixed issue with obfuscation in autobuild. *Fixed issue where the WMS cannot work properly when the network is unavailable. *Fixed issue where GetRandomColor always get the same color. *Fixed issue where CloneDeep of InMemoryFeatureSource does not work. *Fixed issue where InmemoryFeatureSource cannot be serialized correctly. *Fixed issue where you could not parse the parent layer in a WMS server. *Fixed issue where an OutOfMemory error occurs while drawing. *Fixed issue with support for Geography type data in MsSqlFeatureSource. *Fixed issue with the GetFeaturesInsideBoundingBox method of MultipleShapeFileFeatureSource. *Fixed issue where GetCenterPoint using NTS will return an invalid value when the polygon's width and height is 0. *Fixed issue regarding thrown exception ORA-00936: Missing Expression. *Fixed issue where GetPointOnALine returns the wrong value. *Fixed issue where GdiPlusRasterLayer has a black line in tile mode. *Fixed issue with the GetFeatureById API in WfsFeatureLayer. *Fixed very low performance issue with GetColumnsCore. *Fixed issue with missing tag information in InMemoryFeatureLayer. *Fixed non-serializable issue for WFSFeatureLayer. *Fixed issue where an exception was thrown when building an index for an empty shape file. *A number of API changes. See the API change log for complete details.
Release date: 7/23/2009
ThinkGeo.MapSuite.Core Namespace: *Added some APIs for ScaleBar in order to implement the same functionality as in ScaleLine. *Fixed issue with setting a different DPI for canvas. *Fixed issue where the Matrix system did not consider the MapUnit. *Fixed issue where the OverrideMode did not work correctly for the ShapeFileFeatureLayer.SaveToProjection API. *Fixed issue where an exception would be thrown when using a MaskBrush for the ScaleBar. *Fixed issue where bool field cannot be updated in the DBF. *Fixed the Out of Memory Exception thrown when calling the ShapeFileFeatureLayer.SaveToProjection API on very large shape file data. *A number of API changes. See the API change log for complete details.
Release date: 5/26/2009
ThinkGeo.MapSuite.Core Namespace: *Added an API to CheckForUnSupportedShapeTypes(string shapeFilePath). *Added support for a Polygon record that contains 0 parts. *Added an overload for BuildIndexFile. *Added ExecuteQuery support for Postgre. *Added property to show whether the assembly is the Full Version or Evaluation Version. *Added an overload to CreateShapeFile so that user can choose whether they want to override. *Added polygon simplification to AreaShapes. *Added line simplification to LineShapes. *Added obsolete to the AllowSpline property in text style. *Added GetFirstGeometryType in Postgre, Oracle and SQL layers. *Added “Simplify” sample application. *Added an overload to GetFeaturesNeareastTo with a distance limitation. *Added documentation for DashPattern. *Added ToGdiPlusColor method in GeoColor. *Added a way to build a spatial index based on another projection, not using a feature list. *Added DPI support for the GeoCanvas. *Improved the TIFF quality for GeoTiffRasterLayer. *Changed the logic of GetZoomLevelForDrawing by considering the IsActive. *Changed the proj4.GetEpsgParameters(srid) method from instant to static. *Changed the Layer.IsVisible to virtual. *Checked the IdFieldColumn for all spatial databases like Postgre, Sql2008 and Oracle. *Fixed issue when modifying the inner logical of DbfColumn constructor. *Fixed issue where GeoTiff was not supported. *Fixed issue where the parameter name is wrong for the postgreFeatureLayer's constructor. *Fixed issue where TextStyle.Format did not work. *Fixed issue involving uppercase conversion when executing SQL in shape file feature source. *Fixed issue where GetAllColumns also returns the Geometries column. *Fixed issue with GetFeaturesForDrawing logic. *Fixed issue with TextStyle.DrawCore DPI. *Fixed issue where RasterLayer does not work when the DPI is not 96. *Fixed issue where a Postgre Layer will throw “Object reference not set to an instance of an object” exception. *Fixed issue involving the first Rotation when setting Rotation projection. *Fixed issue where PointStyle.DrawSample() did not work. *Fixed issue where the drawing order is not correct when adding multiple types of features to one feature layer. *Fixed issue in GetFeaturesByColumnValue. *Fixed issue where custom column did not work for the spatial query methods. *Fixed issue where the gdiPlusGeoCanvas.DrawCircle() result is not correct. *Fixed issue where ExecuteQuery did not work properly. *Improved some exception descriptions. *Fixed issue where featureLayer.Columns exists, but the featureSource.Columns property does not. *Fixed issue with GroupLayer display order. *Fixed issue where GetRandomGeoColor was missing. *Fixed issue involving sorting classBreaks internally. *Fixed issue involving support for all other types like (PolyM) for ShapeFile Layer. *Fixed issue involving exposure of static API from ShapeFileFeatureSource to ShapeFileFeatureLayer. *Fixed issue where the Transparency property does not work in RasterLayer. *Fixed issue where DotDensityStyle was not drawing after CloneDeep. *Fixed issue in Map Suite Explorer. *Fixed issue where creating a shapeFileLayer by streamloading event would throw an exception in layer.close(). *Fixed issue involving consideration of the DoNotDraw property or FeaturesToExclude. *Fixed issue where TestLayerStyle.DrawSample did not work properly with the haloPen. *Fixed issue where GetBoundingBoxOfItems did not work properly. *Fixed issue involving label drawing even if the line was visible on the screen. *Fixed issue where the CustomFieldFetch event did not work in a ShapeFileFeatureLayer. *Fixed issue where GeoPen does not act on symbol Diamond, Diamond2, Star or Star1. *Fixed issue where some shape files cannot build an index. *Fixed issue where GeoPen and GeoBrush constructors did not work. *A number of API changes. See the API change log for complete details.
Release date: 2/6/2009
ThinkGeo.MapSuite.Core Namespace: *Added an API(ZoomToOffsetPoint) in ExtentHelper. *Added Overloads GetFeaturesInsideBoundingBoxCore and GetFeaturesOutsideBoundingBoxCore. *Added a more descriptive message for a ShapeFile validation. *Added SaveToProjection in ShapeFileFeatureSource and ShapeFileFeatureLayer. *Added a protected virtual property for the cached featureSourceColumns. *Added an API in the FeatureSource to refresh the cached columns. *Added the API CheckForUnSupportedShapeTypes(string shapeFilePath). *Changed the logic to use the InMemoryFeatureSource and InMemoryFeatureLayer. *Resolved an issue with style.DrawSample. *Resolved System.AccessViolationException when the map is redrawn. *A number of API additions. See the API change log for complete details.
Release date: 1/22/2009
ThinkGeo.MapSuite.Core Namespace: *Added a parameter check to the Projection class. *Added a CustomZoomLevels collection to the ZoomLevelSet to allow for custom zoom levels. *Added a more descriptive exception message if a PolygonShape or MultiPolygonShape does not pass the validation test. *Added HasProjectionText and ProjectionText properties to RasterSource and RasterLayer. *Added validation checks on each member of the QueryTools to ensure that the Layer has been opened. *Added a new API for getting features based on the value in a column. *Added another parameter to BeginDrawing in GeoCanvas. *Added ExecuteSqlQuery and CanExecuteSqlQuery methods to QueryTools and FeatureSource. *Added two overloads for the method LineShape.GetLineOnLine. *Added encoding tests. *Added MrSid support in 64-bit environments. *Created JPEG2000RasterLayer/JPEG2000RasterSource to make it easier to load JPEG2000 images. *Provided an API in ShapeFileFeatureSource and ShapeFileLayer. *Updated the documentation for class name changes and for classes that did not previously have documentation. *Changed PathFileName to PathFilename. *Changed the ReadMe to Readme. *Changed the MapSuiteCore class to take advantage of re-projecting an array of points. *Changed the internalFeatures from a Dictionary to a GeoCollection. *Modified ShapeFileFeatureSource.ExecuteSqlQuery() to throw exception if filename is longer than 8 characters. *Enhanced the Projection classes and members. *Improved performance in GdiPlusRasterLayer. *Improved the Union Sample logic. *Improved the exception description for Layer.QueryTools/Layer.EditTools. *Improved the documentation for EditTools.Union. *Improved speed of spatial queries with a polygon-based layer when using a MultiPolygonShape as the target shape. *Improved speed of the Proj4Projection class by removing the locking code. *When building an index, all features are now loaded into memory. *Fixed missing overload for static method CreateSimpleAreaStyle. *Fixed ZoomIn bug. *Fixed the PointStyle, AreaStyle and LineStyle DrawSample methods so that they return the sample in the middle of the image. *Fixed an outstanding issue with style.DrawSample. *Reviewed all of the the Try…Catch code. *Resolved issue where the static function BuildRecordIdColumn required a spatial index on the Layer first. *Resolved issue where a System.AccessViolationException would be thrown when redrawing the map. *Resolved issue with WMS when using a Web Proxy. *Resolved issue where dragging two raster layers to Explorer throws an exception. *Resolved issue when a Layer's zoom level did not work under a projection other than WGS 84. *Resolved issue with ScalebarAdornmentLayer. *Resolved issue with RectangleShape.ExpandToInclude. *Resolved issue where WmsService would not work with HTTPS/SSL. *Resolved issue where mapEngine.OpenAllLayers() would not open an AdornmentLayer. *Resolved issue where the Geographic.Unit and DistanceUnit in BaseShape.Buffer() were reversed. *Resolved issue with BuildIndex where getting all features would not work. *Resolved issue where QueryTools.GetFeaturesContaining would not work when features are in the transaction buffer. *Reintroduced the AreaShape.GetCrossings method (which was previously present in Map Suite 2.0). *Reintroduced support for raster files (ECW, MrSid, BMP, etc.) in Map Suite Explorer. *Removed the obsolete target framework for .NET 2.0. *A number of API additions and changes. See the API change log for complete details.