TatukGIS 8.0 Full Source XE8 » Developer.Team - Developers Paradise!

TatukGIS 8.0 Full Source XE8

TatukGIS 8.0 Full Source XE8
TatukGIS 8.0 Full Source XE8 | 35 Mb


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);
var
ptg : TGIS_Point ;
shp : TGIS_Shape ;
begin
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 := ''
else
StatusBar.SimpleText := shp.GetField('name');
end;

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 = "" ;
else
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 = ""
Else
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
AxTatukGIS_DK.IXGIS_ViewerWndEvents_onmousemoveEvent)
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 = ""
Else
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 = "";
else
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 = "" ;
else
statusBar1.Text = shp.GetField( "name" ).ToString();
}



[/b]

[b] Only for V.I.P
Warning! You are not allowed to view this text.