GOV/Webservice/PHP
Position ausgeben
Dieses Skript gibt den (ersten) Namen und die Position des Ortes aus: <php><?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"; ?></php>
Position setzen
So setzt man die Position eines Objektes: <php><?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'); ?></php>
GOV-Kennung prüfen
Dieses Skript prüft, ob eine gegebene GOV-Kennung gültig ist: <php><?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";
} ?></php>
Alle Gemeinden und Städte eines Kreises ausgeben
<php><?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 "* $name\n";
}
?></php>
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> <childType xmlns="">18,95,150,145</childType> <year xmlns="">2454665</year> </&operation> ;;;; run; proc soap in=REQUEST out=RESPONSE url="http://gov.genealogy.net/services/SimpleService#wsdl" ; run;
Hinweise
Auf Objektnamen mit Minuszeichen kann folgendermaßen zugegriffen werden: <php>$place->{'postal-code'}</php>