GOV/Webservice/PHP: Unterschied zwischen den Versionen
(Alle Gemeinden und Städte eines Kreises ausgeben) |
(Korr.: searchDescendantsByTypeAtDate (gibt es nicht) -> searchDescendantsByTypeYear, + Beispiel) |
||
Zeile 52: | Zeile 52: | ||
// 18 = Gemeinde, 95 = kreisfreie Stadt, 150 = Stadt, 145 = Markt | // 18 = Gemeinde, 95 = kreisfreie Stadt, 150 = Stadt, 145 = Markt | ||
$list = $client-> | $list = $client->searchDescendantsByTypeYear($county,'18,95,150,145',$today); | ||
$countyname = $client->getNameAtDate($county, $today,'deu'); | $countyname = $client->getNameAtDate($county, $today,'deu'); | ||
Zeile 68: | Zeile 68: | ||
?></php> | ?></php> | ||
Analog in SAS (ohne Ausgabe) | |||
<pre> | |||
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; | |||
</pre> | |||
== Hinweise == | == Hinweise == |
Version vom 3. September 2008, 20:06 Uhr
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> <childTypes xmlns="">18,95,150,145</childTypes> <year xmlns="">2454665</year> </&operation> ;;;; run;
Hinweise
Auf Objektnamen mit Minuszeichen kann folgendermaßen zugegriffen werden: <php>$place->{'postal-code'}</php>