History: A # denotes changes, where current code may need updating. 09-Jun-2024 .NET 9 added as platform 01-Jun-2024 .NET 8 added as platform ******************************************************* 19-May-2024 Version 4.45 16-May-2024 Bug fixed in TCalc.NearestOpendyn This also affects several other methods, calling this one. 23-Apr-2024 TNetwork.OpenLimit extended with filenumber=0 as parameter 20-Nov-2023 Delphi 12 added ******************************************************* 28-Aug-2023 Version 4.44 Delphi XE5-XE6 removed .NET 7 added as platform 22-Aug-2023 Fixed bug related to resetting use of Zlevels in TImport 10-Aug-2023 Added TImportSQL.ExecuteGISarray 27-Jun-2023 Added TGeoBarrierList class 30-Mar-2023 Turn_report.txt in TurnImportTXT method Fixed bug in counting errors in input file for TurnImportTXT ******************************************************* 03-Mar-2023 Version 4.43 02-Mar-2023 Mitab.dll 1.7.1 is now used 26-Jan-2023 MapInfo Datum 162-165, 1027, 1029-1030 added 24-Jan-2023 Fixed issue with TImportSQL and testing for uniqueness of external field 04-Dec-2022 TDrivingDirections.RouteListDyn fixed for same-link stops 29-Oct-2022 Fix for NearestOpenDyn in combination with turnmode=true and nodrivethrough=true 07-Aug-2022 Added TNetwork.Trace2 ******************************************************* 22-May-2022 Version 4.42 19-May-2022 Added TVoronoi.MilesOutput, allowing distances being written as miles Output from TCalc.AlphaShape, TCalc.IsoLinkDriveTime* and TCalc.DriveTimeSimpleDyn is written as miles, when relevant and required 10-May-2022 Loading of alphashape.dll fixed, so it also works in RW Net 4 DLL 25-Apr-2022 TImportSQL.ExecutePostGIS updated, so property original_order applies 17-Apr-2022 TImportSQL.ExecuteGeoPackage added for .NET 31-Mar-2022 TCalc.SubNet and SubNetLimits changed, so subnet 0 is always the biggest subnet 30-Mar-2022 .NET version updated so there are 2 variants: - .NET 4.8 (Framework) - .NET 6.0 (Core) Database drivers for .NET SQL Import updated .NET performance improvements, especially if using .NET 6 ******************************************************* 01-Mar-2022 Version 4.41 06-Feb-2022 TRouteCalc.RoutePairsGroupSize added 04-Jan-2022 TImportSQL.ExecuteGeoPackage added (not for .NET yet) 27-Dec-2021 MapInfo datum 159, 161, 1023-1026, 1028 added. This includes GDA2020. MITAB updated - now 1.7.0d 19-Nov-2021 Fix for TDrivingDirections.Route() with 2 neighbour nodes 24-Oct-2021 Added TSpatialSearch.JoinNodes (missing from DLL) TNetwork.ExportLinks with additional parameter (missing from DLL) 23-Oct-2021 Delphi 11 added, XE4 removed 23-Sep-2021 TImportAttributes.ExecuteLimit with additional and optional parameters ******************************************************* 10-Jun-2021 Version 4.40 10-May-2021 Fix for generating empty GeoJSON output. 02-Apr-2021 Removed dependency on Microsoft.SqlServer.Types 11-Feb-2021 GPX format added for TGISWriter 14-Jan-2021 Added TSpatialSearch.SkipNodes ******************************************************* 11-Jan-2021 Version 4.39 05-Jan-2021 Added TRouteCalc.AltRouteDyn 09-Nov-2020 #Replaced System.Data.SqlClient with Microsoft.Data.SqlClient as MSSQL library. This requires .NET 4.6 as a minimum. 08-Nov-2020 Added TImportSQL.ExecuteMSSQL2 Added TImportSQL.ExecuteOracle2 Added TImportSQL.ExecutePostGIS2 30-Oct-2020 #Rename: TGISwrite > TGISwriter 13-Oct-2020 EFAL format added officially after it has been released to the public. This is Preciselys free SDK for writing (and reading) TAB files. Added TGISwriter.EFAL_Load() Added TGISwriter.EFAL_supported() 16-Sep-2020 Fixed bug in reading TABx files with UTF16 encoding and char fields wider than 127. Fixed bug in reading TABx files with decimal fields with decimals. ******************************************************* 11-Sep-2020 Version 4.38 09-Sep-2020 Updated Python samples (3.x compatible) 07-Sep-2020 Delphi 10.4.1 added, Delphi XE3 removed 28-Aug-2020 Added TNetwork.AllowNegativeCost 19-Aug-2020 Off-road parts of route is now added in TCalc.NearestNP output. Similar to TCalc.MatrixPOut. 07-Aug-2020 Fixed rare rounding issue in TSpatialSearch.NearestLocation 08-May-2020 Fixed bug in GeoJSON output as string 29-Apr-2020 Added TNetwork.FindDuplicateLinks TNetwork.DuplicateLink[] TRouteCalc.DuplicateLinks ******************************************************* 04-Apr-2020 Version 4.37 02-Apr-2020 Fix for looking up int64 external ID's 24-Jan-2020 Added output folder check for import functions 09-Jan-2020 Fix for TGISwriter - bug introduced 25-Nov-2019 ******************************************************* 28-Nov-2019 Version 4.36 26-Nov-2019 Correct field width calculation for UTF8 output. 25-Nov-2019 Fix for generating UTF8/UTF16 output with EFAL. 11-Nov-2019 If any identifiers in ID-lists have the format "0n", then it will remain a string, rather than being changed to integers during output 06-Nov-2019 Fix for reading decimal fields from UTF-16 encoded TAB files 28-Oct-2019 Added TNetwork.SetLimitBit & TNetwork.GetLimitBit 07-Oct-2019 Property TImportSQL.WhereClause added for .NET 03-Oct-2019 External ID file (index1.bin) can now be >2 GB for string indices. Such files are not compatible with older RW Net releases. 27-Sep-2019 Fix for closing tables in TGISwriter, EFAL format Fix for drop table in TGISwriter, SHP format ******************************************************* 05-Aug-2019 Version 4.35 15-Jul-2019 Max number of threads changed from 16 to 256. 28-May-2019 Added range checking of Z-levels in TImport Added range checking of Z-levels in CSV-import Added range checking of attributes in TImportAttributes 10-May-2019 Added check for ecZeroOrOneVertices for TAB, type 7 objects 21-Apr-2019 TCalc.RMatrixDyn fix for non-symmetric Bug fix for TCalc.CenterLocation1 in turnmode 28-Mar-2019 #TCalc.TimeFormatAsString changed. Bug fix for timestamp field in TDrivingDirections 27-Mar-2019 Added TTimeStampFormat.tfString 20-Mar-2019 Added gfInt64 as field type in TGISWriter (except for MITAB) Added reading/writing of LARGEINT fields in TAB files 08-Mar-2019 MapBasic DLL Standard version added 07-Mar-2019 Added TCalc.RelativeSpeed Added TCalc.SubNetLimits ******************************************************* 01-Mar-2019 Version 4.34 20-Feb-2019 Bug fix for "nearest open" option in TCalc.MatrixDynOut 19-Feb-2019 Added TNetwork.TurnCount 15-Feb-2019 #TNetwork.TurnImportTXT now returns number of errors during import 10-Feb-2019 Bug fixed for TCalc.IsoLinkServiceArea 08-Feb-2019 TOptimizer and TTSP check of subnets in input matrices. TOptimizer.District, heuristic 3 improved. 07-Feb-2019 Bug fixed for TCalc.IsoLinkDriveTime* 06-Feb-2019 Bug fixed for TCalc.DriveTimeSimple 27-Jan-2019 Added TNetwork.Clone 24-Jan-2019 MatrixPOut and RMatrixPOut changed, so offroad part is skipped if routing between exact same coordinates. 11-Jan-2019 Bug fixed for TCalc.NearestOpenDyn in combination with NoDriveThrough ******************************************************* 08-Jan-2019 Version 4.33 07-Jan-2019 Bug fix for "nearest open" option in TCalc.MatrixPOut and TRouteCalc.NearestNP 05-Dec-2018 EFAL support added (limited) 27-Nov-2018 Delphi 10.3 added Delphi XE2 removed 25-Nov-2018 Several performance improvement for TImportSQL. Mostly for Oracle and PostGIS. 15-Nov-2018 Fixed TImportSQL.ExecuteMSSQL (VCL/DLL only) 14-Nov-2018 Added TCalc.SubNetSimple Improved TCalc.SubNet, so it works for turnmode on/off 06-Nov-2018 Fixed TCalc.MatrixPOut for maxcost=0 26-Sep-2018 Added TNetwork.MatrixDyn2 21-Sep-2018 Bug fixed, missing schema in TImportSQL.PostGIS for external ID (.NET only) ******************************************************* 18-Sep-2018 Version 4.32 04-Sep-2018 TImportSQL: Better handling of reading numerical fields. 03-Sep-2018 TImportSQL.ExecuteMSSQL: Changed dbo.spatial_ref_sys to sys.spatial_reference_systems 30-Aug-2018 Changed timeout for TImportSQL to 0 for MSSQL and PostGIS on .NET Other platforms already had 0 as value. Added MaxCost in TCalc.Matrix*Out, so calculations are also faster. 29-Aug-2018 FileIsFull functionality added for: - TNetwork.ExportLinks - TCalc.MatrixDynOut - TCalc.MatrixOut - TCalc.MatrixPOut Fix in TNetwork.GetGISSectionRoute for node-2-node routes with 1 link. Fix in TCalc.MatrixOut for duplicates in NL1 and NL2 arguments. 26-Aug-2018 Added property TGISwriter.FileIsFull Fixed missing MFAL support for gfTime,gfDateTime 21-Aug-2018 #Added maxspeed as parameter to TNetwork.CalculateCost 08-Aug-2018 Added "cancel" handling to TCalc.Matrix* methods Cancelled property added to the mapbasic DLL 23-Jul-2018 Added TRouteCalc.RMatrixPOut 20-Jul-2018 Added TRouteCalc.RMatrix* 09-Jul-2018 #Added two new parameters to IsoPoly(fast): addnodesEx and addnodesExLinks 26-Jun-2018 Increased max link count to 1,000,000,000 links in Pro version 25-Jun-2018 Added TCalc.CenterLocation1 ******************************************************* 20-Jun-2018 Version 4.31 12-May-2018 #Removed TTSP.Threads Removed Silverlight as platform 02-May-2018 Added TCalc.SteinerTree 28-Mar-2018 Fixed bug when writing ungeocoded records with MFAL 22-Mar-2018 Removed hardcoded schema "public" from .NET PostGIS import Added database parameter to connection string for .NET Oracle import Various other minor improvements to TImportSQL. 16-Mar-2018 Character escaping of JSON output 08-Mar-2018 Fixed issue in TDrivingdirections, when in drivingdirections mode and further specific circumstances. ******************************************************* 04-Mar-2018 Version 4.30 27-Feb-2018 #TCalc.IsoPoly(Fast) now takes an additional parameter, IncludeLinks Fixed bug in TCalc.SelectClosedLinks. 22-Feb-2018 Fix for very small step-values in TCalc.DriveTimeSimpleDyn 21-Feb-2018 Fixed issue in TRouteCalc.RoutePairsP, when routes was not found. 17-Feb-2018 Setting TNetwork.CoordinateWindow to negative values now possible. 12-Feb-2018 Significant improvements for TVoronoi on the .NET platforms 23-Dec-2017 Fix for TCalc.AlphaShape and output initialization 21-Dec-2017 TCalc.IsoPolyFast performance improvement 15-Dec-2017 New heuristic 3 for TOptimizer.District ******************************************************* 05-Dec-2017 Version 4.29 04-Dec-2017 Fix for header of TCalc_DriveTimeSimpleDyn in DLL. 03-Dec-2017 Fix of output bug in TDrivingDirections for mode cmDrivingDirections/cmSeperate in combination with intra-link sections of route. 30-Nov-2017 Added TSpatialSearch.NearestNodeSimple Added TLocationList.Add5 26-Nov-2017 Added TSpatialSearch.MBRselect 25-Nov-2017 # TCalc.DriveTimeSimpleDyn improved and additional parameter IncludeLinks # TCalc.DriveTimeSimple removed 23-Nov-2017 Added TNetwork.CloseExternalID 20-Nov-2017 Property TImportSQL.WhereClause added for native (but not for .NET) Property TCalc.MaxCostExt added 14-Nov-2017 Fixed bug in internal routine for .NET Gave wrong coordinates in certain kinds of GIS output. 03-Nov-2017 # TCalc.MaxCost now applies to TCalc.MatrixOut, TCalc.MatrixDynOut and TCalc.MatrixPOut. 02-Nov-2017 Added automatic support for SmartInit and Hierarchy in TDrivingDirections. Fixed EPSG > Coordsys lookup when importing from DBMS without mapcatalog. 18-Oct-2017 Added TNetwork.ValidCodePage 17-Oct-2017 Adding support for importing from TAB files using Thai, Vietnamese and Baltic charset. 15-Oct-2017 Fixed codepage handling when writing output to TAB/SHP. Mostly important when codepage is different from 1252. 13-Oct-2017 Better handling of SQL import for data with Z-levels, measures, multisection objects etc. Fix for Oracle native import (uniDAC update) 04-Oct-2017 Python samples updated 02-Oct-2017 Fix for .NET import from TAB files (overflow exception) 04-Sep-2017 Isolink output using the same colours as the other isochrone output. ******************************************************* 12-Jul-2017 Version 4.28 28-Jun-2017 Fixed bug in TCalc.DriveTimeSimple for starting node 07-Jun-2017 Added TCalc.TimeFormatAsString 04-Apr-2017 Minor fix to TVoronoi 03-Apr-2017 Delphi 10.2 support added 27-Mar-2017 TImportSQL added for .NET 03-Mar-2017 Thread initialization 28-Feb-2017 Fix for TCalc.NearestNP when offroad<>0 and LL1<>LL2. 26-Feb-2017 Fix for TCalc.RoutePairs for missing routes. 05-Feb-2017 Fix for isolink functions in turnmode. ******************************************************* 27-Jan-2017 Version 4.27 22-Jan-2017 Added TNetwork.TurnSwap 22-Jan-2017 Improved performance a lot for IsoCostListNDyn, when N< 2GB in 32-bit. Aug-Sep-Oct-Nov 2016 Various minor fixes and performance improvements to TImportSQL. 14-Sep-2016 Fix for TDrivingDirections with mode=verycompact. 15-Aug-2016 Fix for turnexportgis and exportRFMrestrictions. 11-Aug-2016 TImport for TAB files changed, so the full map file is loaded into memory for faster processing. ******************************************************* 03-Aug-2016 Version 4.26 02-Aug-2016 You will now get an exception, if an external ID field is not unique. TImportAttributes.ExecuteExternalID* functions. Old index1.bin+index2.bin files with non-unique values should be discarded. 14-Jul-2016 TRouteCalc.NearestN can now use >65535 locations for LL2 parameter. 16-Jun-2016 TCalc.IsoLinkDriveTime has new parameter for identifier in output. TNetwork.TurnExportTXT2 added. 12-Jun-2016 Fix for colour output to MIF-points and MFAL-points/lines/regions. TNetwork.ExportNodes with style information Fix for duplicates in locations for all matrix output to GIS. 18-May-2016 TNetwork.TurnImport now raises an error if the file contains any external references and external ID has not been opened. 16-May-2016 Sequence field (1..N) added to isochrone output: TVoronoi TCalc.AlphaShape TCalc.DriveTimeSimple 15-May-2016 Fix for output of roadnames with embedded ". 04-May-2016 Fix for TNetwork.Join Fix for TDrivingDirections when used with timestamps in the output ******************************************************* 03-May-2016 Version 4.25a Fix for TImport in .NET ******************************************************* 24-Apr-2016 Version 4.25 06-Apr-2016 TImport made ~30% faster. Handling of cancel in progress event added for TImport and TImportAttributes 03-Apr-2016 Added TNetwork.SelectLinksWithLimits Added TCalc.SelectClosedLinks 01-Apr-2016 Added TNetwork.SelectLimit 31-Mar-2016 Added TNetwork.OpenAttributes and TNetwork.SaveLimit Added progress event for TNetwork.TurnImportTxt 22-Mar-2016 # Number of parameters in TGISWriter.Attrib is checked. 18-Mar-2016 Added TDrivingDirections.CalcDirectDist 13-Mar-2016 # TRoadClassSpeed.LoadFromINI takes an additional parameter mph. It can also read decimal speeds. 10-Mar-2016 # TNetwork.ReadSpeed takes an additional parameter mph. 04-Mar-2016 Fixed issue with DLL and TLocationListItems. 29-Feb-2016 Bug fix for FindNonConnected. It returned too few records. 27-Feb-2016 Fix for TCalc.DriveTimeSimple 06-Feb-2016 Added TVoronoi.ID 26-Jan-2016 Added TImportSQL.ExecutePostGIS (native only) 20-Jan-2016 Bug in TCalc.IsoLinkDriveTimeDyn fixed. 15-Jan-2016 TSpatialSearch.FindConnected split into TSpatialSearch.FindConnected and TSpatialSearch.FindConnectedNodes. Both should now give fewer false positives. 15-Jan-2016 Property TVoronoi.IncludeHoles enabled in doughnut mode. Property TVoronoi.IncludeIslands added. TCalc.AlphaShape adds IncludeIslands as parameter. ******************************************************* 03-Jan-2016: Version 4.24 02-Jan-2016 Fix for TImportAttributes.ExecuteExternalIDstring for certain strings - only a .NET issue. 02-Jan-2016 # Removed TTSP.MaxIterations & TTSP.Iterations Improved progress events and stop criteria. 27-Nov-2015 TCalc.RoutePairsP added 26-Nov-2015 When writing regions, wrong number of points (<4) now raises an error. 23-Nov-2015 TCalc.RoutePairs added 18-Nov-2015 DirectDist as option for TDrivingDirections 13-Nov-2015 New method: TRouteCalc.NearestNP Directdist property added to MatrixOut, MatrixDynOut, MatrixPout and NearestNDyn. 27-Oct-2015 Added decimals for matrix and other file output: TCalc.DecimalsDist TCalc.DecimalsTime 23-Oct-2015 TCalc.MIpen added. 23-Oct-2015 Additional stop criteria added to route calculations to prevent long calculation times. 22-Oct-2015 Better error handling of import of turn restriction files. 21-Oct-2015 Isolinkdrivetime and isolinkdrivetimedyn can also write distances in miles, if that unit is chosen. 20-Oct-2015 # Implementation for skipping links in spatial searches has been changed. 15-Oct-2015 MIF8 (UTF8-formatted) as new output format. 13-Oct-2015 Small fix for drivetimesimple. 12-Oct-2015 Text file writing made 3 times faster (Delphi & native DLL). Applies to MIF, CSV, XML and KML. ******************************************************* 08-Oct-2015: Version 4.23 (released again.) 08-Oct-2015 Fixed TAB-header reading error in .NET (all fields were seen as Char) ******************************************************* 05-Oct-2015: Version 4.23 01-Oct-2015 TCalc.AlphaShape added 01-Oct-2015 TImportSQL import added to the native DLL. 29-Sep-2015 Offset parameter re-enabled for the various isochrone functions. 28-Sep-2015 TImportAttribute.Execute* can lookup codepage and fieldnames from corresponding MIF file (for MID files). The class works with extended TAB/MIF files too. 26-Sep-2015 Import process can also handle extended TAB files from MapInfo 64-bit. Processing of classic TAB files made 10% faster. 26-Sep-2015 Fixed issue with TCalc.DriveTimeSimple and projected coordinates. 24-Sep-2015 When adding turn restrictions, those already restricted due to oneway restrictions are skipped. 20-Sep-2015 Fixed roundabout counting in mode cmDrivingDirections. 20-Sep-2015 Added support for OffRoad with cmDrivingDirections. 18-Sep-2015 Fixed bug in TCalc.NearestOpenDyn for links with limits. 15-Sep-2015 D2009 specific code removed. XE and up still supported. 06-Sep-2015 Updated dbf/dat-file support to also work with extended TAB files. 28-Aug-2015 Added TConcatenationMode.cmVeryCompact 26-Aug-2015 Added function TCalc.MatrixPOut. 25-Aug-2015 Added parameter NearestOpen to TCalc.MatrixDynOut. 12-Aug-2015 Fixed bug in voronoi when outputting to MITAB, KML, GML and GeoJSON. 29-Jul-2015 Function Join now outputs turn restrictions as part of the processing. With the updated link id's. 22-Jul-2015 Fixed issue with Routedyn, when smartinit=true, turnmode=false and start link is oneway. 17-Jul-2015 Improved various low-level parts of reading link coordinates in .NET Relevant to many functions: Isolink, isopoly, spatial searches, Network Export etc. 30-Jun-2015 Fixed issue with voronoi calculations and geojson format. 14-Jun-2015 Progress handling added for caching coord3 file. 10-Jun-2015 GeoJSON output is now created as a file, if the filename is specified. Default unit is duKm for TCalc object. ******************************************************* 22-May-2015: Version 4.22 15-apr-2015 Delphi XE8 added Caching of coord3.bin improved a lot. 02-apr-2015 64-bit overflow bug in TImport fixed. This was only visible with large datasets (coord3.bin > 2GB) 19-Mar-2015 Projection type 35 added for TImport from TAB files. 16-Mar-2015 Added TSpatialSearch.NearestLink 11-Mar-2015 Added progress dialogs to DLL version 27-Feb-2015 Fixed issue with skipped links and limits, when calling TCalc.MatrixDyn and TCalc.MatrixDynOut. 20-Feb-2015 Fixed bug in TOptimizer.Cluster2 ******************************************************* 12-Feb-2015: Version 4.21 04-Feb-2015 When all ID's are integers, they will get written as integer-type in MatrixOut functions. String-type previously. 14-Jan-2015 "center" included in TCalc.IsoLinkDrivetime output. 18-Dec-2014 When checking for loop links in TImport, Z-levels are also taken into consideration. 18-Dec-2014 Added TCalc.SkipCulDeSacOptimization 22-Nov-2014 Directly import from SQL server, but only for Delphi XE7 platform. 21-Nov-2014 Various function names involving "external" renamed to "externalID" everywhere. ******************************************************* 28-Oct-2014: Version 4.20 20-Oct-2014 TNetwork.ObjectCheck modified slightly. 09-Oct-2014 Delphi XE7 added. 29-Sep-2014 List of MapInfo coordsys updated until MI 12.0 (13 new ones) 15-Sep-2014 Fixed bug in TNetwork.OpenRoadName for roadname.bin files >2GB. 25-Aug-2014 TNetwork.Join with topology=2 fixed, so no loops are created in the new output. 12-Aug-2014 Added TDrivingDirections.CalcSideInOutArray 11-Aug-2014 Fixed bug in TDrivingDirections for inter-link routes. 24-Jul-2014 Fixed bug in TCalc_SetTurnmode in MapBasic DLL. ******************************************************* 10-Jul-2014: Version 4.19 26-Jun-2014 MFAL support added for Delphi versions. A few TTSP improvements. 28-May-2014 64-bit DLL for MapBasic/MapInfo. 16-Apr-2014 Delphi XE6 support added 27-Mar-2014 .NET Silverlight version added (ask for this) 24-Mar-2014 Fixed bug in TNetwork.open when ExternID = 2 or 3 on .NET 16-Mar-2014 Added SmartInit support for turnmode ******************************************************* 26-Feb-2014: Version 4.18 25-Feb-2014 Changes in obfuscation level to make .NET version much faster. 04-Feb-2014 Support for no-drive-through in isochrones (one-to-many). 31-Jan-2014 Fixed bug related to limits on destination link in TCalc.RouteDyn and turnmode=false. 28-Jan-2014 #Updated external ID's with support for 64-bit integer ID's. Also in-memory processing with no temp files. ******************************************************* 24-Jan-2014: Version 4.17 23-Jan-2014 Even more (low-level) changes to get full compatibility with Mono/Android. 20-Jan-2014 Fixed TTSP/TTSPcurb stopping criteria. 19-Jan-2014 Added TCalc.MatrixBuffer 26-Nov-2013 A few changes to make the .NET version compatible with Xamarin and Android. TNetwork.MaxThreads removed 22-Nov-2013 Added TNetwork.SaveSpeed 08-Nov-2013 Added GeoJSON as output format # TGISwriter.AddObject now takes an additional parameter ******************************************************* 23-Oct-2013: Version 4.16 Delphi XE5 added Last version with D2010 and XE support 21-Oct-2013 Added TCalc.MaxSpeed 02-Oct-2013 Added TCalc.Tree 13-Sep-2013 Numerical fix to point-in-polygon algorithm (part of TVoronoi) 08-Sep-2013 Fixed bug in .NET implementation of INI file handling. 25-Aug-2013 Improved performance of drivetimesimple by 33% for turnmode. 16-Aug-2013 Fixed bug in TNetwork.GetGISSectionRoute for intra-link routes ******************************************************* 14-Aug-2013: Version 4.15 26-Jul-2013 Fixed bug in initialization in TCalc (64-bit native only). Improved TTSP stopping criteria for small tasks. 22-Jul-2013 Added TCalc.SetSkipLinkList. 18-Jul-2013 Improved speed of these functions: IsoCostListDyn*, IsoCostListNDyn, MatrixDyn* and NearestDyn. Mostly for small isochrones in big networks, with at least one relatively long link (such as a ferry route). 15-Jul-2013 Added TOptimizer.Swap 25-Jun-2013 Fix: MITAB format failed in TVoronoi class for complex polygons (regression from 4.14 release) ******************************************************* 10-Jun-2013: Version 4.14 10-Jun-2013 Fixed bug in TCalc.Matrix, when using both multiple threads and limits at the same time. 07-Jun-2013 Added MITAB in 64-bit .NET, both Standard and Pro Delphi XE4 and Python samples added Removed Basic package 28-May-2013 Overloaded functions renamed: TLocationList.Add TNetwork.Write 23-May-2013 Fixed bug in TNetwork.Location2coordinate for location.percent=0 and offset<>0. 13-May-2013 Added support for 64-bit MITAB in Win64 Fixed bug related to loop links and 26-Apr change ******************************************************* 06-May-2013: Version 4.13 29-Apr-2013 Added TNetwork.NonCulDeSacNodes 26-Apr-2013 Duplicate nodes are removed in TImport 25-Apr-2013 Added TRoadClassSpeed.LoadFromINI 24-Apr-2013 TCalc.SmartInit property added Fixed bug in TTSPcurb for .NET platform. 22-Apr-2013 Fixed bug in the better spatial index below. Was related to non-valid links only. 07-Apr-2013 Bug fixes for reading Coord3.bin files >4 GB. 29-Mar-2013 Building of spatial index made much more efficient. # Replaced TImport.MaxVerticesPerCell by TImport.MaxNodesPerCell. 28-Mar-2013 Added buffers to file handling in TImport and TImportAttributes Improves speed by 60%. Opening roadname files and the spatial index also buffered. 24-Mar-2013 Fix to TImport when building spatial indices on large datasets, coord3.bin file > 2GB Applied the same fix to TNetwork, when opening such files. ******************************************************* 19-Mar-2013: Version 4.12 15-Mar-2013 Added TNetwork.Write methods Fixed issue with writing float pointing numbers to DBF files when not using . as decimal point. 12-Mar-2013 Added TCalc.MST 09-Mar-2013 Added TCalc.CenterNode 19-Feb-2013 Added TCalc.DriveTimeSimple & TCalc.SetSmoothing 15-Feb-2013 Fixed bug with TNetwork.GetGISSectionRoute ******************************************************* 12-Feb-2013: Version 4.11 (removed Delphi 2009 as target) 11-Feb-2013 Extended behaviour of TRouteCalc.SubNetEx 10-Feb-2013 Fixed bug when using TRouteCalc.NoDriveThrough = true 06-Feb-2013 Added rwnet4.dll for mapbasic 31-Jan-2013 Added method TVoronoi.SetSmoothing Added method TSpatialSearch.NearestVertex 18-Jan-2013 Added property TImport.FailOnDifferentCoordSys 15-Jan-2013 Fixed bug in TDrivingDirections.Route & RouteList ******************************************************* 07-Jan-2013: Version 4.10 07-Jan-2013 Fixed issue with closing of coord3 files in .NET when calling TNetwork.close 02-Jan-2013 Added method TNetwork.NoDriveThroughInit 21-Dec-2012 Added property TCalc.IsopolyRandomnization 18-Dec-2012 Fixed bug with TTSP Fixed bug with TNetwork.GetGISSectionRoute for routes with 1 link 17-Dec-2012 Fixed bug with TNetwork.Location2Coordinate with offset 12-Dec-2012 Fixed bug with TCalc.Isolinkdrivetimedyn 11-Dec-2012 Fixed issue with TVoronoi.IncludeHoles 07-Dec-2012 Fixed bug with TCalc.Isolink functions 04-Dec-2012 Fixed issue with reading numeric fields as strings in TImportAttributes.ExecuteExternidString ******************************************************* 03-Dec-2012: Version 4.09 28-Nov-2012 Added TNetwork.ReadCost, ReadSpeed and ReadTime. 18-Nov-2012 Added TRouteCalc.CulDeSacCurb 14-Nov-2012 TTSPcurb.executeCurb improved slightly 12-Nov-2012 Fixed bug in TTSPcurb.executeCurbFull 11-Nov-2012 Fixed bug in TTSPcurb.executeCurb 06-Nov-2012 Fixed bug in TDrivingDirections for routes starting and ending on the same link. 04-Nov-2012 Added TVoronoi.IncludeHoles 30-Oct-2012 Fixed non-default brush for TVoronoi output and MIF/TAB. ******************************************************* 16-Oct-2012: Version 4.08 16-Oct-2012 Fixed bug in TRouteCalc.TrafficAssignmentDyn 14-Oct-2012 TTSP made much faster (TTSPcurb shall be improved later on) 04-Oct-2012 Fixed bug related to complex turn restrictions. Some were ignored. 27-Sep-2012 Added TNetwork.AttributeSetSkipInSearchBit 07-Sep-2012 TTSP and TTSPcurb methods made multi-threaded and several new properties added. 04-Sep-2012 Delphi XE3 added as platform 17-Jul-2012 Fixed bug with TImport on large data files and .NET (crash) 12-Jul-2012 Fixed bug with external ID's (string-based), that became too short 11-Jul-2012 Added from-to-node topology as part of TNetwork.Export output in Pro version. 02-Jul-2012 Fixed bug in TCalc.Isopoly(Fast) when threads<>1 and NL=nil 23-Jun-2012 Fixed TSpatialSearch which was doing too big (and slow) searches for several functions. ******************************************************* 4-Jun-2012: Version 4.07 29-May-2012 Added method TNetwork.RoadNameTest 25-May-2012 Fixed bug in TSpatialSearch for lat/long searches. Gave incorrect results in some situations. 18-May-2012 Added TNetwork.Trace 09-Apr-2012 Added TNetwork.Random* 30-Mar-2012 TOptimzer.District function improved ******************************************************* 21-Mar-2012: Version 4.06 14-Mar-2012 New class TOptimizer. 2-Mar-2012 Added TRouteCalc.NearestNDyn 26-Feb-2012 Multi-threaded version of TRouteCalc.MatrixDynCurbIsochrone 23-Feb-2012 Multi-threaded versions of TCalc: IsoPoly, IsoPolyFast 22-Feb-2012 CSV/MIF/GML/KML file writing made much faster on win32/64 21-Feb-2012 Multi-threaded versions of TCalc: MatrixOut, MatrixDynOut Fixed bug in MatrixDynOut. 20-Feb-2012 New method: TNetwork.MaxThread New property: TCalc.Threads Multi-threaded versions of TCalc: IsoCostMulti, IsoLinkDriveTime, IsoLinkServiceArea, Matrix, Matrix2, MatrixDyn and MatrixDyn2. 13-Feb-2012 # TNetwork.Open has new parameter, spatialindex. New property: TImport.SkipSpatialIndex 12-Feb 2012 More progress events added: TCalc.Matrix, TCalc.Matrix2, TCalc.MatrixDyn, TCalc.MatrixDyn2 TCalc.IsoCostMulti 06-Feb 2012 Progress events added for many methods. All topology checks in particular. 24-Jan-2012 Applied loop link check in all TRoute calculation. This means loop links are no longer allowed. 20-Jan-2012 Fixed bug with large files in 64bit. ******************************************************* 05-Dec-2011: Version 4.05 03-Dec-2011 ArcGIS / Python sample added. 27-Nov-2011 Fixed issue with keeping direction of links in TNetwork.Join. 17-Nov-2011 Fixed bug with reading char fields from TAB (DAT) files. This means previously generated roadname and externid files are most likely incorrect, if based upon TAB files. 16-Nov-2011 Added method TTSP.ExecuteFull 14-Nov-2011 Added method TTSP.ExecuteCurbFull Allowed negative UTurncost values in TTSPcurb.Execute 08-Nov-2011 Added support for null dates, times and datetimes in TGISwriter 08-Nov-2011 Changed all out parameters to var (=by reference) to make use of RW Net 4 in (ArcGIS) Python easier: TNetwork.Join TSpatialSearch.NearestLocation TSpatialSearch.NearestNode TCalc.IsoCostMulti TCalc.NearestOpen TCalc.NearestOpenDyn TCalc.RouteFindDyn TCalc.RouteFindDynApproach TCalc.SubNet TRouteCalc.Bridges TRouteCalc.RouteDynEx TRouteCalc.RouteDynApproachEx TRouteCalc.SubNetEx TRouteCalc.TrafficAssignment TRouteCalc.TrafficAssignmentDyn 26-Oct-2011 Added support for Time and DateTime field types in TGISwriter 19-Oct-2011 Fixed bug with TAB output in .NET version and Bounds processing. 18-Oct-2011 Added functions TRouteCalc.TrafficAssignment, TRouteCalc.TrafficAssignmentDyn and TNetwork.ExportTrafficList. ******************************************************* 16-Oct-2011: Version 4.04 13-Oct-2011 Fixed bug with TVoronoi in vmIsoChrone mode 12-Oct-2011 TAB output added in .NET version (special win32 assembly). 12-Oct-2011 Fixed bug in TNetwork.TurnImportTxt in .NET version. 11-Oct-2011 Delphi XE2 (64-bit) has been added. 08-Oct-2011 Added TCalc.Matrix2 and TCalc.MatrixDyn2 23-Sep-2011 Added function TNetwork.LoopLinks 22-Sep-2011 Fixed bug with route ending at loop link in TRouteCalc.routedynapproachex 17-Sep-2011 Corrected bug with writing to gfArray. ******************************************************* 16-Sep-2011: Version 4.03 Delphi XE2 (32-bit) has been added. In the .NET version, network reports will be marked as 4.02 by mistake. 25-Aug-2011 Added TCalc.UnUsedLinks Out parameters for Upstream and Downstream changed to in/out parameters. 24-Aug-2011 Added class TDrivingDirections 29-Jul-2011 Changed TNetwork.ExportLinks slightly for oneway field output 20-Jul-2011 Fixed small issue in TVoronoi, which could cause overflow, when mode <> vmServiceArea. 05-Jul-2011 Added TNetwork.SwapOneWay 30-Jun-2011 Fixed bug with closing SHP files in .NET version. 29-Jun-2011 Added support for UTF-8 in TImportAttributes.ExecuteRoadname in DBF/DAT files. 26-Jun-2011 Added TNetwork.NoDriveThroughSet 24-Jun-2011 Added TNetwork.NoDriveThroughCheck ******************************************************* 08-Jun-2011: Version 4.02 19-May-2011 Added TVoronoi class 12-May-2011 TNetwork.ExportPolyGeneration changed to include filename 06-May-2011 Added TNetwork.ExportLinksFullSplit 04-May-2011 Fixed issue with RouteDyn in .NET version 18-Apr-2011 Fixed issue with RouteDyn in combination with limits and certain cul-de-sac setups 11-Mar-2011 Added TNetwork.Downstream/Upstream functions 02-Mar-2011 Added TNetwork.LoopLink function 24-Feb-2011 New option topology=3 in TNetwork.Join function 07-Feb-2011 Added function TRouteCalc.Bridges Fixed bug in TRouteCalc.SubNetEx ******************************************************* 24-Jan-2011: Version 4.01 12-Jan-2011 Corrected bug with TNetwork.AutoTurnProcess 07-Jan-2011 New method TCalc.IsoLinkDriveTimeDyn 05-Jan-2011 New method TCalc.IsoLinkDriveTime 17-Dec-2010 New methods TCalc.IsoLinkServiceArea and TNetwork.ExportNodeList 14-Dec-2010 New method TCalc.IsoCostMulti 10-Dec-2010 SHP file writing on win32 improved by a factor 8 using a buffer. .NET version already uses a buffer. 01-Dec-2010 New methods TNetwork.GetLimit and TNetwork.SetLimit 30-Nov-2010 New methods TCalc.IsoPoly(fast) and TNetwork.ExportPolyGeneration. 26-Nov-2010 Corrected bug in TImportAttributes.ExecuteRoadnameEvent Bug with writing logical true in TAB format fixed 24-Nov-2010 New class TTSPwindow 18-Nov-2010 TCalc.Subnet improved and bug fixed. 10-Nov-2010 Support for Compact Framework added. (not tested yet and not included) 03-Nov-2010 Extra release since initial compilation by mistake had been set to expire 31-10-2010. Nothing else updated. 30-Oct-2010 Updated to KML 2.2 instead of 2.0 ******************************************************* 28-Sep-2010: Version 4.00 # A complete rewrite compared to RW Net 2, so most functionality has to be changed.