| 167 | |
| 168 | |
| 169 | void TIndexKernel::addSubSwitches(ProgramArgs& args, |
| 170 | const std::string& subcommand) |
| 171 | { |
| 172 | if (subcommand == "create") |
| 173 | { |
| 174 | args.add("tindex", "OGR-readable/writeable tile index output", |
| 175 | m_idxFilename).setPositional(); |
| 176 | args.add("glob", "Pattern of files to index", |
| 177 | m_filespec).setOptionalPositional(); |
| 178 | args.addSynonym("glob", "filespec"); |
| 179 | args.add("filelist", "Text file containing list of files to index", m_listfile); |
| 180 | args.add("fast_boundary", "Use extent instead of exact boundary", |
| 181 | m_fastBoundary); |
| 182 | args.add("lyr_name", "OGR layer name to write into datasource", |
| 183 | m_layerName); |
| 184 | args.add("tindex_name", "Tile index column name", m_tileIndexColumnName, |
| 185 | "location"); |
| 186 | args.add("ogrdriver,f", "OGR driver name to use ", m_driverName, |
| 187 | "ESRI Shapefile"); |
| 188 | args.add("t_srs", "Target SRS of tile index", m_tgtSrsString, |
| 189 | "EPSG:4326"); |
| 190 | args.add("a_srs", "Assign SRS of tile with no SRS to this value", |
| 191 | m_assignSrsString, "EPSG:4326"); |
| 192 | args.add("write_absolute_path", |
| 193 | "Write absolute rather than relative file paths", m_absPath); |
| 194 | args.add("stdin,s", "Read filespec pattern from standard input", |
| 195 | m_usestdin); |
| 196 | args.add("path_prefix", "Prefix to be added to file paths when writing " |
| 197 | "output", m_prefix); |
| 198 | args.add("threads", "Number of threads to use for file boundary creation", |
| 199 | m_threads, 1); |
| 200 | args.addSynonym("threads", "requests"); |
| 201 | args.add("skip_different_srs", "Reject files to be indexed with " |
| 202 | "different SRS values", m_skipMultiSrs); |
| 203 | args.add("simplify", "Simplify the file's exact boundary", m_doSmooth, |
| 204 | true); |
| 205 | args.addSynonym("simplify", "smooth"); |
| 206 | args.add("threshold", "Number of points a cell must contain to be " |
| 207 | "declared positive space, when creating exact boundaries", m_density, |
| 208 | 15); |
| 209 | args.add("resolution", "cell edge length to be used when creating exact " |
| 210 | "boundaries", m_edgeLength); |
| 211 | args.addSynonym("resolution", "edge_length"); |
| 212 | args.add("sample_size", "Sample size for auto-edge length calculation in " |
| 213 | "internal hexbin filter (exact boundary)", m_sampleSize, 5000U); |
| 214 | args.add("where", "Expression describing points to be processed for exact " |
| 215 | "boundary creation", m_boundaryExpr); |
| 216 | } |
| 217 | else if (subcommand == "merge") |
| 218 | { |
| 219 | args.add("tindex", "OGR-readable/writeable tile index output", |
| 220 | m_idxFilename).setPositional(); |
| 221 | args.add("filespec", "Output filename", |
| 222 | m_filespec).setPositional(); |
| 223 | args.add("lyr_name", "OGR layer name to write into datasource", |
| 224 | m_layerName); |
| 225 | args.add("tindex_name", "Tile index column name", m_tileIndexColumnName, |
| 226 | "location"); |
nothing calls this directly
no test coverage detected