답변:
ArcGIS 10.0 이상을 사용하는 경우 쿼리 레이어를 사용하여 PostGIS 데이터에 직접 연결할 수 있습니다. 각 버전의 도움말에서 이에 대한 자세한 정보를 얻을 수 있습니다.
PostGIS 지오메트리 유형을 사용하려면 데이터베이스 관리자가 PostgreSQL 데이터베이스 클러스터에 PostGIS를 설치해야합니다. PostGIS는 타사의 오픈 소스 설치입니다. 설치가 완료되면 데이터베이스 관리자는 PostGIS 템플릿 데이터베이스를 사용하여 PostGIS 지오메트리 유형을 포함하는 데이터베이스를 만들거나 PostGIS 지오메트리 유형을 사용하도록 기존 데이터베이스를 구성 할 수 있습니다.
ArcGIS 10.1 및 ArcGIS 10.2 는 기본적으로 PostGreSQL 및 PostGIS 데이터 유형을 지원합니다. 두 버전 모두에 대한 도움말에는 Gettting 설정 및 PostGIS 지오메트리 유형을 사용하도록 테이블을 구성하는 연습이 포함되어 있습니다.
내 블로그에서이 게시물을 살펴보십시오 : http://www.paolocorti.net/2008/06/06/spatial-database-for-postgres-and-arcgis-users-how-to-choose/
기본적으로 두 가지 옵션이 있습니다.
지오 데이터베이스 지원 (도메인, 토폴로지 등 ...) 또는 ArcCatalog 지원이 필요한 경우 첫 번째 솔루션 (ArcSde 포함)이 현재 진행할 수있는 유일한 방법입니다.
ArcGis Desktop 10에서 (내가 직접 테스트하지는 않았 음) ArcSde 게이트웨이없이 PostGis에 읽기 전용으로 직접 연결할 수 있습니다.
zigGIS가 더 이상 활성화 되어 있지 않으며 웹 사이트가 오프라인 상태입니다
나는 9.3으로 그것을하는 것에 대한 몇 가지 게시물이 있습니다. 첫 번째는 여기 있으며 나머지는 여기에서 얻을 수 있습니다. http://geobabble.wordpress.com/2008/05/28/using-arcsde-93-with-postgresql-part-1/
나는 10.0으로 한 번 해봤으며 아무런 문제가 없었습니다. ArcSDE와 함께 PostgreSQL과 PostGIS를 사용할 때 Esri가 지원하는 모든 버전을 고수하는 것이 좋습니다.
Obtuse Software의 zigGIS가 가장 쉬울 것 입니다. 현재 비용을 지불해야하지만 거리 3의 단어는 버전 3이 오픈 소스가 될 것 입니다.
Google 코드 아카이브에ziggis
따르면 :
zigGIS v1.2는 여기에서 다운로드 할 수 있지만 더 이상 지원되지 않습니다. zigGIS v2.0은 현재 상용 제품으로 주요 안정성 향상, 성능 향상 및 전체 편집 기능이 포함되어 있습니다. 자세한 내용은 Obtuse Software 웹 사이트 를 참조하십시오 .
Obtuse Software 웹 사이트에 대한 링크 가 끊어진 것 같습니다.
ArcGIS 10.1 SP1은 기본적으로 PostGIS 2.0.0 데이터베이스에 연결할 수 있지만 연결은 읽기 전용이며 대부분 쿼리 계층에 대한보다 깨끗한 프런트 엔드 역할을합니다 (실제로 모든 계층 을 쿼리 계층 으로 로드 ). 데이터베이스 연결을 통해 데이터베이스의 모든 테이블과 레이어를 카탈로그로 볼 수 있습니다.
대안으로 arcgis-ogr도 있습니다 .이를 통해 모든 OGR 벡터 유형에 ArcGIS 플러그인으로 연결할 수 있습니다. . 또한 현재 읽기 전용입니다.
우선 : OLE DB 연결을 사용하여 PostgreSQL과 함께 ArcGIS 만 사용할 수 있습니다. 즉, 공통 테이블과 열만 읽을 수 있습니다 (공간 열도 읽을 수 있지만 ArcGIS는 다음 작업을 수행 할 수 없습니다). 그들,
ArcGIS 및 PostgreSQL + PostGIS (공간 데이터를 볼 필요가 있음)를 사용하려면 ArcSDE 또는 ZigGIS 가 필요합니다 .
두 옵션을 모두 사용하면 PostGIS에 저장된 데이터를 ArcMap 또는 기타 ESRI 도구 내에서 쿼리, 편집 및 분석 할 수 있습니다.
ArcSDE는 ESRI에서 제공하는 미들웨어로, 작업의 전체 워크 플로우 (지오 데이터베이스 설치, 구성 등)를 변경하고 ZigGIS는 데스크탑 도구입니다 (즉, ESRI 데스크탑 도구가 관련된 경우에만 사용됨).
ArcEditor 또는 ArcInfo 데스크탑 레벨이있는 경우 SQL Server Express를 사용할 수 있습니다. 한 번에 한 명의 사용자 만 편집 할 수 있지만 잠금 및 잠금 해제가 더 나을 수 있습니다. 먼저 시도해보십시오. 그것을 수행하는 방법에 대한 많은 문서가 있으며, postgres를 좋아하지만 dba 일 필요는 없습니다. 악의적 인 QGIS 직원은 없습니다.)
또한 Esri 영업 담당자가 Enterprise가 아닌 "ArcGIS Server Workgroup"에 대한 견적을 제공해야합니다. 아래를 참조하십시오-10 개의 동시 편집 연결이 가능합니다. $ 3-5k와 같아야합니다. 요금 http://www.esri.com/software/arcgis/arcgisserver/pricing
SDE 및 SQL Server Express ArcSDE 데스크톱 라이센스에 대한 라이센스 및 링크에 대한 자세한 설명은이 게시물을 참조하십시오.
"카탈로그 창의 데이터베이스 서버 노드 또는 ArcCatalog를 통해 지오 데이터베이스를 작성하고 데이터베이스 서버에 대한 다른 관리 작업을 수행합니다. ArcGIS Desktop을 통해 데이터베이스 서버 및 지오 데이터베이스의 관리를 수행하면 별도의 소프트웨어 또는 데이터베이스 관리 전문 지식이 필요하지 않습니다 이러한 유형의 ArcSDE 지오 데이터베이스를 생성하고 사용합니다.
데이터베이스 서버의 지오 데이터베이스에 대한 연결은 항상 직접 연결입니다. 클라이언트에서 ArcSDE 라이브러리 파일을 사용하여 연결합니다. 이 경우 클라이언트 응용 프로그램은 ArcEditor 또는 ArcInfo 라이센스 수준의 ArcGIS Desktop, ArcGIS Engine 및 ArcGIS Server Workgroup입니다.
이러한 제품의 미디어에는 SQL Server Express 용 설치 파일이 포함되어 있습니다. SQL Server Express 인스턴스를 생성하고 마법사를 실행하여 인스턴스가 지오 데이터베이스를 저장할 수있게하면 클라이언트 응용 프로그램 내의 라이브러리를 사용하여 데이터베이스 서버에 연결하고 데이터베이스 서버와 작업하고 데이터베이스 서버에서 지오 데이터베이스를 만들고 작업 할 수 있습니다.
ArcGIS Desktop (ArcEditor 및 ArcInfo) 및 ArcGIS Engine을 사용하면 데이터베이스 서버를 설정하고 몇 명의 사용자가 액세스하고 한 번에 한 명의 사용자가 편집 할 수있는 ArcSDE 지오 데이터베이스를 만들 수 있습니다 .
ArcGIS Desktop을 사용하는 ArcGIS Server Workgroup을 사용하면 데이터베이스 서버를 설정하고 한 번에 최대 10 명의 사용자가 액세스 할 수있는 ArcSDE 지오 데이터베이스를 만들 수 있습니다.이 데이터베이스는 모두 동시에 편집 할 수 있습니다 . ArcGIS Server Workgroup을 통해 라이센스가 부여 된 데이터베이스 서버를 사용하는 경우 연결 제한이없는 웹 애플리케이션을 사용하여 지오 데이터베이스에 연결할 수도 있습니다. "
ArcGIS에서 50 가지 이상의 벡터 형식 (PostGIS 포함)에 액세스 할 수있는 플러그인을 작성했습니다. 여전히 실험적이지만 시도해보고 어떻게 진행되는지 말해 줄 수 있습니다.
ArcGIS의 내장 기능에 비해이 방법을 사용하면 이점이 있지만 (FAQ 참조) 여전히 실험적입니다.
비슷한 도구를 원했기 때문에이 게시물과 더 넓은 웹을 모니터링하여 해결책을 찾았습니다. 오늘 저는 James Fee의 블로그에 대한 RSS 피드를 통해 내 솔루션에 부딪 쳤습니다 . 그리고 난 당신이 찾는 솔루션입니다 생각 PgMap 하여 ST-링크 .
ArcGIS 9.3 버전을 사용해 보았는데 인상적입니다. 나는 여전히 PostGIS 초보자이기 때문에 편집으로 어려움을 겪고 있습니다 (ID 열). 또한 PostGIS 로더에 세련된 ESRI가 제공되며 무엇보다도 무료입니다! [OpenGeoSuite Community Edition 2.4.1로 테스트]
시작-> 제어판-> 성능 및 유지 관리-> 관리 도구-> 데이터 소스로 이동하십시오.
시스템 DSN 탭으로 이동하십시오.
추가를 클릭하십시오.
목록에서 아래로 스크롤하십시오. PostgreSQL ODBC 드라이버가 설치되어 있으면이를 볼 수 있습니다. 목록에서 첫 번째 PostgreSQL ODBC 드라이버를 클릭하십시오.
양식에 연결 세부 정보를 입력하십시오. 연결이 PostgreSQL 데이터베이스와 동일한 시스템에있는 경우 서버 필드에 localhost를 작성하십시오. 그렇지 않으면 네트워크의 컴퓨터 이름입니다. 네트워크의 데이터베이스에 연결하려면 pg_hba.conf 파일을 약간 변경해야합니다. User Authentication 섹션의 PostgreSQL 매뉴얼에서 이에 대해 읽으십시오. 이 작업이 끝나면 Finish를 클릭하십시오.
목록에서 찾은 모든 PostgreSQL ODBC 드라이버를 비슷하게 추가하십시오.
확인을 클릭하십시오. 이제 ODBC 드라이버를 통해 PostgreSQL 데이터베이스에 연결할 수 있습니다. 드라이버는 연결 정보가있는 데이터베이스로만 전달하면됩니다.
2011 년 현재 ST-Links SpatialKit를 사용해보십시오 . 이 소프트웨어는 프리웨어이며 ArcGIS 9.3 / 10.0 / 10.1 / 10.2에서 작동합니다.
다운로드에는보기, 편집 등의 기능을 문서화 할 수있는 멋진 PDF가 있습니다.
불행히도 ArcGIS 10.1 및 10.2를 사용하여 너무 많은 문제 없이이 작업을 수행했지만 9.3 및 postgres 9.2에서는 작동하지 않습니다. 메모리에서 생각합니다.
esri의 드라이버를 사용했습니다. 지침을 작성한 후 이것이 변경되었다고 생각하지만 ESRI 고객 관리 사이트에 로그온하십시오.
"PostgreSQLQL 클라이언트 라이브러리 (Windows)"의 크기가 2.21MB가 될 때까지 아래로 스크롤하십시오.
다운로드를 클릭하십시오
다운로드 한 파일의 PostgreSQL / PostGIS의 경우 필요한 32 비트 버전의 libeay32.dll, libiconv-2.dll, libintl-8.dll, libpq.dll 및 ssleay32.dll을 포함하는 라이브러리의 "pg_client_windows86"클라이언트 세트 여야합니다. 이를 ArcGIS bin 디렉토리에 복사하십시오. 10.1을 사용하는 내 컴퓨터에서는 다음과 같습니다. C : Program Files (x86) ArcGISDesktop10.1bin 32 비트 창을 사용하는 경우 다음과 같습니다. C : Program FilesArcGISDesktop10.1bin
이 작업을 완료하면 데이터베이스에 연결하여 데이터베이스의 데이터를 추가 할 수 있습니다. 데이터 쿼리 계층을 사용하려면 먼저 데이터베이스에 연결해야합니다. ArcGIS 10.1에서는 파일> 데이터 추가> 쿼리 레이어 추가로 이동해야합니다.
주의해야 할 것은 반환되는 데이터에는 ArcGIS에서 기본 키로 사용할 수있는 고유 필드가 있어야한다는 것입니다. 기본 쿼리 이상을 사용하고 ArcGIS가 사용할 필드를 계산할 수없는 경우이를 지정해야하는 경우가 있습니다. 다음과 같이하면됩니다 :
id 필드를 즉석에서 제조해야하지만 postgres 데이터베이스에 대해 공간 쿼리를 비교적 쉽게 실행할 수도 있습니다. 예를 들면 다음은 100km 버퍼를 수행하는 예입니다.
SELECT row_number() over(order by cities.the_geom)::integer as oid,
ST_BUFFER(cities.the_geom, 100000) AS the_geom,
cities.name
FROM mygis.public.cities As cities
모든 쿼리 레이어를 레이어 파일로 저장하고 표준 ArcGIS 도구 중 일부를 통해 전달할 수도 있습니다. 나는 이것을 너무 많이 테스트하지 않았습니다. 그래서 열과 물건을 추가하면 혼란을 일으키는 것을 알 수 있습니다. SQL Server 및 Oracle과 같은 다른 데이터베이스를 사용하여 공간 SQL 호출을 수행하고 on id 필드를 작성하기 위해 약간의 조정을 할 수 있다고 생각합니다.
나는 http://www.gisuser.org.nz/resources/tips-and-tricks/look-mum-dad-no-hands 에서 잠시 동안 전체 자습서를 수행했습니다 .
ArcGIS 10.4에서는 추가 확장 없이도 지원되는 PostgreSQL 데이터베이스 에서 PostGIS 지오메트리를 읽고 쓸 수 있습니다 . 나는 이것을 위해 고급 라이센스 만 사용했지만 표준 라이센스는 비 지리 데이터베이스 PG 서버 데이터베이스에 연결할 수 있으며 해당 작업 공간을 벡터 생성 도구의 대상으로 사용할 수 있다고 생각합니다. 더 번거롭지 만 기본 라이센스 클라이언트를 사용하여 SQL with Python (via arcpy.ArcSDESQLExecute
)을 사용하여 테이블에 쓸 수도 있습니다 . 읽기 전용 쿼리 레이어는 ArcGIS 10.0 이후 모든 수준의 옵션이되었습니다.
PostgreSQL 9는 ArcGIS 10에서 작동합니까?
Postgis ZigGIS 3.0 편집 용
http://groups.google.com/group/ziggis/browse_thread/thread/8e17f4c2ac57f428?hl=ko
올바른 ODBC Postgres 드라이버 를 통해 ArcCatalog에서 직접 연결하여 읽기 전용을 수행 할 수 있습니다.
GISquirrel 은 SDE 비용의 일부만으로 작업을 수행합니다. MSSQL 및 PostGIS에 대한 arcgis 연결을 지원합니다. 설정이 간단하고 (shapefile / featureclass에서 postgres로 가져올 수 있음) 유지 관리가 간단합니다. 다중 사용자 편집 기능이 필요한 소수의 사용자에게는 충분합니다.
우리는 GIS '고급 사용자'를 위해 GISquirrel / Arcgis를 사용하며 QGIS는 '기본 사용자'를 위해 동일한 PostGIS 서버에 연결하여 라이센스 비용을 절약 할 수 있습니다.
PgMap은 st-linkspatialKit으로 대체되었으며 PostGIS를 지원할뿐만 아니라 SQL Server 2008도 지원합니다. ArcMap 9.3 및 ArcMap 10에서 작동합니다. 요구 사항을 충족합니다. www.st-links.com 에서 확인하십시오
SDE를 사용하는 것 이외의 여러 옵션이 있다고 생각합니다 (SDE에서 PG_Geometry를 사용할 수 있으므로 ESRI 소프트웨어 또는 PostGIS 호환 OS 소프트웨어를 통해 데이터에 액세스 할 수 있음). ESRI Data Interoperability 확장 기능인 ZigGIS가 있으며 geoserver 또는 mapserver 사본을 설치하고 ArcGIS의 WMS 서비스를 통해 연결할 수 있습니다. zigGIS에 대한 이전 게시물과 pgAdmin을 통한 쿼리 관리 필요성과 유사하게 geoserver / mapserver로 쿼리를 작성하는 데 사용해야합니다. 동일한 쿼리를 재사용하는 경우 이상적으로 postgresql의 뷰로 저장하여 데이터에 액세스 할 수 있습니다.
ST-Links SpatialKit 는 ArcSDE, ArcInfo, ArcGIS Server가없는 공간 데이터베이스에 직접 연결하기위한 ArcMap Extension입니다.
라이센스 에 따르면 $ 188 CAD 비용이지만 "라이센스 비용을 감당할 수없는 사용자에게는 무료 라이센스를 계속 발행 할 것입니다. 무료 라이센스에는 시간 제한이 있습니다. 무료 라이센스를 요청하는 경우 이유를 알려주십시오. 라이센스 요청 이메일. "
PostGIS 데이터를 ArcMap에 추가하는 쉬운 방법은 '상호 운용성 연결'을 추가하는 것입니다. 이를 위해서는 '데이터 상호 운용성 확장'이 필요합니다.
연결을 만들기 전에 PostGIS Database Table에 'Numeric Index'와 'Primary Key'를 추가하는 것이 좋습니다.