[GRASS-dev] [GRASS GIS] #4000: v.import documentation megabug

GRASS GIS trac at osgeo.org
Sun Nov 24 20:00:07 PST 2019


#4000: v.import documentation megabug
-------------------------+---------------------------------
 Reporter:  jidanni      |      Owner:  grass-dev@…
     Type:  defect       |     Status:  new
 Priority:  trivial      |  Milestone:
Component:  Docs         |    Version:  git-releasebranch78
 Keywords:               |        CPU:  Unspecified
 Platform:  Unspecified  |
-------------------------+---------------------------------
 It's bug #4000. Time for my v.import documentation megabug.
 Mainly because apparently v.import calls v.in.org under the hood.

 Anyway, here is the whole mess:
 {{{
 Do not require input=... for v.import -f
 Please do not require the user to have an input file just to use
 v.import -f .
 Or document workaround:
  v.import -f input=/dev/null
 Also
  SYNOPSIS
        ...
        v.import  [-flo]  input=string  ...

 needs to be
        v.import  -f #in fact maybe detect and don't allow it to be
 combined with other options
        v.import  [-lo]  input=string  ...

 and "[required]" needs to be removed from
  input=string [required]
            Name of OGR datasource to be imported
 P.S., change
  The list of actually supported formats can be printed by -f flag.
 to
  The list of actually supported formats can be printed by the -f flag.
 Wait, it seems that v.import is some sort of alias for v.in.org. Well
 the man page should just say so at the top, and the rest left mostly
 blank. (Please don't maintain two sets of almost identical
 documentation. Bad for writers, and bad for readers. In fact you can
 list both aliases in the same SYNOPSIS of a symlinked (or just copied) new
 single page.)
 And in fact one can do
  v.in.ogr -f
 without input=string, so the v.in.ogr man page needs to be fixed too.

 r.in.gdal -f in fact does not require input=... output=...
 The r.in.gdal man page should be fixed to reflect reality:
  SYNOPSIS
        r.in.gdal -f #now alone on a separate line
 and "[required]" needs to be removed from these:
  input=name [required]
  output=name [required]

 v.import -f produces jumbled list
 Currently the user must use
  v.import -f | sort -f
 if he wants to read the list produced in any orderly fashion.
 Perhaps this could be done automatically, or at least documented on
 the man page.

 r.in.gdal -f produces jumbled list
 Currently the user must use
  r.in.gdal -f | sort -f
 if he wants to read the list produced in any orderly fashion.
 Perhaps this could be done automatically, or at least documented on
 the man page.

 v.import: combine confusing sentences
 In man v.import we read
  DESCRIPTION
  ...
  If the projection of the input does not match the projection of the
  location, the input is reprojected into the current location. In case
  that the projection of the input map does match the projection of the
  location, the input is imported directly.

 Let's take a second look at that last part:

 __________If_the_projection_of_the_input_____does_not_match_the_projection_of_the_location,_the_input_is_reprojected_into_the_current_location.
 In_case_that_the_projection_of_the_input_map_does_____match_the_projection_of_the_location,_the_input_is_imported_directly.

 Let's see if we can combine them to make a single sentence:

  If the projection of the input does not match the projection of the
  location, the input is reprojected into the current location. Else it
  is imported directly.

 Or perhaps simply:

  If the projection of the input does not match the projection of the
  location, the input is reprojected into the current location.

 Wait! Maybe -o needs to be mentioned here too, as further below we see:

  NOTES

  v.import checks the projection metadata of the dataset to be imported
  against the current location's projection. If not identical a related
  error message is shown. To override this projection check (i.e. to use
  current location's projection) by assuming that the dataset has the
  same projection as the current location the -o flag can be used. This
  is also useful when geodata to be imported do not contain any
  projection metadata at all. The user must be sure that the projection
  is identical in order to avoid to introduce data errors.

 Or maybe all this needs to be combined into one paragraph.

 Allow user to do just "v.import datum_trans=-1"
 On man v.import the user sees
  datum_trans=integer
   Index number of datum transform parameters
   -1 to list available datum transform parameters
   Options: -1-100

 OK, he is just curious, and wants to list them.
  $ v.import datum_trans=-1
 alas does not work. He needs to pack on a load of arbitrary junk:
  $ v.import datum_trans=-1 epsg=3333 input=/dev/null output=zzz
 and still just gets
  ERROR: No output format specified, define one of flags -p, -g, -j, or -w
 which by the way do not appear on the v.import man page.
 (My actual test command was
  $ grass --exec v.import datum_trans=-1 epsg=3333 input=/dev/null
 output=zzz

 Wait, man v.in.org says
  An interesting wrapper command around v.in.ogr is v.import which
 reprojects (if needed) the vector dataset during import to the projection
 of the current location.
 But the v.import page doesn't mention this relationship.
 }}}
 Sorry for the big mess.

-- 
Ticket URL: <https://trac.osgeo.org/grass/ticket/4000>
GRASS GIS <https://grass.osgeo.org>



More information about the grass-dev mailing list