REST द्वारा एक निश्चित कार्यक्षेत्र में एक नया कवरगैस्टोर जोड़ना


9

तो, साधारण सी बात है क्योंकि ऐसा लगता है लेकिन मैं इसे काम नहीं कर सकता! मैं रेखीय पर कर्ल का उपयोग करते हुए REST API के माध्यम से जियोसर्वर के लिए एक रैस्टर डेटा फ़ाइल (GeoTIFF) जोड़ने की कोशिश कर रहा हूं। REST API का है काम कर रहा है, क्योंकि मैं इसे का उपयोग कर एक नया कार्यक्षेत्र बनाया:

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

यह सही ढंग से बनाया गया है जैसा कि जियोसर्वर के व्यवस्थापक यूआई द्वारा दिखाया गया है, लेकिन जब मैं काम करके उस कार्यक्षेत्र में एक कवरगैस्टोर जोड़ने की कोशिश करता हूं

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"

भले ही यह सही ढंग से भरा हुआ है, यह सीधे डिफ़ॉल्ट कार्यक्षेत्र में जाता है, जो कि मैं इसे नहीं चाहता हूं। क्या यह परिभाषित करने का कोई तरीका है कि मैं इसे किस कार्यक्षेत्र में चाहता हूं? मुझे लगा कि URL में इसका उल्लेख करने से मैं काफी हद तक ठीक हो जाऊंगा, जहां मैं 'रेपोबा' के कार्यक्षेत्र यूआरआई की ओर इशारा करता हूं, लेकिन लगता है इसे छोड़ दिया जाए।

आपकी सहायता के लिए धन्यवाद :-)

pd: geoserver के साथ नौसिखिया, मैंने इसके लिए खोज करने की कोशिश की है, लेकिन या तो मैं सही खोज मापदंड का उपयोग नहीं कर रहा हूँ, किसी मूर्ख को im कर रहा हूं या किसी के लिए भी यह पूछना बहुत आसान है कि मैं इसे पूछने के लिए मूर्ख हूं: p

जवाबों:


5

शायद आप कार्यक्षेत्र बनाने के बाद यह कोशिश कर सकते हैं:

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

इसे कार्यक्षेत्र int_decमें एक कवरगैस्टर कहा जाना चाहिए restProba::

आप फिर जियोटीफ़ फ़ाइल का संदर्भ ले सकते हैं:

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

मुझे लगता है कि आपकी समस्या गायब है '

आपका अनुरोध था:

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"

यह होना चाहिए था:

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"


यह जाँच की और मुझे पता है, मैं ठीक से अनुरोध किया था। अच्छी पकड़ थी, मैं सवाल को सही करूँगा :) (जिस तरह की राहत मिली थी,
वैसा

1
कम से कम आपकी समस्या हल हो जाएगी ;-) मेरे उत्तर को अपडेट करें। मुझे उम्मीद है कि अब यह काम करेगा।
आरके

1

एक कदम में एक GeoTIFF स्टोर और उसी नाम की एक परत जोड़ने के लिए जिसे आप निष्पादित कर सकते हैं:

$ curl -v -u admin:geoserver -XPUT -H "Content-type: text/plain"
       -d "file:///path_to_directory/int_dec.tif"
       http://localhost:8080/geoserver/rest/workspaces/restProba/coveragestores/int_dec/external.geotiff

"रीस्ट कॉन्फ़िगरेशन उदाहरण: एक मौजूदा शेपफाइल जोड़ना" में अधिक विवरण ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.