Sie können eine Verbindung von ArcGIS for Desktop mit einer SQLite-Datenbank herstellen, um Karten zu erstellen und räumliche Analysen durchzuführen.
ArcGIS unterstützt räumliche Daten in SQLite-Datenbanken, die einen der folgenden Speichertypen enthalten:
- Esri ST_Geometry – Die Datenbankdatei muss die Erweiterung .sqlite aufweisen, um mit ArcGIS verwendet werden zu können.
- SpatiaLite – Die Datenbankdatei muss die Erweiterung .sqlite aufweisen, um mit ArcGIS verwendet werden zu können.
- GeoPackages – Die GeoPackage-Datei muss die Erweiterung .gpkg aufweisen, um mit ArcGIS verwendet werden zu können.
Sie können nur einen räumlichen Speichertyp pro SQLite-Datenbank verwenden. Weitere Informationen zum Hinzufügen eines räumlichen Speichertyps zu einer vorhandenen Datenbank finden Sie unter Räumliches Aktivieren einer SQLite-Datenbank.
Um eine SQLite-Datenbank zu erstellen, die den ST_Geometry- oder SpatiaLite-Speicher verwendet, oder um ein GeoPackage zu erstellen, verwenden Sie die ArcPy-Funktion CreateSQLiteDatabase.
SQLite-Daten in ArcGIS
Datenzugriff
Sie steuern den Zugriff auf eine SQLite-Datenbank oder auf GeoPackage, indem Sie die Berechtigungen für den Ordner steuern, in dem diese gespeichert werden. Im Gegensatz zu anderen Datenbanken erstellen Sie keine Benutzer, die durch die Datenbank authentifiziert werden, und erteilen Sie anderen Benutzern keine Berechtigungen für bestimmte Datasets.
SQLite und GeoPackages können von mehreren Benutzern gelesen werden, sie sollten die Datenbank jedoch nicht aktualisieren während sie von einem anderen Benutzer bearbeitet wird. Hängen Sie beispielsweise keine Daten an vorhandene Tabellen an bzw. erstellen Sie keine Tabelle in der Datenbank während ein anderer Benutzer Daten an eine vorhandene Tabelle anhängt oder eine Tabelle in der Datenbank erstellt.
Datentypen
SQLite unterscheidet sich außerdem insofern von anderen Datenbanken, dass Felder keinen bestimmten Datentypen zugewiesen und Datentypdefinitionen nicht streng erzwungen werden. Stattdessen verwendet SQLite Speicherklassen, in denen Werte unterschiedlicher Datentypen gespeichert werden können.
ArcGIS kann jedoch nur mit einem Datentyp pro Feld arbeiten und sorgt dafür, dass Datentypen streng erzwungen werden. Sie sollten diesen Unterschied bei der Erzwingung von Datentypen beachten, wenn Sie SQLite-Daten in ArcGIS anzeigen.
Im folgenden Beispiel wird eine Tabelle mit Ganzzahl- und Textfeldern erstellt:
CREATE TABLE mytable (
id INTEGER PRIMARY KEY NOT NULL,
item TEXT,
weight INTEGER,
store TEXT;
Obgleich das Gewichtungsfeld als Ganzzahlfeld definiert ist, lässt SQLite die Speicherung von Zahlen mit Dezimalstellen in diesem Feld zu. Sie können sogar Text darin speichern. Sie können beispielsweise die folgenden Datensätze einfügen:
INSERT INTO mytable (id, item, weight, store) VALUES( 1, “magnetic dual elliptical trainer with seat”, 75, “CardioPlus Equipment”
);
INSERT INTO mytable (id, item, weight, store) VALUES( 2, “superfit treadmill4000”, 81.2, “Sports Pit”
);
INSERT INTO mytable (id, item, weight, store) VALUES( 3, “serenity yoga mat”, .4588, “Aerobic Angels Sporting Goods”
);
INSERT INTO mytable (id, item, weight, store) VALUES( 4, “swim fins”, "two", “The Plunge”
);
Die Werte werden allerdings folgendermaßen in ArcGIS angezeigt, da das Gewichtungsfeld als Ganzzahlfeld definiert ist:
ID | Element | weight | Speichern |
---|---|---|---|
1 | Magnetic Dual Elliptical Trainer mit Sitz | 75 | CardioPlus-Ausrüstung |
2 | superfit treadmill4000 | 81 | Sports Pit |
3 | Serenity Yogamatte | 0 | Aerobic Angels Sporting Goods |
4 | Schwimmflossen | 0 | The Plunge |
Unter In ArcGIS unterstützte DBMS-Datentypen wird aufgelistet, welche SQLite-Datentypen welchen ArcGIS-Datentypen zugeordnet sind.