누군가 postgis를 설치하고 우분투에 대한 Tiger 데이터를로드하는 것에 대한 바보 가이드를 바보라고 쓸 수 있을까요? 나는 몇 가지 가이드, 즉 http://wiki.bitnami.com/@api/deki/pages/302/pdf를 시도했지만 운이 좋지 않습니다. 이 질문의 개방형 성격에 대해 사과드립니다.
누군가 postgis를 설치하고 우분투에 대한 Tiger 데이터를로드하는 것에 대한 바보 가이드를 바보라고 쓸 수 있을까요? 나는 몇 가지 가이드, 즉 http://wiki.bitnami.com/@api/deki/pages/302/pdf를 시도했지만 운이 좋지 않습니다. 이 질문의 개방형 성격에 대해 사과드립니다.
답변:
PostGIS 2.1.1이 있으므로 게임보다 앞서 있습니다. wget이 설치되어 있는지 확인하십시오. Census FTP 사이트에서 데이터를 다운로드합니다.
다음을 사용하여 gisdata 디렉토리를 작성하십시오.
sudo mkdir /gisdata
chown 및 chgrp 명령을 사용 하여 일반 사용자가 / gisdata를 읽고 쓸 수 있도록 / gisdata의 소유권과 그룹을 변경하십시오.
psql을 시작하고 데이터베이스에 연결하십시오. psql을 사용하면
\a
과
\t
쿼리 결과가 올바르게 형식화되도록합니다.
나는 처음에이 부분을 잊었다! 로더 스크립트를 사용하려면 먼저 집 청소를해야합니다. 먼저 호랑이 스키마가 검색 경로 에 있는지 확인해야합니다 . 다음으로 tiger.loader_platform 및 tiger.loader_variables의 값을 확인하십시오. 이 두 테이블은 사용자 이름 및 비밀번호와 같은 로더 스크립트의 변수를 제어합니다. 나는 보통 PGAdmin에서 편집합니다. 다음으로 지오 코더에 필요한 룩업 테이블 및 배경 비트를 채우는 스크립트를 실행해야합니다. 먼저 출력 파일을 설정하십시오.
\o nation_generator.sh
그런 다음 다음을 실행하십시오.
SELECT loader_generate_nation_script('sh');
그런 다음 psql을 종료하고 파일을 실행하십시오.
sh ./nation_generator.sh
그런 다음 psql로 돌아가서 다음을 입력하십시오.
\o loader_script.sh
loader_script.sql이라는 텍스트 파일로 쿼리 결과를 출력합니다. 그런 다음 로더 스크립트를 생성하는 함수를 실행하십시오.
SELECT loader_generate_script(ARRAY['DC','RI'], 'sh');
출력이 loader_script.sql로 경로 재 지정되는 조회입니다. 'DC'와 'RI'를 다운로드하려는 상태의 두 글자 약어로 바꿉니다.
psql을 종료하고 다음 명령으로 스크립트를 실행하십시오.
sh ./loader_script.sh
선택한 상태에 대한 파일을 다운로드하고 압축을 풀고 PostGIS 데이터베이스로 데이터를 가져옵니다.
이 사이트에는 PostGIS 설치를 다루는 여러 가지 답변이 있습니다. 여기에 하나의 , 그리고 닉 고티에의 솔루션은 또한 우수합니다. 충분한 조언을 반복하기 위해 ...
Ubuntu 12.04 이상에서 PostGIS 설치가 훨씬 쉬워졌습니다. 일반적으로 PPA에서 설치 및 소스에서 빌드하는 두 가지 방법이 있습니다. 다음은 각 경우에 사용하는 일반적인 쉘 스크립트입니다.
PPA에서 설치 중 ... PPA를 사용하고 ubuntugis-unstable
있습니다.
# Add Ubuntu GIS PPA and update, upgrade
sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable -y && sudo apt-get update && sudo apt-get upgrade
# Install PostGIS
sudo apt-get install postgis
# Recommends: sudo apt-get install postgresql-9.1-postgis-2.0
# Configure template database
POSTGIS_TEMPLATE=postgis-2.0.1
POSTGRESQL_VER=9.1
sudo su -c "createdb $POSTGIS_TEMPLATE" - postgres
sudo -u postgres psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='$POSTGIS_TEMPLATE';"
sudo -u postgres psql -d $POSTGIS_TEMPLATE -f /usr/share/postgresql/$POSTGRESQL_VER/contrib/postgis-2.0/postgis.sql
sudo -u postgres psql -d $POSTGIS_TEMPLATE -c "GRANT ALL ON geometry_columns TO PUBLIC;"
sudo -u postgres psql -d $POSTGIS_TEMPLATE -c "GRANT SELECT ON spatial_ref_sys TO PUBLIC;"
소스에서 빌드 ... 이것은 PostGIS 2.1 및 PostgreSQL 9.1을 가정하지만 둘 다의 최신 버전 일 수 있습니다. 필요에 따라 변경하십시오.
cd /usr/local/ && sudo mkdir postgis && sudo chown [username] postgis && cd postgis
wget http://download.osgeo.org/postgis/source/postgis-2.1.0.tar.gz
tar -xzvf postgis-2.1.0.tar.gz && rm postgis-2.1.0.tar.gz && cd postgis-2.1.0
sudo ./configure --with-projdir=/usr/local/proj/v4.7.0/
make
sudo make install
# Configure template database
POSTGIS_TEMPLATE=postgis-2.1.0
POSTGRESQL_VER=9.1
sudo su -c "createdb $POSTGIS_TEMPLATE" - postgres
sudo -u postgres psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='$POSTGIS_TEMPLATE';"
sudo -u postgres psql -d $POSTGIS_TEMPLATE -f /usr/share/postgresql/$POSTGRESQL_VER/contrib/postgis-2.0/postgis.sql
sudo -u postgres psql -d $POSTGIS_TEMPLATE -c "GRANT ALL ON geometry_columns TO PUBLIC;"
sudo -u postgres psql -d $POSTGIS_TEMPLATE -c "GRANT SELECT ON spatial_ref_sys TO PUBLIC;"
둘 사이의 테마를 알 수 있습니다. 여전히 템플리트 데이터베이스를 작성하고 spatial_ref_sys
테이블을 채워야 합니다.
TIGER 설정 에 대해서는 PostGIS 2.x 설명서의 2 장에있는 TIGER 데이터로드 지침을 따르십시오 .