UI없이 래스터 데이터 저장소 및 레이어를 추가하도록 Geoserver 2.0.2 프로그래밍


15

래스터 이미지 디렉토리가 지속적으로 업데이트됩니다. 이 이미지에서 Geotool의 PyramidBuilder 유틸리티를 사용하여 이미지 피라미드를 만들고 있습니다. UI를 사용하지 않고 래스터 데이터 저장소 및 레이어를 Geoserver에 자동으로 추가하려면 cron 작업을 설정해야합니다.

Geoserver 매뉴얼 의 REST 섹션을 살펴본 후 "testWS"라는 작업 공간을 추가 할 수 있었지만 ImagePyramid 데이터 스토어 생성 시도가 작동하지 않았습니다.

데이터 저장소에 액세스 할 수 있기 때문에 shapefile 예제를 확장하고

curl -u admin:geoserver -XPUT -H 'Content-type: text/plain' \ 
   -d '/opt/geoserver_data_dir/2.0.2/data/test_pyramid.pyr' \
    "http://localhost:8080/geoserver/rest/workspaces/testWS/datastores/test_pyramid.pyr/external.imagepyramid?configure=all"

여기서 test_pyramid.pyr은이 위치에서 내 ImagePyramid의 기초입니다.

이로 인해 "No such datastore : test_pyramid"오류가 발생했습니다.

UI를 통해 각 데이터 스토어 및 레이어를 수동으로 추가하지 않고 Geoserver에 새 데이터 스토어 및 레이어를 추가하는 더 좋은 방법이 있습니까? 기존 ImagePyramid를 데이터 저장소 및 레이어로 추가 할 적절한 REST 문을 작성하는 데 도움이 필요합니다.

이것을 할 수있는 Java 코드가 있습니까? Geoserver python 확장을 보았지만 이것도 없었습니다.


1 월 mail-archive.com/geoserver-users@lists.sourceforge.net/… 의이 게시물은 거의 동일한 문제를 설명합니다. 거기에 해결책이 없습니다.
DaveParillo

1
docs.geoserver.org/stable/en/user/restconfig/…의 지오 서버 문서는 이 방법을 사용하여 구성 할 수있는 유일한 데이터 스토어는 Shapefile의 경우 파일, PostGIS의 경우 데이터베이스 또는 원격 웹 기능 서비스의 경우 서버에 있지만 문서가 불완전 할 수 있습니다.
DaveParillo

서버에 POST하는 파일에 실제로 무엇이 있는지 추가 할 수 있습니까?
Ian Turton

그러나 해당 정보가 포함 된 XML 파일을 구성해야합니다.
Ian Turton

내가 게시하려는 것은 Geoserver가 생성하려는 데이터 저장소의 경로입니다. 이 경로는 단일 디렉토리에있는 외부 래스터 파일 세트 (imagepyramid)입니다. 내가 원하는 것은 Geoserver가이 위치 (geoserver와 동일한 파일 시스템에서)에 이미지 피라미드에 대한 데이터 스토어와 레이어를 생성하는 것입니다.
rbrister

답변:


20

UI 외부에서 curl 및 xml을 사용하여 GeoTiff에 대한 작업 공간, 데이터 저장소 및 레이어 (coveragestore)를 다음과 같이 작성할 수 있습니다.

  1. 작업 공간을 작성하십시오.

    curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' \
         -d '<workspace><name>wsgeotiff</name></workspace>' \
         http://localhost:8080/geoserver/rest/workspaces
  2. 그런 다음 데이터 저장소를 작성하십시오.

    curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' \
         -d '<coverageStore>
             <name>wsgeotiff_imageGeoTiffWGS84_1298678792699</name>
             <workspace>wsgeotiff</workspace>
             <enabled>true</enabled>
             <type>GeoTIFF</type>
             <url>/home/gis/image_wgs84.tif</url>
             </coverageStore>' \
         "http://localhost:8080/geoserver/rest/workspaces/wsgeotiff/coveragestores?configure=all"
  3. 그런 다음 레이어를 만듭니다.

     curl -u admin:geoserver -v -XPOST -H 'Content-type: text/xml' \
          -d '<coverage>
              <name>imageGeoTiffWGS84</name>
              <title>imageGeoTiffWGS84</title>
              <nativeCRS>GEOGCS[&quot;WGS 84&quot;,DATUM[&quot;World Geodetic System 1984&quot;,SPHEROID[&quot;WGS 84&quot;,6378137.0, 298.257223563, AUTHORITY[&quot;EPSG&quot;,&quot;7030&quot;]],AUTHORITY[&quot;EPSG&quot;,&quot;6326&quot;]],PRIMEM[&quot;Greenwich&quot;, 0.0, AUTHORITY[&quot;EPSG&quot;,&quot;8901&quot;]],UNIT[&quot;degree&quot;, 0.017453292519943295],AXIS[&quot;Geodetic longitude&quot;, EAST],AXIS[&quot;Geodetic latitude&quot;, NORTH],AUTHORITY[&quot;EPSG&quot;,&quot;4326&quot;]]</nativeCRS>
              <srs>EPSG:4326</srs>
              <latLonBoundingBox><minx>-179.958</minx><maxx>-105.002</maxx><miny>-65.007</miny><maxy>65.007</maxy><crs>EPSG:4326</crs></latLonBoundingBox>
              </coverage>' \
          "http://localhost:8080/geoserver/rest/workspaces/wsgeotiff/coveragestores/wsgeotiff_imageGeoTiffWGS84_1298678792699/coverages"

이 모든 작업이 완료되면 외부 이미지 'image_wgs84.tif'를 가리키는 데이터 저장소와 적용 범위를 표시 할 WMS 계층이 있습니다.

내가 모르는 것은이 기술이 이미지 피라미드 유형 데이터 저장소를 생성하는 기술로 직접 변환되는지 여부입니다.

행운을 빕니다.


위의 질문과 동일한 문제가 있습니다. 잘 정리해 주셔서 감사합니다. 대부분의 솔루션은 혼란 스럽습니다. 그래도 하나의 질문이 있습니다. 귀하의 답변에 래스터의 경계 상자가 입력으로 제공되어야합니다. 이제 위의 솔루션을 스크립트에 넣으면 gdalinfo를 사용하여 경계 상자를 찾을 수 있음을 이해합니다. 그러나 그것은 방금 작업 (구문 분석 등)을 추가했습니다. 내 질문은 지오 서버가 경계 상자를 자동으로 계산하도록 할 수 있습니까? UI에서 래스터를 추가하면 Bounding Box를 계산하기 때문에 그렇게 할 수 있습니다.
Shaunak

3
내 GeoServer 2.2에서는 경계 상자 (및 SRS 등)를 명시 적으로 지정할 필요가 없습니다. 레이어 생성시 파일에서 자동으로이를 탐지합니다 (GeoTIFF 및 ImageMosaic에 대해 테스트). ?recalculate=nativebbox투영 또는 투영 정책이 변경 될 때 기본 경계 상자가 다시 계산되도록 추가로 설정할 수 있습니다 . docs.geoserver.org/stable/en/user/rest/api/…
xandriksson

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