[gdal-dev] Problems loading swedish climate data to PostGIS
Jeff McKenna
jmckenna at gatewaygeomatics.com
Tue Jun 23 14:11:45 PDT 2020
Hi Thiemo,
What if you following my steps and create a new database (sverige2),
then connect to that empty database with ogrinfo, and then try ogr2ogr
on that new empty db.
-jeff
--
Jeff McKenna
MapServer Consulting and Training Services
co-founder of FOSS4G
http://gatewaygeo.com/
On 2020-06-23 5:35 p.m., Thiemo Kellner wrote:
> Hi Jeff
>
> Thank you for sharing your steps. I tried to follow them and had an
> insight though I am still stuck. I noticed that I was passing the gdb
> file within the unzipped folder to ogr2ogr whereas you passed the folder
> path. Switching to your pattern it looks as follows.
>
> thiemo @ thiemos-toshi /mnt/schweden % ogrinfo --formats | grep -i postg
> PostgreSQL -vector- (rw+): PostgreSQL/PostGIS
> PGDUMP -vector- (w+v): PostgreSQL SQL dump
> # PostGIS capabilities of ogrinfo proven
>
> thiemo @ thiemos-toshi /mnt/schweden % ogrinfo
> PG:"host='/var/run/postgresql' port='6543' dbname='sverige' user='sverige'"
> INFO: Open of `PG:host='/var/run/postgresql' port='6543'
> dbname='sverige' user='sverige''
> using driver `PostgreSQL' successful.
> 1: tiger.county (Multi Polygon)
> 2: tiger.state (Multi Polygon)
> ...
> # Connection to PostGIS works
>
> thiemo @ thiemos-toshi /mnt/schweden % ogrinfo SCID_v4.0.gdb
> INFO: Open of `SCID_v4.0.gdb'
> using driver `OpenFileGDB' successful.
> 1: HBVSv_intrans_HQloc100_rcp45_ensembleMean_diffPerc (Multi Polygon)
> 2: HBVSv_intrans_HQloc100_rcp85_ensembleMean_diffPerc (Multi Polygon)
> ...
> # Proven to be able to read the gdb file(s)
>
> thiemo @ thiemos-toshi /mnt/schweden % ogrinfo SCID_v4.0.gdb
> HBVSv_intrans_HQloc100_rcp85_ensembleMean_diffPerc -summary
> INFO: Open of `SCID_v4.0.gdb'
> using driver `OpenFileGDB' successful.
>
> Layer name: HBVSv_intrans_HQloc100_rcp85_ensembleMean_diffPerc
> Geometry: Multi Polygon
> Feature Count: 1103
> ...
> # Proven to be able to access a specific layer in the gdb
>
> thiemo @ thiemos-toshi /mnt/schweden % ogr2ogr –f "PostgreSQL"
> -overwrite –progress --config PG_USE_COPY YES
> PG:"host='/var/run/postgresql' port='5432' dbname='sverige'
> user='sverige'" SCID_v4.0.gdb
> HBVSv_intrans_HQloc100_rcp85_ensembleMean_diffPerc
> FAILURE:
> Unable to open datasource `PostgreSQL' with the following drivers.
> -> `PCIDSK'
> ...
> # UNABLE TO USE ogr2ogr TO WRITE DATA TO MY PostGIS
>
> thiemo @ thiemos-toshi /mnt/schweden :-( % ogr2ogr –f "ESRI Shapefile"
> test.shp SCID_v4.0.gdb/gdb.shp SCID_v4.0.gdb
> HBVSv_intrans_HQloc100_rcp85_ensembleMean_diffPerc
> FAILURE:
> Unable to open datasource `ESRI Shapefile' with the following drivers.
> -> `PCIDSK'
> ...
> # To me it seems that I am not able to use ogr2ogr eventhough I can
> ogrinfo shape files
> thiemo @ thiemos-toshi /mnt/schweden % ogrinfo --formats | grep -i esri
> ESRI Shapefile -vector- (rw+v): ESRI Shapefile
> ESRIJSON -vector- (rov): ESRIJSON
> PGeo -vector- (ro): ESRI Personal GeoDatabase
> OpenFileGDB -vector- (rov): ESRI FileGDB
>
> I am pritty lost.
>
> Kind regards
>
> Thiemo
>
> Quoting Jeff McKenna <jmckenna at gatewaygeomatics.com>:
>
>> Hi Thiemo!
>>
>> I have downloaded your data, to hopefully show you how I would tackle
>> this.
>>
>> First thing is to take this in very small steps, to confirm along the
>> way, otherwise you jump to ogr2ogr without confirming that it is even
>> possible on your system - in other words, live by *ogrinfo*, ogrinfo
>> is your friend, and only move to ogr2ogr once you have ogrinfo happy,
>> and then later use ogrinfo again for confirmation.
>>
>> Here are my notes, I've made comments with the # symbol, and I should
>> also mention that I am testing on Windows, with MS4W, so sometimes the
>> exact command may slightly change (such as a single quote instead of a
>> double quote in a command, on Linux systems) :
>>
>> create database
>> ---------------
>>
>> #must first create an empty db (named 'scid' here), and load the
>> PostGIS extension
>> createdb -U postgres -p 5436 -E UTF8 scid
>> psql -U postgres -d scid -p 5436 -c "CREATE EXTENSION postgis;"
>> psql -U postgres -d scid -p 5436 -c "CREATE EXTENSION postgis_topology;"
>>
>> ogrinfo
>> -------
>>
>> #verify that your local GDAL/OGR is built with PostGIS and FileGDB
>> support
>> ogrinfo --formats
>>
>> PostgreSQL -vector- (rw+): PostgreSQL/PostGIS
>> MySQL -vector- (rw+): MySQL
>> OpenFileGDB -vector- (rov): ESRI FileGDB
>> XPlane -vector- (rov): X-Plane/Flightgear aeronautical data
>> DXF -vector- (rw+v): AutoCAD DXF
>>
>> #connect to your new database (see params for the PG driver at
>> https://gdal.org/drivers/vector/pg.html )
>> ogrinfo PG:"host=localhost user=postgres password=postgres port=5436
>> dbname=scid"
>>
>> INFO: Open of `PG:host=localhost user=postgres password=postgres
>> port=5436 dbname=scid'
>> using driver `PostgreSQL' successful.
>>
>> #we're in business, no errors, yet no spatial tables listed yet,
>> because there is none
>>
>> #examine the file geodatabase
>> ogrinfo SCID_v4.0.gdb
>>
>> INFO: Open of `SCID_v4.0.gdb'
>> using driver `OpenFileGDB' successful.
>>
>> #in my case, MS4W uses the 'OpenFileGDB' driver, but the 'FileGDB'
>> driver is also possible
>>
>> #356 layers should be listed there, with their layer names. I'll use
>> the last layer listed in the long list:
>>
>> 356: HBVSv_MLSM_rcp85_ensembleMax_abs (Multi Polygon)
>>
>> #so the layer name is 'HBVSv_MLSM_rcp85_ensembleMax_abs'
>>
>> #examine the single layer through OGR/GDAL
>> ogrinfo SCID_v4.0.gdb HBVSv_MLSM_rcp85_ensembleMax_abs -summary
>>
>> - lists that there are 1103 features in that layer
>> - EPSG (projection): https://epsg.io/3006
>>
>> ogr2ogr
>> -------
>>
>> #now you are ready to use ogr2ogr to bring the FileGDB layer into your
>> empty PG/PostGIS database
>> ogr2ogr -f PostgreSQL PG:"host=localhost user=postgres
>> password=postgres port=5436 dbname=scid" SCID_v4.0.gdb
>> HBVSv_MLSM_rcp85_ensembleMax_abs
>>
>> ogrinfo
>> -------
>>
>> #use ogrinfo to confirm that the new spatial layer exists in your PG
>> database
>> ogrinfo PG:"host=localhost user=postgres password=postgres port=5436
>> dbname=scid"
>>
>> - should list your new layer 'hbvsv_mlsm_rcp85_ensemblemax_abs'
>>
>> #examine your new layer
>> ogrinfo PG:"host=localhost user=postgres password=postgres port=5436
>> dbname=scid" hbvsv_mlsm_rcp85_ensemblemax_abs -summary
>>
>>
>>
>> Hope this helps. Welcome to the FOSS4G community!
>>
>> -jeff
>>
>>
>> --
>> Jeff McKenna
>> MapServer Consulting and Training Services
>> co-founder of FOSS4G
>> http://gatewaygeo.com/
>>
>>
>>
>>
>> On 2020-06-23 4:27 a.m., Thiemo Kellner wrote:
>>> Hi
>>>
>>> I am new to spacial data processing. For a project of mine I try to
>>> load swedish climate data in to my PostGIS installation running/using
>>> an openSUSE Tumbleweed installation.
>>>
>>
>>
>> _______________________________________________
>> gdal-dev mailing list
>> gdal-dev at lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/gdal-dev
>
>
>
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev
>
More information about the gdal-dev
mailing list