GOV/Qualitätskontrolle: Unterschied zwischen den Versionen
Zeile 131: | Zeile 131: | ||
FROM GovItem p, Relation r | FROM GovItem p, Relation r | ||
WHERE p.deleted =1 AND parent =p.id; | WHERE p.deleted =1 AND parent =p.id; | ||
=== Orte an den Rändern von Einheiten === | |||
im Norden: | |||
SELECT c.* FROM GovItem i JOIN p ON p.ende=i.id JOIN GovItem c ON p.anfang=c.id | |||
WHERE i.textualId='OBJEKTKENNUNG' ORDER BY c.latitude DESC LIMIT 1; | |||
im Süden: | |||
SELECT c.* FROM GovItem i JOIN p ON p.ende=i.id JOIN GovItem c ON p.anfang=c.id | |||
WHERE i.textualId='OBJEKTKENNUNG' ORDER BY c.latitude ASC LIMIT 1; | |||
im Westen: | |||
SELECT c.* FROM GovItem i JOIN p ON p.ende=i.id JOIN GovItem c ON p.anfang=c.id | |||
WHERE i.textualId='OBJEKTKENNUNG' ORDER BY c.longitude ASC LIMIT 1; | |||
im Osten: | |||
SELECT c.* FROM GovItem i JOIN p ON p.ende=i.id JOIN GovItem c ON p.anfang=c.id | |||
WHERE i.textualId='OBJEKTKENNUNG' ORDER BY c.longitude DESC LIMIT 1; | |||
== Kennzahlen == | == Kennzahlen == |
Version vom 20. Juni 2006, 10:41 Uhr
Fehlersuche mit Taxo 2 Map
Das Programm Taxo 2 Map erlaubt eine sehr schnelle und effiziente grafische Kontrolle aller Orte, bei denen geografische Koordinaten angegeben wurden. Das Programm zeigt alle Orte auf Karten an. Dabei können aus einer Liste verschiedene Landkreise oder Regierungsbezirke aktiviert werden.
Eine Erläuterung der Vorgehensweise ist im PDF-Dokument zu finden.
Taxo 2 Map ist keine kostenlose Software, eine Lizenz kann aber über den Verein für Computergenealogie für GOV-Mitarbeiter erworben werden.
Anwendungsbeispiel für Taxo 2 Map:
Exemplarisch wurde eine Auswertung für den Regierungsbezirk Tübingen erstellt. Links ist die Verteilung der Daten auf die administrativen Bereiche zu sehen, rechts die Visualisierung aller Orte.
Über den Link Datenanzeige wird eine separate htm-Seite geöffnet, welche die Grafik erneut anzeigt, jedoch wird dort beim Überfahren eines Punktes mit der Maus der entsprechende Ort als Quickinfo angezeigt.
Datenanzeige |
Für die einzelnen Landkreise ergeben sich folgende Auswertungen:
Es sind ca. 23-25 Orte erkennbar, die nicht direkt der üblichen "Haufenbildung" einer administrativen Einheit folgen. Diese Orte bedürfen eventuell einer Korrektur der geographischen Koordinaten oder der administrativen Zuordnung.
Fehlersuche in Datenbank
Objekte ohne Namen
Vielfach werden in GOV Kindobjekte aufgelistet, die keinen Namen haben und die damit auch nicht als Objekt editierbar oder löschbar sind. Diese Objekte sollten über einen Suchmechanismus gefunden werden können und dann gelöscht werden.
SELECT o.textualId FROM GovItem o LEFT JOIN Property n ON n.gov_object=o.id AND n.type=1 WHERE o.deleted=0 AND o.itemClass='o' AND n.id IS NULL;
Objekte ohne Typ
SELECT o.textualId FROM GovItem o LEFT JOIN Property t ON tt.gov_object=o.id AND t.type=2 WHERE o.deleted=0 AND o.itemClass='o' AND tt.id IS NULL;
Kirchen ohne Standort
SELECT o.textualId FROM Property t, GovItem o LEFT JOIN Relation r ON r.child=t.gov_object AND r.type=2 WHERE t.type=2 AND t.typeObject=26 AND o.id=t.gov_object AND r.parent IS NULL;
Kirchspiele ohne Kirche
Relevante Objekt-Typen:
- 29 (Kirchspiel)
- 42 (Pfarrei)
- 81 (Kloster)
- 92 (Kirchengemeinde)
SELECT o.textualId from Property t, GovItem o LEFT JOIN Relation r ON r.parent=t.gov_object AND r.type=3 WHERE t.type=2 and t.typeObject IN (29,92,42,81) AND o.id=t.gov_object and r.child IS NULL;
Religiöse Objekte ohne Konfession
Relevante Objekt-Typen:
- 26 (Kirche)
- 29 (Kirchspiel)
- 42 (Pfarrei)
- 81 (Kloster)
- 92 (Kirchengemeinde)
SELECT o.textualId from Property t, GovItem o LEFT JOIN Property k ON k.gov_object=t.gov_object AND k.type=7 WHERE t.type=2 and t.typeObject IN (26,29,92,42,81) AND o.id=t.gov_object AND k.id IS NULL;
Orte und Ortsteile mit falscher PLZ
- Länge der PLZ = 1 (z.B. nur "O" oder "W")
- kein Jahr bis bei PLZ die mit "O" oder "W" beginnt
- in DE: Länge PLZ = 4
Orte und Koordinaten im übergeordneten Objekt
- Orte in einem Bundesland/Regierungsbezirk, die keine Koordinaten haben
SELECT distinct ri.ende, textualId FROM GovItem i JOIN Property p ON i.id=p.gov_object AND p.type=2 JOIN Type t ON t.id=typeObject JOIN p ri ON ri.anfang=i.id AND ri.ende in (1312, 1315, 1322, 1324, 1325, 1326, 1331, 1332, 1338, 1342, 1346, 1351, 1359, 1360, 1363, 1364, 1365, 1369, 1373, 191050, 211667, 213750) WHERE itemClass='o' AND deleted=0 AND (latitude is null or latitude=0) AND position=1
- Orte die identische Koordinaten in einem Bundesland/Regierungsbezirk haben
Orte ohne Koordinate
Gelöschte Objekte und solche mit einem Typ, der keine Position zuläßt, dürfen nicht mitgezählt werden.
SELECT count(distinct textualId) FROM GovItem i JOIN Property p ON i.id=p.gov_object AND p.type=2 JOIN Type t ON t.id=typeObject WHERE itemClass='o' deleted=0 and latitude is null or latitude=0 and position=1;
Gelöschte Objekte mit Kindern
Ein gelöschtes Objekt darf nie als Elternobjekt eingetragen sein.
SELECT DISTINCT textualId FROM GovItem p, Relation r WHERE p.deleted =1 AND parent =p.id;
Orte an den Rändern von Einheiten
im Norden:
SELECT c.* FROM GovItem i JOIN p ON p.ende=i.id JOIN GovItem c ON p.anfang=c.id WHERE i.textualId='OBJEKTKENNUNG' ORDER BY c.latitude DESC LIMIT 1;
im Süden:
SELECT c.* FROM GovItem i JOIN p ON p.ende=i.id JOIN GovItem c ON p.anfang=c.id WHERE i.textualId='OBJEKTKENNUNG' ORDER BY c.latitude ASC LIMIT 1;
im Westen:
SELECT c.* FROM GovItem i JOIN p ON p.ende=i.id JOIN GovItem c ON p.anfang=c.id WHERE i.textualId='OBJEKTKENNUNG' ORDER BY c.longitude ASC LIMIT 1;
im Osten:
SELECT c.* FROM GovItem i JOIN p ON p.ende=i.id JOIN GovItem c ON p.anfang=c.id WHERE i.textualId='OBJEKTKENNUNG' ORDER BY c.longitude DESC LIMIT 1;
Kennzahlen
Manche Kennzahlen geben Auskunft über die Entwicklung der Qualität der im GOV enthaltenen Daten.
Anzahl Orte mit Position
SELECT count(*) FROM GovItem WHERE itemClass ='o' AND latitude >0;
Anzahl Orte ohne Position
SELECT count( distinct textualId) FROM GovItem i , Property p, Type t WHERE (latitude =0 or latitude is null) and itemClass='o' AND gov_object=i.id AND propertyClass='t' and typeObject=t.id and t.locatedIn=1 ;
- Anzahl Orte ohne Elternobjekt
- Anzahl Werte mit Quellenangaben
- Verteilung Anzahl Elternobjekte
- Verteilung Verschachtelungstiefe
- Verteilung Anzahl Kindobjekte
- Objekte mit vielen Kindobjekte