TatukGIS Developer Kernel

TatukGIS Developer Kernel
TatukGIS Developer Kernel | 134 Mb

TatukGIS Developer Kernel The TatukGIS Developer Kernel (DK) is a comprehensive GIS component (SDK) for custom development of stand-alone, embedded, client-server, and mobile applications. Editions are available for multiple development platforms:

Embarcadero Delphi/C++Builder VCL
Microsoft .NET for WinForms and WPF
Microsoft ActiveX/OCX
Microsoft .NET Compact Framework (for mobile solutions)

Each DK edition reflects the same or very similar framework, object API, and technology. The source code of a .NET WinForms application, for example, is exactly the same as a .NET Compact Framework application. This means porting a GIS application between development environments, e.g., Visual Basic, VB.NET, Visual C++, C#, .NET, Compact Framework, Delphi, C++Builder, etc., is possible without great difficulty. (See comparative code example.)

The DK is known for performance, powerful yet logical API, compliance with many open standards, and reasonable licensing. Features include support for most data formats, most database engines and SQL layer types, networking/routing, geocoding, 3D visualization, state-of-the-art support for coordinate systems...

For enterprise-level solutions, support is available for advanced spatial databases including Oracle Spatial & Oracle GeoRaster, Microsoft SQL 2008 (and up), ESRI ArcSDE, IBM DB2 Spatial Extender, IBM Informix Spatial DataBlade, Sybase SQL Anywhere Spatial, Geomedia, PostGIS...

Delphi - DK for VCL code

procedure TForm1.GISMouseMove(Sender: TObject; Shift: TShiftState; Y: Integer);
ptg : TGIS_Point ;
shp : TGIS_Shape ;
if Gis.IeEmpty then exit ;

ptg := GIS.ScreenToMap( Point(x, y ) );
shp := TGIS_Shape( GIS.Locate( ptg, 5/GIS.Zoom ) ) ;
if shp = nil then
StatusBar.SimpleText := ''
StatusBar.SimpleText := shp.GetField('name');

C++ Builder - DK for VCL code

void __fastcall TForm1::GISMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
TGIS_Point ptg ;
TGIS_Shape *shp ;

if ( GIS->IsEmpty ) return;

ptg = GIS->ScreenToMap( Point(X, Y) );
shp = (TGIS_Shape *)( GIS->Locate( ptg, 5/GIS->Zoom, TRUE ) ) ;
if (shp == NULL)
StatusBar->SimpleText = "" ;
StatusBar->SimpleText = shp->GetField("name") ;

VisualBasic 6 - DK for ActiveX code

Private Sub GIS_OnMouseMove(translated As Boolean, ByVal shift As TatukGIS_DK.X_ShiftState,
ByVal X As Long, ByVal Y As Long)
Dim ptg As XGIS_Point
Dim shp As XGIS_Shape

If GIS.IeEmpty Then Exit Sub

Set ptg = GIS.ScreenToMap(GisUtils.Point(X, Y))
Set shp = GIS.Locate(ptg, 5 / GIS.Zoom)
If shp Is Nothing Then
StatusBar.SimpleText = ""
StatusBar.SimpleText = shp.GetField("name")
End If
End Sub

Visual C++ - DK for ActiveX MFC code

void CLocateDlg::OnOnMouseMove(BOOL FAR* translated, long button,
long shift, long X, long Y)
IXGIS_Point ptg ;
IXGIS_Shape shp ;

if ( m_gis.get_IsEmpty() ) return ;

ptg = m_gis.ScreenToMap( m_utils.Point( X, Y ) ) ;

shp = m_gis.Locate( ptg, 5. / m_gis.get_Zoom() ) ;
if ( shp.m_lpDispatch != NULL ) {
var = shp.GetField( "NAME" ) ;
str = var.bstrVal ;
SetDlgItemText( IDC_LABEL, str );
else {
SetDlgItemText( IDC_LABEL, _T("") );

VisualBasic.NET - DK for ActiveX code

Private Sub GIS_OnMouseMoveEvent(ByVal eventSender As System.Object,
ByVal eventArgs As
Handles GIS.OnMouseMove

Dim ptg As TatukGIS_DK.IXGIS_Point
Dim shp As TatukGIS_DK.IXGIS_Shape

If GIS.IeEmpty() then Exit Sub

ptg = GIS.ScreenToMap(GisUtils.Point(eventArgs.x, eventArgs.y))
shp = GIS.Locate(ptg, 5 / GIS.Zoom)
If shp Is Nothing Then
StatusBar1.Text = ""
StatusBar1.Text = shp.GetField("name")
End If

End Sub

C# - DK for ActiveX code

private void GIS_OnMouseMove(object sender, AxTatukGIS_DK.IXGIS_ViewerWndEvents_OnMouseMoveEvent e)
TatukGIS_DK.XGIS_Point ptg;
TatukGIS_DK.IXGIS_Shape shp;

if ( GIS.IsEmpty ) return ;

ptg = GIS.ScreenToMap( GisUtils.Point(e.x, e.y ) );
shp = ( TatukGIS_DK.IXGIS_Shape ) GIS.Locate( ptg, 5/GIS.Zoom , true);
if( shp == null )
statusBar1.Text = "";
statusBar1.Text = ( string ) shp.GetField("name");

C# - DK for .NET code

private void GIS_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
TGIS_Point ptg ;
TGIS_Shape shp ;

if ( GIS.IsEmpty ) return ;

ptg = GIS.ScreenToMap( new Point( e.X, e.Y ) );
shp = (TGIS_Shape)GIS.Locate( ptg, 5/GIS.Zoom ) ;
if ( shp == null )
statusBar1.Text = "" ;
statusBar1.Text = shp.GetField( "name" ).ToString();


Users of Guests are not allowed to comment this publication.