Knowledge Base Search for: Recently modified first: KB10258 - ADO join check list. Check list for proper ADO joining: Joining a shape file to an external database requires a one-to-one relation. Identifiers in a coverage must be unique, integer, and never empty. It is recommended that a coverage be sorted by an identifier (ADOPrimary field) and the same order applied in the external database (ADOSecondary field). This speeds up a join operation dramatically. If a query is based on an identifier (ADOSecondary) in the external database that is not unique, only the first matchin ... Modified: December 29, 2015 KB10319 - Labeling with a mouse click with the DK. This can be done just adding a point to the layer with an attached Label.Value . Modified: December 29, 2015 KB10475 - Access Font object in XDK Visual C++ (VC++) application. Font object is based on a standard IFont Interface, so: IFontPtr fnt ; fnt = Lables->Font ; fnt->put_Bold( TRUE ) ; Modified: December 29, 2015 KB10830 - TatukGIS PixelStore format. The PixelStore format is a TatukGIS specific raster storage system designed to efficiently and affordably handle huge image and grid layers, which can be recognized by its *.TTKPS file name extension. A PixelStore image layer is one virtual tiled image, with the tiles organized into a SQL database hierarchy. Images stored to the PixelStore format are divided into 512x512 pixel tiles, with each tile compressed independently. Each map view is derived from the level of the hierarchy most closely matching ... Modified: December 29, 2015 KB10773 - Prevent changes to layer order in the legend control. This can be done by overriding the TGIS_ControlLegend.OrderChange event. For example, in Delphi: procedure TForm1.LegendOrderChange(Sender: TObject); begin if MyLayer.ZOrder <> 0 then begin MyLayer.Zorder := 0 ; Legend.Update ; end ; end; Modified: December 29, 2015 KB10284 - Exceptions during debugging a DK application. Many exceptions are not indicative of anything being wrong, so can be ignored and debugging safely continued. This is because the DK uses both the system and its own exceptions to track situations that are not necessarily abnormal. For example, to check if a provided string is a float number, the DK tries to convert the string to a float, which can raise exception. If you dislike this, a specific exception class can be turned off in the Tool/Debugger Options dialog box. Modified: December 29, 2015 KB10317 - Using functions from IXGIS_Utils in XDK We suggest creating a public/global object named Utils. For VB.NET, it can be placed as a public member of the form/class for example as: Dim GisUtils as a new XGIS_Utils. For VB, it can be placed as a global variable, for example as: Dim GisUtils as a new XGIS_Utils. Then any member of IXGIS_Utils can be used in the form of GisUtils.Line2Point, etc. Modified: December 29, 2015 KB10285 - Calling a DK function during a long-run operation, such as printing. This is highly not recommended. To prohibit this from happening, we suggest using the OnBusy event to show and update a progress bar. We recommend displaying such progress bar in a separated dialog box, displayed as modal. Modified: December 29, 2015 KB10186 - Native internal support for vector data formats. TatukGIS products use no unique internal disk format. Each supported vector file type is handled natively on disk. So opening a file of any supported format is just a matter of opening the file (using GIS.Open). The advantage of supporting each file format natively is the software can start files more quickly and easily than if the file data had to be first converted (imported) into a TatukGIS specific format. When a TAB, MIF, DXF, or DGN file is opened, the DK converts the file to memory-representat ... Modified: December 23, 2015 KB10208 - Apply transparency factor to a layer. The transparency setting is a layer level property. Just use the Layer.Transparent property. For example, to make a layer 50% transparent, set: Layer.Trasparent=50. Modified: December 23, 2015 KB10253 - Support for polygon clipping. TatukGIS products (DK and Editor) support polygon clipping (cutting out vector data, retaining all attribute information, from a subset area of a map layer, with options to cut, retain, or exclude any shape geometry laying on the boarder of the clipped area. The Editor readily supports this within the layer export functionality. Refer to settings in the Layer Export dialog found under menu Layer / Export . The topological operations functionality in the DK provides for clipping (cutting) a subset ... Modified: December 23, 2015 KB10237 - Animation layer to hold thousands of tracked objects updated each second. Use the DK Move method to move an object to a new location in a temporary InMemory layer, flicker-free, for real-time tracking of moving objects. Creation of thousand points in less than a second is not a problem. Refer to the DK InMemory source code sample in DK sample set #1 for guidance on use of in-memory layers. Refer to the GPSTracker source code sample in DK sample set #5 and to KB10627 for guidance on GPS support. Modified: December 22, 2015 KB10239 - Eliminate short breaks between CGM/SVG symbols forming a line. Check the following: Make certain LineSymbolGap=0. Test CGM symbol in our sample CGM viewer (refer to DK sample set #1) to confirm it does not have an embedded border. The symbol used to create the line should start at (0,0), which will be a rotation point. During rendering the line formed with a repetitive symbol is generalized so that any sub-line will match the symbol width. To smoothen such line generalization, try composing the line with narrower symbols or applying a smaller LineWidth. Modified: December 22, 2015 KB10259 - Programmatically render layer using field values in a joined external database. (code exa... For example: sqlDC := CreateOleObject('ADODB.Connection'); sqlRS := CreateOleObject('ADODB.Recordset'); sqlDC.Open('FILEDSN=GMINY.DSN'); sqlRS.Open('select id, agri FROM QTocounty ORDER BY id', sqlDC); // order by ID is important!!!! // ll is your layer with a unique 'zone' field ll.ADOJoin := sqlRS; ll.ADOJoinPrimary := 'zone'; ll.ADOJoinForeign := 'id'; ll.RenderExpression := 'age'; // if our external database has such field. ll.RenderMinVal := 0; ll.RenderMaxVal ... Modified: December 22, 2015 KB10298 - Using the DK Scale property. Use of the Scale property requires defining a Coordinate System for the project and a Coordinate System for the subject layer. Then, for example: GIS.Scale := 1; // means 1 meter on the screen is one meter on the map GIS.Scale := 1/1000000; //means map in scale of 1:1000000 Modified: December 22, 2015 KB10308 - Traveling Salesman routing problem involving multiple waypoints. The Traveling Salesman Problem is a complex multiple point routing problem requiring a specialized, and typically expensive, algorithm to resolve. This is outside the scope of the routing functionality supported in TatukGIS products, though a DK customer can implement their own multi-point routing algorithm into a DK developed application. Other than the algorithm itself, the DK supports the other elements that are required to address the Traveling Salesman multi-point routing problem. The DK supporte ... Modified: December 22, 2015 KB10309 - Dynamically build layer from X/Y points stored in a database. This involves constructing an in-memory layer to which the points are added dynamically from reading the database. Refer to the DK InMemory source code sample (located in DK sample set #1) for guidance on how to dynamically create shapes and to the guidance on InMemory layers provided in KB10327. Modified: December 22, 2015 KB10313 - DK.ActiveX viewer control property HWND. The XDK viewer control property HWND is used, for example: Dim myhdc As System.IntPtr Dim newGraphics As Graphics Dim pen As New System.Drawing.Pen(System.Drawing.Color.Red, 1) myhdc = IntPtr.op_Explicit(GIS.HWND()) newGraphics = Graphics.FromHdc(myhdc) try new Graphics.DrawEllipse(pen, 0, 0, 100, 100) pen.Dispose() Catch eIdraw As System.Exception MsgBox("There was a problem drawing the image." & vbNewLine & eIdraw.Message, MsgBoxStyle.OKOnly, "Application ... Modified: December 21, 2015 KB10306 - Generate jpeg image files from a given viewport. Use TGIS_ViewerWnd.ExportToImage. Modified: December 21, 2015 KB10299 - Using CorelDraw to create CGM symbols for use with TatukGIS software. Prepare symbol as usual CorelDraw and export to CGM in format MIL-D-28003 (CALS) or MIL-D-28003A (CALS). When using CorelDraw to create CGM symbols for use in TatukGIS products, we suggest using only basic shapes because the TatukGIS CGM implementation supports only RECTANGLE, RECT, POLYGON, LINE, CIRCLE, ARCCTR, ELLIPSE and ELLIPARC. If unsure, just export the CGM to text format, which will provide the CGM in clear text format. This will permits viewing, and even editing, the symbol using a normal te ... Modified: December 21, 2015 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 Q&A Frequently Asked Questions Knowledge Base Contact Support