New answers tagged spatialite
It is not possible to directly delete a column in Sqlite and thus in SpatiaLite: http://www.sqlite.org/faq.html#q11. Therefore QGIS cannot offer this functionality. The alternative is to recreate the table. BEGIN TRANSACTION; CREATE TEMPORARY TABLE t1_backup(a,b); INSERT INTO t1_backup SELECT a,b FROM t1; DROP TABLE t1; CREATE TABLE t1(a,b); INSERT INTO t1 ...
You can use OGR2OGR to do this, writing to Oracle is through the OCI driver; reading from SpatialLite is by through the SQLite driver so something like: ogr2ogr -f OCI OCI:firstname.lastname@example.org db.sqlite should do it.
This is the method that I eventually used to solve the problem. This works for basic LINESTRINGS AND POLYGONS. MULTILINESTRINGS and MULTIPOLYGONS would require a more complex function. /* Create a temporary table that contains the ID of each line and two geometry columns. The first contains any line portions that are outside of all of the polygons. The ...
If they are SpatiaLite layers, they are already in a database. If you meant that they are in different databases (which you did not stated in your original question), you can use the DB Manager plugin, just expand your SpatiaLite connections in the Tree and drag & drop the SpatiaLite layers you want to import from each DB to your target DB.
Use the QGIS plugin QSpatiaLite controlling your Spatialite db, for storing CSV files. With this plugin you can create a new database, upload, query and edit data.
Apparently Rasterlite 1.1g version (released on 2013-05-05) (https://www.gaia-gis.it/fossil/librasterlite/index) is no longer maintained. This version cannot handle with the example above, it has not been implemented. Fortunately, Rasterlite2 version 1.0.0-rc0 (released on 2014-07-30) is much more powerful and can handle Int16 DEM GeoTiff images with ...
You can try MapServer with GDAL. Here you can find more info on RasterLite driver in GDAL.
If you have to use an older version of spatialite, here is the SQL equivalent for the postgis ST_Azimuth(A,B): case when X(A) == X(B) then case when Y(A) Y(B) then 3.141592653589793 else 0 end when Y(A) == Y(B) then case when X(A) X(B) then 3.141592653589793 + 3.141592653589793/2 else 0 end ...
Top 50 recent answers are included