Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

geojson_intersects_feature does not work with geojsons that go to the poles #235

Open
pnorman opened this issue Feb 19, 2020 · 0 comments
Open

Comments

@pnorman
Copy link
Contributor

pnorman commented Feb 19, 2020

Using the config files in #227, I get an error with this geojson

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "properties": {
                "iso1A2": "AQ",
                "iso1A3": "ATA",
                "iso1N3": "010",
                "wikidata": "Q51",
                "nameEn": "Antarctica",
                "level": "region",
                "callingCodes": [
                    "672"
                ]
            },
            "geometry": {
                "type": "Polygon",
                "coordinates": [
                    [
                        [180, -60],
                        [180, -90],
                        [-180, -90],
                        [-180, -60],
                        [180, -60]
                    ]
                ]
            }
        }
    ]
}
[2020-02-19T11:44:47-08:00] 0:00:00 IllegalArgumentException: RobustDeterminant encountered non-finite numbers
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x0]

runtime stack:
runtime.throw(0x99f1ce, 0x2a)
        /usr/lib/go-1.10/src/runtime/panic.go:616 +0x81
runtime.sigpanic()
        /usr/lib/go-1.10/src/runtime/signal_unix.go:372 +0x28e

goroutine 1 [syscall]:
runtime.cgocall(0x867940, 0xc4201baa58, 0x8fd5a0)
        /usr/lib/go-1.10/src/runtime/cgocall.go:128 +0x64 fp=0xc4201baa28 sp=0xc4201ba9f0 pc=0x407904
github.com/omniscale/imposm3/geom/geos._Cfunc_GEOSGeom_destroy_r(0x2c041d0, 0x2c03780)
        _cgo_gotypes.go:457 +0x41 fp=0xc4201baa58 sp=0xc4201baa28 pc=0x563571
github.com/omniscale/imposm3/geom/geos.(*Geos).Destroy.func1(0x2c041d0, 0x2c03780)
        /home/pnorman/go/src/github.com/omniscale/imposm3/geom/geos/geos.go:77 +0x8f fp=0xc4201baa90 sp=0xc4201baa58 pc=0x56885f
github.com/omniscale/imposm3/geom/geos.(*Geos).Destroy(0xc420160880, 0xc4200b4120)
        /home/pnorman/go/src/github.com/omniscale/imposm3/geom/geos/geos.go:77 +0x66 fp=0xc4201baac8 sp=0xc4201baa90 pc=0x565446
github.com/omniscale/imposm3/mapping.geosPolygon(0xc420160880, 0xc420160ba0, 0x1, 0x1, 0x1, 0x1, 0x0)
        /home/pnorman/go/src/github.com/omniscale/imposm3/mapping/columns_intersection.go:179 +0x278 fp=0xc4201bab48 sp=0xc4201baac8 pc=0x5b9228
github.com/omniscale/imposm3/mapping.loadFeatures(0xc4200b0a74, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc4200d2680, 0x1a, 0xc420174ff0, ...)
        /home/pnorman/go/src/github.com/omniscale/imposm3/mapping/columns_intersection.go:58 +0x30f fp=0xc4201bac30 sp=0xc4201bab48 pc=0x5b83ff
github.com/omniscale/imposm3/mapping.MakeIntersectsFeatureField(0xc4200b0a74, 0xc, 0x993ec4, 0x1a, 0x986349, 0x6, 0x0, 0x9acdd0, 0x0, 0x0, ...)
        /home/pnorman/go/src/github.com/omniscale/imposm3/mapping/columns_intersection.go:71 +0x60 fp=0xc4201bad30 sp=0xc4201bac30 pc=0x5b88a0
github.com/omniscale/imposm3/mapping.MakeColumnType(0xc4200c7380, 0xc4200b6640, 0x1, 0x1)
        /home/pnorman/go/src/github.com/omniscale/imposm3/mapping/mapping.go:230 +0x1c4 fp=0xc4201baee8 sp=0xc4201bad30 pc=0x5bc474
github.com/omniscale/imposm3/mapping.makeRowBuilder(0xc4200bb0e0, 0x98971c, 0xa, 0x416601)
        /home/pnorman/go/src/github.com/omniscale/imposm3/mapping/mapping.go:213 +0xd4 fp=0xc4201bafd8 sp=0xc4201baee8 pc=0x5bc0a4
github.com/omniscale/imposm3/mapping.(*Mapping).tables(0xc4201aa410, 0x98971c, 0xa, 0xc4201751a0, 0x0, 0x0)
        /home/pnorman/go/src/github.com/omniscale/imposm3/mapping/mapping.go:196 +0x115 fp=0xc4201bb0e8 sp=0xc4201bafd8 pc=0x5bbdd5
github.com/omniscale/imposm3/mapping.(*Mapping).lineStringMatcher(0xc4201aa410, 0x9ec900, 0xc4201750e0, 0x0, 0x0)
        /home/pnorman/go/src/github.com/omniscale/imposm3/mapping/matcher.go:29 +0xc8 fp=0xc4201bb150 sp=0xc4201bb0e8 pc=0x5bed38
github.com/omniscale/imposm3/mapping.(*Mapping).createMatcher(0xc4201aa410, 0x0, 0x0)
        /home/pnorman/go/src/github.com/omniscale/imposm3/mapping/mapping.go:150 +0x7d fp=0xc4201bb188 sp=0xc4201bb150 pc=0x5bb6ed
github.com/omniscale/imposm3/mapping.New(0xc4201ac000, 0x11e, 0x31e, 0x11e, 0x31e, 0x0)
        /home/pnorman/go/src/github.com/omniscale/imposm3/mapping/mapping.go:113 +0xac fp=0xc4201bb1d8 sp=0xc4201bb188 pc=0x5bb27c
github.com/omniscale/imposm3/mapping.FromFile(0x7ffe552ef641, 0xb, 0xc42009a120, 0xc420075268, 0x416eb8)
        /home/pnorman/go/src/github.com/omniscale/imposm3/mapping/mapping.go:98 +0x87 fp=0xc4201bb220 sp=0xc4201bb1d8 pc=0x5bb197
github.com/omniscale/imposm3/import_.Import(0x7ffe552ef659, 0x33, 0x98a34d, 0xc, 0x98a34d, 0xc, 0x7ffe552ef641, 0xb, 0xf11, 0x0, ...)
        /home/pnorman/go/src/github.com/omniscale/imposm3/import_/import.go:50 +0x182 fp=0xc4201bb9d8 sp=0xc4201bb220 pc=0x863f12
main.Main(0x9ad550)
        /home/pnorman/go/src/github.com/omniscale/imposm3/cmd/imposm/main.go:48 +0x54b fp=0xc4201bbf70 sp=0xc4201bb9d8 pc=0x8671ab
main.main()
        /home/pnorman/go/src/github.com/omniscale/imposm3/cmd/imposm/main.go:77 +0x2d fp=0xc4201bbf88 sp=0xc4201bbf70 pc=0x86747d
runtime.main()
        /usr/lib/go-1.10/src/runtime/proc.go:198 +0x212 fp=0xc4201bbfe0 sp=0xc4201bbf88 pc=0x4328f2
runtime.goexit()
        /usr/lib/go-1.10/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc4201bbfe8 sp=0xc4201bbfe0 pc=0x4601f1

goroutine 20 [syscall]:
os/signal.signal_recv(0x0)
        /usr/lib/go-1.10/src/runtime/sigqueue.go:139 +0xa6
os/signal.loop()
        /usr/lib/go-1.10/src/os/signal/signal_unix.go:22 +0x22
created by os/signal.init.0
        /usr/lib/go-1.10/src/os/signal/signal_unix.go:28 +0x41

This is not a critical issue for me because I can drop Antarctica from the GeoJSON, but I wanted to document this bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant