====== Map Suite Wpf Desktop Edition Features & Bug Fixes Change Log ====== =====Version 9.0.0.0===== Release date: 06/24/2015 ThinkGeo.MapSuite.WpfDesktopEdition Namespace: *Added a MapZoomMode to allow user to mouse wheel zoom the map by percentage or by defined zoom levels. *Fixed a bug where the same marker is instance added to two MarkerOverlay. *Fixed a bug where the MapArguments's ZoomLevelSet is always null. *Added a custom thread start mode to support the 3rd part thread pool. *Fixed a bug where few events should not be serialized. *Fixed a bug where it's unable to pan the GraticuleAdornmentLayer with PanZoomBar. *Added attribution “© ThinkGeo © OpenStreetMap contributors” to WorldMapKit overlay/layer. *Added new property “WorldMapKitLayerType” to WorlMapKitOverlay to support new types of Map Suite online map. *Fixed a bug where it runs into exception when editing or moving the start vertex of inner rings of a polygon. *Fixed a bug where there are something wrong with CodeGenerator. 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. *Fxied 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.WpfDesktopEdition Namespace: *Fixed a bug where it's unable to pan the GraticuleAdornmentLayer with PanZoomBar. *Fixed a bug where it runs into exception when editing or moving the start vertex of inner rings of a polygon. 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 values. =====Version 8.0.0.0===== Release date: 06/06/2014 ThinkGeo.MapSuite.WpfDesktopEdition Namespace: *Added reconnect strategy while UriTile failed retrieving internet images. *Fixed a bug where the highlighted vertex(red point) is disappeared when dragging the vertex. *Improved the performance when applying GCCollectionMode.Optimized to map control. *Fixed a bug where it runs into error when deleting a vertex from EditInteractiveOverlay. *Fixed a bug that an exception will be thrown if applying WrapDateline to WorldMapKitWmsWpfOverlay. *Fixed a Bug where the MouseDownCore is unable to be called after overrided. *Fixed a bug where InMemoryMarkerOverlay won't be removed from map after clearing overlays from map and doing refresh. *Fixed a bug where it's really slow while panning/zooming the map if there is a big collection background. *Added support of tracking outline only for polygon in EditInteractiveOverlay. *Enhanced the watermark strategy in multiple tiles for evaluation version. *Added functionalities to support keeping extent ratio when right-track zooming in. *Added functionalities to Overlay and Map to support a delay request drawing. *Added APIs to Overlay and Map to support auto request drawing. *Fixed a bug where an exception is thrown when failed to delete a feature. *Added reconnect strategy when UriTile is failed to retrieve images from internet. *Added ImageFormat support in WmsOverlay. *Added stretch effect to TileOverlay when it's used as base overlay in multi-tile mode. *Improved the performance of BingMapsTileOverlay by applying new locker system. *Fixed a bug where the tiles of Google Map overlap each other at low zoom levels near dateline. 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.WpfDesktopEdition Namespace: *Added a property "DrawingQuality" on LayerOverlay to support various quality rendering *Added a property “IsBase” on overlay to mark if an overlay is base or not *Added ability to selectively refresh tiles *Added to support the JP2000 Raster Reprojection *Added to support refreshing a specified region in current extent *Added to implement ScaleBarPrinterLayer *Added to reorder the matrix cells before drawing tiles *Added to made a default font size for popup control *Added overloads method to refresh a specified region of map and overlays *Fixed a bug that Shapes couldn't be drawn when using WicBitmapGeoCanvas *Fixed a bug that WpfMap covers some part of border control *Fixed a bug that longitude values are not showing with GraticuleAdormentLayer in wrapdateline mode *Fixed a bug that the "it is being used by another process" exception is thrown when using Bing Maps Overlay with multiple tiles *Fixed a bug that an exception would be thrown when OpenStreetMapOverlay works without cache *Fixed a bug in MarkerOverlay in WPF that it would lock a null object sometime *Fixed a bug that ShapeFeatureLayer can't open a specified shape file *Fixed a bug that KeyDown event is not raised *Fixed a bug that the overlay throws exception when refresh before adding to the logical tree *Fixed a bug where the unexpected render behavior when switching track mode *Fixed a bug that an exception would be thrown when one overlay is added to multiple maps *Fixed a bug that the PrinterInteractiveOverlay has a shift after printing *Fixed a bug that an exception would be thrown when a marker is added to multiple MarkerOverlays *Fixed a bug that FileGeodatabase will cause the Map freeze for several seconds *Fixed a bug in WpfMap.GetBitmap that it would draw a black border *Improved the result of WpfMap.GetBitmap method *Improved the rendering performance of BingMapsLayer *Removed the unexpected tiles when using OpenStreetMaps overlay ThinkGeo.MapSuite.Core Namespace: *Added a ClearCache method to MapPrinterLayer to delete the cache image *Added a spatial index status cache for MsSql2008FeatureSource *Added LinearGradient brush to MapPrinterLayer *Added support the FileGeoDatabase *Added support write white paper on Printing *Added support 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.WpfDesktopEdition Namespace: *Fixed an issue where WMS layer and WMS overlay doesn't share the same cache. *Fixed an issue where "it is being used by another process" exception is thrown when using Bing Maps Overlay with multiple tiles. *Fixed an issue where CurrentExtent can never be set after it is set to an invalid value. *Fixed an issue where SendingWebRequest event is not getting raised in TiledWmsLayer. *Improved some event description. *Fixed an issue where the position of printing label doesn't match the setting alignment. *Fixed an issue where some tiles are not properly displayed on BingMapsLayer with WrapDateLine. *Fixed an issue where zoomlevel doesn't change when panning the map immediately after zooming in. *Fixed an issue where TiledWmsLayer doesn't work fine when printing on PDF. *Fixed an issue where cached tiles in WMSLayer are stitched improperly when printing. 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 ThinkGeo.MapSuite.WpfDesktopEdition Namespace: *Fixed an issue where the layers are opened/closed multi times in LayerOverlay.Draw() method. ThinkGeo.MapSuite.Core Namespace: *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.WpfDesktopEdition Namespace: *Fixed an issue where an exception is thrown when a blank LayerOverlay is drawing under DoNotLock mode. *Fixed an issue where the size of popups and markers is changed unexpectedly when zooming in/out of the map. *Fixed an issue where an exception is thrown when map tools are initializing. *Fixed an issue where the Wrapping Dateline cuts an island. *Enhanced CalculateControlVertexForPoint method in EditOverlay. *Fixed an issue where SimpleMarkerOverlay. MarkerDragged event doesn't work properly. *Added Multipoint track mode to the TrackInteractiveOverlay. *Fixed an issue where an exception is thrown when a maptool is removed. *Fixed an issue where the markers don't display properly during the zooming animation. 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.WpfDesktopEdition Namespace: *Fixed a bug where the RightClickDragKey is changed when setting LeftClickDragKey. *Fixed a bug where overlay's refresh action didn't worked as expected *Fixed a bug where an InvalidOperationException was thrown while using LayerOverlay *Fixed a bug where the shape file layer's IsVisible property has no effect when the ShapeOverlay's FileBitmapTileCache was attached *Fixed a bug where modified zoom level scales would not sync to the zoom bar *Added PositionChanged event on Marker class *Enhanced WrapDatelineMode on AdornmentOverlay ThinkGeo.MapSuite.Core Namespace: *Enhanced method GetPointOnALine in LineShape *Fixed a bug where the first point of DotDensityStyle wasn't random when using multiple DotDensityStyles *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.WpfDesktopEdition Namespace: *Fixed a bug where the RightClickDragKey is changed when setting LeftClickDragKey. *Fixed a bug where the ClientId and PrivateKey properties of GoogleMapOverlay didn't work when using the default constructor. *Added validator to let users know BingMapsOverlay does not support Birds Eye mode. *Fixed a bug where an extra marker is displayed when moving feature and rearranging tiles at the same time. *Fixed a bug where LayerOverlay made copies of the internal layers when in SingleTile mode. *Enhanced the drawing of EditInteractiveOverlay and TrackInteractiveOverlay. *Added a DrawStretchTiles method in TileOverlay. *Added an event to format a URI before sending the request. *Exposed SyncZoomLevels method. *Obsoleted SyncZoomLevelScales method and added ZoomLevelSet property to replace it. *Added a new property ElapsedMilliseconds in the DrawTilesProgressChangedTileOverlayEventArgs. *Added support for WrapDatelineMode with SingleTile. 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.WpfDesktopEdition Namespace: *Optimized single tile type cache. *Added the adjustable height arrow for Popup. *Fixed a bug of a content template of marker control. *Fixed a bug of label rotation with offset in DrawingVisualGeoCanvas. *Enhanced the performance for Tile and TileOverlay. *Fixed Issue about DrawException. *Fix a bug that MarkerDragMode.None doesn't restore from the drag mode. *Added Cancellation during drawing on Overlay. *Fixed a bug when overriding a TrackOverlay for removing a vertex during tracking. *Cleared the stretch tiles after the overlay is completely drawn. *Fixed a bug of restoring the tile in LayerOverlay from exception. *Fixed a bug when editing out of world extent. *Added OSM overlay. *Added TileBuffer for TileOverlay. *Removed all the ImageSource to theme resources. *Added TileCache support for SingleTile. *Added drawing without locking a layer to use thread efficiently. *Enhanced the speed rendering for marker in InMemoryMarkerOverlay. *Added a MaxExtent property on the TileOverlay for customize the Matrix. *Added a world map button on the PanZoomBar. *Added a better performanced BingMapsTileOverlay. *Enhanced API for WpfDesktopEdition. *Added a OpenStreetTileOverlay. *Added RestrictExtent support. *Enhanced the Load/SaveState method for map elements. 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