| 279 | |
| 280 | |
| 281 | void CopcReader::addArgs(ProgramArgs& args) |
| 282 | { |
| 283 | // These numbers are based on some timings of |
| 284 | // local vs remote files. You can get a little bit |
| 285 | // more performance on the local file scenario by bumping |
| 286 | // up the thread count, but processing is going to be |
| 287 | // dominated by whatever is happening to the data afterward |
| 288 | // in most cases |
| 289 | int defaultThreads(2); // local |
| 290 | if (Utils::isRemote(m_filename)) |
| 291 | { |
| 292 | defaultThreads = 10; |
| 293 | } |
| 294 | |
| 295 | args.add("bounds", "Retangular clip region", m_args->clip); |
| 296 | args.add("requests", "Number of worker threads", m_args->threads, (size_t)defaultThreads); |
| 297 | args.addSynonym("requests", "threads"); |
| 298 | args.add("resolution", "Resolution limit", m_args->resolution); |
| 299 | args.add("polygon", "Bounding polygon(s) to crop requests", |
| 300 | m_args->polys).setErrorText("Invalid polygon specification. Must be valid GeoJSON/WKT"); |
| 301 | args.add("ogr", "OGR filter geometries", m_args->ogr); |
| 302 | args.add("fix_dims", "Make invalid dimension names valid by changing invalid " |
| 303 | "characters to '_'", m_args->fixNames, true); |
| 304 | args.add("vlr", "Read LAS VLRs and add to metadata.", m_args->doVlrs, true); |
| 305 | args.add("keep_alive", "Number of chunks to keep alive in memory when working", |
| 306 | m_args->keepAliveChunkCount, 10); |
| 307 | args.add("srs_vlr_order", "Preference order to read SRS VLRs " |
| 308 | "(list of 'wkt1', 'wkt2' or 'projjson'", m_args->srsVlrOrder); |
| 309 | args.add("nosrs", "Skip reading/processing file SRS", m_args->nosrs, false); |
| 310 | } |
| 311 | |
| 312 | |
| 313 | void CopcReader::initialize(PointTableRef table) |
nothing calls this directly
no test coverage detected