Unable to translate coordinate system EPSG:6249 into PROJ.4 format..
The projection EPSG:6249 uses a parameter called
Projection plane origin height with a value of 1000 meters. This method is not implemented in PROJ.4/GDAL, and the CRS is therefore not included in PROJ.4 based software like QGIS.
At spatialreference.org, there is a workaround definition SR-ORG:7393 with this projection string:
+proj=tmerc +lat_0=3.441883333 +lon_0=-76.5205625 +k=1 +x_0=1061900.18 +y_0=872364.63 +a=6379137 +b=6357748.961329674 +units=m +no_defs
It substitutes the
projection plane origin height of 1000m by an ellipsoid with
a 1000m larger, but with the same flattening as GRS80.
You can define a custom CRS with it, but unfortuantely the WFS server only allows the EPSG code 6249 to be requested.
The only way I found to get the WFS working is to modify the SR database of QGIS in
C:\Program Files\QGIS 2.18\apps\qgis\resources.
I created a SQL file named
Cali.sql with this content:
INSERT INTO "tbl_srs" ("srs_id", "description", "projection_acronym", "ellipsoid_acronym", "parameters", "srid", "auth_name", "auth_id", "is_geo", "deprecated", "noupdate") VALUES (29456, 'MAGNA-SIRGAS / Cali urban grid', 'tmerc', '', '+proj=tmerc +lat_0=3.441883333 +lon_0=-76.5205625 +k=1 +x_0=1061900.18 +y_0=872364.63 +a=6379137 +b=6357748.961329674 +units=m +no_defs', 6249, 'EPSG', '6249', 0, 0, 0);
There were 29455 records in my
tbl_srs, so the new one goes into 29456. Then I used the spatialite_gui with
Files -> Connecting an existig SQlite DB
to connect to
C:\Program Files\QGIS 2.18\apps\qgis\resources\srs.db and
Files -> Advanced -> Execute SQL script
to add the Cali.sql.
After that, the WFS loads without errors, fitting to an OpenStreetmap background:
You have to run this agaian after every QGIS update, and it will not work on external GDAL commands like gdalwarp, and maybe GRASS too.