Knowledge Base Search for: Recently modified first: KB10416 - Layer transparency and CachedPaint property. Transparency method is based on the context of previously drawn layers, and this can be known only when caching is enabled (CachedPaint property marked as true). Modified: July 27, 2015 KB10400 - Saving a project file with all opened layers and the layer attributes. This is possible by calling WriteConfig on each layer to copy files from parameters into configuration files. Modified: July 27, 2015 KB10898 - Make z zoom expressed as a percentage. The following offers an idea of how to set map scale as a percentage. double minScale = 1/1000000 ; // like 1: 1000 000 double maxScale =1/5000 ; // like 1 : 5000 double value ; // to be expressed in 0..100 (like percent) GIS.Scale = ( value/100 * ( maxScale-minScale) ) + minScale ; Modified: March 04, 2015 KB10905 - Opening and writing OGR (QGIS) compatible database on SQLite To open and write an OGR formatted database layer on sqlite, use a * .ttkls connector file like: [TatukGIS Layer] Storage=OGR Dialect=SQLITE Layer=ne_110m_admin_0_countries Path=natural_earth_vector.sqlite If you export a dataset to such file and the database does not exit, a database will be created. The file * .sqlite can also be simply dragged-and-dropped in the Editor window. In such situation, the first layer of the database will be opened. Support for this with ... Modified: September 18, 2014 KB10887 - Customize the Editor's default user interface. The TatukGIS Editor default user interface can be customized in the following ways: Add a menu item to the default menu bar. One click access to any script (such as a script providing a custom feature) can be added as a new menu item using menu Tools/Tools Manger . The newly added menu item will appear under the Tools menu. (For frequently used scripts, this can be more convenient than accessing the script from the list via the menu Scripts/Run/Open ). Add a new (custom) menu bar. The Z ... Modified: September 03, 2014 KB10904 - Create VC++ MFC interface headers for use with DK for ActiveX. We do not provide interfaces headers for VC++ because: there are too many :) our customers use a number of VC++ releases, even some quite old ones. Generating classes for all VC++ versions is impractical. Creation of interface headers on your own is very easy (the procedure is as in Visual Studio 2012): Open your MFC project In a Solution explorer, right-click on a project to select " Add / Class... " Select " MFC / MFC Class From TypeLib " Select TatukGIS XDK file, for e ... Modified: June 13, 2014 KB10902 - Import Excel spreadsheet data into a vector map layer. Open data from Excel spread sheet as a new points layer. Ensure that the first two columns of the spreadsheet contain the x and y coordinate values and that the header names for these columns are "X" and "Y" or reflect other supported naming: "Lon", "Longitude", "Easting", "Lat","Latitude", and "Northing". Optional 3D value names are: "Z", "Elevation", and "Level". In Excel, save data as a CSV (comma separated value) file. The resulting file will have the file name ending *.csv. In the ... Modified: June 04, 2014 KB10901 - How to change the progress indicator in DK.ASPNET. The DK.ASPNET progress indicator (the hourglass) can be easily modified by adding JavaScript code to the end of the .aspx page. </body> <script type="text/javascript"> function getHourglass(id){ return "<td valign=' middle ' align=' center '><img src=' hourglass.gif '/></td>"; } </script> </html> Only the yellow highlighted text can be safely modified. In particular, persisting of img tag is crucial. Modified: May 20, 2014 KB10899 - Creating WCF server with DK.ASPNET Upon creating a WCF server using DK.ASPNET an error can occure; System.Exception: NOT ASP.NET Solution is very simple. Just place in a web.config a line: <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> Modified: May 19, 2014 KB10897 - TatukGIS software version number logic. Version numbers should be read as major.minor.release.build . Using the version number 10.12.1.12542 as an example: "10" is the major version number A new number here indicates a major new version (new generation) of the software. "12" is the minor version number This number is reset to " 0" upon each new major version release. Each incremental increase in this number indicates the version introduced some new features. "1" is the release number This number is reset to "0" upo ... Modified: September 27, 2013 KB10896 - TatukGIS TRN File. TRN is a TatukGIS specific file generated by a layer rectification job (such as using the TatukGIS Editor product) to store information relating to the transformation of a layer performed by the rectification process, including the rotation, scaling, any skewing or warping, and GCP information. The TRN file works together with a PRJ file, which is also generated by a layer rectification job to hold the coordinate system information for the rectified output. Because a layer rectification job does ... Modified: September 11, 2013 KB10670 - The DK.NET runs slow in Visual Studio development environment, such as during debugging. An MDA related deficiency in the Microsoft Visual Studio (2005 and later versions) causes any API intensive application to run slow within the development environment. The speed of the DK.NET + Visual Studio compiled application running outside of the Visual Studio development environment is normal. Therefore, perform any DK.NET performance testing outside of the Visual Studio development environment. For more on this issue, refer to the information at the following links: http://blogs.msdn.com/ ... Modified: August 19, 2013 KB10327 - Explanation of In-Memory and On-Disk vector layers. To manipulate an object, you first must access it from a layer. With the TatukGIS DK, a vector layer can be either in-memory or on-disk. In-Memory layer This means that the whole layer (all shapes) is kept in the RAM. In this situation, every shape has its own private address which is persistent during the session. On-Disk layer This means that the whole layer (all shapes) is kept on the disk. In this situation, the shapes are active only for a while. The shape is active only within the ... Modified: August 02, 2013 KB10871 - Design philosophy of the TatukGIS Editor product. TatukGIS believes that it is not possible to pack into the default user interface all features that all users want, implemented in the way each user likes, without the interface becoming cluttered and difficult to learn and use for all. A difficult to learn product leads to costly start up and training costs. Editor features, therefore, are classified into two categories: essential & specialized. Essential features are the most used and valued by the most users, and which can be implemented in man ... Modified: July 18, 2013 KB10233 - Label positioning technique for increased visibility. You can assign, for example (Delphi code): shp.LabelPosition := [glpUpLeft, glpUpRight]; to present label in the Upper-Left position, or if such position is already used, present label in the Upper-Right position. Modified: March 28, 2013 KB10498 - Enforce non-duplication of street name labels. Repeated presentation of street name labels can be prevented by disabling the Label.Duplicates property. This ensures that the name of each street is presented not more than once in any map view, i.e., only once for the entire street instead of once for each vector line representing a segment of the street between intersection nodes. There are two options: Use Label.Duplicates=FALSE within the configuration file. Use Layer.Params.Labels.Duplicates = False in your source code. Another op ... Modified: March 28, 2013 KB10893 - Marker not drawn on OnPaintShape event. Markers are drawn using the SmartSize feature to avoid drawing shapes that are very close to each other. This implementation improves performance when drawing massive point layers, such as Lidar files. A workaround is to temporarily set (upon drawing): _shape.Params.Marker.SmartSize := 0 ; Or just set SmartSize to 0 for the layer. Modified: March 08, 2013 KB10748 - Opening a .TTKLS file constructed on MDB (MSJET) is very slow and uses a lot of memory. An MSJET database layer can be slow and consume a lot of memory if there is a lot of records. For better performance in such case, add to your .TTKLS file ENGINEOPTIONS=8, like in this example: [TatukGIS Layer] Storage=Native LAYER=lwaters DIALECT=MSJET ADO=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=gistest.mdb ENGINEOPTIONS=8 This will force server side cursor instead of client side cursor. Modified: March 06, 2013 KB10892 - DK.NET for a virtual machine application accessed via a remote desktop connection. Because the DK.NET edition is pure .NET, it can be used to develop applications for virtual machine/terminal session configurations. The DK.NET renders using GDI+, which means that it is supported on a terminal session. The 3D rendering code is based on DirectX, which should also be supported on terminal environments. There is, of course, some penalty on a terminal session due to the rendering being done on the server side. A way to test the performance is to try the TatukGIS Editor (or even free Vie ... Modified: January 29, 2013 KB10377 - How to edit attribute by selecting existing values from a database. There is no direct way to do this. If you are using SQL database, you can query for DISTINCT field values. If you are using a file based layer, you can use a string list which has the distinct values. lst_name := TStringList.Create ; lst_name.Duplicates := dupIgnore ; lst_name.CaseSensitive := False ; // do this only once ll.MoveFirst( GisWholeWorld, '' ) while not ll.Eof do begin try lst_name.Add( ll.Shape.GetField( 'NAME' ) ) ; except // nothing - just duplicated value e ... Modified: January 22, 2013 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 Tech Support Q&A Knowledge Base Common Questions