====== Map Suite Services Edition Features & Bug Fixes Change Log ====== =====Version 9.0.0.0===== Release date: 06/24/2015 ThinkGeo.MapSuite.Core Namespace: *Fixed a bug where there are something wrong with parsing the namespace of WMS capabilities file. *Fixed a bug where the EcwRasterLayer runs into memory leak exception. *Fixed a bug where the GetBoundingBoxCore method of MsSqlFeatureSource runs into exception. *Updated the unmanaged Proj4 dependency to the latest version 4.8. *Fixed a bug where ECW file path name is case-sensitive. *Added a new class of ScaleLinePrinterLayer to print scale lines. *Added new class of ScaleTextAdornmentLayer to Map Suite Core. *Added a new class of ScaleTextPrinterLayer to print scale text. *Fixed a bug where there are something wrong with initializing the omerc projection. *Fixed a bug where the Dispose method of UnmanagedProj4Projection runs into exception. *Fixed a bug where selecting LabelPrinterLayer runs into exception. *Fixed a bug where MrsidRasterLayer runs into memory leak problem. *Fixed a bug where the Jpeg2000RasterSource runs into memory leak issue. *Fixed a bug where it runs into exception when building the index of KmlLayer. *Fixed a bug that the deployed version of WebEddition, MvcEdition, SilverlightEdition and WmsEdition runs into “Unlicensed for runtime”. *Added new API for changing the color of Grid lines in ScaleBarAdormentLayer. *Fixed a bug where the WmtsLayer runs into exception, as the code of clearing the tile matrix is incorrect. *Added support of requesting tiles using UrlTemplate of resource URL in WmtsLayer. *Fixed a bug where reading Shapefile runs into exception if the decimal length of DBFColumn is bigger than 15. *Fixed a bug where the IsolineLayer runs into exception sometimes when IsolineType is ClosedAsPolygon. *Fixed a bug where the scales of tile matrix in WmtsLayer on server side are different from the ones on client side. *Fixed a bug where KmlLayer runs into exception when loading KML file with the encrypted dlls. *Enhancement OracleFeatureSource, only create one assembly instance. *Fixed a bug where the MagneticNorthLineStyle cannot be serialized. *Fixed a bug where the drawn tile images are mismatch each other when applying FileBitmapTileCache. *Added more projection support to WMTS besides the support of EPSG:3857 and EPSG:4326. *Fixed a bug where it returns incorrect class breaks if there is only one ClassBreak item in ClassBreakStyle. *Fixed a bug where the GridFeatureSource generates Gridfile with CurrentCulture but Read GridFile with InviriantCulture. *Fixed a bug where the scales of cached tiles are incorrect if OpenStreetMapLayer works with MultiThread mode. *Fixed a bug where it runs into exception when initializing the TileCache of OpenStreetMapLayer as null. *Fixed a bug where it runs into exception if the readed KML file includes the bool values. *Fixed a bug where the height of LegendAdormentLayer/LegendPrinterAdormentLayer is incorrect when the ResizeMode is Fixed. *Fixed a bug where there are something wrong with CodeGenerator. *Improved performance of drawing GraticuleAdornmentLayer. *Changed the default value of LegendContentResizeMode to Fixed. *Fixed bug that WMS don't parse response XML which describe error information. *Fixed bug GetWellKnownText for lineshape haven't been convert to Invariant Culture. *Remove toUpper for whereClause of MsSql2008FeatureLayer. *Fixed a bug where the ClientId and PrivateKey of GoogleMapsLayer doesn't work with SingleTile. *Improved the GeoCoderGenerator. *Added support of support custom spatial index name in mssqlfeaturelayer. *Fixed a bug where the request tile size is not equal to the size of map with SingleTile. *Fixed a bug where the method GetAllMapShape of KmlFeatureLayer runs into exception. *Improved the IsoLine result generated by removing the holes at the center of IsonLine. *Added the embedded TAB style support. *Fixed a bug where ProjectionFromSphericalMercator property doesn't work. *Added Attribution to all layers and Overlays. *Fixed a bug where the MagneticDeclinationAdornmentLayer runs into memory issue. *Added the new API SetWellKnownBinary(byte[] wkb) to Feature class to allow changing the WKB of the feature. *Improved the performance of method byte[] ShapeFile.ReadPolygon(byte[] dataBytes, int startIndex). *Removed the using JTS in Feature to Shape conversion(BaseShape.FromWellKnownBinary, BaseShape.CreateShapeFromWellKnownData). *Added enhancements to OpenStreetMapLayer and OpenStreetMapOverlay to make sure the exception can be thrown out. *Added Leader Lines. *Enhanced the Best Placement algorithm. *Added an Abbreviation Dictionary. For example, add "University" with "Univ" to the Abbreviation Dictionary and "University" will be abbreviated when displayed. *Added Max Nudging parameter to specify how far a label can be moved. *The unit for Drawing Margin is now pixels instead of percentage. *Geohashing APIs - Allows sorting of GeoFeatures for performance gains. Shapefiles of features that are in proximity are stored on the same section of the disk. *Standard color access for Geocolors, brushes, and pins has been streamlined. *New Projection API to find local UTM Zone for any feature. No longer need to look up UTM Zone manually. *Added ability to save and import style files from GIS Editor to Map Suite. *One-way road line style now available. *More filter conditions added for RegEx. It is now simpler to use. *Added R-Tree Indexing for KML feature layers. *Gave ability to modify well-known binary on a feature. Now possible to directly access and modify WKB. *Can now add column value data without defining it up front to Map Shapes and Edit Shapes. *Added Boundary Solution Parcel feature layer. *Created new APIs for accurate measurements regardless of projection. *Enhanced Tile Cache - new APIs allow expiration by size, date, etc. *Created Well Known Binary feature layer type for better performance, especially on Android and iOS. *New Printing APIs allow switching between page and world coordinates. *ScaleBar and ScaleLine - can set a text style to control the font and look. =====Version 8.0.0.160===== Release date: 11/17/2014 ThinkGeo.MapSuite.Core Namespace: *Fixed a bug where the Dispose method of UnmanagedProj4Projection runs into exception. *Fixed a bug where the MrsidRasterLayer runs into Memory leak problem. *Fixed a bug where the MagneticDeclinationAdornmentLayer runs into exception. *Fixed a bug where the requested tile size is not correct under single-thread mode. *Fixed a bug where selecting LabelPrinterLayer runs into exception. *Resolve issue that MagneticNorthLineStyle cannot be serialized. *Fixed a bug where it runs into exception when calling GetAllMapShapes of KmlFeatureLayer *Fixed a bug where the drawn tile image is dismatch each other with FileBitmapTileCache. *Fixed a bug where it returns incorrect class breaks if there is only one ClassBreak item in ClassBreakStyle. *Fixed a bug where the Jpeg2000RasterLayer runs into memory leak exception. *Fixed a bug where the scale of the cached tiles is incorrect if the OpenStreetMapLayer is used with MultiThread mode. *Fixed a bug where make the tile matrix of WMTSlayer matchs between client and server scales. *Added support of parsing the WMS services whose compabilties file following the namespaces with "SM" prefix. *Fixed a bug where WMTSLayer runs into exception, because of clearing the tile matrix at wrong place. *Added the support of getting tiles from UrlTemplate of Resource url in WMTSlayer. *Fixed a bug where the EcwRasterLayer runs into memory leak exception. *Fixed a bug where the EcwRasterLayer is case sensitive to the file path name. *Added attribution "© ThinkGeo © OpenStreetMap contributors" to WorldMapKit overlay/layer. *Fixed a bug where there is a delay of tiles when dragging the map very fast under MultiThread. *Fix a bug where KmlLayer runs into exception when loading KML file with the encrypted dlls. *Fixed a bug where the height of LegendAdormentLayer/LegendPrinterAdormentLayer is incorrect when the ResizeMode is Fixed. *Made the default value of LegendContentResizeMode to Fixed. *Improved performance of drawing GraticuleAdornmentLayer. *Fixed a bug where it's unable to use ClientId and PrivateKey when using SingleTile with GoogleMapsLayer. *Improved the GeoCodeGenerator. *Fixed a bug where it runs into exception if the readed KML file includes the bool value. =====Version 8.0.0.0===== Release date: 06/06/2014 ThinkGeo.MapSuite.Core Namespace: *Fixed a bug that will through exception when the table in filegdb has no geometry column. *Fixed A Bug that will make features inserted into oracle table not able to be read. *Improved memory management when getting geotif world extent. *Fixed the bug where the KeyColors property doesn't take effect. *Fixed a bug where the OracleFeatureLayer shows incorrect result if the data contains 3D geometries. *Fixed a bug where using feature id as the ID column value when inserting a new feature into Oracle table. *Did the enhancements to GraticuleAdormentLayer. *Fixed a bug where something wrong with the font size after printing to PDF. *Added support of new Dbf format(30H), a kind of Foxpro Dbf format. *Fixed a bug where the installer's repair option doesn't work correctly. *Fixed a bug where the TranslateByDegree method returns incorrect result. *Added the support of Date column type in FileGdbTable. *Fixed a bug where there are some memory leak in reading ECW File. *Fixed a bug where the GoogleMapsLayer works incorrectly with single-tile mode. *Fixed a bug where it runs into exception when the customized layers are working with multi-thread mode. *Improved the memory usage in FileGeoDatabase if it contains Blob column types. *Fixed a bug where it's unable to get the correct boundingBox from the server's reply by calling GetCapability in WmsRasterSource. *Fixed a bug where the "GetAllFeatures" method in FileGeoDatabaseFeatureLayer ignores some invalid features. *Fixed a bug where the GoogleMapsLayer dismatches with overlapped shapfilelayer when the compurter's dpi is changed. *Fixed a bug where reading the GeoTif WorldFile. *Added an exception when adding a column type which is not supported by FileGDB. *Fixed a bug where the line shape always covers the point shape in maprinterlayer. *Improved the method "GetTableNames" in "FileGeoDatabaseFeatureLayer" to get the tables in FeatureDatasets. *Fixed a bug where the oracle connection in OracleFeatureSource keeps going up following the time. *Fixed a bug where there are some confilicts between System.Data.OracleClient.OracleType And Oracle.DataAccess.Client.OracleDbType. *Fixed a bug where the GetTableNames method in "FileGeoDatabaseFeatureLayer" returns incorrect type. *Removed the API key from Google layer. *Fixed a bug that Unmanaged Dependencies installers does not include all the necessary dlls for the FileGeodatabase class. *Fixed an issue that OnGeoserializing method was called but OnGeoserialized method wan't because it's a duplicate object. *Fixed A Bug in Pointshape.TranslateByOffset(). *Fixed A Bug that will make the wmtslayer not correctly displayed after upgrading to 7.0. *Fixed bug ArgumentException thrown in InMemoryBitmapTileCache. *Fixed A Bug for EcwRasterLayer that is caused by cultureinfo. *Fixed A Bug that will creat wrong Graticule Line for the map. *Added support to projection “Rijksdriehoekstelsel_New”. *Fixed a bug where the rtree removed an unexpected record. *Added functionality to refresh a set of regions on Overlay and Map. *Fixed an bug where something wrong with loading CadFeatureLayer. *Add the support that NTS doesn't support the union function. *Added GetFeaturesByIds support in TinyGeoFeatureSource. *Added ContentResizeMode property to LegendAdormentLayerto support the size of legenditem can be changed based on the AdormentCanvas size. *Added Blob type support in FileGeodatabase. *Upgraded the PostgreSqlFeatureLayer to the latest version to support new version of Npgsql Driver. *Fixed a bug where it runs into exception when re-open an not-existed file in ShapeFileFeatureLayer. *Fixed a bug of ConvertToInternalProjectionCore method in Proj4Projection. *Added an ExecuteSqlQuery and CanExecuteSqlQuery methods to QueryTools and to FeatureSource. *Did some enhancements to overrided method in sub-classes of FeatureSource. *Did some enhancements to the GetBoundingBoxCore() of OLEDBFeatureSource. *Supported adding more than 10 longer column to .dbf file. *Fixed a bug where TabFeatureSource.GetFeaturesByColumnValue() doesn't work correctly sometimes. *Added fixed size mode support of the legend item in printerlayer when dragging the legend. *Added support to allow customer to set the roatition center for rotation projection. *Added the Native Support of S-57 Maritime Charts. *Added the Native Support of GPX (GPS EXchange Format). *Fixed a bug where GetFeaturesInsideBoundingBox in InMemoryFeaureSource runs into exception after calling InternalFeatures.Add. *Fixed a bug where there is a conflict between System.Data.OracleClient.OracleType And Oracle.DataAccess.Client.OracleDbType. *Fixed a bug where there are some memory leak in GeoTiffRasterSource. *Fixed a bug where OpenStreetMapLayer runs into "index out of bounds" exception. *Added the native support of TobinBas file format. *Improved the memory usage in EcwRasterLayer to make sure it doesn't grow up quickly. *Fixed a bug where the Pointshape in GeometryCollectionShape could not be drawn by pointstyle. *Added native support of KML file format. *Fixed a bug where the numeric format don't work with point style. *Added support of Visual FoxPro format DbaseFile. *Fixed a bug where GetIsoFeatures method of IsoLineLayer returns an unexpected rectangle. *Added support of ROD unit in Jeffersonian. *Fixed a bug where it runs into exception when the latitude is larger than 180 under wrapdataline mode. *Improved the performance of WmsRasterLayer. *Added support of latin letters in Geoserializer. *Added the Native Support for .dwg and .dxf (CAD support). *Added support of WellPointStyle. *Fixed a bug where that something wrong with reading the WorldFile of some raster images because of culstureinfo. *Fixed a bug where there is a lacune in raster tiles. *Fixed a bug where creating wrong request URI with privatekey and client id for googlelayer. *Added support of GPX format. *Added projection support for CadFeatureSource. *Fixed the bug where GoogleMap reports 403 error if using the default constructor. *Added support of custom static map service based on Openstreetmap. *Fixed a bug that accessing BoundingboxUnit of wmtsTileMatrix will run into infinity loop. *Fixed a bug where there is a white line if WmtsLayer works with projection in meter. *Fixed a bug where it runs into error when labeling if ShapeFileFeatureSource is in the status of TransactionBuffer.EditBuffer. *Added support of Collate Sensitive in SqlServer2008FeatureSource. *Improved the performance of TiledWmsRasterSource by decreasing the count of request tiles. *Fixed a bug where the geoserializer doesn't support latin letters. *Fixed a bug where it runs into "projection is not opened" exceptions in some cases. *Fixed a bug where NTS doesn't support the union function if it's GeometryCollectionShape. *Fixed a bug where the FileGeodatabase can not get the "feature class". *Fixed a bug where the GetClosestPointTo method of LineShape returns incorrect result sometimes. *Fixed a bug where it runs into exception if Microsoft.SqlServer.Types.dll is not found. *Fixed a bug where the added columns are unable to be ordered. *Add support of Visual FoxPro format DbaseFile. *Added LayerCloneCount on LayerOverlay to limit the count of copied layers. *Fixed a bug where creating the incorrect ISO lines. *Improved the precision of the result returned from GetFeaturesWithinDistanceOf. *Fixed an issue where it runs into exception if the FileBitmapTileCache is in DecimalDegree while the map unit is meter. *Added CanGetQuickCount/GetQuickCount APIs to FeatureSource. *Added more utility APIs to GeometryCollectionShape. *Added support of the TobinBas file format. *Fixed a bug where GeoDbf collects Null data type. *Fixed a bug where there will be a white line after the raster image is projected. *Added ThreadSafetyLevel property to WorldMapKitLayer. *Fixed a bug where some of Feature's properties are missed after MakeValid. *Fixed a bug where a null instance added into Dictionary during deserialize. *Supported the ShapeFile and its related instances ReadWrite shareable. *Added CSScriptLibrary as MapSuiteCore dependencies to support the dynamic linq. *Fixed a bug where the raster projection returns an unmatched image. *Added LinkColumnValues property to Feature class. *Added the support of basic Cogo functionalities. *Added functionality to Layer level to request a delay drawing. *Added APIs on Layer to support auto request drawing. *Fixed a bug where the Prj4Projection doesn't change if we only set the Internal/ExternalProjectionParametersString property. *Added support of National Weather Service by adding corresponding layers. *Added CloudFileFeatureLayer and its related FeatureSource. *Added LoadLayer method on Layer to allow to load the layer from a tglyr file or stream. *Added Projection Support to OpenStreetMapLayer, GoogleMapsLayer and BingMapsLayer. *Added CompositeStyle to composite multiple styles in one style. *Added LinkSource that uses Linq to Link external data sources for higher performance. =====Version 7.0.0.0===== Release date: 06/03/2013 ThinkGeo.MapSuite.Core Namespace: *Added the ClearCache method to MapPrinterLayer to delete the cache image *Added the spatial index status cache for MsSql2008FeatureSource *Added LinearGradient brush to MapPrinterLayer *Added support of the FileGeoDatabase *Added support off write white paper on Printing *Added support of the GRD/GRI grid format *Added the FittingPolygonInScreen property to "PositionStyle to fit the labels as best as it can on part of a polygon *Added to create an overload for GeoImage constructor to accept a Bitmap *Added to support the static maps API for GoogleMapsLayer *Fixed accuracy issues when converting UTC to WGS84 coordinates zone 30 *Fixed a bug when using the "GetClosestPointToCore" of GeometryCollectionShape runs into endless loop *Fixed a bug that it would throw an exception when using a proj4 parameter with ManagedProj4Projection *Fixed a bug in OracleFeatureLayer that it would throw exception when the column is not surround with ‘ ” ’ *Fixed a bug in PrinterLayer that it would make the polygon’s edge follow by the ClippingArea *Fixed a bug in GDIPlusGeoCanvas that the star symbol’s offset is incorrect *Fixed a bug in ClassBreakStyle that it would cause an IndexOutOfRange exception *Fixed a bug in AreaBaseShape.GetIntersection that it would throw exception when the result is not AreaBaseShape *Fixed a bug in openStreetMapLayer that it would get an invalid image *Fixed a bug in PdfGeoCanvas that the label’s offset is incorrect *Fixed a bug that the Feature.GeometryLibrary is not synchronized with the BaseShape. GeometryLibrary *Fixed a bug in IconStyle that if the image is null, it would throw an exception *Fixed a bug in LineShape.GetLineOnALine when the distance is very small *Fixed a bug in BingmapsLayer that it would display no image when the zoomlevel is larger than 20 *Fixed a bug in LineShape.GetPointOnALine that it would return a wrong point *Fixed a bug in GeoSerializer that it couldn’t serialize the KeyedColletion type *Fixed a bug in GDIPlusGeoCanvas and PrinterGeoCanvas when outlinepen.Width = 0, it will still draw the edge *Fixed a bug that the GetPointOnALine doesn't return the correct point if the y coordinates of the vertex are the same *Fixed a bug that it's unable to install MapSuite products on Windows 8 *Fixed a bug that CLR types doesn't work on the clean machine *Fixed a bug that the BaseShape.Buffer runs into exception when the specified distance is too small *Fixed a bug in GeoSerializer that it may get an exception when serialize and deserialize a multi-dimension array type *Fixed a bug that it loses accuracy when converting between epsg:27700 and epsg:900013 *Fixed a bug that something is wrong with the clipping of MapPrinterLayer *Fixed a bug that some style will throw exception incorrectly *Fixed a bug that the scale line would throw exception when the extent out of range *Fixed a bug that EditTools.UpdateFeature is not working in MsSql2008FeatureLayer *Fixed a bug that 2163 projection will not be converted correctly with UnmanagedProjection *Fixed a bug that it would throw "Cannot insert items into an STR packed R-tree after it has been built" exception when using edit tools with multithread *Fixed a bug that the GetIntersection for RectangleShape returns incorrect result *Fixed a bug that TextSytle of LegendAdormentLayer doesn't take effect *Fixed a bug that LegendItems is not respecting TextStyle's GeoFont definitions *Fixed a bug that MsSql2008FeatureLayer.CreateTable would throw an exception *Fixed a bug that the features are not displaying by the edge of the full extent if the featureSource is applying a projection *Fixed a bug that open an SDF files with zooming in or zooming out will throw out of array index range issue *Fixed a bug that the GetDistance would throw exception *Fixed a bug that the Label should not be so sparse *Fixed Proj4 issue with EPSG 27700 *Improved IsoLine that solve some of the input points have no values issue *Improved Map Suite geometric functions to increase processing speed, accuracy and reliability *Improved some incorrect comments of the public APIs *Improved SQL query under x64 mode in ShapeFileFeatureLayer *Improved support the NauticalMile's transformation *Improved the performance of SpatialQuery method for Ms2008SqlServerFeatureSource *Improved the result and performance of IsoLine by applying Kringing Grid and tracking algorithm *Improved the way of loading the unmanaged assemblies *Improved the "ScaleBarAdornmentLayer" to support setting threshold value for switching scale bar unit *Improved the LegendPrinterLayer that there is a big blank paging at the top and bottom *Improved the Memory and CPU usage when using OracleFeatureSoruce *Improved to look for the assemblies in the same folder first and then check the system32 folder *Improved upgrade the FDOExtension to 3.7 and GDAL to 1.9 *Modified FileBitmapTileCache to use GUID for initial CacheID *Modified the logic of GetZoomLevelForDrawing by considering the IsActive *Removed the hard coded spatial index in MSSql2008FeatureSource *Removed some exception handling with ToScreenCoordinate, ToWorldCoordinate and GetWorldDistanceBetweenTwoScreenPoints =====Version 6.0.0.0===== Release date: 05/14/2012 ThinkGeo.MapSuite.Core Namespace: *Fixed an issue where certain styles don't call the GetRequiredColumnNames for child styles. *Fixed an issue where GeoTiffRasterLayer’s HasBoundingBox always returns true. *Implemented GeometryCollection.GetDitanceTo() method. *Fixed an spelling issue, rename "Dragable" to "Draggable" *Added the ability to use custom servers in OpenStreetMaps. *Added the support of Nautical Miles to ScaleBarAdornmentLayer. *Fixed an issue where the first feature is always removed when deleting multiple features in MsSql2008FeatureLayer. *Fixed an issue where an exception is thrown in PrinterGeoCanvas.DrawTextCache method when RotationAngle is not 0. *Improved the Exception Description in FeatureSource.GetAllFeatures method *Added the implementation of PostgreSqlFeatureSource GetFeaturesByColumnValueCore. *Fixed an serialization issue where the keys to a GeoCollection were not being added back correctly when de-serializing. *Fixed an spelling issue, rename GoogleMapZoomLevelSet to GoogleMapsZoomLevelSet. *Fixed an issue where shapefile's bounding box is not updated after removing a feature. *Fixed an issue where multi features cannot be correct deleted at the same time. *Fixed an issue where ShapeFileFeatureSource.GetBoundingBoxById() doesn't call GetFeaturesByIdsCore() internally. *Improved the creating shape performance by moving some logic from BaseShape constructor to property. *Removed the TabFeatureLayer from FdoExtension as we've added it in MapSuiteCore. *Fixed an issue where WorldMapKitLayer couldn't export to Pdf by using PdfExtension. *Fixed an issue where an exception is thrown in BingMapsLayer when zooming to an area where no imagery is available. *Added Clear() method into InMemoryFeatureLayer and InMemoryFeatureSource. *Improved the performance of MsSql2008FeatureSource GetBoundingBox *Fixed an issue where files with big case ".SHP" extension are not accepted. *Added the support of WMS 1.3.0. *Fixed an issue where PagePrinterLayer automatically changes the orientation.. *Added StreamLoading event to GridIsoLineLayer *Upgraded all the 3rd part DLLs referenced to the latest version *Fixed the issue where the features returned by GetFeaturesInsideBoundingBox shouldn’t contain the ones removed. *Improved the map object XML Serialization. *Improved Speed Improvements by introducing MapSuite WicBitmap extension. *Added the support of Layer Transparency. *Improved the Memory Usage for ShapeFileFeatureSource. *Upgraded MrSid & Ecw to the latest version. *Improved drawing performance. *Added the support of Code Generator. *Fixed the issue where the "out of memory" exception is thrown when loading a large .tiff image. *Improved the drawing quality of TiffRasterLayer by optimizing the reading logic *Improved Label Formatting by adding Formatting and Formatted events to TextStyle. =====Version 5.5.0.49===== Release date: 12/31/2011 *Fixed an issue where the PrinterDocument is disposed after raising the PrintPage event. *Fixed an issue where an exception is thrown when the tiff image is zoomed out to one pixel. *Fixed an issue where the rtreeIndex cannot be correctly used in ShapeFileMultiFeatureSource. *Fixed an issue where an SQL exception is thrown when executing a SQL statement with "where" clause within it in MsSql2008FeatureLayer. *Fixed an issue where the bounding box is incorrect after removing a feature from a shapefile. *Fixed an issue where Bing Maps Layer shifts after zooming in. *Fixed an issue where LineShape.GetLineOnALine doesn't work properly. *Fixed an issue where the MapPrinterLayer constructor doesn't hold the passed parameters. *Fixed an issue where GeoCanvas.DrawCircle method is using the wrong coordinate unit for width and height. *Fixed an issue where OpenStreetMapLayer doesn't display properly on the border. *Fixed an issue where ArgumentOutOfRangeException is thrown when calling SpatialQuery method on a projected Layer. *Fixed an issue where the first features is always deleted when deleting features.. *Fixed an issue where GetLineOnALine sometimes returns null. *Fixed an issue where GetFeaturesInsideBoundingBox doesn't work properly for point based shape file. =====Version 5.5.0.0===== Release date: 11/14/2011 ThinkGeo.MapSuite.Core Namespace: *Fixed an issue where PointType.Cross in PointStyle doesn't work properly. *Enhanced the documentation for OSM layer and overlay. *Fixed an issue where ScaleBar.AreaStyle doesn't draw properly. *Fixed an issue where an exception is thrown when Multipolygon.Contains method is called. *Enhanced the exception description where a single Tab file is loaded without other related files. *Fixed an issue where GettingZoomlevelsForDrawing doesn't work well when custom levels are overlapped. *Changed the "URI" to "WebRequest" property in SendingRequestUriTileEventArgs Class for all the products. *Fixed an issue where ShapeFileFeatureSource.CloneDeepCore() didn't work well with dBaseEngine. *Added MaxRecordsToDraw property to FeatureSource and FeatureLayer. *Fixed an issue where GraticuleAdornmentLayer doesn't work properly. *Fixed an issue where IndexPathFileName is not updated when ShapePathFileName property is changed. *Added the IsoLine Support. *Created a Print layout system. *Fixed an issue where the polygon shapes are not loaded correctly if the first ringShape in a polygon feature in shape file is not the outer ring. *Fixed an issue where GetFeatureNestestTo returns wrong result. *Fixed an issue where EditTools.ScaleUp and ScaleDown doesn't work for line shapes. *Fixed an issue where TabFeatureLayer doesn't display properly with Projections settings. *Fixed the issue where an exception is thrown when calling GetLineOnALine with the same start and end points. =====Version 5.0.0.55===== Release date: 7/7/2011 ThinkGeo.MapSuite.Core Namespace: *Enhanced MsSql2008FeatureSource to support Open/Close connection only once *Fixed a bug where Legend LineItem images and text didn't aligned on some systems *Fixed a bug where TabFeatureLayer Spatial query returned wrong featureID *Enhanced the logic for method GetLineOnALine in LineShape *Fixed a bug where an exception was thrown while loading tab file based with index. *Fixed a bug where MultipleShapeFileFeatureLayer constructor parameteres are useless *Fixed a bug where BuildIndexMode had no effect while building index file of Tab file with DoNotRebuild mode *Enhanced the load performance for tab file when using index file *Enhanced the logic in GetLineOnALine *Fixed a bug where CloneDeep method in TabFileFeatureLayer class didn't work as expected *Fixed a bug where the ValueStyle didn't work as expected on TabFileFeatureLayer *Fixed a bug where invalid validation of wms crs existed while checking WmsRasterLayer. *Fixed a bug where an exception was thrown while serializing MsSql2008FeatureLayer. *Enhanced the drawing order for features in layer *Fixed a bug which is related to location calculate problem in GdiPlusGeoCanvas *Fixed a bug where method GetBoundingBox thrown exception on MsSql2008FeatureLayer if some of the features are null =====Version 5.0.0.0===== 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. =====Version 4.5.0.0===== 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 =====Version 4.0.40.0===== 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. =====Version 4.0.0===== 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. =====Version 3.1.299===== 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. =====Version 3.1.273===== 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. =====Version 3.1.182===== 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. =====Version 3.1.124===== 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. =====Version 3.1.16===== 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. =====Version 3.1.0===== 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.