Suite

Créer une banque de données geotiff dans geoserver


je suis capable de créer un magasin de données dans le géoserveur, mais lorsque j'essaie d'y accéder dans la console d'administration du géoserveur, j'obtiens cette erreur :

impossible de charger les données choisies, vérifiez que le module loader est installé (désolé pour cette horrible traduction car le message d'erreur est en français)

et voici le code :

public function createGeoTiffDataStore($datastoreName, $workspaceName, $location) { $data = ' '.htmlentities($datastoreName, ENT_COMPAT).' GéoTIFF vrai  fichier : '.htmlentities($location, ENT_COMPAT).' '.htmlentities($workspaceName, ENT_COMPAT).''; return $this->runApi('workspaces/' . urlencode($workspaceName). '/datastores', 'POST', $data); } fonction privée runApi($apiPath, $method = 'GET', $data =", $contentType = 'text/xml') { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $this->serverUrl. 'rest/'.$apiPath); curl_setopt($ch, CURLOPT_USERPWD, $this->username.":".$this->password); if ($method == 'POST') { curl_setopt($ch, CURLOPT_POST , true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); } else if ($method == 'DELETE' || $method == 'PUT') { curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); } if ($data !=") { curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: $contentType", 'Content-Length: '.strlen($data)) ); } curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, vrai); $rslt = curl_exec($ch); $info = curl_getinfo($ch); if ($info['http_code'] == 401) { return 'Accès refusé. Vérifiez les identifiants de connexion.'; } else { return $rslt; } }

ok je suppose que j'ai trouvé le problème :

1) je change mon xml en ceci :

 '.htmlentities($datastoreName, ENT_COMPAT).' GéoTIFF vrai  fichier : '.htmlentities($location, ENT_COMPAT).' '.htmlentities($workspaceName, ENT_COMPAT).'

2) je change mon url en target de coverStore comme ceci :

return $this->runApi('workspaces/' . urlencode($workspaceName). '/coveragestores', 'POST', $data);

donc le problème était que j'utilisais le mauvais schéma XML et que je visais la mauvaise API, corrigez-moi si je me trompe

meilleures salutations.


Voir la vidéo: Export layers from QGIS to Geoserver (Octobre 2021).