SQLite und ArcGIS

Sie können eine Verbindung von ArcGIS mit einer SQLite-Datenbank herstellen, um Karten zu erstellen und räumliche Analysen für Daten durchzuführen.

Sie stellen eine direkte Verbindung mit der SQLite-Datenbank über den ArcGIS-Client her. Weitere Anweisungen finden Sie unter Herstellen einer Verbindung mit SQLite.

Sie müssen entweder den Esri Typ "ST_Geometry" oder SpatiaLite in der SQLite-Datenbank installieren, um räumliche Daten darin zu speichern. Sie müssen einen dieser Typen verwenden, es können nicht beide in derselben SQLite-Datenbank verwendet werden. Mithilfe der ArcPy-Funktion CreateSQLiteDatabase können Sie eine SQLite-Datenbank mit einem dieser beiden Datentypen erstellen.

SQLite-Daten in ArcGIS

Zugreifen auf die Daten

Sie steuern den Zugriff auf eine SQLite-Datenbank, indem Sie die Berechtigungen für den Ordner steuern, in dem die SQLite-Datenbank gespeichert ist. 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 kann von mehreren Benutzern gelesen werden, sie sollten die Datenbank jedoch nicht aktualisieren während sie von einem anderen Benutzer aktualisiert 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.

Verwandte Themen

5/12/2014