Dans le cadre d'une solution possible à cette question, je veux créer une couche dans GeoServer via REST qui fournit une instruction SQL avec un ID utilisateur.
Lecture Je pense que je créerais un type d' entité et le publierais? Je dois tout faire dans REST. Quelqu'un at-il des exemples de code?
Réponses:
Il y a beaucoup de choses que vous pouvez faire avec l'API REST GeoServer qui ne sont pas spécifiquement documentées et pour lesquelles il n'y a pas d'exemples de code. Voici la stratégie pour y faire face.
Commencez d'abord par les exemples de la documentation . Assurez-vous que vous savez comment créer une nouvelle couche ou un nouvel espace de travail à l'aide d'un HTTP POST avec XML ou JSON.
Ensuite, via l'interface utilisateur GeoServer, créez manuellement l'objet dont vous avez besoin pour lequel il n'y a pas de documentation (dans ce cas, un type d'entité).
Enfin, accédez manuellement à l'index GeoServer REST (
http://your-server/rest
ouhttp://your-server/geoserver/rest
). Parcourez l'index jusqu'à ce que vous trouviez le type d'entité que vous venez de créer. Ajoutez ".xml" ou ".json" à l'URL de cette ressource, et vous verrez sa représentation XML ou JSON.Cette représentation est ce dont vous auriez eu besoin pour POST pour créer le type d'entité via l'API. L'URL de la représentation est l'URL dont vous auriez eu besoin pour POSTER (par exemple,
http://your-server/geoserver/rest/..../myFeatureTypeName.json
).Vous pouvez utiliser cette stratégie pour comprendre comment créer ou configurer par programme n'importe quelle ressource dans GeoServer.
la source
featuretypes
point de terminaison du magasin, par exemplegeoserver/rest/workspaces/<workspacename>/datastores/<storename>/featuretypes/
Je sais que c'est une vieille question, mais juste au cas où quelqu'un d'autre serait confus comme moi. La partie importante est que vous ne pouvez pas créer une couche à partir du point de terminaison http: // geoserver / rest / couches .
Si vous cherchez à ajouter une couche vectorielle, cela se fait via la ressource de type d'entité:
http://docs.geoserver.org/stable/en/user/rest/api/featuretypes.html
UN POSTE pour:
où se trouve l'espace de travail sous lequel vous souhaitez que le type d'entité vive, et la source de données à utiliser créera un nouveau type d'entité vectorielle, c'est-à-dire une couche.
Si vous vous demandez ce que vous pouvez POSTER, @Rohan est correct, le moyen le plus simple est de rechercher un type d'entité existant, IE un http GET pour
qui renverra un type d'entité existant en tant que json.
la source
Votre meilleure référence est dans le guide de l'utilisateur. http://docs.geoserver.org/stable/en/user/rest/examples/index.html
la source
Si vous comprenez Java, vous voudrez peut-être jeter un œil à ce code simple qui utilise REST pour effectuer toutes sortes d'opérations sur GeoServer.
la source
Pour ajouter un calque, un magasin de données et un type de fonction doivent être définis. En supposant qu'ils sont déjà définis avec un style (comme décrit dans le guide à http://boundlessgeo.com/2012/10/adding-layers-to-geoserver-using-the-rest-api/ pour ajouter une couche un PUT la demande doit être envoyée à geoserver à:
Avec un contenu de données comme:
la source