D 2020-05-08T13:37:15.144 L ZippedSHP P a2a1995d003686095779367b8112c58f1ea06037 U sandro W 10355 Back to main SpatiaLite page

Reading SHP and DBF files directly from within a Zipfile

Starting since version 5.0.0 SpatiaLite has the capability to directly read any Shapefile (or DBF file) contained within a compressed Zipfile.
Several closely related SQL functions have been introduced as well.

Accessing a Zipped SHP

All these new SQL functions are now supported:
We'll now start a quick tutorial about using all these new SQL functions. Note: the tutorial is based on the dataset you can download from here SELECT Zipfile_NumSHP ( 'c:/users/afuri/Downloads/Limiti01012020.zip' ) ------------ 4 SELECT Zipfile_shpN ( 'c:/users/afuri/Downloads/Limiti01012020.zip' , 1 ) ------ Limiti01012020/Com01012020/Com01012020_WGS84 SELECT Zipfile_shpN ( 'c:/users/afuri/Downloads/Limiti01012020.zip' , 2 ) ------ Limiti01012020/ProvCM01012020/ProvCM01012020_WGS84 SELECT Zipfile_shpN ( 'c:/users/afuri/Downloads/Limiti01012020.zip' , 3 ) ------ Limiti01012020/Reg01012020/Reg01012020_WGS84 SELECT Zipfile_shpN ( 'c:/users/afuri/Downloads/Limiti01012020.zip' , 4 ) ------- Limiti01012020/RipGeo01012020/RipGeo01012020_WGS84 SELECT PROJ_GuessSridFromZipSHP ( 'c:/users/afuri/Downloads/Limiti01012020.zip' , 'Limiti01012020/Com01012020/Com01012020_WGS84' ) ------------ 32632
  • the SQL function PROJ_GuessSridFromZipSHP() will inspect a Zipfile then returning the SRID value declared by the .PRJ member of the Shapefile contained into the Zipfiles as identified by its basename.
  • it requires two arguments:
  • Note: -1 will be returned if the Shapefile has no .PRJ member, of if it contains an invalid WKT definition.
  • SELECT ImportZipSHP ( 'c:/users/afuri/Downloads/Limiti01012020.zip' , 'Limiti01012020/Com01012020/Com01012020_WGS84' , 'comuni', 'UTF-8' ) --------- 7904 The ImportZipSHP() closely mimics ImportSHP(), except in that it requires one more argument specifying the pathname of the Zipfile containing the Shapefile to be imported.
    On success it will return the number of features inserted into the Spatial Table that has just been created; on failure it will just return NULL.

    In its simplest form it requires just four arguments: SELECT ImportZipSHP ( 'c:/users/afuri/Downloads/Limiti01012020.zip' , 'Limiti01012020/Reg01012020/Reg01012020_WGS84' , 'regioni', 'UTF-8' , 32632 , 'the_geom' , 'cod_reg' , 'MULTIPOLYGON' , 0 , 0 , 1 , 0 , 'LOWER' , 1 , 0 ) ------------- 20 In its complete form ImportZipSHP() supports these further optional arguments:


    Accessing a Zipped DBF

    All these new SQL functions are now supported:
    We'll continue to use the same Zipfile in this tutorial too. SELECT Zipfile_NumDBF ( 'c:/users/afuri/Downloads/Limiti01012020.zip' ) ------------ 4 SELECT Zipfile_dbfN ( 'c:/users/afuri/Downloads/Limiti01012020.zip' , 1 ) ------ Limiti01012020/Com01012020/Com01012020_WGS84.dbf SELECT Zipfile_dbfN ( 'c:/users/afuri/Downloads/Limiti01012020.zip' , 2 ) ------ Limiti01012020/ProvCM01012020/ProvCM01012020_WGS84.dbf SELECT Zipfile_dbfN ( 'c:/users/afuri/Downloads/Limiti01012020.zip' , 3 ) ------ Limiti01012020/Reg01012020/Reg01012020_WGS84.dbf SELECT Zipfile_dbfN ( 'c:/users/afuri/Downloads/Limiti01012020.zip' , 4 ) ------- Limiti01012020/RipGeo01012020/RipGeo01012020_WGS84.dbf SELECT ImportZipDBF ( 'c:/users/afuri/Downloads/Limiti01012020.zip' , 'Limiti01012020/Com01012020/Com01012020_WGS84.dbf' , 'comuni_dbf', 'UTF-8' ) --------- 7904 The ImportZipDBF() closely mimics ImportDBF(), except in that it requires one more argument specifying the pathname of the Zipfile containing the DBF file to be imported.
    On success it will return the number of rows inserted into the Table that has just been created; on failure it will just return NULL.

    In its simplest form it requires just four arguments: SELECT ImportZipDBF ( 'c:/users/afuri/Downloads/Limiti01012020.zip' , 'Limiti01012020/Reg01012020/Reg01012020_WGS84.dbf' , 'regioni_dbf', 'UTF-8' , 'cod_reg' , 1 , 'LOWER' ) ------------- 20 In its complete form ImportZipDBF() supports these further optional arguments:


    Back to main SpatiaLite page Z 4f7cb698ed6b2f69ba66e8df1c22bbd8