2016-10-27 4 views
0

저는 대학 주변의 여러 실험실의 데이터를 관리하기 위해 대학의 농업 프로그램을위한 서버를 구축하고 있습니다. 이러한 노력의 일부는 모든 교수 및 연구원이 사용할 수있는 성장기의 래스터 데이터 (다중 스펙트럼 .tif 파일)를로드하고 작성하는 것입니다. SQL 서버와 Postgis 확장 기능이 처음이지만 역할을 만들고, 서버를 만들고, 확장 프로그램을 추가하고, 모든 좋은 것들을 추가하는 방법을 알아 냈습니다. 내가 알 수없는 것은 래스터 데이터를 서버에 업로드하는 방법입니다. 현재 localhost에서 테스트 중이지만 결국에는 우분투를 실행하는 서버에로드 할 수 있어야합니다.postgis를 실행하는 postgres 서버에 래스터 데이터를로드하려면 어떻게해야합니까? SQL 함수 나 QGIS를 사용하는 옵션에는 어떤 것이 있습니까?

SQL 명령 raster2pgsql을 사용해 보았지만 실행할 수 없습니다. Postgis의 모든 배포판에서이 기능이 표준입니까? 아니면 다른 소스 (homebrew)에서 확장 프로그램을 다시 설치해야합니까?

QGIS 플러그인 인 "Load them all"을 통해 래스터를로드하려고했는데,이 래스터 또는 래스터 데이터를 로컬 서버에로드 할 수없는 것 같습니다. 이것은 서버에 데이터 배치를로드하는 가장 간단한 방법입니까, 아니면 필요하지 않은가요?

나는이 새로운 과정을 처음 접한 이래로이 간단한 과정을 빠뜨린 것 같지만 도움을 주셔서 감사합니다.

+0

왜 Sql Server에 대해 언급합니까? raster2pgsql은 postgres 전용입니다. –

답변

1

raster2pgsql입니다. 래스터 파일을 PostGIS로 가져 오는 방법입니다.

QGIS의 Raster-> Miscellaneous-> Merge 메서드를 사용하여 먼저 관련 타일을 함께 스티치 한 다음 병합 타일을 geotif 단일 파일로 업로드하면 파일 디렉터리를 업로드하는 데 사용할 수 있습니다.

raster2pgsql을 실행할 수 없다고 말하면이 줄에 따라 오류가 발생했다는 의미입니까?

1) PostGIS와 로컬로 설치됩니다

bash: raster2pgsql: command not found

이 경우 두 가지 문제가 있습니까?

2) 귀하의 경로에 raster2pgsql이 있습니까?

당신이 이미 homebrew를 통해 로컬로 PostGIS를 설치 한 것 같습니다. raster2pgsql이 표준으로 제공되기 때문에 (적어도 제 경험상) bash 환경이 raster2pgsql 실행 경로를 해결할 수 없을 가능성이 높습니다.

당신의 라인을 따라 뭔가 사용하여 포스트 그레스의 경로를 찾을 시도 할 수 :이 조금 바이올린해야 할 수도 있습니다, 그래서 내가 집에서 양조를 사용하지 않는

brew info postgres

참고하고, 다음으로 어딘가에 같은 될 수있는 포스트 그레스의 bin 디렉토리 찾기 위해 결과 경로를 조사 : 또는

/path/to/homebrew/postgres/Versions/9.6/bin/raster2pgsql

을, 당신은 시도 할 수 :

sudo find ~/ -name raster2pgsql

당신은 아직도 그것을 찾을 수없는 경우, 당신은에있는 raster2pgsql를 찾을 수있는 경우 Mac 용 포스트 그레스 앱 다운로드하고 설치하십시오 :

/Applications/Postgres.app/Contents/Versions/9.6/bin/raster2pgsql

하는 경우를 postgres 앱 경로를 사용하면 실제로 앱을 통해 두 번째 또는 대체 Postgres 데이터베이스를 설치하고 실행할 필요가 없습니다. raster2pgsql 실행 파일을 손쉽게 얻을 수있는 편리한 방법입니다.

전체 경로를 찾으면 전체 경로와 함께 raster2pgsql 명령을 호출하면됩니다.

/Applications/Postgres.app/Contents/Versions/9.6/bin/raster2pgsql ...etc...

아니면 사용자 환경 PATH 변수에 포스트 그레스 bin 디렉토리를 추가합니다.