2017-03-23 6 views
-1

postgis 데이터베이스에 많은 셰이프 파일을 덤프하고이를 QGIS를 통해 GIS 응용 프로그램에 사용할 것입니다. 이제 Trimble 수집 데이터에서 최종 사용자에게 합리적이고 직관적 인 데이터 사전을 개발했습니다. 그래서 이것은 초기 표가 생성되는 방식으로, 최종 사용자가 trimble을 최우선으로합니다. 이제이 수집 된 데이터를 qgis에서 사용할 때 일부 피쳐 클래스에서 선택된 점에 표시되는 속성 열이 매우 단순하지 않습니다.단순화를 위해 gis 데이터를 하나의 postgis 테이블에서 다른 테이블로 변환하는 가장 좋은 방법

예를 들어, 우리는 파이프 라인 유틸리티이며 Trimble을 설정하여 공칭 파이프 지름을 선택하면 해당 파이프 크기를 기준으로 다른 벽 두께에 대한 옵션을 제공합니다. 이것은 trimble에서 잘 작동하지만지도의 모든 파이프 조각에 대해 8 또는 9 개의 공백 값을 얻습니다. 따라서 2 인치 메인을 선택하면 속성의 크기가 표시되고 모든 크기의 벽 두께 필드는 3/4 "에서 10"까지만 표시되지만 값이있는 유일한 것은 2 인치입니다. 내가 뭘하고 싶은지, 이것을 단순화하는 새 테이블을 만든 다음, 생성 된 데이터를 포함하는 테이블에서 데이터를 실행하고 새 테이블로 덤프합니다. 이것은 데이터베이스 "GIS"의 한 postgres 테이블 "Main"에서 내 평가판 데이터베이스의 새 테이블 "Main"으로 데이터를 가져올 필요가있을뿐만 아니라 abcd 등 열을 검색하여 찾을 수있는 코드가 필요합니다 null이 아니며 새 테이블의 Wall Thickness 열로 보냅니다.

나는 여러 가지 속성과 이러한 문제가있는 여러 테이블을 가지고 있지만 누군가가이 특정 상황에서 올바른 방향으로 나를 도울 수 있다고 생각하면 나머지 부분도 할 수 있다고 생각합니다. 이 작업은 GIS 빌드의 마지막 단계입니다. 작업을 시작하기 전에 준비해야 할 부분이 있습니다.이 작업을 조금 도와 줄 수 있다면 정말 감사하겠습니다.

pgadmin 4, qgis 2.18, SQL에 대한 지식이 있으며 명령 줄에서 데이터를 조작 할 수 있습니다. qgis에는 도움이 될 수있는 내장 된 파이썬 콘솔이 있습니다. 나는 파이썬을 조금 안다. 아마도 가장 좋은 경로가 그것을 통과한다면 얻을 수있을 것이다. 내 최고의 경로를 결정하는 데 도움이되는 정보에 대한 약간의 정보. 다시 한 번 감사드립니다!

p.s. qgis의 "Main"기능에 대한 기존 데이터 구조의 그림과 명령 줄에서 "Main"기능을 채우려는 새 테이블의 그림을 추가했습니다. http://imgur.com/a/bkUqS

+0

무엇이'Trimble'입니까? –

+0

나는 매일 GIS를 사용하지만 질문은 이해하지 못한다. 우리에게 db 스키마, 샘플 데이터 및 예상 출력을 보여주십시오. \t [** How-to-Ask **] (http://stackoverflow.com/help/how-to-ask) \t \t 그리고 [** 시작 **] (http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/) 질문 품질을 향상시키고 더 나은 답변을 얻는 방법을 배우십시오. –

+0

테이블과 데이터를 텍스트로 게시 [읽으십시오] (http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking -a-questions/285557 # 285557) –

답변

0

저는 파이프 라인 측량 자로서 스스로 가르치는 프로그래머입니다. 그래서 나는 당신의 딜레마의 첫 부분을 이해하기를 바랍니다. 파이프의 각 조각은 벽 두께 값이 다를 수 있습니다. 예 : 메인 라인 파이프는 0.250이며, 무거운 벽 파이프의 경우 모든 도로 구멍과 HDD 파이프가 0.300 벽이라고 합니다. 더 파이프가 정상적으로 전환 용접 잘하면 그들 사이에있는 어떤 종류의없이 두 개의 벽 두께 값이없는 것 때문에 먼저이 당신의 '원시'필드 데이터에 대한 쿼리에서 , 당신은이

SELECT * 
FROM your_table 
WHERE wall_thickness_value IN (0.250,0.300) 

뭔가를 시도 할 수 있습니다 쿼리는 파이프 조각에 대한 실제 값을 가져 와서 모든 null을 반환하지 않습니다.

+0

참고로 PostgreSQL 또는 프로그래밍 전문가가 아닙니다. 저는 많은 조사를 해왔고 경력 변화에 대한 희망을 자발적으로 배우고 Java, Python 및 SQL을 가르쳤습니다. – J2112O

+0

꽤 잘하는 것 같습니다. 또한 이러한 쿼리 된 값을 다른 테이블에 삽입하는 방법을 모르겠습니다. 따라서 SQL 문을 사용하여 값을 가져 오면 새 클린 테이블에 어떻게 가져 옵니까? –

+0

걱정하지 않아도, 누구든지 전문가인지는 상관하지 않습니다. 저는 오토 캐드 경험이있는 엔지니어이고, 현재 회사에서 시작했을 때 이전에는 지식이 없었던 GIS를 구현하기 시작했습니다. 나는 GIS가 관련된 모든 것을 스스로 배우므로 이해합니다. –