2013-07-20 12 views
8

Spatialite ile çok yeniyim. Max OS dağ aslanı çalışan ve ben SQLite sürüm 3.7.17 yüklü ve libspatialite olan 4.1.1 (kullanarak homebrewleri), uzamsal bir sütun oluşturulamıyor -> beklenmedik meta veri düzeni

Ben hatasız SQLite'ta uzatma libspatialite yükleyebilirsiniz:

SELECT load_extension('/usr/local/Cellar/libspatialite/4.1.1/lib/libspatialite.dylib'); 

ben basit bir tablo oluşturabilirsiniz:

sqlite> CREATE TABLE test_geom (
    ...> id INTEGER NOT NULL 
    ...>  PRIMARY KEY AUTOINCREMENT, 
    ...> name TEXT NOT NULL, 
    ...> measured_value DOUBLE NOT NULL); 

ama spatialite ile Geometri sütun ekleyin zaman şu mesajı alıyorum:

sqlite> SELECT AddGeometryColumn('test_geom', 'the_geom',4326, 'POINT'); 
AddGeometryColumn() error: unexpected metadata layout 
0 

Bu sorunu düzeltmek için hiçbir fikrim yok. Biri yardım edebilir mi? Hiçbir meta (spatial_ref_sys tablo) Eğer sqlite3.exe yerine spatialite.exe ile veritabanı oluşturmak ne olur veritabanı içinde olduğundan

+0

Şu anda aynı meydan okumayla karşı karşıya am, ben Poligon sütun eklemek olamaz, bu üzerinde yardımcı olabilir aynı hatayı, herkes verir? –

cevap

3

bu sorun oluşur.

Örneğin; Bir veritabanını, sqlite3 ve diğeri uzaysal ile oluşturup .table'u çalıştırırsanız, spatialite tarafından oluşturulan db'nin bir spatial_ref_sys dahil olmak üzere başka bir tablo paketi olduğunu görürsünüz. Mekansal işlevler çalışmak için bu referans tablolarını gerektirir.

Çözüm: Bir spatialite db oluşturup, eski db'yi içe aktarın veya gerekli tüm tabloyu eski veritabanına yükleyin. .dump ile ya gerçekten ya da çok kolaydır.

17

Bu, Spatialite uzantısıyla SQLite kullandığınızda gerçekleşir. Bu durumda, mekansal meta veri tabloları ilklendirmelisiniz (veritabanı oluşturduktan sonra bu hakkı yapmak):

SELECT InitSpatialMetaData();

Diğer bir seçenek veritabanını oluştururken Spatialite çalıştırmak olacaktır. Bu, daha sonra meta veri tablolarını otomatik olarak oluşturacaktır.

Dokümantasyon: http://www.gaia-gis.it/gaia-sins/spatialite-cookbook/html/metadata.html

+0

Mobil geliştirme için spatialDB kullanarak kararımı kurtardınız, başka bir şey bilmiyorum .. – magid

+0

neden özelleştirme yapmak için çok zaman alıyor .. herhangi bir kişiselleştirme? – magid

İlgili konular