Knowledge Base Search for: Recently modified first: 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 KB10257 - Attribute storage within a shape file versus in a joined database. Any vector attribute information that will influence the appearance of the shapes (colors, fills, line widths, etc.) upon rendering is better recorded in the shape file itself. This will result in much faster rendering each time the map view is refreshed. If, for example, roads or streets of different classes are to to be rendered using different colors or widths, it is better to enter the road/class information as a shape file attribute. Other information can be stored to the external database. Modified: December 21, 2015 KB10305 - Assign unique icons/symbols to represent different types of points. Prepare an ini file like this: [TatukGIS Layer 1] Query=TYPE='1' [TatukGIS Layer 2] Query=TYPE='2' Marker.Symbol=2.bmp [TatukGIS Layer 3] Query=TYPE='3' Marker.Symbol=3.bmp Still easier might be to use the TatukGIS free Viewer (features of its visual layer property control) to set up and save this information to a TatukGIS project file. Modified: December 21, 2015 KB10222 - Perform a selection regardless of layer containing the object. To locate (perform a selection of) a shape held in any layer located near to the selection point, use TGIS_Viewer.Locate . This offer a quick and easy means of selecting a shape without switching between layers or concern for which layer holds the shape. ​Otherwise use TGIS_LayerVector.Locate to operate on a selected layer. Modified: December 18, 2015 KB10228 - Remove yellow shadow from label presentation. The yellow "shadow" on labels is by design. The shadow can be removed by attaching: LabelColor = LabelFont.Color; Modified: December 18, 2015 KB10203 - Corrupted SHP file generated by another software program does not open in TatukGIS. This problem typically happens when another software is used to convert vector data from some other vector format into a SHP file. One potential problem is if the record fields (which hold the vector attributes) contain a field name more than 10 characters in length. The DBF standard restricts record field names to a maximum of 10 characters, and the DK strictly adheres to the DBF specification. While it is possible some other software programs open the file despite the corruption, best is to clean up ... Modified: December 18, 2015 KB10154 - Procedure to marginally zoom in/out on the map. Drag the mouse cursor in the right-down direction to zoom in for a closer view. Drag the cursor in the left-up direction to zoom out for a wider area view. When zooming in or out, the magnitude of the change is proportional to the size of the temporary rectangle drawn by the dragging operation. Alternative methods for zooming in/out are to use the mouse wheel or the "extended zoom" feature. Modified: December 18, 2015 KB10230 - Set label background to transparent. To eliminate label background: Layer.Params.Labels.Pattern := bsClear; Layer.Params.Labels.OutlineWidth := 0; To eliminate the color shadow around the label text (the halo effect), use: Layer.Params.Labels.Font.Color = Layer.Params.Labels.Color or just set the same color for both items, like this: Layer.Params.Labels.Font.Color = GisSafeColor( mycolor ) Layer.Params.Labels.Color = GisSafeColor( mycolor ) GisSafeColor() will guarantee that color will be properly mapped, i.e., potential tr ... Modified: December 18, 2015 KB10215 - Save or read a shape from the stream with the DK. A shape has two properties, Shape.Geometry and Shape.GeometrySize. The shape can be saved to the stream by: myStream.Write(Shape.Shape.GeometrySize, Sizeof(Shape.Shape.GeometrySize)); myStream.Write(Shape.Geometry, Shape.GeometrySize); A shape can be read from the stream by: myStream.Read(size, Sizeof(Shape.Shape.GeometrySize)); Getmem(ptr, size); myStream.Write(Shape.Geometry, size); shp := TGIS_ShapeArc.Create(nil, ptr, false, uid, myLayer); FreeMem(ptr); Of course you can ... Modified: December 18, 2015 KB10216 - Difference between Layer.Visible and Layer.Active properties. A visible layer can be changed inside a project/configuration file and is tested during the Paint procedure. An active layer property is something more important, as it overrides any configuration file settings. For instance, assigning layer.Active := False would cause the layer processing to turn off at a much earlier stage, which could mean speed improvement in situations involving management of a lot of hidden layers. Modified: December 18, 2015 KB10210 - Set a visible extent based on full extent of a specific layer. To make visible extent the same as the full extent of an individual layer: GIS.VisibleExtent := layer.ProjectedExtent ; Modified: December 18, 2015 KB10240 - Explanation of LabelPosition=FLOW parameter. The parameter FLOW can be applied for ARC and POLYGONS (but not for vector points) and it means the label position can FLOW to a better position when dragging the map. For example, the name of a lake polygon can automatically reposition to remain fully visible when only a portion of the lake remains visible in the map view. (So the label placement does not simply reflect the polygon centroid position). The allowed label position can be specified by mixing several parameters, such as: LabelPosition ... Modified: December 18, 2015 KB10385 - Present two labels for the same point. The normal rule is just one label for one point. So consider these options: Use multi-field labels by embedding HTML code like this: <b>{FIRSTNAME}</b><hr>{LASTNAME} to present two or more items of information (or other complex presentation) in a single label. If two labels are really required for the same object, prepare a second layer with a point in exactly the same location and make the 2nd label for this point, but with a different label position. Modified: December 17, 2015 KB10311 - Force follow-the-road street label presentation regardless of zoom or street segment length. For a street label to appear at any given zoom level, there must be sufficient line length between intersection nodes for the label to fit. One solution for better label presentation is create a layer for roads and streets in which the line vectors are not cut at crossroads and street intersections, i.e., the layer is without line intersection nodes. This means each road in such layer is represented by one long line vector, which allows ample space for label placement. Modified: December 17, 2015 KB10774 - Prioritize visualization of map geometry over labels contained in lower layers. The default behavior is label presentation is prioritized over (appears on top of) geometric features, regardless of the z-order number of the layer(s) containing the labels. This is the behavior most customers prefer in most situations. The default behavior may be modified, to prioritize geometry in the top-most layer(s) over labels in lower layers, by changing the project level setting or by applying the code (LabelsOnTop=FALSE). Modified: December 17, 2015 KB10234 - Make label appear as a callout or speech bubble. Handlers can be assigned to labels, to present the label to look like a callout or speech bubble relative to a marker location, like this: layer.OnPaintShapeLabel := mypaintlabel; or/and layer.OnLabelPos := mylabelpos; Modified: December 17, 2015 KB10391 - Tips on efficiently organizing map data in a TatukGIS project. For best performance, please consider the following guidelines: In situations involving huge vector layers, extract the major roads, or any other major features, to a separate layer(s). This offers the possibility, by turning layers on/off, of presenting large area general map views only from the general layer, without the overhead of parsing the entire detailed data set from original layer. Ensure Query definitions have no syntax errors. Use braces in the Query definitions. For example, instead of ... Modified: December 17, 2015 KB10677 - Change the fill color of a specific polygon. TatukGIS by default does not store colors, etc. with the shape geometry. Instead, we prefer an object model in which important information about objects is stored as attributes and the program renders colors based on attribute values. Therefore, the best way to store object color is create a special attribute field to store some shape designator like an object category and render based on this. It is also possible to store the numeric value (RGB) of the color in an attribute field and just select th ... Modified: December 10, 2015 KB10279 - R-Tree spatial index file. R-tree is a spatial index file used in TatukGIS products to dramatically increase map rendering speed with very large vector layers (such as hundreds of megabytes or more) at relatively closer zoom levels. Upon opening a layer containing vector data with binary representation, such as SHP, TAB, and DGN data, the TatukGIS software tries (if the R-tree feature is enabled) to create an R-Tree (*.rtree) file for future use. In an event R-tree file creation is not possible, such as a read-only situation, th ... Modified: December 10, 2015 KB10782 - Geographic filters (circle, polygon...) to define a search area or search based on geomet... Use the DK layer.Loop enumerator with proper parameters consistent with the DE-9IM mathematical module for geometric relations. The DE-9IM spatial querying features work with both shape layers and SQL database layers, including spatial databases . When used with spatial database layers (Oracle Spatial, PostGIS, ESRI ArcSDE, MSSQL Spatial Server, IBM DB2 Spatial Extender, Geomedia SQQL Server Spatial, etc.), which can perform spatial querying on the server side, the TatukGIS product passes spatial ... Modified: December 10, 2015 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 Tech Support Q&A Knowledge Base Common Questions