MCPcopy Create free account
hub / github.com/PDAL/PDAL / initializeArgs

Method initializeArgs

io/StacReader.cpp:337–452  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

335}
336
337void StacReader::Private::initializeArgs()
338{
339 m_itemFilters = std::make_unique<Item::Filters>();
340 m_catFilters = std::make_unique<Catalog::Filters>();
341 m_colFilters = std::make_unique<Catalog::Filters>();
342 m_icFilters = std::make_unique<ItemCollection::Filters>();
343
344 log()->get(LogLevel::Debug) << "Filters: " << std::endl;
345 if (!m_args->items.empty())
346 {
347 std::string itIdStr = listStr("Item Ids", m_args->items);
348 log()->get(LogLevel::Debug) << itIdStr;
349
350 m_itemFilters->ids = m_args->items;
351 }
352
353 if (!m_args->catalogs.empty())
354 {
355 std::string caIdStr = listStr("Catalog Ids", m_args->catalogs);
356 log()->get(LogLevel::Debug) << caIdStr;
357
358 m_catFilters->ids = m_args->catalogs;
359 }
360
361 if (!m_args->collections.empty())
362 {
363 std::string coIdStr = listStr("Collection Ids", m_args->collections);
364 log()->get(LogLevel::Debug) << coIdStr;
365
366 m_itemFilters->collections = m_args->collections;
367 m_colFilters->ids = m_args->collections;
368 }
369
370
371 if (!m_args->dates.empty())
372 {
373 log()->get(LogLevel::Debug) <<
374 "Dates: " << m_args->dates << std::endl;
375
376 for (auto& datepair: m_args->dates)
377 {
378 if (datepair.size() != 2 ||
379 datepair.type() != NL::detail::value_t::array)
380 {
381 throw pdal_error("User defined dates (" + datepair.dump() +
382 ") must be a range of [min, max].");
383 }
384
385 try
386 {
387 std::string minDate(datepair[0].get<std::string>());
388 std::string maxDate(datepair[1].get<std::string>());
389
390 std::time_t minTime = StacUtils::getStacTime(minDate);
391 std::time_t maxTime = StacUtils::getStacTime(maxDate);
392 if (minTime > maxTime)
393 log()->get(LogLevel::Warning) << "Min date (" << minDate <<
394 ") is greater than Max date (" << maxDate << ").";

Callers 1

initializeMethod · 0.80

Calls 15

listStrFunction · 0.85
getStacTimeFunction · 0.85
to2dMethod · 0.80
getPolygonsMethod · 0.80
strMethod · 0.80
logFunction · 0.50
getMethod · 0.45
emptyMethod · 0.45
sizeMethod · 0.45
typeMethod · 0.45
dumpMethod · 0.45
validMethod · 0.45

Tested by

no test coverage detected