Documentation | Samples
This is a list of source code samples available for Developer Kernel 11 editions for all supported platforms.
A sample can be listed in more than one category.
Samples are distribute with DK setup files and are available on Github:
| AIModelRunner | How to run Python-driven AI models on TatukGIS Viewer snapshots and raster layers. |
| RotatedRect | How to draw an animated visualisation of overlapping rotated rectangles on the viewer canvas. |
| HelloDK | How to create a very basic DK11 application. See step-by-step tutorial. |
| Hello.NetCore | How to create WinForms application with .NET Core. |
| AddLayer | How to add a layer to the viewer and do few basic operations like zoom in/out or drag a map. |
| Zooming | How to perform zooming using mouse movement and mouse wheel. Also how to change a mode of mouse operation: zoom vs drag. |
| Locate | How to convert mouse coordinates to map coordinates and use them to locate a shape. |
| CGMViewer | How to create a simple symbol viewer, not only for CGM anymore. |
| Locate | How to convert mouse coordinates to map coordinates and use them to locate a shape. |
| Projections | How to show a map in different coordinate systems (projections). Both vector and pixel (raster) layers are supported. |
| Renderer | How to render a map according to the attribute field using sections. Use rendering from the project file. |
| SimpleEdit | How to create a basic editor: edit existing or create a new shape and edit its vertices. |
| TwoWindows | How to show maps in two windows and synchronize visible extent between them. |
| WKT | How to use WKT (Well Known Text) geometry. Edits WKT text and shows the result. |
| Legend | How to add a legend control to an application. |
| Viewer | How to create a quite complete map viewer with a legend, scale, north arrow (compass rose) and printing capabilities. |
| ViewerLite | How to create a very simple viewer. This sample is also available for FMX.Mobile and can be compiled for iOS and Android apps. |
| Rotation | How to show map rotated around selected point. |
| MiniMap | How to build a small map overview window. |
| ShowHint | How to show map hints based on fields from a vector layer. |
| Enumerators | How to use “for each” like loops to find all shapes matching DE-9IM topological relationship. |
| Zooming | How to perform zooming using mouse movement and mouse wheel. Also how to change a mode of mouse operation: zoom vs drag. |
| AddLayer | How to add a layer to the viewer and do few basic operations like zoom in/out or drag a map. |
| BitmapFill | How to draw a vector layer, which every polygon is filled with a different bitmap upon drawing time using PaintShapeEvent. |
| CGMViewer | How to create a simple symbol viewer, not only for CGM anymore. |
| DragLabel | How to implement labels that can be dragged by mouse. |
| InMemory | How to create in-memory vector layers. |
| Pixel | How to open pixel layer and apply operations like colorize, inversion, histogram enhancement defined in projects files. |
| SimpleEdit | How to create a basic editor: edit existing or create a new shape and edit its vertices. |
| PixelLocate | How to retrieve image and grid pixel value based on a mouse position. |
| Encode | How to implement a very simple content protection of an SHP Layer. |
| CuttingPolygon | How to define a visible area of a pixel layer using a polygon shape. |
| DirectWrite | How to merge vector layers and how to do this in the most efficient way using direct write. |
| DemOperations | How to perform DEM (Digital Elevation Model) analysis operation like slope, hill shade, flow directions, curvature and more. |
| PixelOperations | How to use PixelOperationEvent to dynamically alter pixels of pixel layer before displaying them. |
| Transform | How to use transformation to rectify a layer. |
| CustomPaint | How to do custom drawings in a platform-independent way and how to assign renderer other than default and access its low-level API (like DC, Graphics). |
| PixelEdit | How to modify pixels covered by a polygon and calculate terrain profile. |
| Interpolation | How to analyze a set of points with measurement data using Kriging, IDW, Spline, and Heatmap. |
| IsochroneMap | How to create a Isochrone Map (road isodistances). |
| Viewshed | How to use the Viewshed functionality. |
| LayerStatistics | How to produce statistics on layer. |
| RasterAlgebra | How to perform raster algebra operations. |
| GridToVector | How to convert grid to vector. |
| InMemory | How to create in-memory vector layers. |
| Locate | How to convert mouse coordinates to map coordinates and use them to locate a shape. |
| SimpleEdit | How to create a basic editor: edit existing or create a new shape and edit its vertices. |
| WKT | How to use WKT (Well Known Text) geometry. Edits WKT text and shows the result. |
| MultiSelect | How to implement selection of several shapes at once. |
| TrackingTest | How to efficiently implement tracking layer - to update locations of dozens of shapes like vehicles. |
| Relate | How to compute the geometrical relationship between two shapes. |
| SelectByShape | How to select shapes from a layer by user-defined shape (circle and rectangle in this samples). |
| Enumerators | How to use “for each” like loops to find all shapes matching DE-9IM topological relationship. |
| Grid | How to open grid layer and colorize it using a configuration file or programmatically. |
| DragLabel | How to implement labels that can be dragged by mouse. |
| BitmapFill | How to draw a vector layer, which every polygon is filled with a different bitmap upon drawing time using PaintShapeEvent. |
| FieldRules | How to use field rules to use predefined field values, field value verification, or value aliases. |
| CuttingPolygon | How to define a visible area of a pixel layer using a polygon shape. |
| ShapeOperations | How to move, rotate and scale any given shape. |
| CustomPaint | How to do custom drawings in a platform-independent way and how to assign renderer other than default and access its low-level API (like DC, Graphics). |
| PixelEdit | How to modify pixels covered by a polygon and calculate terrain profile. |
| HelloDK | How to create a very basic DK11 application. See step-by-step tutorial. |
| Topology | How to calculate union, difference and symmetrical difference of two shapes. |
| Buffers1 | How to create a buffer around a shape and what happens to holes when a buffer is positive or negative. |
| Buffers2 | How to create a buffer around a shape and use it to select other shapes. |
| SplitByArc | How to split polygon using polyline shape. |
| Relate | How to compute the geometrical relationship between two shapes. |
| GPSSimple | How to connect to a GPS device and display basic parameters. |
| GPSTracker | How to connect to a GPS device and record position on a a map. |
| Snap | How to snap a vehicle to a road if the known vehicle location is not very precise. Uses a simulated GPS-like position. |
| GeoCoding | How to perform simple geocoding and routing. |
| TigerGeocoding | How to perform advanced geocoding and reverse-geocoding using address parsing standardization. |
| OnlineServices | Shows how to utilize the TatukGIS online services: forward/reverse geocoding routing, and isochrone. |
| BitmapFill | How to draw a vector layer, which every polygon is filled with a different bitmap upon drawing time using PaintShapeEvent. |
| CustomPaint | How to do custom drawings in a platform-independent way and how to assign renderer other than default and access its low-level API (like DC, Graphics). |
| DragLabel | How to implement labels that can be dragged by mouse. |
| DynamicAggregation | How to perform dynamic clustering and binning. |
| PaintLabel | How to use PaintShapeLabelEvent to dynamically modify labeling. |
| Statistic | How to use PaintShapeEvent to dynamically create statistical analysis. |
| JoinAndChart | How to join a vector layer to an external database and how to provide charts based on values from a join. |
| Classification | How to provide classification feature. |
| RotatedRect | How to draw an animated visualisation of overlapping rotated rectangles on the viewer canvas. |
| BitmapFill | How to draw a vector layer, which every polygon is filled with a different bitmap upon drawing time using PaintShapeEvent. |
| DynamicAggregation | How to perform dynamic clustering and binning. |
| Hydrology | How to use hydrology toolset. |
| Interpolation | How to analyze a set of points with measurement data using Kriging, IDW, Spline, and Heatmap. |
| IsochroneMap | How to create a Isochrone Map (road isodistances). |
| JoinAndChart | How to join a vector layer to an external database and how to provide charts based on values from a join. |
| JoinAndRender | How to join a vector layer to an external database and how to render map based on values from a join. |
| LayerStatistics | How to produce statistics on layer. |
| PixelEdit | How to modify pixels covered by a polygon and calculate terrain profile. |
| Pipeline | How to utilize the pipeline functionality. |
| PixelFilters | How to perform filter operation. |
| Statistic | How to use PaintShapeEvent to dynamically create statistical analysis. |
| Triangulation | How to perform Delaunay triangulation and how to generate a Voronoi diagram. |
| Viewshed | How to use the Viewshed functionality. |
| projectconvert | How to convert project file formats from .ttkgp (an old format) to .ttkproject (a new format). |
| Reproject | How to export vector layer changing its coordinate systems (projections). |
| any2any | How to create a command-line utility to convert vector layer to another format. |
| Project2Sqlite | How a create a command-line utility to convert whole project (including layers) into an SQLite database. |
| UDFLayerVector | How to add support to a new layer vector file format using User Defined Layer. |
| GridToVector | How to convert grid to vector. |
| PrintPreview | How to create a print preview. |
| TemplatePrint | How to print a map using print templates. |
| Viewer | How to create a quite complete map viewer with a legend, scale, north arrow (compass rose) and printing capabilities. |
| SimpleEdit | How to create a basic editor: edit existing or create a new shape and edit its vertices. |
| Languages | How to add multi-language support. Demonstrates full Unicode support. |
| PrintPreview | How to create a print preview. |
| Legend | How to add a legend control to an application. |
| DataSet | How to use TGIS_DataSet component to connect layer vector to data aware components. |
| Hierarchy | How to create and manage a group of layers in a legend control. |
| MiniMap | How to build a small map overview window. |
| DragLabel | How to implement labels that can be dragged by mouse. |
| PaintLabel | How to use PaintShapeLabelEvent to dynamically modify labeling. |
| TrackingTest | How to efficiently implement tracking layer - to update locations of dozens of shapes like vehicles. |
| InMemory | How to create in-memory vector layers. |
| SimpleEdit | How to create a basic editor: edit existing or create a new shape and edit its vertices. |
| PaintEvents | How to use events raised upon Paint procedure. |
| SimpleEdit | How to create a basic editor: edit existing or create a new shape and edit its vertices. |
| WKT | How to use WKT (Well Known Text) geometry. Edits WKT text and shows the result. |
| Fields | How to access fields (properties) of a layer, and how to use field values in map rendering. |
| Grid | How to open grid layer and colorize it using a configuration file or programmatically. |
| ExportToImage | How to export pixel layer to another format. |
| Reproject | How to export vector layer changing its coordinate systems (projections). |
| any2any | How to create a command-line utility to convert vector layer to another format. |
| Project2Sqlite | How a create a command-line utility to convert whole project (including layers) into an SQLite database. |
| SQLLayer | How to open layer which resides in SQL database. |
| SQLWizard | How to create a wizard for SQL connection: to select a database, a layer, and a layer format. |
| SQLLayerAdvanced | How to open export layer to a new SQL Layer and get familiar with .ttkls connector files. |
| CuttingPolygon | How to define a visible area of a pixel layer using a polygon shape. |
| SimpleEdit | How to create a basic editor: edit existing or create a new shape and edit its vertices. |
| ClientServer | How to create a basic client-server solution. |
| ViewerLite | How to create a very simple viewer. This sample is also available for FMX.Mobile and can be compiled for iOS and Android apps. |
| Measure | How to provide measurement; draw a measurement line and a measurement polygon. |
| HelloDK | How to create a very basic DK11 application. See step-by-step tutorial. |
| View3D | How to create simple 3D viewer. |
| WFSManager | How to query server map server for available WFS layers and select layer to be added to a map. |
| WMTSManager | How to query server map server for available WMTS layers and select layer to be added to a map. |
| SQLWizard | How to create a wizard for SQL connection: to select a database, a layer, and a layer format. |
| AIModelRunner | How to run Python-driven AI models on TatukGIS Viewer snapshots and raster layers. |