GOV/Webservice/PHP

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.

Wechseln zu: Navigation, Suche
test

Inhaltsverzeichnis

[bearbeiten] Position ausgeben

Dieses Skript gibt den (ersten) Namen und die Position des Ortes aus:

<?php
$readclient = new SoapClient('http://gov-test.genealogy.net/services/SimpleService?wsdl');
$place =$readclient->getObject('SCHERGJO54EJ');
 
$name = $place->name->value;
$latitude = $place->position->lat;
$longitude = $place->position->lon;
 
echo $name ." liegt bei ".$longitude."°O ".$latitude."°N.\n";
?>

[bearbeiten] Position setzen

So setzt man die Position eines Objektes:

<?php
$readclient = new SoapClient('http://gov-test.genealogy.net/services/SimpleService?wsdl');
$writeclient = new SoapClient('http://gov-test.genealogy.net/services/ChangeService?wsdl');
$place =$readclient->getObject('SCHERGJO54EJ');
 
$place->position->lat=54.3936;
$place->position->lon=10.3707;
 
$writeclient->saveObject($place,'5000','5000');
?>


[bearbeiten] GOV-Kennung prüfen

Dieses Skript prüft, ob eine gegebene GOV-Kennung gültig ist:

<?php
$id = 'SCHERGJO54EJ';
 
$readclient = new SoapClient('http://gov.genealogy.net/services/SimpleService?wsdl');
$checkedId =$readclient->checkObjectId($id);
 
if( $id == $checkedId ) {
        echo "$id is valid.\n";
} else if( $id == '' ) {
        echo "$id is invalid.\n";
} else {
        echo "$id has been replaced with $checkedId.\n";
}
?>

[bearbeiten] Alle Gemeinden und Städte eines Kreises ausgeben

<?php
$county = 'adm_131058'; // Rendsburg-Eckernförde (Schleswig-Holstein)
 
$today = 2454665;  // Julianisches Datum
 
$client = new SoapClient('http://gov-test.genealogy.net/services/SimpleService?wsdl');
 
// 18 = Gemeinde, 95 = kreisfreie Stadt, 150 = Stadt, 145 = Markt
$list = $client->searchDescendantsByTypeYear($county,'18,95,150,145',$today);
 
$countyname = $client->getNameAtDate($county, $today,'deu');
echo "== Gemeinden und Städte in $countyname == \n";
 
$names = array();
foreach( $list->item as $id ) {
        $names[$id] = $client->getNameAtDate($id, $today,'deu');
}
 
asort ($names);
foreach ($names as $id => $name) {
    echo "* [[$id|$name]]\n";
}
 
?>

Analog in SAS (ohne Ausgabe)

FILENAME REQUEST  "c:\temp\request.xml";
FILENAME RESPONSE "c:\temp\response.xml";
%let operation=searchDescendantsByTypeYear;

data _null_;
   file request;
   input;
   _infile_ = resolve(_infile_);
   put _infile_;
   datalines4;
   <&operation xmlns="http://gov.genealogy.net/ws">
    <parentId xmlns="">adm_131058</parentId>
    <childTypes xmlns="">18,95,150,145</childTypes>
    <year xmlns="">2454665</year>
    </&operation>
;;;;
run;

[bearbeiten] Hinweise

Auf Objektnamen mit Minuszeichen kann folgendermaßen zugegriffen werden:

$place->{'postal-code'}
Persönliche Werkzeuge