If your dataset is added to and updated often, then INSERT, DELETE and UPDATE statements which cause the index to be rebuilt may slow the database down.
For bulk inserts, such as loading the entire OSM dataset into a database, it may be quicker to drop the indices and create them again afterwards.
If it is more efficient to ignore an index (for example ...
The OSGeo is a repository for the open source GIS community. There are a few applications highlighted here that may suite your needs.
QGIS can handle a variety of vector and raster GIS data sets. The application interface is intuitive, and has a similar look and feel like ESRI ArcMap. The application may also be installed on a variety of OS ...
If you don't need third party support and don't forsee the need to query by type keeping them in the same table works just fine. Alternatively you could use an inheritance model as discussed in chapter 3 of PostGIS in Action.
From an architecture perspective PostGIS doesn't really care if in a query multiple ...
Generally you can make a new geospatial table like this:
WHERE admin_lvl2 = 'eu';
-- Define a primary key
ALTER TABLE europe.borders ADD PRIMARY KEY (gid);
-- Spatially enable it
However, by doing this you are segregating your database (un-...
Within QGIS, you can "File|Save as" the shapefile directly as a
spatialite database; the limitation here is that you can make a
database with only one shapefile.
You can use the command line spatialite_tool to load and manage shapefiles (tutorial here).
It is really worth exploring the spatialite-gui
and spatialite-gis standalone ...
If you have Ubuntu 12.04, then you should have PostgreSQL 9.1, which makes things awesome for PostGIS 2.0, where you can use use the new EXTENSION framework. To spatially enable a database, use the DDL from a SQL window:
CREATE EXTENSION postgis;
See other details for installing PostGIS 2.0 from source for Ubuntu 12.04 here.
If you are using PostGIS 1.5, ...
The most efficient index for the query expressed in your question is the one on gid as it is the only column that appears in a where expression:
CREATE INDEX table_gid ON table (gid);
You can safely drop the gist index as it will only consume space and slow inserts/updates/deletes down.
As I said the most effective index in your case is ...
you can use the export (multiple).
Just right click on the database and choose "export to shapefile (multiple)"
If you do it at the database level
you will see everything in the database in the tool listed (there is a remove button if there are a few you don't want).
If you do it at the feature dataset level
you see everything in ...
Aside from Spatialite, you might also want to consider PostGIS. Think of it as Spatialite's big brother ;-) It's just another data source for QGIS while you can connect to it using the RODBC package in R.
Use the -nlt option. In this case you want:
There is also PROMOTE_TO_MULTI (GDAL 1.10 and later), which chooses either MULTILINESTRING or MULTIPOLYGON depending on the input layer. The use case for this is "doing a mass conversion of shapefiles that [mix] different types of geometries".
First off, the ASTER GDEM is not a "datum," it's just a digital elevation model or DEM. The values in the ASTER GDEM are represented in the EGM96 vertical datum.
Second, the ASTER GDEM is a "first return" DEM that does contain above-ground structures like buildings and trees. This is cited in the GDEM report Validation of the ASTER Global Digital Elevation ...
I started an open source GDAL/OGR ArcGIS plugin project this weekend that gives read support to spatialite and any other OGR vector data source like Google Fusion Tables.
I have it working locally reading spatialite and will cleanup and push the rest of changes this coming Friday. I hope you find it useful.
OK, got it working today. The ...
While your database is technically spatial at this point, you would only be working with the inbuilt pg geometry types.
In order to complete your installation, you do need to run the scripts as suggested.
You can find them in your /usr/share/postgresql/[version number]/contrib/ postgis sub-directory.
You should see the following:
You can use a native PostGIS database as an SDE data store.
That link describes the basic setup to register a native PostGIS table with SDE. The drawback is that ESRI only supports a narrow range of Postgres and PostGIS versions, here's the list of what they support:
For displaying purposes it is always good to use a spatial index. It will improve speed of both rendering and spatial queries. However, if you plan to update large quantities of objects, it might be wise to remove the spatial index during the update. Otherwise the update process will become significantly slower, because with every update the spatial index ...
It is possible to store celestial positions in PostGIS - you just need to create your own coordinate system!
PostGIS gets all its coordinate system and projection information from the table spatial_ref_sys which is normally populated when the database is initialized. But there is nothing stopping you adding your own projections - indeed it is practically ...
There are some very speed tests of shapefiles versus database (PostGIS) for MapServer in this presentation (from 2007).
For a dataset of 3 million features running requests for 30 features one after another PostGIS was faster than shapefile (although this may have since changed by a fix to reading the shapefile index)
For a ...
Generally speaking, there isn't a reason to do a spatial query without a spatial index unless you are dealing with really small tables. Still though you would use the ST_ which don't use an index but do have the && indexable short circuit box operators.
the functions that start with _ST are not meant to be used by end users. The reason ...
PostGIS - including a dedicated PostGIS Manager plugin for seamless work
Spatialite - there is also Spatialite Manager
MSSQL 2008 Spatial - also supported by default starting from version 1.8
Oracle Spatial - via OGR but not by default & Oracle Spatial GeoRaster plugin
ESRI File/(Personal) Geodatabase - via OGR
All database connections ...
Based on your requirements, you may need a GIS stack: server, database, presentation, and then the analysis tools. I'd recommend GeoServer (http://www.geoserver.org) for server, PostgreSQL with PostGIS extension for database (http://postgis.net).
This combination can enable easy distributed authoring/analysis and publishing using WFS, WPS, and WMS, which ...
The real advantage to spatial databases (PostGIS, spatial extensions to MySQL or anything else) is that you can do spatial operations on spatial data. If you are just storing point coordinates, then you don't really gain much from spatial (just use two numerical columns). If you store combinations of point coordinates (where the customers are), and line ...
As unicoletti said, the gist index in the geometry column would only work if you use ST_Contains() in the WHERE expression.
For instance, if you would like to know all polygons that contain one another, you could use something like this:
SELECT a.gid, b.gid
FROM table AS a, table as b
WHERE a.gid != b.gid and ST_Contains(a.way, b.way)
In this case, ...
you could try http://www.bostongis.com/ they have a number of guides for PostGIS also the links provided by the other posters are also excellent tutorials. For general GIS information, ESRI's website has some excellant tutorials www.esri.com. and also provide training video's in relation to their software.
Other links to try
You can achieve this by preparing all those layers in one (or more) project files. Share these projects on the network and you can load them using Layer - Embed Layers and Groups.
If you want to change anything in these layers, open the original project file and changes will appear in all projects that contain embedded layers.
The arcpy.da.Walk() method is the way to go:
import arcpy, os
workspace = r"C:\Users\OWNER\Documents\ArcGIS\Default.gdb"
feature_classes = 
for dirpath, dirnames, filenames in arcpy.da.Walk(workspace,
for filename ...
It is definitely possible to pull all the layers into one database, although in a multiuser environment, this will be best if most users will only be reading (not editing) the data. The easiest way to quickly convert a large number of shapefiles to a single SpatiaLite database is to use ogr2ogr.
Make sure your shapefiles are in a single folder (e.g. ...
This one really troubles me. I guess it's because I've seen too many CAD files with data all on one layer, differentiated only by color.
What it comes down to is really a choice between organizing the data by structure, or by attribute.
Given that choice, I would always go for organizing my data through data structure.
For a start, when processing data ...