D 2018-08-22T15:43:30.461 L Virtual\sTables\s(misc) P b909a6392335b23bfdfa8458f2ea91059b4ced60 U sandro W 22880 back to main page

VirtualShape

The VirtualShape Interface allows to directly access an external ShapeFile by using standard Spatial SQL queries.
Syntax for creating a VirtualShape Table: SELECT CREATE VIRTUAL TABLE my_table USING VirtualShape ( shp_path , charset_encoding , srid ); SELECT CREATE VIRTUAL TABLE my_table USING VirtualShape ( shp_path , charset_encoding , srid , text_dates ); SELECT CREATE VIRTUAL TABLE my_table USING VirtualShape ( shp_path , charset_encoding , srid , text_dates , colname_case ); Supported arguments and their interpretation:
Note: quoting or not any Text String when it appears as a Virtual Table argument has absolutely no effect. SELECT CREATE VIRTUAL TABLE my_table USING VirtualShape( /home/sandro/myshp , CP1252 , 3003 , 1 , lower ); or SELECT CREATE VIRTUAL TABLE my_table USING VirtualShape( '/home/sandro/myshp' , 'CP1252' , 3003 , 1 , 'lower' ); Both notations will produce exactly the same identical result.

Best practices and known limitations

  • Virtual Tables are not really genuine Database Tables, they are just pretending to be.
  • Virtual Tables have very poor speed performances when compared to genuine Database Tables.
  • Complex SQL queries JOINing several Tables can often return odd and misleading resultsets, if one or more of the JOINed Tables are of the Virtual type.
  • The best usage you can do of a Virtual Table is to just support basic data import processes, or to quickly get an overall glance at a full dataset without necessarily importing it into the Database.
  • Pretending to use a Virtual Table as a full replacement of importing all data within a genuine Database Table is strongly discouraged, and never is a smart idea.

Warning: VirtualShape Tables are always subject to READ-ONLY restrictions. Any attempt to to execute an INSERT, UPDATE or DELETE statement will always return an error.

Related Topics

  • The ImportSHP() SQL function allows to create and populate a genuine Spatial Table by importing an external Shapefile.
  • And the ExportSHP() sister function allows to directly export a whole Spatial Table into an external Shapefile.


VirtualDBF

The VirtualDBF Interface allows to directly access an external DBF table by using standard Spatial SQL queries.
Syntax for creating a VirtualDbf Table: SELECT CREATE VIRTUAL TABLE my_table USING VirtualDbf ( dbf_path , charset_encoding ); SELECT CREATE VIRTUAL TABLE my_table USING VirtualDbf ( dbf_path , charset_encoding , text_dates ); SELECT CREATE VIRTUAL TABLE my_table USING VirtualDbf ( dbf_path , charset_encoding , text_dates , colname_case ); Supported arguments and their interpretation:
Note: quoting or not any Text String when it appears as a Virtual Table argument has absolutely no effect. SELECT CREATE VIRTUAL TABLE my_table USING VirtualDbf( /home/sandro/myshp , CP1252 , 1 , lower ); or SELECT CREATE VIRTUAL TABLE my_table USING VirtualDbf( '/home/sandro/myshp' , 'CP1252' , 1 , 'lower' ); Both notations will produce exactly the same identical result.

Best practices and known limitations

  • Virtual Tables are not really genuine Database Tables, they are just pretending to be.
  • Virtual Tables have very poor speed performances when compared to genuine Database Tables.
  • Complex SQL queries JOINing several Tables can often return odd and misleading resultsets, if one or more of the JOINed Tables are of the Virtual type.
  • The best usage you can do of a Virtual Table is to just support basic data import processes, or to quickly get an overall glance at a full dataset without necessarily importing it into the Database.
  • Pretending to use a Virtual Table as a full replacement of importing all data within a genuine Database Table is strongly discouraged, and never is a smart idea.

Warning: VirtualDBF Tables are always subject to READ-ONLY restrictions. Any attempt to to execute an INSERT, UPDATE or DELETE statement will always return an error.

Related Topics

  • The ImportDBF() SQL function allows to create and populate a genuine Database Table by importing an external DBF file.
  • And the ExportDBF() sister function allows to directly export a whole Database Table into an external DBF file.


VirtualText

The VirtualText Interface allows to directly access an external Text file by using standard Spatial SQL queries.
The Text File is expected to contain a properly formatted Table accordingly to some Delimiter-Separated-Values format (comma separated values *.csv, tab separated values *.txt and alike).
Syntax for creating a VirtualText Table: SELECT CREATE VIRTUAL TABLE my_table USING VirtualText ( textfile_path , charset_encoding ); SELECT CREATE VIRTUAL TABLE my_table USING VirtualText ( textfile_path , charset_encoding , first_row_as_titles ); SELECT CREATE VIRTUAL TABLE my_table USING VirtualText ( textfile_path , charset_encoding , first_row_as_titles , decimal_separator ); SELECT CREATE VIRTUAL TABLE my_table USING VirtualText ( textfile_path , charset_encoding , first_row_as_titles , decimal_separator , text_separator ); SELECT CREATE VIRTUAL TABLE my_table USING VirtualText ( textfile_path , charset_encoding , first_row_as_titles , decimal_separator , text_separator , field_separator ); Supported arguments and their interpretation:
Note: quoting or not any Text String when it appears as a Virtual Table argument has absolutely no effect. SELECT CREATE VIRTUAL TABLE my_table USING VirtualText( /home/sandro/myfile.txt , CP1252 , 1 , POINT , NONE , TAB ); or SELECT CREATE VIRTUAL TABLE my_table USING VirtualText( '/home/sandro/myfile.txt' , 'CP1252' , 1 , 'POINT' , 'NONE' , 'TAB' ); Both notations will produce exactly the same identical result.

Best practices and known limitations

  • Be aware: opening big or huge text files could easily require massive RAM allocations.
  • Warning: attempting to access an external Text file by blindly specifying randomly chosen delimiters or separators may easily have catastrophic effects.
    Always carefully check the actual payload of the Text file before attempting to access it.
  • Virtual Tables are not really genuine Database Tables, they are just pretending to be.
  • Virtual Tables have very poor speed performances when compared to genuine Database Tables.
  • Complex SQL queries JOINing several Tables can often return odd and misleading resultsets, if one or more of the JOINed Tables are of the Virtual type.
  • The best usage you can do of a Virtual Table is to just support basic data import processes, or to quickly get an overall glance at a full dataset without necessarily importing it into the Database.
  • Pretending to use a Virtual Table as a full replacement of importing all data within a genuine Database Table is strongly discouraged, and never is a smart idea.

Warning: VirtualText Tables are always subject to READ-ONLY restrictions. Any attempt to to execute an INSERT, UPDATE or DELETE statement will always return an error.


VirtualXL

The VirtualXL Interface allows to directly access an external MS Excel spreadsheet by using standard Spatial SQL queries.
Syntax for creating a VirtualXL Table: SELECT CREATE VIRTUAL TABLE my_table USING VirtualXL ( xls_path ); SELECT CREATE VIRTUAL TABLE my_table USING VirtualXL ( xls_path , worksheet_index ); SELECT CREATE VIRTUAL TABLE my_table USING VirtualXL ( xls_path , worksheet_index , first_row_as_titles ); Supported arguments and their interpretation:
Note: quoting or not any Text String when it appears as a Virtual Table argument has absolutely no effect. SELECT CREATE VIRTUAL TABLE my_table USING VirtualXL( /home/sandro/myspreadsheet.xls , 3, 1 ); or SELECT CREATE VIRTUAL TABLE my_table USING VirtualXL( '/home/sandro/myspreadsheet.xls' , 3, 1 ); Both notations will produce exactly the same identical result.

Best practices and known limitations

  • Virtual Tables are not really genuine Database Tables, they are just pretending to be.
  • Virtual Tables have very poor speed performances when compared to genuine Database Tables.
  • Complex SQL queries JOINing several Tables can often return odd and misleading resultsets, if one or more of the JOINed Tables are of the Virtual type.
  • The best usage you can do of a Virtual Table is to just support basic data import processes, or to quickly get an overall glance at a full dataset without necessarily importing it into the Database.
  • Pretending to use a Virtual Table as a full replacement of importing all data within a genuine Database Table is strongly discouraged, and never is a smart idea.

Warning: VirtualXL Tables are always subject to READ-ONLY restrictions. Any attempt to to execute an INSERT, UPDATE or DELETE statement will always return an error.

Related Topics

The ImportXLS() SQL function allows to create and populate a genuine Database Table by importing an external MS Excel spreadsheet.


VirtualFDO

The VirtualFDO Interface allows to directly access a Spatial Table containing FDO binary Geometries exactly as if was a SpatiaLite's own native Table.
FDO is an alternative binary format for Geometries stored within a SQLite Database; you can eventually read the RFC 16 specification for more details.
Syntax for creating a VirtualFDO Table: SELECT CREATE VIRTUAL TABLE my_table USING VirtualFdo ( table_name ); Supported argument and its interpretation:
Note: quoting or not any Text String when it appears as a Virtual Table argument has absolutely no effect. SELECT CREATE VIRTUAL TABLE my_table USING VirtualFdo( my_parcels ); or SELECT CREATE VIRTUAL TABLE my_table USING VirtualFdo( 'my_parcels' ); Both notations will produce exactly the same identical result.

Best practices and known limitations

  • Virtual Tables are not really genuine Database Tables, they are just pretending to be.
  • Virtual Tables have very poor speed performances when compared to genuine Database Tables.
  • Complex SQL queries JOINing several Tables can often return odd and misleading resultsets, if one or more of the JOINed Tables are of the Virtual type.
  • The best usage you can do of a Virtual Table is to just support basic data import processes, or to quickly get an overall glance at a full dataset without necessarily importing it into the Database.
  • Pretending to use a Virtual Table as a full replacement of importing all data within a genuine Database Table is strongly discouraged, and never is a smart idea.

Note: VirtualFDO Tables support unrestricted READ-WRITE operations, this including executing INSERT, UPDATE and DELETE statements.


VirtualGPKG

The VirtualGPKG Interface allows to directly access Spatial Tables from a GeoPackage Database exactly as if was a SpatiaLite's own native Database.
GeoPackage (aka GPKG) is an alternative Spatial Database built on the top of SQLite; you can eventually read the official specification for more details.
Syntax for creating a VirtualFDO Table: SELECT CREATE VIRTUAL TABLE my_table USING VirtualGpkg ( table_name ); Supported argument and its interpretation:
Note: quoting or not any Text String when it appears as a Virtual Table argument has absolutely no effect. SELECT CREATE VIRTUAL TABLE my_table USING VirtualGpks( my_parcels ); or SELECT CREATE VIRTUAL TABLE my_table USING VirtualGpkg( 'my_parcels' ); Both notations will produce exactly the same identical result.

Best practices and known limitations

  • Virtual Tables are not really genuine Database Tables, they are just pretending to be.
  • Virtual Tables have very poor speed performances when compared to genuine Database Tables.
  • Complex SQL queries JOINing several Tables can often return odd and misleading resultsets, if one or more of the JOINed Tables are of the Virtual type.
  • The best usage you can do of a Virtual Table is to just support basic data import processes, or to quickly get an overall glance at a full dataset without necessarily importing it into the Database.
  • Pretending to use a Virtual Table as a full replacement of importing all data within a genuine Database Table is strongly discouraged, and never is a smart idea.

Note: VirtualGPKG Tables support unrestricted READ-WRITE operations, this including executing INSERT, UPDATE and DELETE statements.



back to main page Z b53b6e93862e16f520ded31013b01a4d