Error processing request

Parameters

CONTENT_LENGTH0
REQUEST_METHODGET
REQUEST_URI/revision/SpatiaLite?V=24
QUERY_STRINGV=24
CONTENT_TYPE
DOCUMENT_URI/revision/SpatiaLite
DOCUMENT_ROOT/var/www/nikit/nikit/nginx/../docroot
SCGI1
SERVER_PROTOCOLHTTP/1.1
HTTPSon
REMOTE_ADDR172.70.43.43
REMOTE_PORT34366
SERVER_PORT4443
SERVER_NAMEwiki.tcl-lang.org
HTTP_HOSTwiki.tcl-lang.org
HTTP_CONNECTIONKeep-Alive
HTTP_ACCEPT_ENCODINGgzip, br
HTTP_X_FORWARDED_FOR54.211.203.45
HTTP_CF_RAY86b7a6c6cf820668-IAD
HTTP_X_FORWARDED_PROTOhttps
HTTP_CF_VISITOR{"scheme":"https"}
HTTP_ACCEPT*/*
HTTP_USER_AGENTclaudebot
HTTP_CF_CONNECTING_IP54.211.203.45
HTTP_CDN_LOOPcloudflare
HTTP_CF_IPCOUNTRYUS

Body


Error

Unknow state transition: LINE -> END

-code

1

-level

0

-errorstack

INNER {returnImm {Unknow state transition: LINE -> END} {}} CALL {my render_wikit SpatiaLite {** Attributes **

   location:   [http://www.gaia-gis.it/spatialite/%|%gaia-gis.it%|%]
   author:   [mailto:[email protected]%|%Alessandro Furieri%|%]

** Summary ** 

The SpatiaLite extension enables [SQLite] to support spatial data too (aka [GIS]), in a way conformant to OpenGis specifications

** Description **

    * supports standard WKT and WKB formats
    * implements SQL spatial functions such as AsText(), GeomFromText(), Area(), PointN() and alike
    * the complete set of OpenGis functions is supported via GEOS, thus comprehending sophisticated spatial analysis functions such as Overlaps(), Touches(), Union(), Buffer() ..
    * supports full Spatial metadata along the OpenGis specifications
    * supports importing and exporting from / to shapefiles
    * supports coordinate reprojection via [PROJ.4] and EPSG geodetic parameters dataset
    * supports locale charsets via GNU libiconv
    * implements a true Spatial Index based on the SQLite's RTree extension

The VirtualShape extension enables SQLite to access shapefiles as VIRTUAL TABLEs

    * you can then perform standard SQL queries on external shapefiles, with no need for importing or converting them

The VirtualText extension enables SQLite to access CSV/TxtTab files as VIRTUAL TABLEs

    * you can then perform standard SQL queries on external CSV/TxtTab files, with no need for importing or converting them


----
[JMN] 2009-11-07 Looks interesting - but I see no reference to Tcl on the site. I'm assuming by 'extension' this refers only to it being an extension to SQLite, and that there is no Tcl interface?

[SEH] -- Spatialite is an extension to SQLite, and thus the Tcl binding to SQLite can be used to access Spatialite's features.

[TR] --This works (using sqlite 3.3.7 or newer):

======
package require sqlite3
sqlite3 db someDBfile.db
db enable_load_extension true
db eval {select load_extension('/path/to/spatialsqlite/libraryfile')}
======

[andrewsh] On Debian, the following works fine:

======
db eval {select load_extension("libspatialite.so.2")}
======

Harm Olthof: using [tdbc] it works like this:

======
package require tdbc::sqlite3
set db_path {/path/to/sqlitefile.sqlite}
tdbc::sqlite3::connection create db $db_path
set db_handle [db getDBhandle]
$db_handle enable_load_extension 1

# The directory containing dll's for geos, proj4, etc must be added to the PATH environment
append ::env(PATH)  {;} {D:\pshare\bin\spatialite\bin\spatialite-3.0.1-DLL-win-x86}

db allrows {SELECT load_extension('/path/to/spatialsqlite/libraryfile')}
======


and if it's a new or non-spatialite database file, you should initialize it:
======
db allrows {SELECT InitSpatialMetaData()}
======

[pd] -- [https://www.gaia-gis.it/fossil/libspatialite/wiki?name=mod_spatialite%|%Dynamically loading SpatiaLite%|%] <<br>>
No longer requires extension .dll or .so etc - same code will work on windows as *nix <<br>>
[http://www.gaia-gis.it/gaia-sins/windows-bin-amd64/%|%Windows binaries%|%]

======
package require sqlite3
sqlite3 db :memory:
db enable_load_extension true
db eval {SELECT load_extension('mod_spatialite')}
db eval {SELECT InitSpatialMetaData()}
db eval {CREATE table hal (id integer)}
db eval {SELECT AddGeometryColumn('hal','geometry',-1,'POINT','XY')}
db eval {SELECT CreateSpatialIndex('hal','geometry')}

set n 0
set points [list 1.0 2.0 3.0 4.0 5.0 6.0]
db transaction {
    foreach {x y} $points {
        db eval {
            INSERT into hal ('id','geometry') 
            VALUES (:n, MakePoint(CastToDouble(:x), CastToDouble(:y),-1))
        }
        incr n
    }
}
puts [db eval {SELECT id, AsText(geometry) from hal}]

======
==> 0 {POINT(1 2)} 1 {POINT(3 4)} 2 {POINT(5 6)}

======



<<categories>> Database | Geography} regexp2} CALL {my render SpatiaLite {** Attributes **

   location:   [http://www.gaia-gis.it/spatialite/%|%gaia-gis.it%|%]
   author:   [mailto:[email protected]%|%Alessandro Furieri%|%]

** Summary ** 

The SpatiaLite extension enables [SQLite] to support spatial data too (aka [GIS]), in a way conformant to OpenGis specifications

** Description **

    * supports standard WKT and WKB formats
    * implements SQL spatial functions such as AsText(), GeomFromText(), Area(), PointN() and alike
    * the complete set of OpenGis functions is supported via GEOS, thus comprehending sophisticated spatial analysis functions such as Overlaps(), Touches(), Union(), Buffer() ..
    * supports full Spatial metadata along the OpenGis specifications
    * supports importing and exporting from / to shapefiles
    * supports coordinate reprojection via [PROJ.4] and EPSG geodetic parameters dataset
    * supports locale charsets via GNU libiconv
    * implements a true Spatial Index based on the SQLite's RTree extension

The VirtualShape extension enables SQLite to access shapefiles as VIRTUAL TABLEs

    * you can then perform standard SQL queries on external shapefiles, with no need for importing or converting them

The VirtualText extension enables SQLite to access CSV/TxtTab files as VIRTUAL TABLEs

    * you can then perform standard SQL queries on external CSV/TxtTab files, with no need for importing or converting them


----
[JMN] 2009-11-07 Looks interesting - but I see no reference to Tcl on the site. I'm assuming by 'extension' this refers only to it being an extension to SQLite, and that there is no Tcl interface?

[SEH] -- Spatialite is an extension to SQLite, and thus the Tcl binding to SQLite can be used to access Spatialite's features.

[TR] --This works (using sqlite 3.3.7 or newer):

======
package require sqlite3
sqlite3 db someDBfile.db
db enable_load_extension true
db eval {select load_extension('/path/to/spatialsqlite/libraryfile')}
======

[andrewsh] On Debian, the following works fine:

======
db eval {select load_extension("libspatialite.so.2")}
======

Harm Olthof: using [tdbc] it works like this:

======
package require tdbc::sqlite3
set db_path {/path/to/sqlitefile.sqlite}
tdbc::sqlite3::connection create db $db_path
set db_handle [db getDBhandle]
$db_handle enable_load_extension 1

# The directory containing dll's for geos, proj4, etc must be added to the PATH environment
append ::env(PATH)  {;} {D:\pshare\bin\spatialite\bin\spatialite-3.0.1-DLL-win-x86}

db allrows {SELECT load_extension('/path/to/spatialsqlite/libraryfile')}
======


and if it's a new or non-spatialite database file, you should initialize it:
======
db allrows {SELECT InitSpatialMetaData()}
======

[pd] -- [https://www.gaia-gis.it/fossil/libspatialite/wiki?name=mod_spatialite%|%Dynamically loading SpatiaLite%|%] <<br>>
No longer requires extension .dll or .so etc - same code will work on windows as *nix <<br>>
[http://www.gaia-gis.it/gaia-sins/windows-bin-amd64/%|%Windows binaries%|%]

======
package require sqlite3
sqlite3 db :memory:
db enable_load_extension true
db eval {SELECT load_extension('mod_spatialite')}
db eval {SELECT InitSpatialMetaData()}
db eval {CREATE table hal (id integer)}
db eval {SELECT AddGeometryColumn('hal','geometry',-1,'POINT','XY')}
db eval {SELECT CreateSpatialIndex('hal','geometry')}

set n 0
set points [list 1.0 2.0 3.0 4.0 5.0 6.0]
db transaction {
    foreach {x y} $points {
        db eval {
            INSERT into hal ('id','geometry') 
            VALUES (:n, MakePoint(CastToDouble(:x), CastToDouble(:y),-1))
        }
        incr n
    }
}
puts [db eval {SELECT id, AsText(geometry) from hal}]

======
==> 0 {POINT(1 2)} 1 {POINT(3 4)} 2 {POINT(5 6)}

======



<<categories>> Database | Geography}} CALL {my revision SpatiaLite} CALL {::oo::Obj887340 process revision/SpatiaLite} CALL {::oo::Obj887338 process}

-errorcode

NONE

-errorinfo

Unknow state transition: LINE -> END
    while executing
"error $msg"
    (class "::Wiki" method "render_wikit" line 6)
    invoked from within
"my render_$default_markup $N $C $mkup_rendering_engine"
    (class "::Wiki" method "render" line 8)
    invoked from within
"my render $name $C"
    (class "::Wiki" method "revision" line 31)
    invoked from within
"my revision $page"
    (class "::Wiki" method "process" line 56)
    invoked from within
"$server process [string trim $uri /]"

-errorline

4