Giter VIP home page Giter VIP logo

imposm3's People

Contributors

amatissart avatar angusreid avatar bdon avatar denisflorkin avatar erictheise avatar flother avatar francois2metz avatar frodrigo avatar gaspardle avatar imresamu avatar mic92 avatar missinglink avatar molind avatar nyurik avatar olt avatar pnorman avatar rubenv avatar russss avatar talaj avatar thomersch avatar vmx avatar weskamm avatar yohanboniface avatar zdila avatar zstadler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

imposm3's Issues

HyperLevelDB replacement

First of all, i'm sorry for my primitive English. I think that you can extremely improve imposm3 cache via replacement HyperLevelDB to LMDB.

LMDB official: http://symas.com/mdb/
Benchmarks: http://symas.com/mdb/hyperdex/, http://symas.com/mdb/hyperdex2/
GO wrapper for LMDB: https://github.com/szferi/gomdb (it's ugly than levigo)

GO is not my favorite language, so it's difficult for me to check it & submit a pull request. I think that this replacement is a chance to speed up your FTL import.

Have a nice day.

broken $stuff when importing multiple files using -appendcache

Hello.

I noticed some buggy behavior when using -appendcache to import multiple files. Motorways seem to be partly missing, other stuff too. Only the last file read is correct, for the first ones the cache seems to get corrupted.

I need Europe, GCC and Canary Islands, but for now, I can only import Europe without broken roads and stuff.

Balaton (Plattensee) drawing error

Hello,
all water areas, like Bodensee or Müritz, are drawn. But the Balaton (german Plattensee) isn't. In JOSM it is drawn, in Mapnik too. But MapServer itself don't. Is there a problem in converting polygons or lines (tested with both - no success)?

Is there a problem in the polygon or not? Please help :-)

Map file section:

LAYER
        TYPE POLYGON
        STATUS ON
        METADATA
                "wms_srs"         "OSM_WMS_SRS"
                "wms_title"       "Water"
                "wms_group_title" "Water"
        END
        PROJECTION
                "init=epsg:OSM_SRID"
        END
        NAME layername(waterarea,_layer_suffix)
        GROUP "water"
        CONNECTIONTYPE POSTGIS
        CONNECTION "OSM_DB_CONNECTION"
        DATA _waterarea_data
        MAXSCALEDENOM _maxscale
        MINSCALEDENOM _minscale
        PROCESSING "CLOSE_CONNECTION=DEFER"
        LABELITEM "name"
        CLASSITEM "type"

        CLASS
                EXPRESSION "riverbank"
                STYLE
                        COLOR _waterarea_clr
                        OUTLINECOLOR _waterarea_ol_clr
                        OUTLINEWIDTH _waterarea_ol_width
                END
        END
        CLASS
                STYLE
                        COLOR _waterarea_clr
                        OUTLINECOLOR _waterarea_ol_clr
                        OUTLINEWIDTH _waterarea_ol_width
                END
                LABEL
                        TYPE TRUETYPE
                        PARTIALS FALSE
                        FONT _waterarea_font
                        MINDISTANCE 200
                        SIZE _waterarea_lbl_size
                        COLOR _waterarea_lbl_clr
                        ENCODING "utf-8"
                        OUTLINECOLOR _waterarea_lbl_ol_clr
                        OUTLINEWIDTH _waterarea_lbl_ol_width
                        WRAP ' '
                        MAXLENGTH 5
                        ALIGN CENTER
                        MINFEATURESIZE AUTO
                        PRIORITY _label_priority_landusage
                END
        END
END

Custom generate_style.py from Mapserver basemaps:

##### water #####
'display_waterarea': {
    0:0,
    6:1
},
'waterarea_data': {
    0: '"geometry from (select geometry,osm_id ,OSM_NAME_COLUMN as name,type from OSM_PREFIX_waterareas_gen0) as foo using unique osm_id using srid=OSM_SRID"',
    9: '"geometry from (select geometry,osm_id ,OSM_NAME_COLUMN as name,type from OSM_PREFIX_waterareas_gen1) as foo using unique osm_id using srid=OSM_SRID"',
    12: '"geometry from (select geometry,osm_id ,OSM_NAME_COLUMN as name,type from OSM_PREFIX_waterareas) as foo using unique osm_id using srid=OSM_SRID"'
},
'display_waterarea_lbl' : {0:0, 10:1},
'waterarea_clr': '"#B3D1FF"',
'waterarea_ol_clr': '"#B3D1FF"',
'waterarea_ol_width': 0,
'waterarea_font': "sc",
'waterarea_lbl_size': 10,
'waterarea_lbl_clr': '"#6B94B0"',
'waterarea_lbl_ol_clr': "255 255 255",
'waterarea_lbl_ol_width': 2,

Kind regards

Wildcards in tag exclusions

osm2pgsql allows wildcards in the list of tags to drop, e.g. tiger:*. Based on my reading of mapping/config.go, there's no equivalent way of defining them here, though it would be nice. Same syntax would be nice (it's concise), but this could also work (borrowing from type_mappings):

{
...
  "exclude": [
    { "tiger": ["__any__"] }
  ]
}

Support for routes relations

Route relations could be supported as multilinestring.
In Postgis terms, it would be equivalent to a ST_LineMerge().

Multipolygon strictness

Currently it seems imposm3 will ignore multipolygons that don't meet the current spec:
http://wiki.openstreetmap.org/wiki/Multipolygon_Examples

It looks like other import tools attempt to fix invalid multipolygons, of which there are many, into a usable state (see http://wiki.openstreetmap.org/wiki/Osmium/Multipolygon)

In my experience there can be some funkiness with missing riverbanks after imposm3 imports. I was wondering if the imposm3 authors and other users are interested in more forgiving multipolygon support (with the tradeoff being, a messier implementation).

Automagically grab diffs based upon state

Since I want to set up a toolchain that doesn't require osmosis to create changesets, I am writing this down as an issue to have imposm3 handle the changes from the planet diffs directly.

railways table is missing from example-mapping.json

This breaks https://github.com/mapserver/basemaps

Adding:

"railways" : {
            "fields": [
                {
                    "type": "id",
                    "name": "osm_id",
                    "key": null
                },
                {
                    "type": "geometry",
                    "name": "geometry",
                    "key": null
                },
                {
                    "type": "string",
                    "name": "name",
                    "key": "name"
                },
                {
                    "type": "mapping_value",
                    "name": "type",
                    "key": null
                },
                {
                    "type": "boolint",
                    "name": "tunnel",
                    "key": null
                },
                {
                    "type": "boolint",
                    "name": "bridge",
                    "key": null
                },
                {
                    "type": "string",
                    "name": "ref",
                    "key": null
                }
            ],
            "type": "linestring",
            "mapping": {
                "railway": [
                      "rail",
                      "abandoned",
                      "tram",
                      "light_rail",
                      "subway",
                      "narrow_gauge",
                      "preserved",
                      "funicular",
                      "monorail"
                ]
            }
        },

to example-mapping.json will fix this.

FR: Print index that is being added to the database before adding it

While creating geospatial indexes, imposm3 prints which index was created, and how long it took to create it.

It would be nice if first printed which index was being created. Some indexes can take minutes (or hours) and it would be nice to know what is actually being done.

[INFO] Timestamp: Adding index to ...
[INFO] Timestamp: Index created on ... in ... seconds

Multiple keys for column (fallback/coalesce like)

In the mapping file example, each column have one key. Only on the mapping there are options to include for more than one key. Is there any way to include more than one key for one column for example like;
.....
},
{ "type": "string",
"name": "startdate",
"key": [ "start_date", "start"
]
},
{......

diff update takes > 6hrs. Is that normal ?

Europe is already in my postgres db.
I use diff
I run for europe:
imposm3 diff
-cachedir='/home/xxx/cachedir'
-diffdir='/home/xxx/diffdir'
-mapping='/home/xxx/mapping_imposm3.json'
-connection postgis://xxx:xxx@xxx/osm_europe?sslmode=disable

The "Parsing changes, updating cache and removing elements" section took about 2hrs.
But the "Writing added/modified elements" section takes about 6 to 8 hrs.

Is that normal time behavior ?
I use Debian 7 ("wheezy") with 8GB ram / Intel(R) Core(TM) i7 CPU / 920 @ 2.67GHz

Add hstore field type for mappings.

Hello,

I'm working on map renderer and a lot of data processing happens when data is already imported. One of features i really like to see - is hstore column with all tags of some geometry.

Is it possible to add field type "tags_hstore" or something like that to conserve all tags from original data?

Database error on current HEAD

With the current version checked out (3affe43) there is a reproducible error while importing into database.

[Jan  8 19:01:18] [INFO] removing existing cache /tmp/imposm3
[Jan  8 19:01:19] [INFO] [     0] C:       0/s (12505) N:       0/s (6155) W:       0/s (0) R:      0/s (0)
[Jan  8 19:01:19] [INFO] Reading OSM data took: 654.879869ms
[Jan  8 19:01:22] [PostGIS] SQL Error: sql: expected 0 arguments, got 5 in query COPY "import"."osm_transport_points" ("osm_id", "geometry", "name", "type", "ref")
 FROM STDIN ([11206066 0 101000020110F0000A6B69605BB063141AC99AE72B4065B41 Hammerbrook station ])

When going back to 2d1c980, the problem doesn't come up any more.

Running Debian 7 and Go 1.2.

diff insert postgis afther importing

With the lastest imposm3

I have downloaded andorra datum 2014-07-02 and this osc.gz / state.txt from geofabrik.

FIRST I do an import of andorra datum 2014-07-01 20:22:02 (this 'state' is 481)

command =

imposm3 import
-connection postgis://[user]:[ww]@[pc]/[database]?sslmode=disable
-overwritecache
-mapping mapping_imposm3.json
-read andorra-140701.osm.pbf
-diff
-write
-deployproduction

log =

[Sep 15 14:12:45] [INFO] removing existing cache /tmp/imposm3
[Sep 15 14:12:45] [INFO] [reader] reading andorra-140701.osm.pbf with data till 2014-07-01 20:22:02 +0000 UTC
[Sep 15 14:12:46] [INFO] [ 0] C: 0/s (85082) N: 0/s (0) W: 0/s (3616) R: 0/s (13)
[Sep 15 14:12:47] [INFO] [ 1s] C: 0/s ( 0.0%) N: 0/s (0) W: 0/s (100.0%) R: 0/s (100.0%)
...
[Sep 15 14:12:50] [INFO] [PostGIS] Rotating tables took: 83.570506ms
[Sep 15 14:12:51] [INFO] Imposm took: 18.741696841s

Then I try to add a diff (I have downloaded the osc.gz and the state.txt file. The last.state.txt is the 481.state.txt )

command =

imposm3 diff
-connection postgis://[user]:[ww]@[pc]/[database]?sslmode=disable
-mapping mapping_imposm3.json
deltas/482.osc.gz

log =

[Sep 15 14:14:00] [WARN] [diff] Diff #482 from 2014-07-02 20:22:01 +0000 UTC already imported

And thats not possible, the latest date is 2014-07-01 20:22:02 (see import)

What Do I wrong ?

Kind regards,
Benjamin

Relation table

Is it possible to add the ability to save in a separate table relations (members IDs and roles)? This would give the opportunity to add addressing, which is stored in relation street/associatedStreet for example

error: "suffixes in args for string_suffixreplace not a dict"

Probably the "string_suffixreplace" mapping is not working with the current YAML version.

current version

Switched to branch 'master'
Your branch is up-to-date with 'upstream/master'.
+ test
+ rm -f imposm3
+ go build -a
+ /go/src/github.com/omniscale/imposm3/imposm3 import -mapping ../road.json -read ./parser/pbf/monaco-20150428.osm.pbf -diff -write -optimize -overwritecache -deployproduction -connection postgis://localhost/imposm3dev
[Sep  7 09:41:36] [INFO] [mapping] suffixes in args for string_suffixreplace not a dict
[Sep  7 09:41:36] [INFO] removing existing cache /tmp/imposm3
[Sep  7 09:41:36] [INFO] [reader] reading ./parser/pbf/monaco-20150428.osm.pbf with data till 2015-04-27 22:21:02 +0200 CEST
[Sep  7 09:41:36] [INFO] [     0] C:       0/s (17233) N:       0/s (0) W:       0/s (2398) R:      0/s (10)
[Sep  7 09:41:36] [INFO] Reading OSM data took: 335.649512ms
[Sep  7 09:41:36] [INFO] [mapping] suffixes in args for string_suffixreplace not a dict
[Sep  7 09:41:36] [WARN] [mapping] unhandled type:string_suffixreplace
[Sep  7 09:41:36] pq: extra data after last expected column

old version

And the old version - with same mapping file :

HEAD is now at 063730b... document licenses of all dependencies
+ test
+ rm -f imposm3
+ go build -a
+ /go/src/github.com/omniscale/imposm3/imposm3 import -mapping ../road.json -read ./parser/pbf/monaco-20150428.osm.pbf -diff -write -optimize -overwritecache -deployproduction -connection postgis://localhost/imposm3dev
[Sep  7 09:41:31] [INFO] removing existing cache /tmp/imposm3
[Sep  7 09:41:31] [INFO] [reader] reading ./parser/pbf/monaco-20150428.osm.pbf with data till 2015-04-27 22:21:02 +0200 CEST
[Sep  7 09:41:32] [INFO] [     0] C:       0/s (17233) N:       0/s (0) W:       0/s (2398) R:      0/s (10)
[Sep  7 09:41:32] [INFO] Reading OSM data took: 346.669101ms
[Sep  7 09:41:32] [INFO] [     0] C:       0/s ( 0.0%) N:       0/s (0) W:       0/s (100.0%) R:      0/s (100.0%)
[Sep  7 09:41:32] [INFO] Writing OSM data took: 428.02331ms
[Sep  7 09:41:32] [INFO] [PostGIS] Creating generalized tables took: 65.023µs
[Sep  7 09:41:32] [INFO] [PostGIS] Creating OSM id index on osm_example_suffixreplace took: 24.144912ms
[Sep  7 09:41:32] [INFO] [PostGIS] Creating geometry indices took: 24.441639ms
[Sep  7 09:41:32] [INFO] Importing OSM data took: 452.73886ms
[Sep  7 09:41:32] [INFO] [PostGIS] Analysing osm_example_suffixreplace took: 5.663989ms
[Sep  7 09:41:32] [INFO] [PostGIS] Clustering on geometry took: 6.174443ms
[Sep  7 09:41:32] [INFO] [PostGIS] Rotating osm_example_suffixreplace from import -> public -> backup
[Sep  7 09:41:32] [INFO] [PostGIS] backup of osm_example_suffixreplace, to backup
[Sep  7 09:41:32] [INFO] [PostGIS] Rotating tables took: 12.06423ms
[Sep  7 09:41:32] [INFO] Imposm took: 907.873425ms

see full log and testfiles : https://gist.github.com/ImreSamu/02f82061268c52141ca6

yaml mapping support?

I personally consider config files are much easier to be written in yaml than in json, so I think supporting yaml for mapping file would be very handy.
If you think it's worth it, I may have a try on it (I don't know go, but that would be certainly simple enough to be a good occasion to hack a bit ;) ).

--table-prefix support

Hi,
Would love to have an equivalent functionality to imposm2 for support of --table-prefix.

Imposm seems to always use password auth, cannot connect to unix socket via peer auth

With imposm2 i could use postgis:///mapnik to use the unix socket. But:

    bin/imposm3 import -mapping mapping.json -connection postgis:///mapnik -write

gives me:

    pq: password authentication failed for user "mapnik"

It does not seem possible to specify a socket path directly using the URL syntax, because lib/pq splits the host name after the first slash. (e.g. you cannot write "postgis:///var/run/postgresql/mapnik")

So i tried the following:

    PG_HOST=/var/run/postgresql bin/imposm3 import -mapping mapping.json -connection "postgis:///mapnik" -write

but still:

    pq: password authentication failed for user "mapnik"

I am not a go expert, but is there a way to tell imposm (or lib/pq) to not use password auth?

type of polygon element

With the following field definition it is possible to add the osm_id.
{
"type": "id",
"name": "osm_id",
"key": null
}

If you try to find the original element in the database you have a problem if your table contains polygons. The ids can be either a way or a relation. it is not possible to find out which element is the correct one. The best way is to implement a new field-type for adding a new column. Also helpful in some cases are field-types for the version number of the elements.
There are a workaround to create tables which only contain closed ways or realtions anstead of polygons?

Customized mappings for columns not supported?

Hello,
I want to map a string (bridge) to zorder mapping. But with that code it maps bridge to seperate class. Class should as it is and bridge column should have the zorder mapping. How to do that?

Moving bridge mapping from "mappings" to "mapping" will create seperate row with class='yes' and type=bridge, but the bridge column is in zorder style. Mappings without bridge column defined will ignore the ranks.

    "roads": {
      "fields": [
        {
          "type": "id",
          "name": "osm_id",
          "key": null
        },
        {
          "type": "mapping_value",
          "name": "type",
          "key": null
        },
        {
          "type": "mapping_key",
          "name": "class",
          "key": null
        },
        {
          "type": "geometry",
          "name": "geometry",
          "key": null
        },
        {
          "type": "string",
          "name": "name",
          "key": "name"
        },
        {
          "type": "string",
          "name": "name:de",
          "key": "name:de"
        },
        {
          "type": "string",
          "name": "name:en",
          "key": "name:en"
        },
        {
          "type": "string",
          "name": "int_name",
          "key": "int_name"
        },
        {
          "type": "string",
          "name": "ref",
          "key": "ref"
        },
        {
          "args": {
            "ranks": [
              "yes",
              "aqueduct",
              "boardwalk",
              "cantilever",
              "covered",
              "low_water_crossing",
              "movable",
              "trestle",
              "viaduct"
            ]
          },
          "type": "zorder",
          "name": "bridge",
          "key": "bridge"
        },
        {
          "type": "string",
          "name": "bicycle",
          "key": "bicycle"
        },
        {
          "type": "string",
          "name": "covered",
          "key": "covered"
        },
        {
          "type": "string",
          "name": "construction",
          "key": "construction"
        },
        {
          "type": "string",
          "name": "foot",
          "key": "foot"
        },
        {
          "type": "string",
          "name": "horse",
          "key": "horse"
        },
        {
          "type": "string",
          "name": "junction",
          "key": "junction"
        },
        {
          "type": "integer",
          "name": "layer",
          "key": "layer"
        },
        {
          "type": "direction",
          "name": "oneway",
          "key": "oneway"
        },
        {
          "type": "string",
          "name": "route",
          "key": "route"
        },
        {
          "type": "string",
          "name": "tunnel",
          "key": "tunnel"
        },
        {
          "type": "string",
          "name": "access",
          "key": "access"
        },
        {
          "type": "string",
          "name": "service",
          "key": "service"
        },
        {
          "type": "string",
          "name": "surface",
          "key": "surface"
        },
        {
          "type": "string",
          "name": "tracktype",
          "key": "tracktype"
        },
        {
          "type": "pseudoarea",
          "name": "area",
          "key": null
        },
        {
          "type": "wayzorder",
          "name": "z_order",
          "key": "layer"
        }
      ],
      "filters": {
        "exclude_tags": [
          [
            "area",
            "yes"
          ]
        ]
      },
      "mappings": {
        "roads": {
          "mapping": {
            "aeroway": [
              "runway",
              "taxiway"
            ],
            "bridge": [
              "yes",
              "aqueduct",
              "boardwalk",
              "cantilever",
              "covered",
              "low_water_crossing",
              "movable",
              "trestle",
              "viaduct"
            ],
            "highway": [
              "bridleway",
              "construction",
              "cycleway",
              "footway",
              "living_street",
              "motorway",
              "motorway_link",
              "path",
              "pedestrian",
              "platform",
              "primary",
              "primary_link",
              "raceway",
              "residential",
              "road",
              "secondary",
              "secondary_link",
              "service",
              "steps",
              "tertiary",
              "tertiary_link",
              "track",
              "trunk",
              "trunk_link",
              "unclassified"
            ],
            "service": [
              "driveway",
              "drive-through",
              "parking_aisle",
              "siding",
              "spur",
              "yard"
            ],
            "surface": [
              "unpaved",
              "compacted",
              "dirt",
              "earth",
              "fine_gravel",
              "grass",
              "grass_paver",
              "gravel",
              "ground",
              "mud",
              "pebblestone",
              "salt",
              "sand",
              "woodchips",
              "clay"
            ],
            "railway": [
              "disused",
              "funicular",
              "light_rail",
              "monorail",
              "narrow_gauge",
              "platform",
              "preserved",
              "rail",
              "subway",
              "tram"
            ],
            "route": [
              "ferry"
            ]
          }
        }
      },
      "type": "linestring"
    },

installation on debian 7 problem

Failed installation on Debian GNU/Linux 7

  • Go en the required dependencies are corrected installed.
  • The command "go get github.com/omniscale/imposm3" gives te error:
    go get github.com/omniscale/imposm3
    package github.com/omniscale/imposm3 imports code.google.com/p/goprotobuf/proto: unable to detect version control system for code.google.com/ path

How can I fix this ?

Import with defaults shows error

Imported whole planet today. Last entry was below:

[Sep 14 17:31:26] Importing OSM data took: 5h50m35.894984255s
[Sep 14 17:31:30] [PostGIS] Indexing osm_aeroways on geohash took: 3.462870059s
[Sep 14 17:31:40] [PostGIS] Clustering osm_aeroways on geohash took: 9.913250879s
[Sep 14 17:31:52] [PostGIS] Indexing osm_amenities on geohash took: 12.778158795s
[Sep 14 17:31:58] [PostGIS] Indexing osm_housenumbers_interpolated on geohash took: 32.316584666s
[Sep 14 17:32:11] [PostGIS] Clustering osm_amenities on geohash took: 18.777732759s
[Sep 14 17:32:38] [PostGIS] Clustering osm_housenumbers_interpolated on geohash took: 39.538955536s
[Sep 14 17:33:11] [PostGIS] Indexing osm_admin on geohash took: 1m44.931192332s
[Sep 14 17:33:11] [PostGIS] Indexing osm_barrierpoints on geohash took: 33.368876128s
[Sep 14 17:33:32] [PostGIS] Clustering osm_barrierpoints on geohash took: 20.554198242s
[Sep 14 17:33:37] [PostGIS] Indexing osm_places on geohash took: 5.018755772s
[Sep 14 17:33:37] [PostGIS] Clustering on geometry took: 2m10.798900936s
[Sep 14 17:33:37] pq: S:"ERROR" C:"XX000" M:"transform: couldn't project point (-0.00460936 nan 0): failed to load NAD27-83 correction file (-38)" H:"PostGIS was unable to transform the point because either no grid shift files were found, or the point does not lie within the range for which the grid shift is defined. Refer to the ST_Transform() section of the PostGIS manual for details on how to configure PostGIS to alter this behaviour." F:"lwgeom_transform.c" L:"1058" R:"transform_point"

Is import successfully finished or not?

panic using most recent code snapshot while loading daily planet file

...
[Jan 14 03:23:27] [21m53s] C: 0/s 0/s ( 0.0%) N: 0/s 0/s ( 0.0%) W: 0/s 0/s ( 0.0%) R: 560/s 390/s[Jan 14 03:23:27] [21m53s] C: 0/s 0/s ( 0.0%) N: 0/s 0/s ( 0.0%) W: 0/s 0/s ( 0.0%) R: 560/s 320/s

panic: runtime error: index out of range

goroutine 63 [running]:
runtime.panic(0x7b2c60, 0xe8ed97)
/home/os/go/src/pkg/runtime/panic.c:266 +0xb6
imposm3/geom.mergeRings(0xc213f4bf40, 0x5, 0x8, 0x4, 0x1, ...)
/home/os/imposm/src/imposm3/geom/ring.go:85 +0x1b00
imposm3/geom.BuildRings(0xc2100b1360, 0x0, 0x0, 0x0, 0x0, ...)
/home/os/imposm/src/imposm3/geom/multipolygon.go:97 +0x4bc
imposm3/geom.PrepareRelation(0xc2100b1360, 0xf11, 0x0, 0x0, 0x0)
/home/os/imposm/src/imposm3/geom/multipolygon.go:32 +0x27
imposm3/writer.(_RelationWriter).loop(0xc216d15d20)
/home/os/imposm/src/imposm3/writer/relations.go:74 +0x2f1
created by imposm3/writer.(_OsmElemWriter).Start
/home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

command line:

./imposm3 import -cachedir /ssd_cache -connection postgis://xyz:abc@localhost:5432/import -mapping "mapping.json" -read /osm.pbf -write -appendcache -srid 4326

Sanitize integers

We encountered a problem with large integer values while importing building:levels as an int.

Examples:

building:levels=0 (ok)
building:levels=40 (ok)
building:levels=a (ok, value is being discarded)
building:levels=19082139812039812093908123 (ok, value is being discarded because it's bigger than 2^64)

So far, so good. But the following fails:

building:levels=1000000000000000000

The value is > 2^32 but < 2^64, so it is parsed successfully into cache, but it fails while being imported into Postgres, because the data field is a 32 bit integer.

Corresponding line in source: https://github.com/omniscale/imposm3/blob/master/mapping/fields.go#L23

I am not sure, which strategy is best a this point. One possibility is setting the int type as int64 in PostgreSQL, which would obviously lead to an increased memory consumption.

The second option is adding an additional, explicit int64, which would be 64 bit in the application as well as in PostgreSQL.

The third option (which I find best) is declaring it int32 in both imposm and PostgreSQL. Bigger values would be treated as invalid values.

Road problems (LINESTRING vs. POLYGON)

Hello,
I'm working on a conversion of the OSM CartoCSS style (with YAML). But I've some problems, maybe it's related to import error? Look at the image please.
imposm_error_roads
Info: Hannover / Bemerode (Germany)

A road should be a LINESTRING and not an area so maybe there is a problem regarding the geometry of many roads or with IMPOSM3?

Note on HyperLevelDB and FC20

I just thought I would leave a note here for others who may have this issue building imposm3 on Fedora Core 20:

I git cloned HyperLevelDB and installed it, but for some reason it did not create leveldb symlinks, so the levigo dependency with 'go get imposm3' would fail and not be able to find "leveldb/c.h".

I looked in /usr/local/include and lo-and-behold, there was a hyperleveldb dir but no leveldb dir. So I did:
ln -s hyperleveldb leveldb

Then I needed to do the same for the libraries:
cd /usr/local/lib
ln -s hyperleveldb.so.0.0.0 leveldb.so.0.0.0
ln -s hyperleveldb.so.0.0.0 leveldb.so.0
ln -s hyperleveldb.so.0.0.0 leveldb.so

Then "go get imposm3" worked as expected.

tag 'bicycle' not imported properly

While importing pbf data, the tag 'bicycle' (and perhaps other tags) are not imported properly into the database.
For example: the value 'no' for osm_id 239933035 resulted in a empty string in the database.

my json file below:

{"tables": {
"roads": {
"fields": [
{"type": "id", "name": "osm_id","key": null},
{"type": "geometry","name": "geometry","key": null},
{"type": "mapping_value","name": "type","key": null},
{"type": "string","name": "name","key": null},
{"type": "boolint","name": "tunnel","key": null},
{"type": "boolint","name": "bridge","key": null},
{"type": "string","name": "smoothness","key": null},
{"type": "string","name": "cycleway","key": null},
{"type": "string","name": "bicycle","key": null}
]
}
}

What is wrong ?
Thank you for your investigation.

Country border

Administrative border of the country misses in the result DB

MultiPolygon and Polygon

Howdy,
I am setting up a docker instance to run imposm and postgis
I thought you might be interested in this.

importing
http://download.geofabrik.de/north-america/us/kansas-latest.osm.pbf
from 2014-11-02T21:22:01Z in this command :
https://github.com/h4ck3rm1k3/docker-postgis/blob/master/splitter/north-america/us/kansas/runimport.sh
in this container :

based on imposm built here :
https://github.com/h4ck3rm1k3/docker-postgis/blob/master/imposm3/Dockerfile
based on https://github.com/h4ck3rm1k3/docker-postgis/blob/master/splitter/Dockerfile

Using this database server :https://github.com/h4ck3rm1k3/docker-postgis/blob/master/Dockerfile

I get these errors on the database backend :

2014-11-03 09:00:30 UTC [33-1] docker@routing WARNING:  Could not convert 'geometry' in 'import.osm_landusages_gen1' to use typmod with srid 3857, type Polygon: Geometry type (MultiPolygon) does not match column type (Polygon)
2014-11-03 09:00:30 UTC [32-1] docker@routing WARNING:  Could not convert 'geometry' in 'import.osm_waterareas_gen1' to use typmod with srid 3857, type Polygon: Geometry type (MultiPolygon) does not match column type (Polygon)
2014-11-03 09:00:33 UTC [32-2] docker@routing WARNING:  Could not convert 'geometry' in 'import.osm_landusages_gen0' to use typmod with srid 3857, type Polygon: Geometry type (MultiPolygon) does not match column type (Polygon)
2014-11-03 09:00:33 UTC [33-2] docker@routing WARNING:  Could not convert 'geometry' in 'import.osm_waterareas_gen0' to use typmod with srid 3857, type Polygon: Geometry type (MultiPolygon) does not match column type (Polygon)

No errors on the import :

sudo docker run  -i -t --link pgroute:db osmsplitter_north-america_us_kansas /bin/bash /var/lib/splitter/north-america/us/kansas/runimport.sh
[Nov  3 08:59:18] [INFO] [reader] reading /var/lib/splitter/north-america/us/kansas/kansas-latest.osm.pbf with data till 2014-11-01 21:22:02 +0000 UTC
[Nov  3 08:59:31] [INFO] [   12s] C:  459000/s (4111660) N:   11900/s (101148) W:  116900/s (423309) R:      0/s (1398)
[Nov  3 08:59:31] [INFO] Reading OSM data took: 14.042693849s
[Nov  3 09:00:28] [INFO] Writing OSM data took: 56.737238561s
[Nov  3 09:00:28] [INFO] [   56s] C:       0/s ( 0.0%) N:   17100/s (100.0%) W:   11100/s (100.0%) R:   1200/s (100.0%)
[Nov  3 09:00:30] [INFO] [PostGIS] Generalizing osm_landusages into osm_landusages_gen1 took: 1.922886368s
[Nov  3 09:00:30] [INFO] [PostGIS] Generalizing osm_waterareas into osm_waterareas_gen1 took: 2.302896905s
[Nov  3 09:00:31] [INFO] [PostGIS] Generalizing osm_waterways into osm_waterways_gen1 took: 3.18118259s
[Nov  3 09:00:32] [INFO] [PostGIS] Generalizing osm_roads into osm_roads_gen1 took: 4.157985867s
[Nov  3 09:00:33] [INFO] [PostGIS] Generalizing osm_landusages into osm_landusages_gen0 took: 453.898759ms
[Nov  3 09:00:33] [INFO] [PostGIS] Generalizing osm_waterareas into osm_waterareas_gen0 took: 731.503489ms
[Nov  3 09:00:34] [INFO] [PostGIS] Generalizing osm_waterways into osm_waterways_gen0 took: 1.342761914s
[Nov  3 09:00:34] [INFO] [PostGIS] Generalizing osm_roads into osm_roads_gen0 took: 1.632728236s
[Nov  3 09:00:34] [INFO] [PostGIS] Creating generalized tables took: 5.790997736s
[Nov  3 09:00:34] [INFO] [PostGIS] Creating OSM id index on osm_aeroways took: 230.879345ms
[Nov  3 09:00:34] [INFO] [PostGIS] Creating OSM id index on osm_admin took: 241.486531ms
[Nov  3 09:00:34] [INFO] [PostGIS] Creating OSM id index on osm_places took: 286.035037ms
[Nov  3 09:00:34] [INFO] [PostGIS] Creating OSM id index on osm_landusages took: 286.355584ms
[Nov  3 09:00:34] [INFO] [PostGIS] Creating OSM id index on osm_waterareas took: 286.557933ms
[Nov  3 09:00:34] [INFO] [PostGIS] Creating OSM id index on osm_barrierpoints took: 286.460844ms
[Nov  3 09:00:34] [INFO] [PostGIS] Creating OSM id index on osm_barrierways took: 286.986406ms
[Nov  3 09:00:34] [INFO] [PostGIS] Creating geometry index on osm_admin took: 57.560808ms
[Nov  3 09:00:34] [INFO] [PostGIS] Creating geometry index on osm_aeroways took: 69.354566ms
[Nov  3 09:00:34] [INFO] [PostGIS] Creating geometry index on osm_places took: 114.842205ms
[Nov  3 09:00:34] [INFO] [PostGIS] Creating geometry index on osm_barrierways took: 141.705018ms
[Nov  3 09:00:34] [INFO] [PostGIS] Creating OSM id index on osm_transport_areas took: 130.788944ms
[Nov  3 09:00:34] [INFO] [PostGIS] Creating geometry index on osm_waterareas took: 145.772625ms
[Nov  3 09:00:34] [INFO] [PostGIS] Creating geometry index on osm_barrierpoints took: 147.23383ms
[Nov  3 09:00:35] [INFO] [PostGIS] Creating geometry index on osm_transport_areas took: 161.075767ms
[Nov  3 09:00:35] [INFO] [PostGIS] Creating OSM id index on osm_transport_points took: 312.624297ms
[Nov  3 09:00:35] [INFO] [PostGIS] Creating OSM id index on osm_buildings took: 489.033558ms
[Nov  3 09:00:35] [INFO] [PostGIS] Creating OSM id index on osm_housenumbers_interpolated took: 487.70113ms
[Nov  3 09:00:35] [INFO] [PostGIS] Creating OSM id index on osm_housenumbers took: 622.170667ms
[Nov  3 09:00:35] [INFO] [PostGIS] Creating geometry index on osm_landusages took: 636.430073ms
[Nov  3 09:00:35] [INFO] [PostGIS] Creating OSM id index on osm_amenities took: 494.578158ms
[Nov  3 09:00:35] [INFO] [PostGIS] Creating geometry index on osm_transport_points took: 268.434797ms
[Nov  3 09:00:35] [INFO] [PostGIS] Creating OSM id index on osm_waterways took: 389.832715ms
[Nov  3 09:00:35] [INFO] [PostGIS] Creating geometry index on osm_waterways took: 219.083402ms
[Nov  3 09:00:35] [INFO] [PostGIS] Creating geometry index on osm_housenumbers_interpolated took: 279.650344ms
[Nov  3 09:00:35] [INFO] [PostGIS] Creating OSM id index on osm_landusages_gen0 took: 350.92288ms
[Nov  3 09:00:35] [INFO] [PostGIS] Creating geometry index on osm_amenities took: 560.321394ms
[Nov  3 09:00:36] [INFO] [PostGIS] Creating OSM id index on osm_landusages_gen1 took: 1.334473201s
[Nov  3 09:00:36] [INFO] [PostGIS] Creating geometry index on osm_landusages_gen0 took: 922.887585ms
[Nov  3 09:00:36] [INFO] [PostGIS] Creating OSM id index on osm_waterareas_gen0 took: 1.343517614s
[Nov  3 09:00:36] [INFO] [PostGIS] Creating OSM id index on osm_roads_gen0 took: 1.062252385s
[Nov  3 09:00:36] [INFO] [PostGIS] Creating OSM id index on osm_waterareas_gen1 took: 1.344338129s
[Nov  3 09:00:37] [INFO] [PostGIS] Creating geometry index on osm_landusages_gen1 took: 399.866041ms
[Nov  3 09:00:37] [INFO] [PostGIS] Creating OSM id index on osm_roads_gen1 took: 494.987734ms
[Nov  3 09:00:37] [INFO] [PostGIS] Creating geometry index on osm_waterareas_gen1 took: 204.691613ms
[Nov  3 09:00:37] [INFO] [PostGIS] Creating geometry index on osm_waterareas_gen0 took: 207.057655ms
[Nov  3 09:00:37] [INFO] [PostGIS] Creating OSM id index on osm_roads took: 2.753701721s
[Nov  3 09:00:37] [INFO] [PostGIS] Creating OSM id index on osm_waterways_gen0 took: 540.553719ms
[Nov  3 09:00:37] [INFO] [PostGIS] Creating OSM id index on osm_waterways_gen1 took: 510.084386ms
[Nov  3 09:00:37] [INFO] [PostGIS] Creating geometry index on osm_waterways_gen0 took: 169.196429ms
[Nov  3 09:00:37] [INFO] [PostGIS] Creating geometry index on osm_waterways_gen1 took: 256.142312ms
[Nov  3 09:00:38] [INFO] [PostGIS] Creating geometry index on osm_buildings took: 3.289217304s
[Nov  3 09:00:38] [INFO] [PostGIS] Creating geometry index on osm_roads_gen0 took: 1.775864035s
[Nov  3 09:00:38] [INFO] [PostGIS] Creating geometry index on osm_roads_gen1 took: 1.569991802s
[Nov  3 09:00:39] [INFO] [PostGIS] Creating geometry index on osm_housenumbers took: 4.529998377s
[Nov  3 09:00:48] [INFO] [PostGIS] Creating geometry index on osm_roads took: 11.45576913s
[Nov  3 09:00:48] [INFO] [PostGIS] Creating geometry indices took: 14.210301828s
[Nov  3 09:00:48] [INFO] Importing OSM data took: 1m16.738773229s
[Nov  3 09:00:48] [INFO] Imposm took: 1m30.781823904s

Debian compatibility

When launching the binaries on Debian Wheezy, nothing happens, because imposm requires GLIBC_2.14, which is not (yet) available under Debian.

I can resolve the following problems by moving lib out of the way and installing the libraries manually:

./imposm3: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by ./imposm3)
./imposm3: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /home/gis/imposm3/lib/libgeos_c.so.1)
./imposm3: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by /home/gis/imposm3/lib/libgdal.so.1)
./imposm3: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /home/gis/imposm3/lib/libgdal.so.1)
./imposm3: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /home/gis/imposm3/lib/libgeos-3.3.8.so)

Building imposm on Debian is problematic as well, because go get github.com/jmhodges/levigo doesn't build at all with the provided levigo.

# github.com/jmhodges/levigo
1: error: 'leveldb_free' undeclared (first use in this function)
1: note: each undeclared identifier is reported only once for each function it appears in

The only solution I found was replacing levigo by https://github.com/jmhodges/levigo_leveldb_1.4, which is rather a workaround than a solution.

Another problem appears when installing imposm3/geom/ogr:

go get imposm3 
# imposm3/geom/ogr
ogr.go:4:21: fatal error: ogr_api.h: No such file or directory
compilation terminated.

Even though I have installed gdal with all the libraries (gdal-bin and libgdal-dev), the library is still missing.

Would be very nice, if there would be a solution to make it compatible with the unreasonably old packages of Debian.

connection timeout (possible cause) while importing big pbf (germany, europe,...)

When importing for example germany (or any big dataset like europe), I get an 'connection' error. The relations are done correctly, Imposm3 crashes afther reading the Ways (100.0%)

[Jun 30 15:56:07] [1h4m33s]
C: 0/s 0/s ( 0.0%)
N: 0/s 0/s (0)
W: 13200/s 0/s (100.0%)
R: 340/s 0/s (100.0%)

Any idee ? I am running the script again while putting the error in a txt file. Within one hour I will reply on that.

Thanks

import fails

I am testing imposm3 with a small planet from http://planet.openstreetmap.nl/curacao/planet-curacao-131115.osm.pbf

Using:

bin/imposm3 import -connection postgis://postgres:postgres@localhost/imposm3 -mapping example-mapping.json -read planet-curacao-131115.osm.pbf -write=true -overwritecache

The error I get is:

[Nov 16 00:35:38] [PostGIS] SQL Error: sql: expected 0 arguments, got 4 in query COPY "import"."osm_buildings" ("osm_id", "geometry", "name", "type") FROM STDIN ([-3211470 0106000020110F00000400000001030000000100000011000000EB4BF1A965425DC104CF970360BE344128852A7E64425DC15D7E5BEB64BE34415B98516163425DC168AB90D569BE34415AB1233662425DC157DDED396FBE34417A78263761425DC1C73A7CD674BE34413587797460425DC1AA33C1EA7ABE34419F2941D05F425DC1333D2E7981BE34415BA632105D425DC14B7208B97DBE34412BE8D75A5D425DC1BA851C5778BE3441ABBDF1C35D425DC16B1D8EBA72BE344154674E4A5E425DC1FE5E0F486EBE3441BFF043D15E425DC12931474D6ABE3441A94F53C15F425DC1CF02126365BE344147D39D5660425DC1156C00E061BE3441C453EB9161425DC19254CBF55CBE3441957CBE0763425DC1CB39519657BE3441EB4BF1A965425DC104CF970360BE344101030000000100000007000000FDD797D661425DC112719FC957BE34415FC2EB435F425DC1DEE9CA9462BE344181F78F5557425DC1AA95A85144BE34414D364B3359425DC1D4ADDB7B3CBE34411ECDB99D5D425DC11F0368564DBE3441F2A3AA525E425DC10A0B0A614ABE3441FDD797D661425DC112719FC957BE344101030000000100000011000000FA424F7A5C425DC1108A561671BE3441FA424F7A5C425DC104EAF8EF76BE34415FFBFE3D5C425DC1EFFAD26D7EBE3441AB2B90C65B425DC12EBA3BE985BE34415E14D1125B425DC1957A4BB28CBE34413FBB6C145A425DC12A352A4393BE34415F826F1559425DC13A946F5799BE344124B7D44358425DC191BADA8C9DBE3441304B853756425DC1664C813B97BE34417D6244EB56425DC14614A91692BE344172E765CC57425DC19AEBA8778CBE3441FD1E8C7F58425DC1E1441ADB86BE344173CE93F758425DC1333D2E7981BE344139EA265159425DC1E21C68387ABE34411C78F07D59425DC1F9290FE773BE34411C78F07D59425DC118866A5371BE3441FA424F7A5C425DC1108A561671BE3441010300000001000000120000005FFBFE3D5C425DC1204DB6956DBE344139EA265159425DC1AC5A23856EBE3441575C5D2459425DC161B07C9869BE3441A48CEEAC58425DC17AF7234763BE34414B4F1D0858425DC13E52CD4E5FBE34414EA4E93557425DC165CA3A9F5ABE34412625734656425DC133464F3D55BE3441A6682BB254425DC11353AD634FBE3441A5FA8CAF56425DC150989C4146BE34418E599C9F57425DC1B2691FC749BE3441116BB06158425DC1B358D3844DBE34414310394259425DC1F5D5966C52BE3441520791F659425DC11A47BC2C56BE3441A21E50AA5A425DC165CA3A9F5ABE34412E56765D5B425DC104CF970360BE3441AB2B90C65B425DC15D87C8DA65BE34417D6D35115C425DC12931474D6ABE34415FFBFE3D5C425DC1204DB6956DBE3441 Bloempot Shopping Centre yes])

Progress tracker for generalization

This obviously isn't a priority issue, but having a progress tick for the generalizing operation would be more in line with the rest of the process.

In any case, thanks a lot for this!

Duplicate inserts of relations

When two relations (R1 and R2) share the same way (W1) and R1 changes, R2 will be inserted a second time.

Cause: W1 gets removed and re-processed when R1 changes, because it might now be redundant (e.g. if R1 now has the same tags as W1). When W1 is processed again, it forces the reinsert of R1 and R2. R2 is then inserted a second time since R2 was not removed in the first step.

hstore support

I tried the hstore patches from runaum and it seems to only import those tags that are added as fields anyway. I would like to implement a way to select which tags go into the hstore column. Do you have a suggestion how this can be done?

Installation problem

Following the installation instructions in the README results in an error:

$ go get github.com/omniscale/imposm3
package code.google.com/p/goprotobuf/proto: unable to detect version control system for code.google.com/ path

This is mentioned in #49, but I thought it ought to be a separate issue.

Unification of additional tag keys

Hi,
is it currently to unify multiple keys into one column? 'mappings' is only for alternative entity classes if I understood correctly. For example there is wild use to tag colors for Simple-3D-Buildings at the moment which would be nice to be put into one column (of course it would be better to clean up the data in OSM):

building:colour (94 662)
building:color (6 926)
colour in combination with building (3000)
color in combination with building (2500)

roof:colour (~150000)
building:roof:colour (~10000)
roof:color (~10000)
building:roof:color (~100)

crash on importing

I'm trying to import lake polygons from planet-latest.osm.pbf and imposm3 is crashing. However, the crash seems to occur in the hyperleveldb lib:

[May 13 22:46:32] [INFO] [  9m0s] C: 4654000/s (2505664000) N:  147500/s (79405754) W:       0/s (0) R:      0/s (0)
[May 13 22:47:32] [INFO] [ 10m0s] C: 4871000/s (2851332003) N:  152500/s (89280060) W:  367700/s (4632000) R:      0/s (0)
imposm3: util/env_posix.cc:361: char* leveldb::{anonymous}::PosixMmapFile::GetSegment(uint64_t): Assertion `block < segments_sz_' failed.  0/s      0/s (0)
SIGABRT: abort
PC=0x7f5b85257cc9
signal arrived during cgo execution

(https://github.com/rescrv/HyperLevelDB/blob/master/util/env_posix.cc#L361)

I am using the following command:
./imposm3 import -mapping lakes.json -read ../planet-latest.osm.pbf

And here is lakes.json:

{
    "tables": {
        "lakes": {
            "fields": [
                {
                    "type": "id",
                    "name": "osm_id",
                    "key": null
                },
                {
                    "type": "geometry",
                    "name": "geometry",
                    "key": null
                },
                {
                    "type": "string",
                    "name": "name",
                    "key": "name"
                },
                {
                    "type": "mapping_value",
                    "name": "type",
                    "key": null
                },
                {
                    "type": "pseudoarea",
                    "name": "area",
                    "key": null
                },
                {
                    "type": "hstore_tags",
                    "name": "tags",
                    "key": null
                }
            ],
            "type": "polygon",
            "mapping": {
                "landuse": [
                    "basin",
                    "reservoir"
                ],
                "natural": [
                    "water"
                ]
            }
        }
    },
    "tags": {
        "load_all": true
    }
}

I checked the md5 of the pbf, and it matches what it's supposed to be.

I tried building the latest go version, but got an error on go get:

rio/tmp/build?>go get github.com/omniscale/imposm3
package github.com/omniscale/imposm3
        imports code.google.com/p/goprotobuf/proto: unable to detect version control system for code.google.com/ path`
rio/tmp/build?>go install github.com/omniscale/imposm3
src/github.com/omniscale/imposm3/cache/binary/messages.pb.go:7:8: cannot find package "code.google.com/p/goprotobuf/proto" in any of:
        /usr/lib/go/src/pkg/code.google.com/p/goprotobuf/proto (from $GOROOT)
        /tmp/build/src/code.google.com/p/goprotobuf/proto (from $GOPATH)

I have no idea what could be wrong, any recommendations on how to proceed?

Make "optimize" command

If clustering degrades over time, maybe it would be better to take "optimize" step out of import and make it a separate command, so one can optimize a database separately from import

Support for OSM metadata

I tried to find in the documentation how to import metadata about version number, last user, timestamp in my database schema.
Is-it possible to do that with Imposm3 ?

Thanks

diff import produces duplicates and/or negative osm_id's

first I take europe and import it with imposm3 with diff support:
imposm3 import \
-connection postgis://xxx@xxx/osm_europe?sslmode=disable \
-cachedir="/home/PBFcache" \ (cache is empty when I start to import)
-diff=true \
-mapping /home/mapping_imposm3.json \
-read /home/europe-20150515.osm.pbf \
-dbschema-import="public" \ (I do want to import directly to 'pubic')
-write \
-appendcache (cache is empty when I start to import)

It takes about 5 hrs to insert the data.
Then I set an UNIQUE index on the column osm_id. I want to use them as unique values (what is normal, right ?)

Then I run dif 795 (next date with difs for europe-20150515.osm.pbf):
imposm3 diff \
-cachedir='/home/PBFcache' \
-diffdir='/home/PBFcache' \
-dbschema-import='public' \
-mapping='/home/mapping_imposm3.json' \
-connection postgis://xxx@xxx/osm_europe?sslmode=disable \

/home/routeyou/pbf/dif/795.osc.gz

Then I get

  1. the error duplicates on osm_id's => failed to insert.
  2. I see that there are negative osm_ids ?? Whats the reason ? Can I delete them or not ?

Static 13-Jan-2014 09:26: Errors on planet import

Can't import planet with newest version. OS is Debian 7.

Germany and europe with no problems.

[Jan 19 08:24:02] [INFO] [  1m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    320/s (14998)
[Jan 19 08:25:02] [INFO] [  2m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    280/s (29582)
[Jan 19 08:25:54] [INFO] [GEOS] TopologyException: side location conflict at 1151586.9022556031 8339928.7713627554
[Jan 19 08:26:02] [INFO] [  3m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    370/s (62324)
[Jan 19 08:27:02] [INFO] [  4m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    410/s (93313)
[Jan 19 08:28:02] [INFO] [  5m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    450/s (130175)
[Jan 19 08:29:02] [INFO] [  6m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    530/s (184154)
[Jan 19 08:30:02] [INFO] [  7m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    530/s (218343)
[Jan 19 08:31:02] [INFO] [  8m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    570/s (269902)
[Jan 19 08:32:02] [INFO] [  9m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    610/s (322619)
[Jan 19 08:33:02] [INFO] [ 10m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    600/s (353100)
[Jan 19 08:34:02] [INFO] [ 11m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    590/s (384528)
[Jan 19 08:35:02] [INFO] [ 12m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    590/s (418674)
[Jan 19 08:36:00] [INFO] [GEOS] TopologyException: side location conflict at 1262953.6463945815 5372535.5919273971
[Jan 19 08:36:02] [INFO] [ 13m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    630/s (484058)
[Jan 19 08:37:02] [INFO] [ 14m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    650/s (539353)
[Jan 19 08:38:02] [INFO] [ 15m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    670/s (599880)
[Jan 19 08:39:02] [INFO] [ 16m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    670/s (642772)
[Jan 19 08:40:02] [INFO] [ 17m0s] C:       0/s (0) N:       0/s (0) W:       0/s (0) R:    710/s (717184)
panic: runtime error: index out of range      0/s (0) N:       0/s       0/s (0) W:       0/s       0/s (0) R:    710/s   1780/s (734647)

goroutine 54 [running]:
runtime.panic(0x7b2c60, 0xe8ed97)
        /home/os/go/src/pkg/runtime/panic.c:266 +0xb6
imposm3/geom.mergeRings(0xc21a0fd200, 0x5, 0x8, 0x4, 0x1, ...)
        /home/os/imposm/src/imposm3/geom/ring.go:85 +0x1b00
imposm3/geom.BuildRings(0xc212090420, 0x0, 0x0, 0x0, 0x0, ...)
        /home/os/imposm/src/imposm3/geom/multipolygon.go:97 +0x4bc
imposm3/geom.PrepareRelation(0xc212090420, 0xf11, 0x0, 0x0, 0x0)
        /home/os/imposm/src/imposm3/geom/multipolygon.go:32 +0x27
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:74 +0x2f1
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 1 [semacquire]:
sync.runtime_Semacquire(0xc21011ac28)
        /home/os/go/src/pkg/runtime/sema.goc:199 +0x30
sync.(*WaitGroup).Wait(0xc2100cc100)
        /home/os/go/src/pkg/sync/waitgroup.go:127 +0x14b
imposm3/writer.(*OsmElemWriter).Wait(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/writer.go:61 +0x2b
imposm3/import_.Import()
        /home/os/imposm/src/imposm3/import_/import.go:173 +0x15c9
imposm3/cmd.Main(0x909488)
        /home/os/imposm/src/imposm3/cmd/main.go:48 +0xab9
main.main()
        /home/os/imposm/src/imposm3/imposm3.go:8 +0x27

goroutine 3 [select]:
imposm3/logging.(*LogBroker).loop(0xea8ce0)
        /home/os/imposm/src/imposm3/logging/logger.go:143 +0x484
created by imposm3/logging.init·1
        /home/os/imposm/src/imposm3/logging/logger.go:234 +0x12c

goroutine 6 [chan receive]:
database/sql.(*DB).connectionOpener(0xc2100d7900)
        /home/os/go/src/pkg/database/sql/sql.go:574 +0x3e
created by database/sql.Open
        /home/os/go/src/pkg/database/sql/sql.go:436 +0x24d

goroutine 5 [syscall]:
runtime.goexit()
        /home/os/go/src/pkg/runtime/proc.c:1394

goroutine 7 [select]:
imposm3/stats.(*Statistics).loop(0xc210109000)
        /home/os/imposm/src/imposm3/stats/stats.go:109 +0x16b
created by imposm3/stats.NewStatsReporterWithEstimate
        /home/os/imposm/src/imposm3/stats/stats.go:101 +0xcf

goroutine 9 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc210145000)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 10 [IO wait]:
net.runtime_pollWait(0x7fa4120dba40, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc21004b5a0, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc21004b5a0, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc21004b540, 0xc2100f6000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc2100cfa00, 0xc2100f6000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc2100411e0)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc2100411e0, 0xc2100b0da0, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc2100411e0, 0xc2100b0da0, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc2100411e0, 0xc2100b0da0, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc2100b0d80, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc2100b0d80, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc210120780)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 11 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc21001ec30)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 12 [IO wait]:
net.runtime_pollWait(0x7fa4120db998, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc21004b7d0, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc21004b7d0, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc21004b770, 0xc210132000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc2100cfb88, 0xc210132000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc2100f81e0)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc2100f81e0, 0xc21012f020, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc2100f81e0, 0xc21012f020, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc2100f81e0, 0xc21012f020, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc21012f000, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc21012f000, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc2101200a0)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 13 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc2101200f0)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 14 [IO wait]:
net.runtime_pollWait(0x7fa4120db8f0, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc21004ba00, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc21004ba00, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc21004b9a0, 0xc21011f000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc2100cfce8, 0xc21011f000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc2100f8420)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc2100f8420, 0xc21012f260, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc2100f8420, 0xc21012f260, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc2100f8420, 0xc21012f260, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc21012f240, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc21012f240, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc210120aa0)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 15 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc210120af0)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 16 [IO wait]:
net.runtime_pollWait(0x7fa4120db848, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc210130530, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc210130530, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc2101304d0, 0xc21010d000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc21011a3c8, 0xc21010d000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc21013f540)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc21013f540, 0xc21011b020, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc21013f540, 0xc21011b020, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc21013f540, 0xc21011b020, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc21011b000, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc21011b000, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc2101450a0)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 17 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc2101450f0)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 18 [IO wait]:
net.runtime_pollWait(0x7fa4120db7a0, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc21010e140, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc21010e140, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc21010e0e0, 0xc21007b000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc21010b2b0, 0xc21007b000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc21010a3c0)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc21010a3c0, 0xc21007a020, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc21010a3c0, 0xc21007a020, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc21010a3c0, 0xc21007a020, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc21007a000, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc21007a000, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc210120140)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 19 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc210120190)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 20 [IO wait]:
net.runtime_pollWait(0x7fa4120db6f8, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc21004bc30, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc21004bc30, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc21004bbd0, 0xc210124000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc2100cfe50, 0xc210124000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc2100f8660)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc2100f8660, 0xc21012f4a0, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc2100f8660, 0xc21012f4a0, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc2100f8660, 0xc21012f4a0, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc21012f480, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc21012f480, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc210120b90)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 21 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc210120be0)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 22 [IO wait]:
net.runtime_pollWait(0x7fa4120db650, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc210130680, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc210130680, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc210130620, 0xc2101b3000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc21011a528, 0xc2101b3000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc21013f7e0)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc21013f7e0, 0xc21011b260, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc21013f7e0, 0xc21011b260, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc21013f7e0, 0xc21011b260, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc21011b240, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc21011b240, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc210145190)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 23 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc2101451e0)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 24 [IO wait]:
net.runtime_pollWait(0x7fa4120db5a8, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc21010e290, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc21010e290, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc21010e230, 0xc2101c5000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc21010b410, 0xc2101c5000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc21010a660)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc21010a660, 0xc21007a260, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc21010a660, 0xc21007a260, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc21010a660, 0xc21007a260, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc21007a240, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc21007a240, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc2101201e0)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 25 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc210120230)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 26 [IO wait]:
net.runtime_pollWait(0x7fa4120db500, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc21004bd80, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc21004bd80, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc21004bd20, 0xc2101d9000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc2100cffb0, 0xc2101d9000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc2100f8960)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc2100f8960, 0xc21012f6e0, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc2100f8960, 0xc21012f6e0, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc2100f8960, 0xc21012f6e0, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc21012f6c0, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc21012f6c0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc210120280)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 27 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc2101202d0)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 28 [IO wait]:
net.runtime_pollWait(0x7fa4120db458, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc21004bed0, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc21004bed0, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc21004be70, 0xc2101ee000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc210128118, 0xc2101ee000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc2100f8c60)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc2100f8c60, 0xc21012fb60, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc2100f8c60, 0xc21012fb60, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc2100f8c60, 0xc21012fb60, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc21012fb40, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc21012fb40, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc210120320)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 29 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc210120370)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 30 [IO wait]:
net.runtime_pollWait(0x7fa4120db3b0, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc210130060, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc210130060, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc210130000, 0xc210200000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc210128280, 0xc210200000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc2100f8e40)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc2100f8e40, 0xc21012fda0, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc2100f8e40, 0xc21012fda0, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc2100f8e40, 0xc21012fda0, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc21012fd80, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc21012fd80, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc210120c30)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 31 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc210120000)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 32 [IO wait]:
net.runtime_pollWait(0x7fa4120db308, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc2101308b0, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc2101308b0, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc210130850, 0xc21021b000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc21011a688, 0xc21021b000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc21013fb40)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc21013fb40, 0xc21011b920, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc21013fb40, 0xc21011b920, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc21013fb40, 0xc21011b920, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc21011b900, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc21011b900, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc210120050)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 33 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc210129000)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 34 [IO wait]:
net.runtime_pollWait(0x7fa4120db260, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc210130ae0, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc210130ae0, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc210130a80, 0xc21022d000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc21011a7e8, 0xc21022d000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc21013fd80)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc21013fd80, 0xc21011bb60, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc21013fd80, 0xc21011bb60, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc21013fd80, 0xc21011bb60, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc21011bb40, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc21011bb40, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc2101290a0)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 35 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc2101290f0)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 36 [IO wait]:
net.runtime_pollWait(0x7fa4120db1b8, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc210130c30, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc210130c30, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc210130bd0, 0xc21023e000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc21011a948, 0xc21023e000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc21013f180)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc21013f180, 0xc21011bda0, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc21013f180, 0xc21011bda0, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc21013f180, 0xc21011bda0, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc21011bd80, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc21011bd80, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc210129140)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 37 [chan receive]:
imposm3/database/postgis.(*bulkTableTx).loop(0xc210129190)
        /home/os/imposm/src/imposm3/database/postgis/tx.go:74 +0x49
created by imposm3/database/postgis.NewBulkTableTx
        /home/os/imposm/src/imposm3/database/postgis/tx.go:38 +0xf9

goroutine 38 [IO wait]:
net.runtime_pollWait(0x7fa4120db110, 0x72, 0x0)
        /home/os/go/src/pkg/runtime/netpoll.goc:116 +0x6a
net.(*pollDesc).Wait(0xc210130d80, 0x72, 0x7fa4120d20e8, 0xb)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:81 +0x34
net.(*pollDesc).WaitRead(0xc210130d80, 0xb, 0x7fa4120d20e8)
        /home/os/go/src/pkg/net/fd_poll_runtime.go:86 +0x30
net.(*netFD).Read(0xc210130d20, 0xc210251000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/fd_unix.go:204 +0x2a0
net.(*conn).Read(0xc21011aaa8, 0xc210251000, 0x1000, 0x1000, 0x0, ...)
        /home/os/go/src/pkg/net/net.go:122 +0xc5
bufio.(*Reader).fill(0xc21013f9c0)
        /home/os/go/src/pkg/bufio/bufio.go:91 +0x110
bufio.(*Reader).Read(0xc21013f9c0, 0xc210250020, 0x5, 0x200, 0x5, ...)
        /home/os/go/src/pkg/bufio/bufio.go:159 +0x1a4
io.ReadAtLeast(0x7fa4120dbb38, 0xc21013f9c0, 0xc210250020, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:288 +0xf6
io.ReadFull(0x7fa4120dbb38, 0xc21013f9c0, 0xc210250020, 0x5, 0x200, ...)
        /home/os/go/src/pkg/io/io.go:306 +0x71
github.com/lib/pq.(*conn).recvMessage(0xc210250000, 0x0, 0x0, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:544 +0x10b
github.com/lib/pq.(*conn).recv1(0xc210250000, 0x0, 0x0)
        /home/os/imposm/src/github.com/lib/pq/conn.go:597 +0x27
github.com/lib/pq.(*copyin).resploop(0xc210129230)
        /home/os/imposm/src/github.com/lib/pq/copy.go:106 +0x2a
created by github.com/lib/pq.(*conn).prepareCopyIn
        /home/os/imposm/src/github.com/lib/pq/copy.go:76 +0x541

goroutine 39 [chan send]:
imposm3/cache.func·009()
        /home/os/imposm/src/imposm3/cache/relations.go:75 +0x1ab
created by imposm3/cache.(*RelationsCache).Iter
        /home/os/imposm/src/imposm3/cache/relations.go:77 +0xa7

goroutine 40 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc2160bcfc8, 0x8, 0xc2160bcfd8, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc2160bcfc8, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0x1a368bd, 0xc2109e0500, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0x1a368bd, 0xc2116e6500, 0x0, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc216186370, 0x21, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 41 [runnable]:
imposm3/geom/geos._Cfunc_GEOSisValid_r(0x7fa314000bf0, 0x7fa31401cd98, 0x1)
        imposm3/geom/geos/_obj/_cgo_defun.c:490 +0x31
imposm3/geom/geos.(*Geos).IsValid(0xc21a6c1230, 0xc218699760, 0x0)
        /home/os/imposm/src/imposm3/geom/geos/geos.go:241 +0x37
imposm3/geom.BuildRelGeometry(0xc21a6bb6f0, 0xc215c7ca00, 0x36, 0x40, 0xf11, ...)
        /home/os/imposm/src/imposm3/geom/multipolygon.go:204 +0xb75
imposm3/geom.(*preparedRelation).Build(0xc21ca5ec60, 0x219e34, 0xc21ca5e750, 0x0)
        /home/os/imposm/src/imposm3/geom/multipolygon.go:43 +0x45
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:92 +0x49b
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 42 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc2119e37f8, 0x8, 0xc2119e3808, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc2119e37f8, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0x18ad45e, 0xc2112de500, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0x18ad45e, 0xc210ec1208, 0x0, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc21debbbe0, 0x3, 0x3)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 43 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f809f280, 0x7fa3f808ddc0, 0xc21a1141b8, 0x8, 0xc21a1141c8, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011aba8, 0xc21011abb8, 0xc21a1141b8, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*WaysCache).GetWay(0xc21011e030, 0xd8ec23d, 0xc2102b6040, 0x30, 0xc2102b6040)
        /home/os/imposm/src/imposm3/cache/ways.go:55 +0x5f
imposm3/cache.(*WaysCache).FillMembers(0xc21011e030, 0xc21a050900, 0xe, 0xe, 0x2, ...)
        /home/os/imposm/src/imposm3/cache/ways.go:107 +0x101
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:47 +0xf8
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 44 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc21b6f6490, 0x8, 0xc21b6f64a0, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc21b6f6490, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0x50d1, 0xc210aca500, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0x50d1, 0xc210ee02d0, 0x0, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc225443aa0, 0x3, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 45 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc212cade60, 0x8, 0xc212cade80, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc212cade60, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0x336a48, 0xc210e44500, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0x336a48, 0xc2115e5640, 0x0, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc2132be460, 0x3, 0x3)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 46 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc213c6c7f8, 0x8, 0xc213c6c808, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc213c6c7f8, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0x300499b, 0xc210ec6000, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0x300499b, 0xc210d46280, 0x0, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc21f08e460, 0xf, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 47 [syscall]:
imposm3/geom/geos._Cfunc_GEOSisValid_r(0x7fa3e4988ca0, 0x7fa3c4a190a8, 0x7fa3c4a190a8)
        imposm3/geom/geos/_obj/_cgo_defun.c:490 +0x31
imposm3/geom/geos.(*Geos).IsValid(0xc213972af0, 0xc211f22b88, 0x2544)
        /home/os/imposm/src/imposm3/geom/geos/geos.go:241 +0x37
imposm3/geom.BuildRelGeometry(0xc211d04cf0, 0xc222dfb000, 0x2544, 0x2e8c, 0xf11, ...)
        /home/os/imposm/src/imposm3/geom/multipolygon.go:204 +0xb75
imposm3/geom.(*preparedRelation).Build(0xc215c71870, 0x1e394d, 0xc215c71840, 0x0)
        /home/os/imposm/src/imposm3/geom/multipolygon.go:43 +0x45
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:92 +0x49b
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 48 [runnable]:
imposm3/geom/geos._Cfunc_GEOSPreparedContains_r(0x7fa3200013c0, 0x7fa320044b60, 0x7fa32001ccc8, 0x7fa320044b01)
        imposm3/geom/geos/_obj/_cgo_defun.c:382 +0x31
imposm3/geom/geos.(*Geos).PreparedContains(0xc21dfffa30, 0xc2184f7b08, 0xc21a384c28, 0x1)
        /home/os/imposm/src/imposm3/geom/geos/prepared.go:23 +0x44
imposm3/geom.BuildRelGeometry(0xc21796adb0, 0xc21e98d000, 0xd0, 0x100, 0xf11, ...)
        /home/os/imposm/src/imposm3/geom/multipolygon.go:146 +0x27f
imposm3/geom.(*preparedRelation).Build(0xc214fca9f0, 0x2198a6, 0xc214fca9c0, 0x0)
        /home/os/imposm/src/imposm3/geom/multipolygon.go:43 +0x45
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:92 +0x49b
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 49 [runnable]:
imposm3/geom/geos._Cfunc_GEOSPreparedContains_r(0x7fa33c000d50, 0x7fa33c08faa0, 0x7fa33c02b3b8, 0x7fa33c08fa00)
        imposm3/geom/geos/_obj/_cgo_defun.c:382 +0x31
imposm3/geom/geos.(*Geos).PreparedContains(0xc2169d9ae0, 0xc210354e08, 0xc21315fe08, 0x300)
        /home/os/imposm/src/imposm3/geom/geos/prepared.go:23 +0x44
imposm3/geom.BuildRelGeometry(0xc21b325540, 0xc217923000, 0x39e, 0x400, 0xf11, ...)
        /home/os/imposm/src/imposm3/geom/multipolygon.go:146 +0x27f
imposm3/geom.(*preparedRelation).Build(0xc2152fbe10, 0x2199bf, 0xc2152fbde0, 0x0)
        /home/os/imposm/src/imposm3/geom/multipolygon.go:43 +0x45
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:92 +0x49b
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 50 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc216543308, 0x8, 0xc216543318, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc216543308, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0x1a4a835, 0xc210e70500, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0x1a4a835, 0x8, 0xc211e8ba00, 0x8)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc21574ab90, 0x2, 0x2)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 51 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc218899118, 0x8, 0xc218899128, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc218899118, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0xb78790, 0xc21095aa00, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0xb78790, 0xc21125bd70, 0x0, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc21a7ba910, 0xa, 0xa)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 52 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc2137842e8, 0x8, 0xc213784308, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc2137842e8, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0x310acaf, 0xc210ec9a00, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0x310acaf, 0xc2108b00f0, 0x0, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc215e5c690, 0x2, 0x2)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 53 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc216393038, 0x8, 0xc216393048, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc216393038, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0x33e76f1, 0xc2108cf500, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0x33e76f1, 0x5, 0xc2195eec30, 0x5)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc2129f0b40, 0x12, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 55 [runnable]:
imposm3/geom/geos._Cfunc_GEOSPreparedContains_r(0x7fa2b0003bc0, 0x7fa2b0003d60, 0x7fa2b0003728, 0x7fa2b0003d01)
        imposm3/geom/geos/_obj/_cgo_defun.c:382 +0x31
imposm3/geom/geos.(*Geos).PreparedContains(0xc225857ec0, 0xc2159ce3a0, 0xc212575e98, 0x1)
        /home/os/imposm/src/imposm3/geom/geos/prepared.go:23 +0x44
imposm3/geom.BuildRelGeometry(0xc2169bebd0, 0xc21018c800, 0x79, 0x80, 0xf11, ...)
        /home/os/imposm/src/imposm3/geom/multipolygon.go:146 +0x27f
imposm3/geom.(*preparedRelation).Build(0xc218685150, 0x219e31, 0xc218685120, 0x0)
        /home/os/imposm/src/imposm3/geom/multipolygon.go:43 +0x45
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:92 +0x49b
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 56 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc2181ea3a0, 0x8, 0xc2181ea3b0, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc2181ea3a0, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0x1972391, 0xc2116eb000, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0x1972391, 0xc210a49820, 0x0, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc217e5c8c0, 0x3, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 57 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc216ace460, 0x8, 0xc216ace470, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc216ace460, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0x4cfb997, 0xc21093b000, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0x4cfb997, 0xc210ae2a50, 0x0, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc2139f2c30, 0x4, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 58 [runnable]:
imposm3/geom/geos._Cfunc_GEOSBuffer_r(0x7fa2e0414bf0, 0x7fa3aca14c68, 0x0, 0x7fa200000032, 0x7fa2ed16ef88)
        imposm3/geom/geos/_obj/_cgo_defun.c:67 +0x31
imposm3/geom/geos.(*Geos).Buffer(0xc2199c32b0, 0xc21a1f56c8, 0x0, 0x2e8c)
        /home/os/imposm/src/imposm3/geom/geos/ops.go:38 +0x4b
imposm3/geom.BuildRelGeometry(0xc2129a56c0, 0xc21b4ae000, 0x2546, 0x2e8c, 0xf11, ...)
        /home/os/imposm/src/imposm3/geom/multipolygon.go:205 +0xbb1
imposm3/geom.(*preparedRelation).Build(0xc21cd7ff90, 0x1e38cb, 0xc21cd7ff60, 0x0)
        /home/os/imposm/src/imposm3/geom/multipolygon.go:43 +0x45
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:92 +0x49b
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 59 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f809f280, 0x7fa3f808ddc0, 0xc2160c4e50, 0x8, 0xc2160c4e60, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011aba8, 0xc21011abb8, 0xc2160c4e50, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*WaysCache).GetWay(0xc21011e030, 0x47361a2, 0xc2159f8820, 0x0, 0x0)
        /home/os/imposm/src/imposm3/cache/ways.go:55 +0x5f
imposm3/cache.(*WaysCache).FillMembers(0xc21011e030, 0xc217c25780, 0x4, 0x4, 0x43, ...)
        /home/os/imposm/src/imposm3/cache/ways.go:107 +0x101
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:47 +0xf8
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 60 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc217f067a0, 0x8, 0xc217f067b8, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc217f067a0, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0x3fada2b, 0xc211247a00, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0x3fada2b, 0xc210e643e8, 0x0, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc21051b8c0, 0x7, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 61 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc2140be440, 0x8, 0xc2140be458, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc2140be440, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0x703a31, 0xc210dec500, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0x703a31, 0xc210dbf208, 0x0, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc2259ec5a0, 0x3, 0x3)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 62 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc2152643e8, 0x8, 0xc2152643f8, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc2152643e8, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0x34a2229, 0xc210539500, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0x34a2229, 0xc210562078, 0x0, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc21dfad640, 0x10, 0x10)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 63 [runnable]:
github.com/jmhodges/levigo._Cfunc_leveldb_get(0x7fa3f80046d0, 0x7fa3f80044d0, 0xc216b5db50, 0x8, 0xc216b5db60, ...)
        github.com/jmhodges/levigo/_obj/_cgo_defun.c:185 +0x36
github.com/jmhodges/levigo.(*DB).Get(0xc21011ab48, 0xc21011ab58, 0xc216b5db50, 0x8, 0x8, ...)
        /home/os/imposm/src/github.com/jmhodges/levigo/db.go:171 +0xe2
imposm3/cache.(*DeltaCoordsCache).getCoordsPacked(0xc21010a600, 0x2e7a2f6, 0xc21085f000, 0x0, 0x20, ...)
        /home/os/imposm/src/imposm3/cache/delta.go:305 +0x64
imposm3/cache.(*DeltaCoordsCache).getBunch(0xc21010a600, 0x2e7a2f6, 0xc210763c80, 0x0, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:353 +0x24f
imposm3/cache.(*DeltaCoordsCache).FillWay(0xc21010a600, 0xc21f269140, 0x1d, 0x0)
        /home/os/imposm/src/imposm3/cache/delta.go:193 +0x140
imposm3/writer.(*RelationWriter).loop(0xc210130e70)
        /home/os/imposm/src/imposm3/writer/relations.go:58 +0xefd
created by imposm3/writer.(*OsmElemWriter).Start
        /home/os/imposm/src/imposm3/writer/writer.go:52 +0x8f

goroutine 64 [finalizer wait]:
runtime.park(0x411690, 0xea7180, 0xe912e8)
        /home/os/go/src/pkg/runtime/proc.c:1342 +0x66
runfinq()
        /home/os/go/src/pkg/runtime/mgc0.c:2276 +0x84
runtime.goexit()
        /home/os/go/src/pkg/runtime/proc.c:1394

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.