@@ -176,7 +176,8 @@ namespace plateau::dataset {
176176
177177 out_collection_ptr->setUdxPath (udx_path_);
178178 for (const auto & [code, files] : files_by_code_) {
179- if (extent_filter.intersects2D (GridCode::create (code)->getExtent ())) {
179+ auto tmp_grid_code = GridCode::create (code);
180+ if (tmp_grid_code->isValid () && extent_filter.intersects2D (tmp_grid_code->getExtent ())) {
180181 for (const auto & file : files) {
181182 out_collection_ptr->addFile (UdxSubFolder::getPackage (file.getFeatureType ()), file);
182183 }
@@ -284,7 +285,7 @@ namespace plateau::dataset {
284285 double lon_sum = 0 ;
285286 double height_sum = 0 ;
286287 for (const auto & grid_code : grid_codes_) {
287- if (grid_code == nullptr && !grid_code->isValid ()) continue ;
288+ if (grid_code == nullptr || !grid_code->isValid ()) continue ;
288289 const auto & center = grid_code->getExtent ().centerPoint ();
289290 lat_sum += center.latitude ;
290291 lon_sum += center.longitude ;
@@ -317,6 +318,8 @@ namespace plateau::dataset {
317318 files_.try_emplace (sub_folder, std::vector<GmlFile>());
318319 files_.at (sub_folder).push_back (gml_file_info);
319320
321+ auto code_ptr = gml_file_info.getGridCode ();
322+ if (!code_ptr->isValid ()) return ;
320323 const auto grid_code = gml_file_info.getGridCode ()->get ();
321324 files_by_code_.try_emplace (grid_code, std::vector<GmlFile>());
322325 files_by_code_[grid_code].push_back (gml_file_info);
0 commit comments