Sebagai bagian dari solusi yang memungkinkan untuk pertanyaan ini saya ingin membuat layer di GeoServer via REST yang memasok pernyataan SQL bersama dengan userid.
Membaca Saya pikir saya akan membuat jenis fitur dan menerbitkannya? Saya perlu melakukan ini semua dalam REST. Adakah yang punya contoh kode?
Jawaban:
Ada banyak hal yang dapat Anda lakukan dengan GeoServer REST API yang tidak secara khusus didokumentasikan dan tidak ada contoh kode untuk. Inilah strategi untuk menanganinya.
Pertama, mulailah dengan contoh - contoh dalam dokumentasi . Pastikan Anda terbiasa dengan cara membuat lapisan atau ruang kerja baru yang sederhana menggunakan HTTP POST dengan XML atau JSON.
Kemudian, melalui GeoServer UI, secara manual buat objek yang Anda butuhkan yang tidak ada dokumentasi (dalam hal ini, tipe fitur).
Terakhir, telusuri secara manual ke indeks GeoServer REST (
http://your-server/rest
atauhttp://your-server/geoserver/rest
). Jelajahi indeks sampai Anda menemukan jenis fitur yang baru saja Anda buat. Tambahkan ".xml" atau ".json" ke URL sumber ini, dan Anda akan melihat representasi XML atau JSON-nya.Representasi ini adalah apa yang Anda perlukan untuk POST untuk membuat jenis fitur melalui API. URL representasi adalah URL yang Anda perlukan untuk POST (misalnya,
http://your-server/geoserver/rest/..../myFeatureTypeName.json
).Anda dapat menggunakan strategi ini untuk mengetahui cara membuat atau mengonfigurasi sumber daya apa pun di GeoServer secara terprogram.
sumber
featuretypes
titik akhir toko, misalnyageoserver/rest/workspaces/<workspacename>/datastores/<storename>/featuretypes/
Saya tahu ini adalah pertanyaan lama, tapi siapa tahu ada orang yang bingung seperti saya. Bagian yang penting adalah Anda tidak dapat membuat layer dari titik akhir http: // geoserver / rest / layers .
Jika Anda ingin menambahkan layer vektor, ini dilakukan melalui sumber daya tipe fitur:
http://docs.geoserver.org/stable/en/user/rest/api/featuretypes.html
POST ke:
di mana ruang kerja tempat Anda ingin tipe fitur hidup, dan sumber data yang digunakan akan membuat tipe fitur vektor baru, yaitu layer.
Jika Anda bertanya-tanya tentang apa yang dapat Anda POST, @Rohan benar, cara termudah adalah dengan menanyakan jenis fitur yang ada, yaitu http dan dapatkan
yang akan mengembalikan tipe fitur yang ada sebagai json.
sumber
Referensi terbaik Anda ada di buku petunjuk. http://docs.geoserver.org/stable/en/user/rest/examples/index.html
sumber
Jika Anda mengerti Java, Anda mungkin ingin melihat kode sederhana ini yang menggunakan REST untuk melakukan semua jenis operasi di GeoServer.
sumber
Untuk menambahkan layer, datastore dan jenis feature harus didefinisikan. Dengan asumsi mereka sudah didefinisikan bersama dengan gaya (seperti yang dijelaskan dalam panduan di http://boundlessgeo.com/2012/10/adding-layers-to-geoserver-using-the-rest-api/ untuk menambahkan layer PUT permintaan harus dikirim ke geoserver di:
Dengan konten data seperti:
sumber