REST tarafından belirli bir Çalışma Alanına yeni bir Coveragestore ekleme


9

Yani, göründüğü kadar basit bir şey ama çalışmasını sağlayamıyorum! Linux curl kullanarak REST API yoluyla geoserver için raster veri dosyası (GeoTIFF) eklemek çalışıyorum. REST API edilir bunu kullanarak yeni bir çalışma alanı yarattı beri, çalışma:

curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' \
 -d '<workspace><name>restProba</name></workspace>' \
 http://localhost:8080/geoserver/rest/workspaces

Geoserver'ın yönetici kullanıcı arabiriminde gösterildiği gibi doğru bir şekilde oluşturuldu, ancak çalıştırarak bu çalışma alanına bir coveragestore eklemeye çalıştığımda

curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' -d
'<coverageStore><name>int_dec</name><enabled>true</enabled>
<type>GeoTIFF</type> <url>$home/int_dec.tif</url></coverageStore>'     
"http://localhost:8080/geoserver/rest/workspaces/restProba/coveragestores?configure=all"

doğru bir şekilde yüklenmiş olsa da, doğrudan varsayılan çalışma alanına gider, bu da onu istediğim değil. Hangi çalışma alanını istediğimi tanımlamanın herhangi bir yolu var mı? URL'de restProba'nın çalışma alanı URI'sine işaret ettiğimden bahsederek yeterli olacağını düşündüm ama atlıyor gibi görünüyor.

Yardımın için teşekkürler :-)

pd: geoserver ile acemi, ben bunu aramaya çalıştım ama ya doğru arama kriterleri kullanmıyorum, aptal im ya da herkes sormak için bile aptal olduğumu sormak için çok basit: p

Yanıtlar:


5

Belki de çalışma alanını oluşturduktan sonra deneyebilirsiniz:

curl -u admin:geoserver -v -XPOST -H 'Content-Type: application/xml' \
     -d '<coverageStore><name>int_dec</name><workspace>restProba</workspace>  
         <enabled>true</enabled></coverageStore>' \
         http://localhost:8080/geoserver/rest/workspaces/restProba/coveragestores

Bu adında bir coveragestore oluşturmalısınız int_deciçinde restProbaçalışma ::

Daha sonra GeoTIFF dosyasına başvurabilirsiniz:

curl -u admin:geoserver -v -XPUT -H 'Content-type: text/plain' \
     -d 'file:/$home/int_dec.tif' \
      http://localhost:8080/geoserver/rest/workspaces/restProba/coveragestores/int_dec/external.geotiff?configure=first\&coverageName=int_dec

Bence problemin eksik '

Talebiniz:

curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' -d
<coverageStore><name>int_dec</name><enabled>true</enabled>
<type>GeoTIFF</type> <url>$home/int_dec.tif</url></coverageStore>'     
"http://localhost:8080/geoserver/rest/workspaces/restProba/coveragestores?configure=all"

Olmalıydı:

curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' -d
'<coverageStore><name>int_dec</name><enabled>true</enabled>
<type>GeoTIFF</type> <url>$home/int_dec.tif</url></coverageStore>'     
"http://localhost:8080/geoserver/rest/workspaces/restProba/coveragestores?configure=all"


Kontrol ve hayır, düzgün isteği yaptım. İyi yakalayın tho, soruyu düzeltebilirim :) (im biraz rahatladım, küçük
düşürülemezdim

1
En azından sorun çözülecek ;-) Cevabımı güncelledi. Umarım şimdi çalışır.
RK

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.