-
Notifications
You must be signed in to change notification settings - Fork 63
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
Unable to find segment #13 [35.188333, 6.664167] -> [35.189483, 6.665317] in SweepLine tree. #115
Comments
Run into this same issue on a different dataset, so I can provide additional information that can hopefully help move this issue forward. Version The stacktrace:
The GeoJSON{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
142.61177817229367,
-3.5746898486258374
],
[
142.61307179529587,
-3.5922722640644165
],
[
142.61777758155156,
-3.609264944158095
],
[
142.62571486112077,
-3.6250148205389205
],
[
142.6365787290299,
-3.638916555913288
],
[
142.63824783192996,
-3.6403542896943777
],
[
142.63881795059655,
-3.6410482443928545
],
[
142.6436937013806,
-3.6450452590026936
],
[
142.64995174370222,
-3.650435818715287
],
[
142.6446015411609,
-3.6463700865723054
],
[
142.6506852371919,
-3.6510220895235763
],
[
142.6508382434519,
-3.6511290981671003
],
[
142.65182867087518,
-3.6517140969643473
],
[
142.6524685048381,
-3.652238616327815
],
[
142.65505545990433,
-3.6536200091560147
],
[
142.6627450432497,
-3.6581618836059313
],
[
142.66598331048056,
-3.6594553074225877
],
[
142.66804463258438,
-3.660556020615491
],
[
142.67092711622342,
-3.6614299548611466
],
[
142.67559045313592,
-3.6632925778622014
],
[
142.67560244404257,
-3.663296330153565
],
[
142.67598998295313,
-3.6633770147164433
],
[
142.6757374572013,
-3.663338579563343
],
[
142.67904448822904,
-3.6640129545312266
],
[
142.6803280198212,
-3.6642801823698634
],
[
142.6849476427233,
-3.6656807409511045
],
[
142.68895474930292,
-3.666076244335142
],
[
142.6928959962701,
-3.666896801394282
],
[
142.6932009814659,
-3.66689963359883
],
[
142.6937689836239,
-3.6670154523496445
],
[
142.6939299993193,
-3.667031453925333
],
[
142.69845747443682,
-3.667014099297884
],
[
142.7025277968348,
-3.6674157814504325
],
[
142.6998530152113,
-3.667008745409473
],
[
142.70053013363426,
-3.6670061424929945
],
[
142.70384140745264,
-3.667316586083105
],
[
142.70667884548178,
-3.6670247939944596
],
[
142.71056115473937,
-3.667060846544186
],
[
142.711065163006,
-3.6669656447002548
],
[
142.71247791403306,
-3.6669602139324544
],
[
142.71267393309418,
-3.6669392118664903
],
[
142.71511716362687,
-3.6664989450232652
],
[
142.7153313823274,
-3.666493726860022
],
[
142.71609430933913,
-3.6663228646852253
],
[
142.71953787901896,
-3.6657023380783116
],
[
142.72141425427375,
-3.6655093519270534
],
[
142.7225528346582,
-3.665159047142812
],
[
142.7253770563111,
-3.664650126214127
],
[
142.72552206929402,
-3.6646131226683236
],
[
142.73806063076512,
-3.6604137875661604
],
[
142.73829599767984,
-3.660315241352458
],
[
142.74051042540975,
-3.6591210458085075
],
[
142.74871950570235,
-3.6554906722933986
],
[
142.75359376378393,
-3.652065469247807
],
[
142.75383768497517,
-3.6519339275425997
],
[
142.75415926781272,
-3.6516680823861836
],
[
142.76316356849077,
-3.645340645966195
],
[
142.7753455539016,
-3.632573293281461
],
[
142.78479732711656,
-3.6176793553541082
],
[
142.7911557489179,
-3.6012312866375926
],
[
142.79417661706242,
-3.5838612422690113
],
[
142.79374402771575,
-3.5662367749284263
],
[
142.78987480089202,
-3.5490351766108987
],
[
142.78271780429856,
-3.532917451947908
],
[
142.77254820608704,
-3.5185029229743803
],
[
142.75975688126084,
-3.5063454401505565
],
[
142.74483538154934,
-3.4969121120959863
],
[
142.72835704752632,
-3.4905653693513683
],
[
142.7230085246727,
-3.4896383033948486
],
[
142.72161925928964,
-3.4891798824320697
],
[
142.71726656399048,
-3.488643042382072
],
[
142.71095498835973,
-3.487549049319053
],
[
142.71071850658774,
-3.48753160395097
],
[
142.70832211692152,
-3.4875398782316633
],
[
142.70409009519662,
-3.4870179214673516
],
[
142.68647517228385,
-3.4883106047120056
],
[
142.66945123114036,
-3.4930082690430764
],
[
142.65367232609492,
-3.5009304350025228
],
[
142.63974471515948,
-3.511772735255733
],
[
142.62820357950022,
-3.5251185998204155
],
[
142.61949246444541,
-3.5404552506510063
],
[
142.6139462308434,
-3.5571933929497237
],
[
142.61177817229367,
-3.5746898486258374
]
]
]
}
},
{
"type": "Feature",
"properties": {
"id": 1293382
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
142.6496171516014,
-3.6497061473538697
],
[
142.64938390021084,
-3.6500364627747666
],
[
142.64995178861523,
-3.6504358503019123
],
[
142.6542199538622,
-3.652850449588183
],
[
142.65774094397116,
-3.6552557055738983
],
[
142.6579259513733,
-3.65535706866927
],
[
142.65809800059503,
-3.655044321495785
],
[
142.66532001093265,
-3.659129854083032
],
[
142.6820927407614,
-3.6646644156244332
],
[
142.6996252520084,
-3.6668267851215384
],
[
142.71724358666447,
-3.665533839504173
],
[
142.73427048464313,
-3.6608352806357205
],
[
142.75005144114124,
-3.652911722996782
],
[
142.7639798852888,
-3.64206774471506
],
[
142.77552050832855,
-3.628720170286175
],
[
142.78422984206017,
-3.6133820372782948
],
[
142.78977329577447,
-3.596642865541538
],
[
142.791937997936,
-3.5791459895097435
],
[
142.7906409518231,
-3.56156382664485
],
[
142.78593219566395,
-3.5445720336908693
],
[
142.77799285037315,
-3.5288235442790046
],
[
142.76712813433184,
-3.5149234850924427
],
[
142.75375561728544,
-3.5034059332553174
],
[
142.75318777474385,
-3.503006609784677
],
[
142.74464659027745,
-3.4976868881248953
],
[
142.74446160510558,
-3.497585542463525
],
[
142.72821965969268,
-3.4906582531988843
],
[
142.71093599755548,
-3.4870265143822134
],
[
142.69327464316765,
-3.4868298531432367
],
[
142.67591411949738,
-3.4900758249250248
],
[
142.65952140152817,
-3.496639723448043
],
[
142.6447263117074,
-3.5062693679933905
],
[
142.63209733736574,
-3.518594784757301
],
[
142.62211979629487,
-3.533142411629478
],
[
142.61517718767368,
-3.5493532824096374
],
[
142.61153644466327,
-3.566604493788319
],
[
142.61133765669072,
-3.5842331322022667
],
[
142.614588659187,
-3.6015617427741207
],
[
142.6211647026388,
-3.617924362644185
],
[
142.63081321820763,
-3.6326921184826246
],
[
142.64316350121288,
-3.6452974038188204
],
[
142.6496171516014,
-3.6497061473538697
]
]
]
}
}
]
} Some background context: I'm not using this library directly, I'm using This works on most datasets however there's been a few edge cases including errors being generated from this library such as private $fixUnableToCompleteOutputRing(col: any): any {
getInstance().getLogger().warn(TAG, 'Fixing output ring geometry...');
try {
col = buffer(col, 0.0001);
col = dissolve(col);
}
catch (ex) {
// This happens if we have two polygons that interweaves together too closely
// Applying a small buffer usually corrects it
if (/Unable to complete output ring|Maximum call stack size exceeded/g.test(ex.message)) {
this.$fixUnableToCompleteOutputRing(col);
}
}
getInstance().getLogger().info(TAG, 'Fixed output ring geometry');
return col;
} The hack expands the polygon by buffering it by a small amount, which may not be ideal for everyone's use case, which has resolved most issues. |
Another set of polygons that reproduces this issue: |
Version: 0.15.3
Function:
polygonClipping.union
Input:
I'm poking around the lib a bit to see if I can figure out why this is happening. Maybe its the same cause as #98?
The text was updated successfully, but these errors were encountered: