[GRASS-dev] [GRASS GIS] #3161: different results by v.in.ogr --ui and vector import wizzard (data shift)

#3161: different results by v.in.ogr --ui and vector import wizzard (data shift)
---------------------------+-------------------------
Reporter: hellik | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 7.2.0
Component: Vector | Version: svn-trunk
Keywords: vector import | CPU: x86-64
Platform: MSWindows 7 |
---------------------------+-------------------------
follwoing location

{{{
g.proj -p
-PROJ_INFO-------------------------------------------------
name : MGI / Austria Lambert
datum : hermannskogel
ellps : bessel
proj : lcc
lat_1 : 49
lat_2 : 46
lat_0 : 47.5
lon_0 : 13.33333333333333
x_0 : 400000
y_0 : 400000
no_defs : defined
towgs84 : 577.326,90.129,463.919,5.1366,1.4742,5.2970,2.4232
-PROJ_EPSG-------------------------------------------------
epsg : 31287
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1
}}}

and vector data (shapefile to import):

{{{
INFO: Open of `Gesamtgewaessernetz_v11_Tirol_epsg31287.shp'
       using driver `ESRI Shapefile' successful.

Layer name: Gesamtgewaessernetz_v11_Tirol_epsg31287
Metadata:
   DBF_DATE_LAST_UPDATE=2016-09-16
Geometry: Measured Line String
Feature Count: 5095
Extent: (118287.824753, 197521.746410) - (833235.119008, 544697.312403)
Layer SRS WKT:
PROJCS["MGI_Austria_Lambert",
     GEOGCS["GCS_MGI",
         DATUM["Militar_Geographische_Institute",
             SPHEROID["Bessel_1841",6377397.155,299.1528128]],
         PRIMEM["Greenwich",0],
         UNIT["Degree",0.017453292519943295]],
     PROJECTION["Lambert_Conformal_Conic_2SP"],
     PARAMETER["standard_parallel_1",49],
     PARAMETER["standard_parallel_2",46],
     PARAMETER["latitude_of_origin",47.5],
     PARAMETER["central_meridian",13.33333333333333],
     PARAMETER["false_easting",400000],
     PARAMETER["false_northing",400000],
     UNIT["Meter",1]]
KURZRID: Integer64 (10.0)
RL: String (2.0)
VERSION: String (5.0)
GEW_ID: String (15.0)
GEW_NAME: String (120.0)
OBJEKT: String (6.0)
STAND: Date (10.0)
EMASST: Integer64 (10.0)
SHAPE_LEN: Real (19.11)
GEW_TYP: String (30.0)
GEW_GRKL: String (30.0)
GEW_LAENGE: Real (19.10)
GEW_NAME2: String (120.0)
}}}

srs of location and data for import are matching.

using the vector import wizzard

{{{
v.import input=D:\temp\Gesamtgewaessernetz_v11_Tirol
layer=Gesamtgewaessernetz_v11_Tirol_epsg31287
output=Gesamtgewaessernetz_v11_Tirol_epsg31287_vimportwizzard
WARNING: All available OGR layers will be imported into vector map
<Gesamtgewaessernetz_v11_Tirol>
Importing <D:\temp\Gesamtgewaessernetz_v11_Tirol> ...
Check if OGR layer <Gesamtgewaessernetz_v11_Tirol_epsg31287> contains
polygons...
Standard Treiber / Datenbank ist:
Treiber: sqlite
Datenbank: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
Importing 5095 features (OGR layer
<Gesamtgewaessernetz_v11_Tirol_epsg31287>)...
-----------------------------------------------------
Erstelle Topologie für die Vektorkarte
<Gesamtgewaessernetz_v11_Tirol_epsg31287_vimportwizzard@PERMANENT>...
Registriere Primitive...
5095 primitives registered
1505379 Vertices registriert
Erzeuge Flächen...
0 areas built
0 isles built
Füge Inseln hinzu...
Füge Zentroide hinzu...
Anzahl der Knoten: 10108
Anzahl der Primitive: 5095
Anzahl der Punkte: 0
Anzahl der Linien: 5095
Anzahl der Grenzen: 0
Anzahl der Zentroide: 0
Anzahl der Flächen: 0
Anzahl der Inseln: 0
Reprojecting <Gesamtgewaessernetz_v11_Tirol_epsg31287_vimportwizzard>...
Reprojecting primitives ...
Erstelle Topologie für die Vektorkarte
<Gesamtgewaessernetz_v11_Tirol_epsg31287_vimportwizzard@data>...
Registriere Primitive...
5095 primitives registered
1505379 Vertices registriert
Erzeuge Flächen...
0 areas built
0 isles built
Füge Inseln hinzu...
Füge Zentroide hinzu...
Anzahl der Knoten: 10108
Anzahl der Primitive: 5095
Anzahl der Punkte: 0
Anzahl der Linien: 5095
Anzahl der Grenzen: 0
Anzahl der Zentroide: 0
Anzahl der Flächen: 0
Anzahl der Inseln: 0
}}}

you can see a reprojecting

{{{
Reprojecting primitives ...
}}}

although srs of location and import vector data matches

then starting v.in.ogr

{{{
v.in.ogr
input=D:\temp\Gesamtgewaessernetz_v11_Tirol\Gesamtgewaessernetz_v11_Tirol_epsg31287.shp
layer=Gesamtgewaessernetz_v11_Tirol_epsg31287
output=Gesamtgewaessernetz_v11_Tirol_epsg31287_vinogrui
Check if OGR layer <Gesamtgewaessernetz_v11_Tirol_epsg31287> contains
polygons...
Importing 5095 features (OGR layer
<Gesamtgewaessernetz_v11_Tirol_epsg31287>)...
-----------------------------------------------------
Erstelle Topologie für die Vektorkarte
<Gesamtgewaessernetz_v11_Tirol_epsg31287_vinogrui@data>...
Registriere Primitive...
5095 primitives registered
1505379 Vertices registriert
Erzeuge Flächen...
0 areas built
0 isles built
Füge Inseln hinzu...
Füge Zentroide hinzu...
Anzahl der Knoten: 10108
Anzahl der Primitive: 5095
Anzahl der Punkte: 0
Anzahl der Linien: 5095
Anzahl der Grenzen: 0
Anzahl der Zentroide: 0
Anzahl der Flächen: 0
Anzahl der Inseln: 0
}}}

{{{
v.info map=Gesamtgewaessernetz_v11_Tirol_epsg31287_vimportwizzard@data
+----------------------------------------------------------------------------+
  | Name: Gesamtgewaessernetz_v11_Tirol_epsg31287_vimportwizzard
|
  | Mapset: data
|
  | Location: locat_epsg31287
|
  | Datenbank: D:\grassdata
|
  | Titel:
|
  | Maßstab: 1:1
|
  | Name des Erzeugers:hkmyr
|
  | Organisation:
|
  | Quelldatum: Fri Sep 16 21:51:42 2016
|
  | Timestamp (first layer): none
|
|----------------------------------------------------------------------------|
  | Kartenformat: native
|
|----------------------------------------------------------------------------|
  | Kartenart:: Vektor (level: 2)
|
  |
|
  | Anzahl der Punkte: 0 Anzahl der Zentroide: 0
|
  | Anzahl der Linien: 5095 Anzahl der Grenzen: 0
|
  | Anzahl der Flächen: 0 Anzahl der Inseln: 0
|
  |
|
  | Map is 3D: No
|
  | Anzahl der dblinks: 1
|
  |
|
  | Projektion: MGI / Austria Lambert
|
  |
|
  | N: 544693.22594229 S: 197500.09732215
|
  | E: 832927.81730718 W: 117982.48429679
|
  |
|
  | Digitalisierungs-Schwellwert:: 0
|
  | Kommentar:
|
  |
|
+----------------------------------------------------------------------------+

v.info map=Gesamtgewaessernetz_v11_Tirol_epsg31287_vinogrui@data
+----------------------------------------------------------------------------+
  | Name: Gesamtgewaessernetz_v11_Tirol_epsg31287_vinogrui
|
  | Mapset: data
|
  | Location: locat_epsg31287
|
  | Datenbank: D:\grassdata
|
  | Titel:
|
  | Maßstab: 1:1
|
  | Name des Erzeugers:hkmyr
|
  | Organisation:
|
  | Quelldatum: Fri Sep 16 21:53:48 2016
|
  | Timestamp (first layer): none
|
|----------------------------------------------------------------------------|
  | Kartenformat: native
|
|----------------------------------------------------------------------------|
  | Kartenart:: Vektor (level: 2)
|
  |
|
  | Anzahl der Punkte: 0 Anzahl der Zentroide: 0
|
  | Anzahl der Linien: 5095 Anzahl der Grenzen: 0
|
  | Anzahl der Flächen: 0 Anzahl der Inseln: 0
|
  |
|
  | Map is 3D: No
|
  | Anzahl der dblinks: 1
|
  |
|
  | Projektion: MGI / Austria Lambert
|
  |
|
  | N: 544697.31240282 S: 197521.74641048
|
  | E: 833235.11900777 W: 118287.82475345
|
  |
|
  | Digitalisierungs-Schwellwert:: 0
|
  | Kommentar:
|
  |
|
+----------------------------------------------------------------------------+
}}}

there is a '''data shift/reprojection''' by vector import wizzard!

import via v.in.ogr --ui is '''correct'''.

tested with

{{{
  GRASS Version: 7.3.svn
GRASS SVN revision: r69490
Build date: 2016-09-15
Build platform: x86_64-w64-mingw32
GDAL: 2.1.1
PROJ.4: 4.9.3
GEOS: 3.5.0
SQLite: 3.14.1
Python: 2.7.5
wxPython: 2.8.12.1
Platform: Windows-8-6.2.9200 (OSGeo4W)
}}}

attaching a screenshot of the data shift.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3161&gt;
GRASS GIS <https://grass.osgeo.org>

#3161: different results by v.in.ogr --ui and vector import wizzard (data shift)
----------------------+---------------------------
  Reporter: hellik | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: blocker | Milestone: 7.2.0
Component: Vector | Version: svn-trunk
Resolution: | Keywords: vector import
       CPU: x86-64 | Platform: MSWindows 7
----------------------+---------------------------
Changes (by hellik):

* Attachment "check_vimport_vinogrui.png" added.

screenhot of data shift: green correctly imported, red false

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3161&gt;
GRASS GIS <https://grass.osgeo.org>

#3161: different results by v.in.ogr --ui and vector import wizzard (data shift)
----------------------+---------------------------
  Reporter: hellik | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: blocker | Milestone: 7.2.0
Component: Vector | Version: svn-trunk
Resolution: | Keywords: vector import
       CPU: x86-64 | Platform: MSWindows 7
----------------------+---------------------------

Comment (by mmetz):

Replying to [ticket:3161 hellik]:
> follwoing location
>
> {{{
> g.proj -p
> -PROJ_INFO-------------------------------------------------
> name : MGI / Austria Lambert
> datum : hermannskogel
> ellps : bessel
> proj : lcc
> lat_1 : 49
> lat_2 : 46
> lat_0 : 47.5
> lon_0 : 13.33333333333333
> x_0 : 400000
> y_0 : 400000
> no_defs : defined
> towgs84 : 577.326,90.129,463.919,5.1366,1.4742,5.2970,2.4232
> -PROJ_EPSG-------------------------------------------------
> epsg : 31287
> -PROJ_UNITS------------------------------------------------
> unit : meter
> units : meters
> meters : 1
> }}}
>
The towgs84 parameters could be a problem. GDAL uses similar towgs84
parameters as default while GRASS uses as default
{{{
towgs84 : 653,-212,449,0,0,0,0
}}}

Since

> and vector data (shapefile to import):
>
> {{{
> INFO: Open of `Gesamtgewaessernetz_v11_Tirol_epsg31287.shp'
> using driver `ESRI Shapefile' successful.
>
> Layer name: Gesamtgewaessernetz_v11_Tirol_epsg31287
> Metadata:
> DBF_DATE_LAST_UPDATE=2016-09-16
> Geometry: Measured Line String
> Feature Count: 5095
> Extent: (118287.824753, 197521.746410) - (833235.119008, 544697.312403)
> Layer SRS WKT:
> PROJCS["MGI_Austria_Lambert",
> GEOGCS["GCS_MGI",
> DATUM["Militar_Geographische_Institute",
> SPHEROID["Bessel_1841",6377397.155,299.1528128]],
> PRIMEM["Greenwich",0],
> UNIT["Degree",0.017453292519943295]],
> PROJECTION["Lambert_Conformal_Conic_2SP"],
> PARAMETER["standard_parallel_1",49],
> PARAMETER["standard_parallel_2",46],
> PARAMETER["latitude_of_origin",47.5],
> PARAMETER["central_meridian",13.33333333333333],
> PARAMETER["false_easting",400000],
> PARAMETER["false_northing",400000],
> UNIT["Meter",1]]
> }}}
does not report towgs84 parameters, GRASS might decide that

> srs of location and data for import are matching.

srs of location and data for import are '''not''' matching.

Is the output of
{{{
g.proj -p
}}}
and
{{{
g.proj -p
georef="D:\temp\Gesamtgewaessernetz_v11_Tirol\Gesamtgewaessernetz_v11_Tirol_epsg31287.shp"
}}}
identical?

If not, as v.import assumes, you might need to provide the EPSG code and
the datum transformation parameters as input to v.import (which makes
v.import more complicated as it was intended to be).

If the towgs84 parameters as reported by g.proj for the current location
and for the input shapefile are not identical, this could be regarded as a
bug in GRASS since the vast majority of GIS data is imported via
r.in.gdal/v.in.ogr and GDAL/OGR automatically picks a preferred set of
datum transformation parameters which GRASS should detect.

In this case the datum transformation parameters selected by GDAL are
{{{
towgs : 577.326,90.129,463.919,5.137,1.474,5.297,2.4232
}}}
which is similar but not equal to those used in your location
{{{
towgs84 : 577.326,90.129,463.919,5.1366,1.4742,5.2970,2.4232
}}}

In the end, the user has to decide if reprojection is needed or if the
source srs and the location srs are similar enough to allow for using
v.in.ogr -o (override projection check). After investigating the input
data with g.proj georef=<data to be imported> and ogrinfo/gdalinfo.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/3161#comment:1&gt;
GRASS GIS <https://grass.osgeo.org>

#3161: different results by v.in.ogr --ui and vector import wizzard (data shift)
----------------------+---------------------------
  Reporter: hellik | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: blocker | Milestone: 7.2.0
Component: Vector | Version: svn-trunk
Resolution: | Keywords: vector import
       CPU: x86-64 | Platform: MSWindows 7
----------------------+---------------------------

Comment (by hellik):

Replying to [comment:1 mmetz]:
> Replying to [ticket:3161 hellik]:
> > follwoing location
> >
> > {{{
> > g.proj -p
> > -PROJ_INFO-------------------------------------------------
> > name : MGI / Austria Lambert
> > datum : hermannskogel
> > ellps : bessel
> > proj : lcc
> > lat_1 : 49
> > lat_2 : 46
> > lat_0 : 47.5
> > lon_0 : 13.33333333333333
> > x_0 : 400000
> > y_0 : 400000
> > no_defs : defined
> > towgs84 : 577.326,90.129,463.919,5.1366,1.4742,5.2970,2.4232
> > -PROJ_EPSG-------------------------------------------------
> > epsg : 31287
> > -PROJ_UNITS------------------------------------------------
> > unit : meter
> > units : meters
> > meters : 1
> > }}}
> >
> The towgs84 parameters could be a problem. GDAL uses similar towgs84
parameters as default while GRASS uses as default
> {{{
> towgs84 : 653,-212,449,0,0,0,0
> }}}

the location was created by the location wizzard by EPSG:31287 and then
the transformation for the region of Austria was used.

trying

{{{
g.proj -p epsg=31287
}}}

in a EPSG:4326 and a EPSG:31287 location (both locations are created by
the EPSG code, I get

{{{
g.proj -p epsg=31287
-PROJ_INFO-------------------------------------------------
name : MGI / Austria Lambert
datum : hermannskogel
ellps : bessel
proj : lcc
lat_1 : 49
lat_2 : 46
lat_0 : 47.5
lon_0 : 13.33333333333333
x_0 : 400000
y_0 : 400000
towgs84 : 577.326,90.129,463.919,5.137,1.474,5.297,2.4232
no_defs : defined
-PROJ_EPSG-------------------------------------------------
epsg : 31287
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1
}}}

so GRASS seems to choose the same +towgs84 parameter as the underlying
gdal/ogr.

> Since
>
> > and vector data (shapefile to import):
> >
> > {{{
> > INFO: Open of `Gesamtgewaessernetz_v11_Tirol_epsg31287.shp'
> > using driver `ESRI Shapefile' successful.
> >
> > Layer name: Gesamtgewaessernetz_v11_Tirol_epsg31287
> > Metadata:
> > DBF_DATE_LAST_UPDATE=2016-09-16
> > Geometry: Measured Line String
> > Feature Count: 5095
> > Extent: (118287.824753, 197521.746410) - (833235.119008,
544697.312403)
> > Layer SRS WKT:
> > PROJCS["MGI_Austria_Lambert",
> > GEOGCS["GCS_MGI",
> > DATUM["Militar_Geographische_Institute",
> > SPHEROID["Bessel_1841",6377397.155,299.1528128]],
> > PRIMEM["Greenwich",0],
> > UNIT["Degree",0.017453292519943295]],
> > PROJECTION["Lambert_Conformal_Conic_2SP"],
> > PARAMETER["standard_parallel_1",49],
> > PARAMETER["standard_parallel_2",46],
> > PARAMETER["latitude_of_origin",47.5],
> > PARAMETER["central_meridian",13.33333333333333],
> > PARAMETER["false_easting",400000],
> > PARAMETER["false_northing",400000],
> > UNIT["Meter",1]]
> > }}}
> does not report towgs84 parameters, GRASS might decide that
>
> > srs of location and data for import are matching.
>
> srs of location and data for import are '''not''' matching.
>
> Is the output of
> {{{
> g.proj -p
> }}}

{{{
g.proj -p
-PROJ_INFO-------------------------------------------------
name : MGI / Austria Lambert
datum : hermannskogel
ellps : bessel
proj : lcc
lat_1 : 49
lat_2 : 46
lat_0 : 47.5
lon_0 : 13.33333333333333
x_0 : 400000
y_0 : 400000
no_defs : defined
towgs84 : 577.326,90.129,463.919,5.1366,1.4742,5.2970,2.4232
-PROJ_EPSG-------------------------------------------------
epsg : 31287
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1
}}}

the location was created by the location wizzard by EPSG:31287 and then
the transformation for the region of Austria was used.

> and
> {{{
> g.proj -p
georef="D:\temp\Gesamtgewaessernetz_v11_Tirol\Gesamtgewaessernetz_v11_Tirol_epsg31287.shp"
> }}}
> identical?
>

in an EPSG:4326 location I get:

{{{
g.proj -p
georef=D:\temp\Gesamtgewaessernetz_v11_Tirol\Gesamtgewaessernetz_v11_Tirol_epsg31287.shp
Versuche mit OGR zu öffnen...
...erfolgreich beendet.
-PROJ_INFO-------------------------------------------------
name : MGI_Austria_Lambert
datum : hermannskogel
ellps : bessel
proj : lcc
lat_1 : 49
lat_2 : 46
lat_0 : 47.5
lon_0 : 13.33333333333333
x_0 : 400000
y_0 : 400000
no_defs : defined
-PROJ_EPSG-------------------------------------------------
epsg : 4326
-PROJ_UNITS------------------------------------------------
unit : Meter
units : Meters
meters : 1
}}}

and in an EPSG:31287 location I get

{{{
g.proj -p
georef=D:\temp\Gesamtgewaessernetz_v11_Tirol\Gesamtgewaessernetz_v11_Tirol_epsg31287.shp
Versuche mit OGR zu öffnen...
...erfolgreich beendet.
-PROJ_INFO-------------------------------------------------
name : MGI_Austria_Lambert
datum : hermannskogel
ellps : bessel
proj : lcc
lat_1 : 49
lat_2 : 46
lat_0 : 47.5
lon_0 : 13.33333333333333
x_0 : 400000
y_0 : 400000
no_defs : defined
-PROJ_EPSG-------------------------------------------------
epsg : 31287
-PROJ_UNITS------------------------------------------------
unit : Meter
units : Meters
meters : 1
}}}

> If not, as v.import assumes, you might need to provide the EPSG code and
the datum transformation parameters as input to v.import (which makes
v.import more complicated as it was intended to be).
>

now declaring EPSG code and datum_trans in v.import:

{{{
v.import --verbose epsg=31287 datum_trans=2
input=D:\temp\Gesamtgewaessernetz_v11_Tirol
layer=Gesamtgewaessernetz_v11_Tirol_epsg31287 output=checkimport
Creating temporary location for <D:\temp\Gesamtgewaessernetz_v11_Tirol>...
Projektionsinformationen aktualisiert
WARNING: All available OGR layers will be imported into vector map
<Gesamtgewaessernetz_v11_Tirol>
-PROJ_INFO-------------------------------------------------
name : MGI / Austria Lambert
datum : hermannskogel
ellps : bessel
proj : lcc
lat_1 : 49
lat_2 : 46
lat_0 : 47.5
lon_0 : 13.33333333333333
x_0 : 400000
y_0 : 400000
no_defs : defined
towgs84 : 577.326,90.129,463.919,5.1366,1.4742,5.2970,2.4232
-PROJ_EPSG-------------------------------------------------
epsg : 31287
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1
Importing <D:\temp\Gesamtgewaessernetz_v11_Tirol> ...
Die Projektionsinformationen des Eingabedatensatzes und der aktuellen
Location scheinen übereinzustimmen.
Check if OGR layer <Gesamtgewaessernetz_v11_Tirol_epsg31287> contains
polygons...
Using native format
Standard Treiber / Datenbank ist:
Treiber: sqlite
Datenbank: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
Importing 5095 features (OGR layer
<Gesamtgewaessernetz_v11_Tirol_epsg31287>)...
-----------------------------------------------------
Erstelle Topologie für die Vektorkarte <checkimport@PERMANENT>...
Registriere Primitive...
5095 primitives registered
1505379 Vertices registriert
Erzeuge Flächen...
0 areas built
0 isles built
Füge Inseln hinzu...
Füge Zentroide hinzu...
Die Topologie wurde erstellt.
Anzahl der Knoten: 10108
Anzahl der Primitive: 5095
Anzahl der Punkte: 0
Anzahl der Linien: 5095
Anzahl der Grenzen: 0
Anzahl der Zentroide: 0
Anzahl der Flächen: 0
Anzahl der Inseln: 0
Reprojecting <checkimport>...
Eingabe der Projektionsparameter: +proj=lcc +lat_1=49
+lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000
+y_0=400000 +no_defs +a=6377397.155 +rf=299.1528128
+towgs84=577.326,90.129,463.919,5.1366,1.4742,5.2970,2.4232
Eingabe des Einheitenfaktors: 1
Ausgabe der Projektionsparameter: +proj=lcc +lat_1=49
+lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000
+y_0=400000 +no_defs +a=6377397.155 +rf=299.1528128
+towgs84=577.326,90.129,463.919,5.1366,1.4742,5.2970,2.4232
Ausgabe des Einheitenfaktors: 1
Using native format
Reprojecting primitives ...
Erstelle Topologie für die Vektorkarte <checkimport@data>...
Registriere Primitive...
5095 primitives registered
1505379 Vertices registriert
Erzeuge Flächen...
0 areas built
0 isles built
Füge Inseln hinzu...
Füge Zentroide hinzu...
Die Topologie wurde erstellt.
Anzahl der Knoten: 10108
Anzahl der Primitive: 5095
Anzahl der Punkte: 0
Anzahl der Linien: 5095
Anzahl der Grenzen: 0
Anzahl der Zentroide: 0
Anzahl der Flächen: 0
Anzahl der Inseln: 0
}}}

> If the towgs84 parameters as reported by g.proj for the current location
and for the input shapefile are not identical, this could be regarded as a
bug in GRASS since the vast majority of GIS data is imported via
r.in.gdal/v.in.ogr and GDAL/OGR automatically picks a preferred set of
datum transformation parameters which GRASS should detect.
>
> In this case the datum transformation parameters selected by GDAL are
> {{{
> towgs : 577.326,90.129,463.919,5.137,1.474,5.297,2.4232
> }}}
> which is similar but not equal to those used in your location
> {{{
> towgs84 : 577.326,90.129,463.919,5.1366,1.4742,5.2970,2.4232
> }}}
>
> In the end, the user has to decide if reprojection is needed or if the
source srs and the location srs are similar enough to allow for using
v.in.ogr -o (override projection check). After investigating the input
data with g.proj georef=<data to be imported> and ogrinfo/gdalinfo.

for me it's not clear, as I've choosen GUI -> ''import common formats''
and '''not''' GUI -> ''import of common formats with reprojection''. in
this case I'm sure/assume my data is in the same srs and import should
just works.

it's quite confusing as v.in.ogr --ui imports the data correctly without
the need of ''override projection check''.

for me it's a regression, as I have to type ''v.in.ogr --ui'' to get
correct results for a simple task of import data in the same srs as the
location.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/3161#comment:2&gt;
GRASS GIS <https://grass.osgeo.org>

#3161: different results by v.in.ogr --ui and vector import wizzard (data shift)
----------------------+---------------------------
  Reporter: hellik | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: blocker | Milestone: 7.2.0
Component: Vector | Version: svn-trunk
Resolution: | Keywords: vector import
       CPU: x86-64 | Platform: MSWindows 7
----------------------+---------------------------

Comment (by hellik):

Replying to [comment:1 mmetz]:
>
> In this case the datum transformation parameters selected by GDAL are
> {{{
> towgs : 577.326,90.129,463.919,5.137,1.474,5.297,2.4232
> }}}
> which is similar but not equal to those used in your location
> {{{
> towgs84 : 577.326,90.129,463.919,5.1366,1.4742,5.2970,2.4232
> }}}

{{{
g.proj epsg=31287 datum_trans=-1
---
1
Used in whole hermannskogel region
towgs84=653.000,-212.000,449.000
Default 3-Parameter Transformation (May not be optimum for older datums;
use this only if no more appropriate options are available.)
---
2
Used in Austria
towgs84=577.326,90.129,463.919,5.1366,1.4742,5.2970,2.4232
Accuracy approx. 1.5m
---
3
Used in Czech Republic
towgs84=570.8,85.7,462.8,4.998,1.587,5.261,3.56

---
4
Used in Slovakia
towgs84=485.021,169.465,483.839,7.786342,4.397554,4.102655,0

---
5
Used in Slovenia
towgs84=426.9,142.6,460.1,4.91,4.49,-12.42,17.1
}}}

mmhh, g.proj gives slightly different +towgs84 parameters as you mention
it for GDAL/OGR.

{{{
System Info
GRASS Version: 7.3.svn
GRASS SVN revision: r69510
Build date: 2016-09-17
Build platform: x86_64-w64-mingw32
GDAL: 2.1.1
PROJ.4: 4.9.3
GEOS: 3.5.0
SQLite: 3.14.1
Python: 2.7.5
wxPython: 2.8.12.1
Platform: Windows-8-6.2.9200 (OSGeo4W)
}}}

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3161#comment:3&gt;
GRASS GIS <https://grass.osgeo.org>

#3161: different results by v.in.ogr --ui and vector import wizzard (data shift)
----------------------+---------------------------
  Reporter: hellik | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: blocker | Milestone: 7.2.0
Component: Vector | Version: svn-trunk
Resolution: | Keywords: vector import
       CPU: x86-64 | Platform: MSWindows 7
----------------------+---------------------------

Comment (by hellik):

Replying to [comment:1 mmetz]:
> In the end, the user has to decide if reprojection is needed or if the
source srs and the location srs are similar enough to allow for using
v.in.ogr -o (override projection check). After investigating the input
data with g.proj georef=<data to be imported> and ogrinfo/gdalinfo.

as mentioned before, there is no ''override projection check'' needed by
import via v.in.ogr --ui.

if you want to try

- data can be downloaded
[https://www.tirol.gv.at/data/datenkatalog/umwelt/gewaessernetz/ river
net];

- then ogr2ogr -s_srs EPSG:31254 -t_srs EPSG:31287

- create location by EPSG:31287 and datum_trans 2

- then import ''GUI -> import common formats''

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3161#comment:4&gt;
GRASS GIS <https://grass.osgeo.org>

#3161: different results by v.in.ogr --ui and vector import wizzard (data shift)
----------------------+---------------------------
  Reporter: hellik | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: blocker | Milestone: 7.2.0
Component: Vector | Version: svn-trunk
Resolution: | Keywords: vector import
       CPU: x86-64 | Platform: MSWindows 7
----------------------+---------------------------

Comment (by mmetz):

Replying to [comment:4 hellik]:
> Replying to [comment:1 mmetz]:
> > In the end, the user has to decide if reprojection is needed or if the
source srs and the location srs are similar enough to allow for using
v.in.ogr -o (override projection check). After investigating the input
data with g.proj georef=<data to be imported> and ogrinfo/gdalinfo.
>
> as mentioned before, there is no ''override projection check'' needed by
import via v.in.ogr --ui.
>
> if you want to try
>
> - data can be downloaded
[https://www.tirol.gv.at/data/datenkatalog/umwelt/gewaessernetz/ river
net];
>
> - then ogr2ogr -s_srs EPSG:31254 -t_srs EPSG:31287
>
> - create location by EPSG:31287 and datum_trans 2
>
> - then import ''GUI -> import common formats''

I tested. The location has the same parameters like yours:

{{{
> g.proj -p
-PROJ_INFO-------------------------------------------------
name : MGI / Austria Lambert
datum : hermannskogel
ellps : bessel
proj : lcc
lat_1 : 49
lat_2 : 46
lat_0 : 47.5
lon_0 : 13.33333333333333
x_0 : 400000
y_0 : 400000
no_defs : defined
towgs84 : 577.326,90.129,463.919,5.1366,1.4742,5.2970,2.4232
-PROJ_EPSG-------------------------------------------------
epsg : 31287
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1
}}}

Now test if the SRS of the shapefile is identical

{{{
> v.in.ogr in=Gesamtgewaessernetz_v11_Tirol_epsg31287
layer=Gesamtgewaessernetz_v11_Tirol -j
Projection of input dataset and current location appear to match
}}}

fine, now v.import
{{{
> v.import in=Gesamtgewaessernetz_v11_Tirol_epsg31287
out=Gesamtgewaessernetz_v11_Tirol_epsg31287
[...]
Input <Gesamtgewaessernetz_v11_Tirol_epsg31287> successfully imported
without reprojection
}}}

All fine, no reprojection. What is your output of `v.in.ogr -j`?

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3161#comment:5&gt;
GRASS GIS <https://grass.osgeo.org>

#3161: different results by v.in.ogr --ui and vector import wizzard (data shift)
----------------------+---------------------------
  Reporter: hellik | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: blocker | Milestone: 7.2.0
Component: Vector | Version: svn-trunk
Resolution: | Keywords: vector import
       CPU: x86-64 | Platform: MSWindows 7
----------------------+---------------------------

Comment (by hellik):

Replying to [comment:5 mmetz]:
>
> All fine, no reprojection. What is your output of `v.in.ogr -j`?

{{{
v.in.ogr -j
input=D:\temp\Gesamtgewaessernetz_v11_Tirol\Gesamtgewaessernetz_v11_Tirol_epsg31287.shp
Die Projektionsinformationen des Eingabedatensatzes und der aktuellen
Location scheinen übereinzustimmen.
}}}

they are also matching here.

will test it with today's winGRASS daily.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/3161#comment:6&gt;
GRASS GIS <https://grass.osgeo.org>

#3161: different results by v.in.ogr --ui and vector import wizzard (data shift)
----------------------+---------------------------
  Reporter: hellik | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: blocker | Milestone: 7.2.0
Component: Vector | Version: svn-trunk
Resolution: | Keywords: vector import
       CPU: x86-64 | Platform: MSWindows 7
----------------------+---------------------------

Comment (by hellik):

Replying to [comment:6 hellik]:
> Replying to [comment:5 mmetz]:
> >
> > All fine, no reprojection. What is your output of `v.in.ogr -j`?
>
>
> {{{
> v.in.ogr -j
input=D:\temp\Gesamtgewaessernetz_v11_Tirol\Gesamtgewaessernetz_v11_Tirol_epsg31287.shp
> Die Projektionsinformationen des Eingabedatensatzes und der aktuellen
Location scheinen übereinzustimmen.
> }}}
>
> they are also matching here.
>
> will test it with today's winGRASS daily.

now tested with

{{{
System Info
GRASS Version: 7.3.svn
GRASS SVN revision: r69517
Build date: 2016-09-19
Build platform: x86_64-w64-mingw32
GDAL: 2.1.1
PROJ.4: 4.9.3
GEOS: 3.5.0
SQLite: 3.14.1
Python: 2.7.5
wxPython: 2.8.12.1
Platform: Windows-8-6.2.9200 (OSGeo4W)
}}}

{{{
v.import input=D:\temp\Gesamtgewaessernetz_v11_Tirol
layer=Gesamtgewaessernetz_v11_Tirol_epsg31287
output=Gesamtgewaessernetz_v11_Tirol_epsg31287
WARNING: All available OGR layers will be imported into vector map
<data_epsg31287>
Check if OGR layer <Gesamtgewaessernetz_v11_Tirol_epsg31287> contains
polygons...
Importing 5095 features (OGR layer
<Gesamtgewaessernetz_v11_Tirol_epsg31287>)...
-----------------------------------------------------
Erstelle Topologie für die Vektorkarte
<Gesamtgewaessernetz_v11_Tirol_epsg31287@data>...
Registriere Primitive...
5095 primitives registered
1505379 Vertices registriert
Erzeuge Flächen...
0 areas built
0 isles built
Füge Inseln hinzu...
Füge Zentroide hinzu...
Anzahl der Knoten: 10108
Anzahl der Primitive: 5095
Anzahl der Punkte: 0
Anzahl der Linien: 5095
Anzahl der Grenzen: 0
Anzahl der Zentroide: 0
Anzahl der Flächen: 0
Anzahl der Inseln: 0
Input <D:\temp\Gesamtgewaessernetz_v11_Tirol> successfully imported
without reprojection
}}}

now it works also without reprojection.

it seems some temporary instability. closing ticket as worksforme.

thanks for testing.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3161#comment:7&gt;
GRASS GIS <https://grass.osgeo.org>

#3161: different results by v.in.ogr --ui and vector import wizzard (data shift)
-------------------------+---------------------------
  Reporter: hellik | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: blocker | Milestone: 7.2.0
Component: Vector | Version: svn-trunk
Resolution: worksforme | Keywords: vector import
       CPU: x86-64 | Platform: MSWindows 7
-------------------------+---------------------------
Changes (by hellik):

* status: new => closed
* resolution: => worksforme

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/3161#comment:8&gt;
GRASS GIS <https://grass.osgeo.org>