If, whilst building and deploying an Android app, the following error rears it´s unwanted head in the console - INSTALL_PARSE_FAILED_NO_CERTIFICATES, then many solutions exist on the web. None of them worked for me in isolation!!! In the end I had to combine two of them, - change a filename in the res folder AND then delete the bin folder (to force a re-build). then change the filename back to what it was called before. Then this error disappeared........

## Sunday, April 7, 2013

## Thursday, March 28, 2013

### Importing OSM data to PostGIS 2.0

This is a note for myself, and details the lessons I have learned whilst trying to load an .osm file into a PostGIS 2.0 database.

1. don´t use osmosis, due to the fact it seems to be rarely updated and suffers from this problem which I could not solve - http://wiki.openstreetmap.org/wiki/64-bit_Identifiers.

2. osm2pgsql is much better, but for it to work with PostGIS 2.0 I had to rename the "st_astext(geometry)" function to "astext(geometry)" as otherwise it throws an error. (the old filename refers to a previous version of Postgis that used different naming conventions)

3. despite using the --password and -W flag, the postgis datbase threw an error as it required the password. Therefore I had to change the 'md5' permission for a local user to 'trust' so that no password was necessary in the pg_hba.conf file.

4. I had to paste the following code in SQL to create an operator that was missing in the PostGIS 2.0 distribution

CREATE OPERATOR CLASS gist_geometry_ops

FOR TYPE geometry USING GIST AS

STORAGE box2df,

OPERATOR 1 << ,

OPERATOR 2 &< ,

OPERATOR 3 && ,

OPERATOR 4 &> ,

OPERATOR 5 >> ,

OPERATOR 6 ~= ,

OPERATOR 7 ~ ,

OPERATOR 8 @ ,

OPERATOR 9 &<| ,

OPERATOR 10 <<| ,

OPERATOR 11 |>> ,

OPERATOR 12 |&> ,

OPERATOR 13 <-> FOR ORDER BY pg_catalog.float_ops,

OPERATOR 14 <#> FOR ORDER BY pg_catalog.float_ops,

FUNCTION 8 geometry_gist_distance_2d (internal, geometry, int4),

FUNCTION 1 geometry_gist_consistent_2d (internal, geometry, int4),

FUNCTION 2 geometry_gist_union_2d (bytea, internal),

FUNCTION 3 geometry_gist_compress_2d (internal),

FUNCTION 4 geometry_gist_decompress_2d (internal),

FUNCTION 5 geometry_gist_penalty_2d (internal, internal, internal),

FUNCTION 6 geometry_gist_picksplit_2d (internal, internal),

FUNCTION 7 geometry_gist_same_2d (geom1 geometry, geom2 geometry, internal);

1. don´t use osmosis, due to the fact it seems to be rarely updated and suffers from this problem which I could not solve - http://wiki.openstreetmap.org/wiki/64-bit_Identifiers.

2. osm2pgsql is much better, but for it to work with PostGIS 2.0 I had to rename the "st_astext(geometry)" function to "astext(geometry)" as otherwise it throws an error. (the old filename refers to a previous version of Postgis that used different naming conventions)

3. despite using the --password and -W flag, the postgis datbase threw an error as it required the password. Therefore I had to change the 'md5' permission for a local user to 'trust' so that no password was necessary in the pg_hba.conf file.

4. I had to paste the following code in SQL to create an operator that was missing in the PostGIS 2.0 distribution

CREATE OPERATOR CLASS gist_geometry_ops

FOR TYPE geometry USING GIST AS

STORAGE box2df,

OPERATOR 1 << ,

OPERATOR 2 &< ,

OPERATOR 3 && ,

OPERATOR 4 &> ,

OPERATOR 5 >> ,

OPERATOR 6 ~= ,

OPERATOR 7 ~ ,

OPERATOR 8 @ ,

OPERATOR 9 &<| ,

OPERATOR 10 <<| ,

OPERATOR 11 |>> ,

OPERATOR 12 |&> ,

OPERATOR 13 <-> FOR ORDER BY pg_catalog.float_ops,

OPERATOR 14 <#> FOR ORDER BY pg_catalog.float_ops,

FUNCTION 8 geometry_gist_distance_2d (internal, geometry, int4),

FUNCTION 1 geometry_gist_consistent_2d (internal, geometry, int4),

FUNCTION 2 geometry_gist_union_2d (bytea, internal),

FUNCTION 3 geometry_gist_compress_2d (internal),

FUNCTION 4 geometry_gist_decompress_2d (internal),

FUNCTION 5 geometry_gist_penalty_2d (internal, internal, internal),

FUNCTION 6 geometry_gist_picksplit_2d (internal, internal),

FUNCTION 7 geometry_gist_same_2d (geom1 geometry, geom2 geometry, internal);

Subscribe to:
Posts (Atom)