REST에 의해 특정 작업 공간에 새 Coveragestore 추가


9

그래서 간단한 것처럼 보이지만 작동시킬 수는 없습니다! Linux에서 curl을 사용하여 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

Geoserver의 관리 UI에 표시된 것처럼 올바르게 생성되었지만 실행하여 해당 작업 영역에 커버리지 저장소를 추가하려고하면

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"

올바르게로드 된 경우에도 기본 작업 공간으로 직접 이동합니다. 기본 작업 공간은 원하는 작업 공간이 아닙니다. 원하는 작업 공간을 정의하는 방법이 있습니까? 나는 proPro의 작업 공간 URI를 가리키는 URL에 언급하면 ​​충분하다고 생각했지만 그것을 생략하는 것 같습니다.

당신의 도움을 주셔서 감사합니다 :-)

pd : 지오 서버 초보자, 나는 이것을 검색하려고 시도했지만 올바른 검색 기준을 사용하지 않거나 바보이거나 누군가에게 물어보기가 어리 석다는 것을 묻는 것은 너무 간단합니다 : 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에서 호출되는 coveragestore를 작성해야합니다.restProba

그런 다음 GeoTIFF 파일을 참조 할 수 있습니다.

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"


그것을 확인하고 아니오, 나는 요청을 올바르게했다. 좋은 캐치 상점, 나는 질문 : 수정합니다 (그것은 내가 창피 할 것없는,이었다 안심의 메신저 종류!)
미켈 G. Gainza

1
적어도 당신의 문제는 해결 될 것입니다 ;-) 내 답변을 업데이트했습니다. 나는 그것이 지금 작동하기를 바랍니다.
RK

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

"REST 구성 예 : 기존 모양 파일 추가"에 자세한 내용이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.