GOV/Qualitätskontrolle

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.
Zur Navigation springen Zur Suche springen

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.

Installationssatz Viewer-Version Taxo 2 Map - Kartenmaterial - GOV-Daten

(im Aufbau: die Links funktionieren noch nicht)

Die Programmteile können über folgende Links heruntergeladen werden:

Taxo 2 Map Viewer: Installationssatz

Kartenmaterial: DeutschlandÖsterreichTschechische RepublikBeneluxDänemark

GOV-Daten: Deutschland

Die Ortslisten für die Ortsuche werden direkt aus dem Programm heruntergeladen (siehe Handbuch).

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.

T2M Tuebingen Eintraege.jpg T2M Regierungsbezirk Tuebingen.jpgDatenanzeige

Für die einzelnen Landkreise ergeben sich folgende Auswertungen:

T2M Alb-Donau-Kreis.jpg T2M Biberach.jpg T2M Bodenseekreis.jpg
Datenanzeige Alb-Donau-Kreis Datenanzeige Biberach Datenanzeige Bodenseekreis
     
T2M Ravensburg.jpg T2M Reutlingen.jpg T2M Sigmaringen.jpg
Datenanzeige Ravensburg Datenanzeige Reutlingen Datenanzeige Sigmaringen
T2M Tuebingen.jpg T2M Ulm.jpg T2M Zollernalbkreis.jpg
Datenanzeige Tübingen Datenanzeige Ulm Datenanzeige Zollernalbkreis

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;

Objekte, die einem gleichnamigen Objekt zugeordnet sind

Das müssen nicht unbedingt Fehler sein, aber an einigen Stellen kann man so Probleme finden.

SELECT p1.content, i1.textualId, tn1.value, i2.textualId, tn2.value 
  FROM GovItem i1, GovItem i2, Property p1, Property p2, 
       Property t1, Property t2, p, type_names tn1, type_names tn2 
  WHERE p.anfang=i1.id and p.ende=i2.id AND i2.id=p2.gov_object 
   AND p2.type=1 AND  i1.id= p1.gov_object AND p1.type=1 AND p1.content=p2.content 
   AND t1.gov_object=i1.id and t2.gov_object=i2.id AND t1.type=2 and t2.type=2 
   AND t1.typeObject=tn1.type_id and tn1.language='deu'
   and t2.typeObject=tn2.type_id and tn2.language='deu' 
   AND t2.typeObject NOT IN (1,5,9,25,29,32,36,42,46,53,94,99,100,103) limit 10;

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