2009-08-07 2 views
2

REST API를 사용하여 모양 파일을 업로드하려고합니다. 다음은 내가 얻은 오류입니다. 해당 데이터 스토어 없음 : ws1, neteREST Shape 파일 업로드

버전 1.7.5를 restconfig-1.7.5.jar 플러그인과 함께 설치했습니다. 1) 만들기 작업 공간 WS1을

컬 -u : 관리자 : geoserver -v -XPOST -H '콘텐츠 유형 : 텍스트/XML은' '-d ws1'localhost : 8080/여기

내가 할 것입니다 geoserver/휴식/작업 공간

2) 확인 작업 공간

컬 -XGET -H '수락 : 텍스트/XML은'로컬 호스트 : 8080/geoserver/휴식/작업 영역/WS1

대답은 괜찮

3) 업로드 모양 파일

curl -u admin : geoserver -XPUT -H '콘텐츠 유형 : 응용 프로그램/zip'- 데이터 - 바이너리 @ roads.zip 로컬 호스트 : 8080/geoserver/rest/workspaces/ws1/datastores /roads/file.shp

회신 :

경고 : 파일 "roads.zip"에서 데이터를 읽을 수 없습니다,이 빈 POST한다. 파일 압축 해제 오류 : 우편 번호 열기 오류

도움주세요.

답변

2

저는 오늘 같은 문제에 대해 스스로에게 묻고 마침내 해결했습니다. ROS 확장 기능이 포함 된 Geoserver 2.0.2를 실행하고 있습니다. ,

curl -u admin:geoserver -v -XPUT -H 'Content-type: application/zip' --data-binary @/home/shape.zip http://localhost:8085/geoserver/rest/workspaces/ws/datastores/test1/file.shp 

".shp 인"앞의 "파일이"임의의 당신이 좋아하는 것을 사용

다음 curl 명령이 작동된다.

"test1"은 새 데이터 저장소의 이름입니다.

"/home/shape.zip"은 압축 된 Shapefile의 경로입니다. 참고 : Shape 파일은 여러 개의 파일로 구성됩니다. 소개를 보려면 wikipedia를 참조하십시오. Geoserver 용 압축 셰이프는 .shp, .dbf, .shx, .prj를 포함해야합니다.

Java로 개발중인 경우 Java 클라이언트를 사용하여 REST를 통해 Geoserver를 구성 할 수 있습니다. GSRCJ은 Java 1.5+로 작성된 매우 작은 (2 클래스, 0 종속성) 클라이언트입니다. 완전한 구현은 아니지만 셰이프 파일을 Geoserver 등에 업로드하는 작업 코드가 있습니다. 코드 here을 참조하십시오.

+0

shp 파일을 압축해야합니까? 셰이프 파일을 그대로 업로드 할 수 없습니까? – Sam007

+0

글쎄, 쉐이프 파일은 여러 개의 단일 파일로 구성되어 있으므로 ZIP은 모든 파일을 결합하는 데 유용합니다 (예, 필요). "Shapefile"http://en.wikipedia.org/wiki/Shapefile – alfonx

+0

info @alfonx에 감사의 말을 전하는 많은 다른 파일에 대한 설명은 Wikipedia에서 확인하십시오. 그러나이'curl' 메서드를 사용하여 업로드하고 싶습니다. shp를 압축하지 않고 직접 http://docs.geoserver.org/stable/en/user/restconfig/rest-config-examples/rest-config-examples-curl.html#adding-an-existing-shapefile. 그게 가능하니? 나는 그것을 시도하고있다. 그러나 그것은 나에게이 오류 (http : //gis.stackexchange)를 계속주고있다.com/questions/40601/curl-syntax-creating-creating-create-datastore – Sam007