조회 계산을 구현하는 방법은 무엇입니까?


11

가시성을 구현하는 방법 (일명 viewshed)을 찾고 있습니다. 몇 가지 GIS 응용 프로그램 (필요하지 않은 것-계산을 포함하려고 함)과 SAGA를 제안 하는 이전 GIS SE 질문 을 발견했습니다 . SAGA 는 내가 찾고있는 것 (C ++, Java, C # 클래스)과 비슷하지만 인스턴스화 (또는 서브 클래스) 해야하는 클래스를 파악하기에 충분한 API 문서를 이해할 수 없습니다.

나는 SAGA의 아이디어에 묶여 있지 않습니다-나는 단지 intervisibility calcs를 수행 할 수있는 라이브러리 / 엔진을 찾고 있습니다.

제약 조건은 다음과 같아야한다는 것입니다.

  • 합리적으로 "경량"(내장 / 모바일을 포함 할 수 있기를 원하기 때문에)
  • 합리적으로 오픈 소스 (내 응용 프로그램은 오픈 소스이기 때문에 (L) GPL 호환되는 한 정확히 어떤 라이센스로 유연하더라도).

누구나 그러한 라이브러리 또는 엔진을 추천하고 계산을 볼 때 사용해야하는 라이브러리 또는 엔진의 비트에 대한 설명이나 링크를 제공 할 수 있습니까?

대안으로 / 추가로, 나는 또한 계산을 효율적으로 수행하는 방법을 설명하는 논문이나 튜토리얼에 대한 참조에 감사합니다 (내장 / 모바일 장치에 적용 가능하므로 GPU 기반 구현은 다른 것만 큼 유용하지 않을 수 있습니다 보다 일반적이며 저전력 장치를 처리합니다.)

내 선호는 백업 옵션 인 나 자신을 만드는 것이 아니라 기존 구현입니다.

편집 : C ++은 확고한 요구 사항이 아니며 합리적으로 이식 가능한 것 (C #, C ++, Java)이 할 것입니다. 큰 응용 프로그램을 포함시키는 대신 라이브러리 또는 템플릿을 사용하려고합니다.


2
실제로 완전한 ZTV 알고리즘이 필요합니까? 아마도 OpenGL에서 지형을 모델링하고 그 결과를 분석 할 수 있습니까? 스마트 폰의 그래픽 가속 속도는 점점 향상 될 것입니다. OpenGL은 직교 투영도 지원합니다.
Matthew Snape

"올바른"답변을 제공하는 한 행복하므로 OpenGL을 살펴볼 가치가 있습니다. GIS 유형 데이터에서 이것을 수행하는 예제 / 포인터가 있습니까?
BradHards

답변:


8

참조 된 GIS SE 질문 에서 볼 수 있듯이 적어도 SAGA 및 GRASS GIS를 넘어서는 오픈 소스 시장에서는 독립형 패키지를 보는 방식이별로없는 것처럼 보입니다. 이러한 알고리즘에 대한 코드 주위에 래퍼를 작성하는 것 외에도 불행히도 viewshed를 구현할 수 있습니다. (그러나 나는이 문제를 해결하고 싶습니다.)

GRASS r.viewshed 함수에 대한 문서를 읽으면 알고리즘에 대한 광범위한 설명과 하나의 뷰 쉐드 알고리즘에 대해 자세히 설명하는 다음 백서에 대한 참조를 제공합니다.

외부 메모리의 지형에 대한 가시성 계산 . 허먼 해커 코트, 로라 토마, 이장 알고리즘 엔지니어링 및 실험에 관한 9 차 워크숍 / 분석 알고리즘 및 조합에 대한 워크숍 진행 중 (ALENEX / ANALCO 2007).

또는 Viewshed의 Wikipedia 기사에서 다음을 참조하십시오.

Wu, H., Pan, M., Yao, L. & Luo, B. (2007). 대규모 DEM에서 뷰 쉐드를 생성하기위한 파티션 기반 직렬 알고리즘 . 지리 정보 과학 국제 저널, 21 (9), 955-964.


내가 바랐던 대답은 아니지만 최고의 대답이 제공되었습니다. 이 작업에 대해 대단히 감사합니다.
BradHards

걱정 마. 행운을 빕니다!
om_henners

4

보기 창을 생성하는 무선 통신 연구를 위해 설계된 RadioMobile이라는 프리웨어 패키지가 있습니다. 출력은 DEM 입력을 기반으로하며 벡터 (점 파일) 또는 래스터 일 수 있습니다. 벡터 포인트 파일을 사용하여 공유 할 수있는 스크립팅을 통해 다각형을 만들 수있었습니다. 래스터 출력에서 ​​팔레트를 설정할 수 있으므로 gdal을 사용하여 래스터를 벡터로 변환 할 수도 있습니다.

이 프로그램에는 GUI가 있지만 배치 모드로 실행할 수도 있으므로 프로그램에 쉽게 통합 할 수 있습니다. 전통적인 뷰 쉐드에 필요한 것보다 훨씬 많은 옵션이 있지만 트랜스미터 전원과 같은 효과가 포함되지 않도록 null로 설정할 수 있습니다 ( http://www.g3tvu.co.uk/RM_Batch_Files.htm 참조) .

이 프로그램은 http://www.cplus.org/rmw/rme.html에 있습니다 . 저자도 매우 도움이됩니다.

도움이 되었기를 바랍니다,


흥미롭지 만 오픈 소스가 아니며 Windows 전용입니다. 따라서 모바일 환경에서는 작동하지 않습니다.
BradHards
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.