2017-04-06 14 views
0

내 nc 파일을 읽으려고했습니다. 그것은 3 개 변수가, 그들은 :다른 차원 문제가있는 C++ vtknetCDFCFReader 변수 읽기

zonalWind (높이, 경도, 위도)

meridionalWind (높이, 경도, 위도)

verticalVelocity (height_2, 경도, 위도)

다음은 내 코드를 읽고 배열 : 다음

vtkNetCDFCFReader *reader = vtkNetCDFCFReader::New(); 
reader->SetFileName(fileName); 
reader->SetOutputTypeToStructured(); 
reader->UpdateMetaData(); 
reader->Update(); 
reader->Print(std::cout); 

reader->SetVariableArrayStatus("verticalVelocity", 1); 
reader->SetVariableArrayStatus("zonalWind", 1); 
reader->SetVariableArrayStatus("meridionalWind", 1); 

그러나 나는 때문에 치수 문제의 verticalVelocity 배열을 건너 뛰는 termianl에서 다음과 같은 오류가 발생했습니다 :

vtkNetCDFCFReader (0x7fb1f1517350): Variable verticalVelocity dimensions (height_2 lat lon) are different than the other variable dimensions (height lat lon). Skipping 

"건너 뛰기"대신 3 가지 변수 데이터를 읽을 수있는 방법이 있습니까? 나중에 처리 할 수 ​​있습니까?

TIA

답변

0

아니요 2 개 vtkNetCDFCFReader 인스턴스를 생성하고 각각에 대해 동일한 크기와 변수를 판독한다.

큰 격자의 일부만 추출하고 작은 격자의 해당 값을 사용하려면 vtkExtractGrid 필터를 판독기 출력 중 하나 또는 모두에 연결하여 동일한 크기의 데이터 집합을 얻습니다. 마지막으로 결과에 대해 vtkMergeArrays 필터를 실행하여 모든 배열 값을 갖는 단일 데이터 세트를 생성하십시오.

+0

"verticalVelocity"변수에 대한 두 번째 판독기를 만들었지 만 여전히 동일한 문제로 인해 데이터를 건너 뜁니다. 프로그램이 치수를 기본값으로 설정 한 것처럼 보입니다 (높이 lat lon). SetDimension을 사용하여 변경한다고 가정할까요? @ Drone2537 –

+0

업데이트 : 독자가 업데이트 기능을 사용하기 전에 SetDimension 함수를 배치해야한다는 것을 알고 있습니다. 이제 작동합니다. –

+0

다행입니다. – Drone2537