From 6ad47ed5cc8285df87a3d61d90e21a3c7d8cce49 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Mon, 11 Nov 2024 22:17:31 +0000 Subject: [PATCH] build based on 394c197 --- previews/PR223/404.html | 4 +- previews/PR223/api.html | 136 +++++++++--------- previews/PR223/assets/aobwfey.4Jhg0EL5.png | Bin 0 -> 71373 bytes ...{api.md.2HLTFd0J.js => api.md.pHWlBUPJ.js} | 128 ++++++++--------- ...LTFd0J.lean.js => api.md.pHWlBUPJ.lean.js} | 128 ++++++++--------- .../{app.BHdMySJn.js => app.K01X8iY3.js} | 2 +- ...hcdh.Dab1-ETk.png => awnylvm.Dab1-ETk.png} | Bin ...hlsw.Cx40vhB3.png => axygjub.Cx40vhB3.png} | Bin ...loij.CPClNl7F.png => bdctrdf.CPClNl7F.png} | Bin ...raex.DC3TvBOO.png => bhapuoz.DC3TvBOO.png} | Bin ...rlvw.4wfjCtJV.png => bydobux.4wfjCtJV.png} | Bin previews/PR223/assets/bykgbez.DdZwFL14.png | Bin 65240 -> 0 bytes ...auet.Dig-DWOQ.png => chngknt.Dig-DWOQ.png} | Bin .../chunks/@localSearchIndexroot.CiuP_dDX.js | 1 + .../chunks/@localSearchIndexroot.Dn48TCj1.js | 1 - ...6fC7pC.js => VPLocalSearchBox.EmKBLzAn.js} | 2 +- .../{theme.CF78cELk.js => theme.wg7yGm0-.js} | 4 +- previews/PR223/assets/clsahjp.CBuzfdrZ.png | Bin 0 -> 81329 bytes previews/PR223/assets/cxkittd.b1ipFtNF.png | Bin 0 -> 209361 bytes ...grjf._0R9BbFk.png => dalqbic._0R9BbFk.png} | Bin ...fjxg.CgiryX2p.png => dqcpxyw.CgiryX2p.png} | Bin previews/PR223/assets/ecgjugc.D3OY6yJg.png | Bin 0 -> 65015 bytes previews/PR223/assets/ehlpjgx.Bb2iK8_l.png | Bin 64305 -> 0 bytes ...cxdg.DHcwB147.png => eqdgkry.DHcwB147.png} | Bin ...fmvk.CULn5saZ.png => eqkkufv.CULn5saZ.png} | Bin ... => experiments_predicates.md.BbLqJ2-y.js} | 2 +- ...xperiments_predicates.md.BbLqJ2-y.lean.js} | 2 +- previews/PR223/assets/ffmcoxo.Do_Oyd1s.png | Bin 0 -> 231091 bytes previews/PR223/assets/fsaauym.CJl_CExE.png | Bin 78930 -> 0 bytes previews/PR223/assets/gnddxfg.MvHnQDQM.png | Bin 64781 -> 0 bytes ...gulf.rOsRk89v.png => gtilmtg.rOsRk89v.png} | Bin ...omkb.DeeQUply.png => hmjcayg.DeeQUply.png} | Bin ...yqix.DaovVbE6.png => hqrgmhl.DaovVbE6.png} | Bin ...ojqb.DiwGEg2f.png => iwjures.DiwGEg2f.png} | Bin ...krcm.BEFUMtlf.png => jcorxxr.BEFUMtlf.png} | Bin ...cdxu.3sfpQl2i.png => jzipxom.3sfpQl2i.png} | Bin ...pnjm.0OJvb21A.png => kblrlyb.0OJvb21A.png} | Bin ...tjmm.3UVIT8DR.png => ldnymqw.3UVIT8DR.png} | Bin previews/PR223/assets/mpnpywm.D34hDgvP.png | Bin 0 -> 73415 bytes ...egug.0f3Lq4Lw.png => mzjksah.0f3Lq4Lw.png} | Bin ...kshs.D5-bot8v.png => nlzqgxh.D5-bot8v.png} | Bin previews/PR223/assets/ptydxfc.BiK0M_qB.png | Bin 0 -> 60315 bytes ...yejq.DuBHk1fh.png => pzlohxn.DuBHk1fh.png} | Bin ...kxhc.Dz86q2IX.png => qkehebh.Dz86q2IX.png} | Bin previews/PR223/assets/rtydpiz.jvJAV00l.png | Bin 59543 -> 0 bytes previews/PR223/assets/solzdcc.DufL5FKR.png | Bin 231615 -> 0 bytes ...s => source_methods_angles.md.CFyV85aU.js} | 2 +- ...source_methods_angles.md.CFyV85aU.lean.js} | 2 +- ....js => source_methods_area.md.Dor8_EOc.js} | 2 +- ...> source_methods_area.md.Dor8_EOc.lean.js} | 2 +- ...source_methods_barycentric.md.IQ3avhuX.js} | 2 +- ...e_methods_barycentric.md.IQ3avhuX.lean.js} | 2 +- ...=> source_methods_centroid.md.B3tICoCs.js} | 2 +- ...urce_methods_centroid.md.B3tICoCs.lean.js} | 2 +- ..._methods_clipping_coverage.md.DJG8fTlE.js} | 2 +- ...ods_clipping_coverage.md.DJG8fTlE.lean.js} | 2 +- ...ource_methods_clipping_cut.md.DZpjAZPm.js} | 2 +- ..._methods_clipping_cut.md.DZpjAZPm.lean.js} | 2 +- ...source_methods_convex_hull.md.BsqZtIMn.js} | 6 +- ...e_methods_convex_hull.md.BsqZtIMn.lean.js} | 6 +- ...=> source_methods_distance.md.CGmX1xZt.js} | 2 +- ...urce_methods_distance.md.CGmX1xZt.lean.js} | 2 +- ...s => source_methods_equals.md.DytUbGKX.js} | 2 +- ...source_methods_equals.md.DytUbGKX.lean.js} | 2 +- ...ds_geom_relations_contains.md.BNRpA5-5.js} | 2 +- ...om_relations_contains.md.BNRpA5-5.lean.js} | 2 +- ...s_geom_relations_coveredby.md.UEXW7fRZ.js} | 2 +- ...m_relations_coveredby.md.UEXW7fRZ.lean.js} | 2 +- ...hods_geom_relations_covers.md.laP1lMiQ.js} | 2 +- ...geom_relations_covers.md.laP1lMiQ.lean.js} | 2 +- ...ds_geom_relations_disjoint.md.1YDXNaXQ.js} | 2 +- ...om_relations_disjoint.md.1YDXNaXQ.lean.js} | 2 +- ..._geom_relations_intersects.md.Ddn0QZ2q.js} | 2 +- ..._relations_intersects.md.Ddn0QZ2q.lean.js} | 2 +- ...ds_geom_relations_overlaps.md.Cy6j2gxd.js} | 2 +- ...om_relations_overlaps.md.Cy6j2gxd.lean.js} | 2 +- ...ods_geom_relations_touches.md.B_MXYi3l.js} | 2 +- ...eom_relations_touches.md.B_MXYi3l.lean.js} | 2 +- ...hods_geom_relations_within.md.DmqtYGtr.js} | 2 +- ...geom_relations_within.md.DmqtYGtr.lean.js} | 2 +- ...YHq.js => source_src_apply.md.CGHlLp3H.js} | 2 +- ...s => source_src_apply.md.CGHlLp3H.lean.js} | 2 +- ...ource_src_other_primitives.md.Cym_d8cs.js} | 4 +- ..._src_other_primitives.md.Cym_d8cs.lean.js} | 4 +- ...ection_geometry_correction.md.Cpkfa6z_.js} | 4 +- ...n_geometry_correction.md.Cpkfa6z_.lean.js} | 4 +- ...transformations_segmentize.md.mI-0xRkX.js} | 2 +- ...formations_segmentize.md.mI-0xRkX.lean.js} | 2 +- ...e_transformations_simplify.md.BM0kLjfN.js} | 2 +- ...nsformations_simplify.md.BM0kLjfN.lean.js} | 2 +- ...sjun.DTKLkKh_.png => swwzkgk.DTKLkKh_.png} | Bin previews/PR223/assets/toeubrn.C4nWtDb6.png | Bin 0 -> 63546 bytes ...utorials_creating_geometry.md.qRIvfgyg.js} | 4 +- ...als_creating_geometry.md.qRIvfgyg.lean.js} | 4 +- ...> tutorials_geodesic_paths.md.bW3k6R9s.js} | 2 +- ...orials_geodesic_paths.md.bW3k6R9s.lean.js} | 2 +- ...=> tutorials_spatial_joins.md.DSC6WJoE.js} | 2 +- ...torials_spatial_joins.md.DSC6WJoE.lean.js} | 2 +- ...qyxd.Bglvb-jp.png => txoaqho.Bglvb-jp.png} | Bin ...uqqs.C3SxJ3x-.png => uloakgu.C3SxJ3x-.png} | Bin ...dubt.D9AE7i2o.png => vkmsvgm.D9AE7i2o.png} | Bin ...mtze.Cb0_DiYE.png => wfvzrpb.Cb0_DiYE.png} | Bin previews/PR223/assets/wzyrcao.Dtf-yrHx.png | Bin 209091 -> 0 bytes ...tmui.mCtKcWOr.png => xhczifw.mCtKcWOr.png} | Bin previews/PR223/assets/xjnerns.CQ6fmBvI.png | Bin 81311 -> 0 bytes ...cllu.B94PsR1K.png => xmvajhr.B94PsR1K.png} | Bin ...wumy.pAYw0Yqf.png => ygymlzv.pAYw0Yqf.png} | Bin ...kfvg.-VpeHhXX.png => zlfuoxk.-VpeHhXX.png} | Bin ...dlry.BD0hVfse.png => zqouyml.BD0hVfse.png} | Bin previews/PR223/call_notes.html | 6 +- .../experiments/accurate_accumulators.html | 6 +- previews/PR223/experiments/predicates.html | 10 +- previews/PR223/explanations/crs.html | 6 +- previews/PR223/explanations/paradigms.html | 6 +- .../PR223/explanations/peculiarities.html | 6 +- .../PR223/explanations/winding_order.html | 6 +- previews/PR223/hashmap.json | 2 +- previews/PR223/index.html | 6 +- previews/PR223/introduction.html | 6 +- previews/PR223/source/GeometryOps.html | 6 +- .../GeometryOpsFlexiJoinsExt.html | 6 +- .../GeometryOpsLibGEOSExt.html | 6 +- .../source/GeometryOpsLibGEOSExt/buffer.html | 6 +- .../GeometryOpsLibGEOSExt/segmentize.html | 6 +- .../simple_overrides.html | 6 +- .../GeometryOpsLibGEOSExt/simplify.html | 6 +- .../GeometryOpsProjExt.html | 6 +- .../source/GeometryOpsProjExt/reproject.html | 6 +- .../source/GeometryOpsProjExt/segmentize.html | 6 +- previews/PR223/source/methods/angles.html | 10 +- previews/PR223/source/methods/area.html | 12 +- .../PR223/source/methods/barycentric.html | 10 +- previews/PR223/source/methods/buffer.html | 6 +- previews/PR223/source/methods/centroid.html | 12 +- .../methods/clipping/clipping_processor.html | 6 +- .../source/methods/clipping/coverage.html | 10 +- .../PR223/source/methods/clipping/cut.html | 10 +- .../source/methods/clipping/difference.html | 6 +- .../source/methods/clipping/intersection.html | 6 +- .../source/methods/clipping/predicates.html | 6 +- .../PR223/source/methods/clipping/union.html | 6 +- .../PR223/source/methods/convex_hull.html | 14 +- previews/PR223/source/methods/distance.html | 12 +- previews/PR223/source/methods/equals.html | 10 +- .../methods/geom_relations/contains.html | 10 +- .../methods/geom_relations/coveredby.html | 10 +- .../source/methods/geom_relations/covers.html | 10 +- .../methods/geom_relations/crosses.html | 6 +- .../methods/geom_relations/disjoint.html | 10 +- .../geom_relations/geom_geom_processors.html | 6 +- .../methods/geom_relations/intersects.html | 10 +- .../methods/geom_relations/overlaps.html | 10 +- .../methods/geom_relations/touches.html | 10 +- .../source/methods/geom_relations/within.html | 10 +- .../PR223/source/methods/orientation.html | 6 +- previews/PR223/source/methods/polygonize.html | 6 +- .../PR223/source/not_implemented_yet.html | 6 +- previews/PR223/source/primitives.html | 6 +- .../PR223/source/src/GeometryOpsCore.html | 6 +- previews/PR223/source/src/apply.html | 10 +- previews/PR223/source/src/applyreduce.html | 6 +- previews/PR223/source/src/geometry_utils.html | 6 +- previews/PR223/source/src/keyword_docs.html | 6 +- .../PR223/source/src/other_primitives.html | 12 +- previews/PR223/source/src/types.html | 6 +- .../correction/closed_ring.html | 6 +- .../correction/geometry_correction.html | 12 +- .../correction/intersecting_polygons.html | 6 +- .../PR223/source/transformations/extent.html | 6 +- .../PR223/source/transformations/flip.html | 6 +- .../source/transformations/reproject.html | 6 +- .../source/transformations/segmentize.html | 12 +- .../source/transformations/simplify.html | 16 +-- .../source/transformations/transform.html | 6 +- .../PR223/source/transformations/tuples.html | 6 +- previews/PR223/source/types.html | 6 +- previews/PR223/source/utils.html | 6 +- .../PR223/tutorials/creating_geometry.html | 30 ++-- previews/PR223/tutorials/geodesic_paths.html | 10 +- previews/PR223/tutorials/spatial_joins.html | 14 +- 180 files changed, 551 insertions(+), 551 deletions(-) create mode 100644 previews/PR223/assets/aobwfey.4Jhg0EL5.png rename previews/PR223/assets/{api.md.2HLTFd0J.js => api.md.pHWlBUPJ.js} (97%) rename previews/PR223/assets/{api.md.2HLTFd0J.lean.js => api.md.pHWlBUPJ.lean.js} (97%) rename previews/PR223/assets/{app.BHdMySJn.js => app.K01X8iY3.js} (95%) rename previews/PR223/assets/{aafhcdh.Dab1-ETk.png => awnylvm.Dab1-ETk.png} (100%) rename previews/PR223/assets/{mzhhlsw.Cx40vhB3.png => axygjub.Cx40vhB3.png} (100%) rename previews/PR223/assets/{feyloij.CPClNl7F.png => bdctrdf.CPClNl7F.png} (100%) rename previews/PR223/assets/{qerraex.DC3TvBOO.png => bhapuoz.DC3TvBOO.png} (100%) rename previews/PR223/assets/{bpfrlvw.4wfjCtJV.png => bydobux.4wfjCtJV.png} (100%) delete mode 100644 previews/PR223/assets/bykgbez.DdZwFL14.png rename previews/PR223/assets/{necauet.Dig-DWOQ.png => chngknt.Dig-DWOQ.png} (100%) create mode 100644 previews/PR223/assets/chunks/@localSearchIndexroot.CiuP_dDX.js delete mode 100644 previews/PR223/assets/chunks/@localSearchIndexroot.Dn48TCj1.js rename previews/PR223/assets/chunks/{VPLocalSearchBox.De6fC7pC.js => VPLocalSearchBox.EmKBLzAn.js} (99%) rename previews/PR223/assets/chunks/{theme.CF78cELk.js => theme.wg7yGm0-.js} (99%) create mode 100644 previews/PR223/assets/clsahjp.CBuzfdrZ.png create mode 100644 previews/PR223/assets/cxkittd.b1ipFtNF.png rename previews/PR223/assets/{egqgrjf._0R9BbFk.png => dalqbic._0R9BbFk.png} (100%) rename previews/PR223/assets/{dbhfjxg.CgiryX2p.png => dqcpxyw.CgiryX2p.png} (100%) create mode 100644 previews/PR223/assets/ecgjugc.D3OY6yJg.png delete mode 100644 previews/PR223/assets/ehlpjgx.Bb2iK8_l.png rename previews/PR223/assets/{ahqcxdg.DHcwB147.png => eqdgkry.DHcwB147.png} (100%) rename previews/PR223/assets/{rpjfmvk.CULn5saZ.png => eqkkufv.CULn5saZ.png} (100%) rename previews/PR223/assets/{experiments_predicates.md.BztvbZKA.js => experiments_predicates.md.BbLqJ2-y.js} (99%) rename previews/PR223/assets/{experiments_predicates.md.BztvbZKA.lean.js => experiments_predicates.md.BbLqJ2-y.lean.js} (99%) create mode 100644 previews/PR223/assets/ffmcoxo.Do_Oyd1s.png delete mode 100644 previews/PR223/assets/fsaauym.CJl_CExE.png delete mode 100644 previews/PR223/assets/gnddxfg.MvHnQDQM.png rename previews/PR223/assets/{jtzgulf.rOsRk89v.png => gtilmtg.rOsRk89v.png} (100%) rename previews/PR223/assets/{rtiomkb.DeeQUply.png => hmjcayg.DeeQUply.png} (100%) rename previews/PR223/assets/{fbqyqix.DaovVbE6.png => hqrgmhl.DaovVbE6.png} (100%) rename previews/PR223/assets/{savojqb.DiwGEg2f.png => iwjures.DiwGEg2f.png} (100%) rename previews/PR223/assets/{waxkrcm.BEFUMtlf.png => jcorxxr.BEFUMtlf.png} (100%) rename previews/PR223/assets/{hbjcdxu.3sfpQl2i.png => jzipxom.3sfpQl2i.png} (100%) rename previews/PR223/assets/{pekpnjm.0OJvb21A.png => kblrlyb.0OJvb21A.png} (100%) rename previews/PR223/assets/{avftjmm.3UVIT8DR.png => ldnymqw.3UVIT8DR.png} (100%) create mode 100644 previews/PR223/assets/mpnpywm.D34hDgvP.png rename previews/PR223/assets/{nwqegug.0f3Lq4Lw.png => mzjksah.0f3Lq4Lw.png} (100%) rename previews/PR223/assets/{vxbkshs.D5-bot8v.png => nlzqgxh.D5-bot8v.png} (100%) create mode 100644 previews/PR223/assets/ptydxfc.BiK0M_qB.png rename previews/PR223/assets/{tsayejq.DuBHk1fh.png => pzlohxn.DuBHk1fh.png} (100%) rename previews/PR223/assets/{vodkxhc.Dz86q2IX.png => qkehebh.Dz86q2IX.png} (100%) delete mode 100644 previews/PR223/assets/rtydpiz.jvJAV00l.png delete mode 100644 previews/PR223/assets/solzdcc.DufL5FKR.png rename previews/PR223/assets/{source_methods_angles.md.Dzxr20g4.js => source_methods_angles.md.CFyV85aU.js} (99%) rename previews/PR223/assets/{source_methods_angles.md.Dzxr20g4.lean.js => source_methods_angles.md.CFyV85aU.lean.js} (99%) rename previews/PR223/assets/{source_methods_area.md.hMXm3ro6.js => source_methods_area.md.Dor8_EOc.js} (99%) rename previews/PR223/assets/{source_methods_area.md.hMXm3ro6.lean.js => source_methods_area.md.Dor8_EOc.lean.js} (99%) rename previews/PR223/assets/{source_methods_barycentric.md.BOm5-3sa.js => source_methods_barycentric.md.IQ3avhuX.js} (99%) rename previews/PR223/assets/{source_methods_barycentric.md.BOm5-3sa.lean.js => source_methods_barycentric.md.IQ3avhuX.lean.js} (99%) rename previews/PR223/assets/{source_methods_centroid.md.CZ5i0Tz0.js => source_methods_centroid.md.B3tICoCs.js} (99%) rename previews/PR223/assets/{source_methods_centroid.md.CZ5i0Tz0.lean.js => source_methods_centroid.md.B3tICoCs.lean.js} (99%) rename previews/PR223/assets/{source_methods_clipping_coverage.md.Bd2PlN2T.js => source_methods_clipping_coverage.md.DJG8fTlE.js} (99%) rename previews/PR223/assets/{source_methods_clipping_coverage.md.Bd2PlN2T.lean.js => source_methods_clipping_coverage.md.DJG8fTlE.lean.js} (99%) rename previews/PR223/assets/{source_methods_clipping_cut.md.DcYuqVoa.js => source_methods_clipping_cut.md.DZpjAZPm.js} (99%) rename previews/PR223/assets/{source_methods_clipping_cut.md.DcYuqVoa.lean.js => source_methods_clipping_cut.md.DZpjAZPm.lean.js} (99%) rename previews/PR223/assets/{source_methods_convex_hull.md.H6dVDSs8.js => source_methods_convex_hull.md.BsqZtIMn.js} (99%) rename previews/PR223/assets/{source_methods_convex_hull.md.H6dVDSs8.lean.js => source_methods_convex_hull.md.BsqZtIMn.lean.js} (99%) rename previews/PR223/assets/{source_methods_distance.md.Wp7q1S1Y.js => source_methods_distance.md.CGmX1xZt.js} (99%) rename previews/PR223/assets/{source_methods_distance.md.Wp7q1S1Y.lean.js => source_methods_distance.md.CGmX1xZt.lean.js} (99%) rename previews/PR223/assets/{source_methods_equals.md.Bgy6zE0e.js => source_methods_equals.md.DytUbGKX.js} (99%) rename previews/PR223/assets/{source_methods_equals.md.Bgy6zE0e.lean.js => source_methods_equals.md.DytUbGKX.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_contains.md.D79teMCm.js => source_methods_geom_relations_contains.md.BNRpA5-5.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_contains.md.D79teMCm.lean.js => source_methods_geom_relations_contains.md.BNRpA5-5.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_coveredby.md.DD9DKlUL.js => source_methods_geom_relations_coveredby.md.UEXW7fRZ.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_coveredby.md.DD9DKlUL.lean.js => source_methods_geom_relations_coveredby.md.UEXW7fRZ.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_covers.md.KU20wwkA.js => source_methods_geom_relations_covers.md.laP1lMiQ.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_covers.md.KU20wwkA.lean.js => source_methods_geom_relations_covers.md.laP1lMiQ.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_disjoint.md.AbnUxwHq.js => source_methods_geom_relations_disjoint.md.1YDXNaXQ.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_disjoint.md.AbnUxwHq.lean.js => source_methods_geom_relations_disjoint.md.1YDXNaXQ.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_intersects.md.DA6RFE_y.js => source_methods_geom_relations_intersects.md.Ddn0QZ2q.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_intersects.md.DA6RFE_y.lean.js => source_methods_geom_relations_intersects.md.Ddn0QZ2q.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_overlaps.md.CmUkPIPU.js => source_methods_geom_relations_overlaps.md.Cy6j2gxd.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_overlaps.md.CmUkPIPU.lean.js => source_methods_geom_relations_overlaps.md.Cy6j2gxd.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_touches.md.BbdRz1Yc.js => source_methods_geom_relations_touches.md.B_MXYi3l.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_touches.md.BbdRz1Yc.lean.js => source_methods_geom_relations_touches.md.B_MXYi3l.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_within.md.Clrdm6IA.js => source_methods_geom_relations_within.md.DmqtYGtr.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_within.md.Clrdm6IA.lean.js => source_methods_geom_relations_within.md.DmqtYGtr.lean.js} (99%) rename previews/PR223/assets/{source_src_apply.md.DpVaRYHq.js => source_src_apply.md.CGHlLp3H.js} (99%) rename previews/PR223/assets/{source_src_apply.md.DpVaRYHq.lean.js => source_src_apply.md.CGHlLp3H.lean.js} (99%) rename previews/PR223/assets/{source_src_other_primitives.md.86xxcY8J.js => source_src_other_primitives.md.Cym_d8cs.js} (99%) rename previews/PR223/assets/{source_src_other_primitives.md.86xxcY8J.lean.js => source_src_other_primitives.md.Cym_d8cs.lean.js} (99%) rename previews/PR223/assets/{source_transformations_correction_geometry_correction.md.MWvAI45e.js => source_transformations_correction_geometry_correction.md.Cpkfa6z_.js} (97%) rename previews/PR223/assets/{source_transformations_correction_geometry_correction.md.MWvAI45e.lean.js => source_transformations_correction_geometry_correction.md.Cpkfa6z_.lean.js} (97%) rename previews/PR223/assets/{source_transformations_segmentize.md.IBtrohyO.js => source_transformations_segmentize.md.mI-0xRkX.js} (99%) rename previews/PR223/assets/{source_transformations_segmentize.md.IBtrohyO.lean.js => source_transformations_segmentize.md.mI-0xRkX.lean.js} (99%) rename previews/PR223/assets/{source_transformations_simplify.md.Ds3nkiNK.js => source_transformations_simplify.md.BM0kLjfN.js} (99%) rename previews/PR223/assets/{source_transformations_simplify.md.Ds3nkiNK.lean.js => source_transformations_simplify.md.BM0kLjfN.lean.js} (99%) rename previews/PR223/assets/{jdcsjun.DTKLkKh_.png => swwzkgk.DTKLkKh_.png} (100%) create mode 100644 previews/PR223/assets/toeubrn.C4nWtDb6.png rename previews/PR223/assets/{tutorials_creating_geometry.md.BOUg5Xzv.js => tutorials_creating_geometry.md.qRIvfgyg.js} (99%) rename previews/PR223/assets/{tutorials_creating_geometry.md.BOUg5Xzv.lean.js => tutorials_creating_geometry.md.qRIvfgyg.lean.js} (99%) rename previews/PR223/assets/{tutorials_geodesic_paths.md.CQdKqMPd.js => tutorials_geodesic_paths.md.bW3k6R9s.js} (97%) rename previews/PR223/assets/{tutorials_geodesic_paths.md.CQdKqMPd.lean.js => tutorials_geodesic_paths.md.bW3k6R9s.lean.js} (97%) rename previews/PR223/assets/{tutorials_spatial_joins.md.Dm2qVT3o.js => tutorials_spatial_joins.md.DSC6WJoE.js} (99%) rename previews/PR223/assets/{tutorials_spatial_joins.md.Dm2qVT3o.lean.js => tutorials_spatial_joins.md.DSC6WJoE.lean.js} (99%) rename previews/PR223/assets/{ltsqyxd.Bglvb-jp.png => txoaqho.Bglvb-jp.png} (100%) rename previews/PR223/assets/{tlxuqqs.C3SxJ3x-.png => uloakgu.C3SxJ3x-.png} (100%) rename previews/PR223/assets/{jlbdubt.D9AE7i2o.png => vkmsvgm.D9AE7i2o.png} (100%) rename previews/PR223/assets/{xhpmtze.Cb0_DiYE.png => wfvzrpb.Cb0_DiYE.png} (100%) delete mode 100644 previews/PR223/assets/wzyrcao.Dtf-yrHx.png rename previews/PR223/assets/{mbwtmui.mCtKcWOr.png => xhczifw.mCtKcWOr.png} (100%) delete mode 100644 previews/PR223/assets/xjnerns.CQ6fmBvI.png rename previews/PR223/assets/{hencllu.B94PsR1K.png => xmvajhr.B94PsR1K.png} (100%) rename previews/PR223/assets/{pshwumy.pAYw0Yqf.png => ygymlzv.pAYw0Yqf.png} (100%) rename previews/PR223/assets/{kblkfvg.-VpeHhXX.png => zlfuoxk.-VpeHhXX.png} (100%) rename previews/PR223/assets/{fezdlry.BD0hVfse.png => zqouyml.BD0hVfse.png} (100%) diff --git a/previews/PR223/404.html b/previews/PR223/404.html index 9ed3fa7a6..16fca6a1d 100644 --- a/previews/PR223/404.html +++ b/previews/PR223/404.html @@ -9,14 +9,14 @@ - +
- + \ No newline at end of file diff --git a/previews/PR223/api.html b/previews/PR223/api.html index 12894bc50..e835d82d3 100644 --- a/previews/PR223/api.html +++ b/previews/PR223/api.html @@ -9,11 +9,11 @@ - + - + - + @@ -25,9 +25,9 @@ flipped_geom = GO.apply(GI.PointTrait, geom) do p (GI.y(p), GI.x(p)) -end

source

GeometryOpsCore.applyreduce Function
julia
applyreduce(f, op, target::Union{TraitTarget, GI.AbstractTrait}, obj; threaded)

Apply function f to all objects with the target trait, and reduce the result with an op like +.

The order and grouping of application of op is not guaranteed.

If threaded==true threads will be used over arrays and iterables, feature collections and nested geometries.

source

GeometryOps.reproject Function
julia
reproject(geometry; source_crs, target_crs, transform, always_xy, time)
+end

source

GeometryOpsCore.applyreduce Function
julia
applyreduce(f, op, target::Union{TraitTarget, GI.AbstractTrait}, obj; threaded)

Apply function f to all objects with the target trait, and reduce the result with an op like +.

The order and grouping of application of op is not guaranteed.

If threaded==true threads will be used over arrays and iterables, feature collections and nested geometries.

source

GeometryOps.reproject Function
julia
reproject(geometry; source_crs, target_crs, transform, always_xy, time)
 reproject(geometry, source_crs, target_crs; always_xy, time)
-reproject(geometry, transform; always_xy, time)

Reproject any GeoInterface.jl compatible geometry from source_crs to target_crs.

The returned object will be constructed from GeoInterface.WrapperGeometry geometries, wrapping views of a Vector{Proj.Point{D}}, where D is the dimension.

Tip

The Proj.jl package must be loaded for this method to work, since it is implemented in a package extension.

Arguments

If these a passed as keywords, transform will take priority. Without it target_crs is always needed, and source_crs is needed if it is not retrievable from the geometry with GeoInterface.crs(geometry).

Keywords

source

GeometryOps.transform Function
julia
transform(f, obj)

Apply a function f to all the points in obj.

Points will be passed to f as an SVector to allow using CoordinateTransformations.jl and Rotations.jl without hassle.

SVector is also a valid GeoInterface.jl point, so will work in all GeoInterface.jl methods.

Example

julia
julia> import GeoInterface as GI
+reproject(geometry, transform; always_xy, time)

Reproject any GeoInterface.jl compatible geometry from source_crs to target_crs.

The returned object will be constructed from GeoInterface.WrapperGeometry geometries, wrapping views of a Vector{Proj.Point{D}}, where D is the dimension.

Tip

The Proj.jl package must be loaded for this method to work, since it is implemented in a package extension.

Arguments

If these a passed as keywords, transform will take priority. Without it target_crs is always needed, and source_crs is needed if it is not retrievable from the geometry with GeoInterface.crs(geometry).

Keywords

source

GeometryOps.transform Function
julia
transform(f, obj)

Apply a function f to all the points in obj.

Points will be passed to f as an SVector to allow using CoordinateTransformations.jl and Rotations.jl without hassle.

SVector is also a valid GeoInterface.jl point, so will work in all GeoInterface.jl methods.

Example

julia
julia> import GeoInterface as GI
 
 julia> import GeometryOps as GO
 
@@ -46,147 +46,147 @@
 GeoInterface.Wrappers.Polygon{false, false, Vector{GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.LinearR
 ing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}[GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}(StaticArraysCore.SVe
 ctor{2, Int64}[[2, 1], [4, 3], [6, 5], [2, 1]], nothing, nothing), GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}(StaticArraysCore.SVector{2, Int64
-}[[4, 3], [6, 5], [7, 6], [4, 3]], nothing, nothing)], nothing, nothing)

source

General geometry methods

OGC methods

GeometryOps.contains Function
julia
contains(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the second geometry is completely contained by the first geometry. The interiors of both geometries must intersect and the interior and boundary of the secondary (g2) must not intersect the exterior of the first (g1).

contains returns the exact opposite result of within.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+}[[4, 3], [6, 5], [7, 6], [4, 3]], nothing, nothing)], nothing, nothing)

source

General geometry methods

OGC methods

GeometryOps.contains Function
julia
contains(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the second geometry is completely contained by the first geometry. The interiors of both geometries must intersect and the interior and boundary of the secondary (g2) must not intersect the exterior of the first (g1).

contains returns the exact opposite result of within.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = GI.Point((1, 2))
 
 GO.contains(line, point)
 # output
-true

source

GeometryOps.coveredby Function
julia
coveredby(g1, g2)::Bool

Return true if the first geometry is completely covered by the second geometry. The interior and boundary of the primary geometry (g1) must not intersect the exterior of the secondary geometry (g2).

Furthermore, coveredby returns the exact opposite result of covers. They are equivalent with the order of the arguments swapped.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

GeometryOps.coveredby Function
julia
coveredby(g1, g2)::Bool

Return true if the first geometry is completely covered by the second geometry. The interior and boundary of the primary geometry (g1) must not intersect the exterior of the secondary geometry (g2).

Furthermore, coveredby returns the exact opposite result of covers. They are equivalent with the order of the arguments swapped.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 p1 = GI.Point(0.0, 0.0)
 p2 = GI.Point(1.0, 1.0)
 l1 = GI.Line([p1, p2])
 
 GO.coveredby(p1, l1)
 # output
-true

source

GeometryOps.covers Function
julia
covers(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the first geometry is completely covers the second geometry, The exterior and boundary of the second geometry must not be outside of the interior and boundary of the first geometry. However, the interiors need not intersect.

covers returns the exact opposite result of coveredby.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

GeometryOps.covers Function
julia
covers(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the first geometry is completely covers the second geometry, The exterior and boundary of the second geometry must not be outside of the interior and boundary of the first geometry. However, the interiors need not intersect.

covers returns the exact opposite result of coveredby.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 l1 = GI.LineString([(1.0, 1.0), (1.0, 2.0), (1.0, 3.0), (1.0, 4.0)])
 l2 = GI.LineString([(1.0, 1.0), (1.0, 2.0)])
 
 GO.covers(l1, l2)
 # output
-true

source

GeometryOps.crosses Function
julia
 crosses(geom1, geom2)::Bool

Return true if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries.

TODO: broken

Examples

julia
import GeoInterface as GI, GeometryOps as GO
-# TODO: Add working example

source

GeometryOps.disjoint Function
julia
disjoint(geom1, geom2)::Bool

Return true if the first geometry is disjoint from the second geometry.

Return true if the first geometry is disjoint from the second geometry. The interiors and boundaries of both geometries must not intersect.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

GeometryOps.crosses Function
julia
 crosses(geom1, geom2)::Bool

Return true if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries.

TODO: broken

Examples

julia
import GeoInterface as GI, GeometryOps as GO
+# TODO: Add working example

source

GeometryOps.disjoint Function
julia
disjoint(geom1, geom2)::Bool

Return true if the first geometry is disjoint from the second geometry.

Return true if the first geometry is disjoint from the second geometry. The interiors and boundaries of both geometries must not intersect.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = (2, 2)
 GO.disjoint(point, line)
 
 # output
-true

source

GeometryOps.intersects Function
julia
intersects(geom1, geom2)::Bool

Return true if the interiors or boundaries of the two geometries interact.

intersects returns the exact opposite result of disjoint.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+true

source

GeometryOps.intersects Function
julia
intersects(geom1, geom2)::Bool

Return true if the interiors or boundaries of the two geometries interact.

intersects returns the exact opposite result of disjoint.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 line1 = GI.Line([(124.584961,-12.768946), (126.738281,-17.224758)])
 line2 = GI.Line([(123.354492,-15.961329), (127.22168,-14.008696)])
 GO.intersects(line1, line2)
 
 # output
-true

source

GeometryOps.overlaps Function
julia
overlaps(geom1, geom2)::Bool

Compare two Geometries of the same dimension and return true if their intersection set results in a geometry different from both but of the same dimension. This means one geometry cannot be within or contain the other and they cannot be equal

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

GeometryOps.overlaps Function
julia
overlaps(geom1, geom2)::Bool

Compare two Geometries of the same dimension and return true if their intersection set results in a geometry different from both but of the same dimension. This means one geometry cannot be within or contain the other and they cannot be equal

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 poly1 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 poly2 = GI.Polygon([[(1,1), (1,6), (6,6), (6,1), (1,1)]])
 
 GO.overlaps(poly1, poly2)
 # output
-true

source

julia
overlaps(::GI.AbstractTrait, geom1, ::GI.AbstractTrait, geom2)::Bool

For any non-specified pair, all have non-matching dimensions, return false.

source

julia
overlaps(
+true

source

julia
overlaps(::GI.AbstractTrait, geom1, ::GI.AbstractTrait, geom2)::Bool

For any non-specified pair, all have non-matching dimensions, return false.

source

julia
overlaps(
     ::GI.MultiPointTrait, points1,
     ::GI.MultiPointTrait, points2,
-)::Bool

If the multipoints overlap, meaning some, but not all, of the points within the multipoints are shared, return true.

source

julia
overlaps(::GI.LineTrait, line1, ::GI.LineTrait, line)::Bool

If the lines overlap, meaning that they are collinear but each have one endpoint outside of the other line, return true. Else false.

source

julia
overlaps(
+)::Bool

If the multipoints overlap, meaning some, but not all, of the points within the multipoints are shared, return true.

source

julia
overlaps(::GI.LineTrait, line1, ::GI.LineTrait, line)::Bool

If the lines overlap, meaning that they are collinear but each have one endpoint outside of the other line, return true. Else false.

source

julia
overlaps(
     ::Union{GI.LineStringTrait, GI.LinearRing}, line1,
     ::Union{GI.LineStringTrait, GI.LinearRing}, line2,
-)::Bool

If the curves overlap, meaning that at least one edge of each curve overlaps, return true. Else false.

source

julia
overlaps(
+)::Bool

If the curves overlap, meaning that at least one edge of each curve overlaps, return true. Else false.

source

julia
overlaps(
     trait_a::GI.PolygonTrait, poly_a,
     trait_b::GI.PolygonTrait, poly_b,
-)::Bool

If the two polygons intersect with one another, but are not equal, return true. Else false.

source

julia
overlaps(
+)::Bool

If the two polygons intersect with one another, but are not equal, return true. Else false.

source

julia
overlaps(
     ::GI.PolygonTrait, poly1,
     ::GI.MultiPolygonTrait, polys2,
-)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

julia
overlaps(
+)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

julia
overlaps(
     ::GI.MultiPolygonTrait, polys1,
     ::GI.PolygonTrait, poly2,
-)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

julia
overlaps(
+)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

julia
overlaps(
     ::GI.MultiPolygonTrait, polys1,
     ::GI.MultiPolygonTrait, polys2,
-)::Bool

Return true if at least one pair of polygons from multipolygons overlap. Else false.

source

GeometryOps.touches Function
julia
touches(geom1, geom2)::Bool

Return true if the first geometry touches the second geometry. In other words, the two interiors cannot interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+)::Bool

Return true if at least one pair of polygons from multipolygons overlap. Else false.

source

GeometryOps.touches Function
julia
touches(geom1, geom2)::Bool

Return true if the first geometry touches the second geometry. In other words, the two interiors cannot interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 l1 = GI.Line([(0.0, 0.0), (1.0, 0.0)])
 l2 = GI.Line([(1.0, 1.0), (1.0, -1.0)])
 
 GO.touches(l1, l2)
 # output
-true

source

GeometryOps.within Function
julia
within(geom1, geom2)::Bool

Return true if the first geometry is completely within the second geometry. The interiors of both geometries must intersect and the interior and boundary of the primary geometry (geom1) must not intersect the exterior of the secondary geometry (geom2).

Furthermore, within returns the exact opposite result of contains.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

GeometryOps.within Function
julia
within(geom1, geom2)::Bool

Return true if the first geometry is completely within the second geometry. The interiors of both geometries must intersect and the interior and boundary of the primary geometry (geom1) must not intersect the exterior of the secondary geometry (geom2).

Furthermore, within returns the exact opposite result of contains.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = (1, 2)
 GO.within(point, line)
 
 # output
-true

source

Other general methods

GeometryOps.equals Function
julia
equals(geom1, geom2)::Bool

Compare two Geometries return true if they are the same geometry.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

Other general methods

GeometryOps.equals Function
julia
equals(geom1, geom2)::Bool

Compare two Geometries return true if they are the same geometry.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 poly1 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 poly2 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 
 GO.equals(poly1, poly2)
 # output
-true

source

julia
equals(::T, geom_a, ::T, geom_b)::Bool

Two geometries of the same type, which don't have a equals function to dispatch off of should throw an error.

source

julia
equals(trait_a, geom_a, trait_b, geom_b)

Two geometries which are not of the same type cannot be equal so they always return false.

source

julia
equals(::GI.PointTrait, p1, ::GI.PointTrait, p2)::Bool

Two points are the same if they have the same x and y (and z if 3D) coordinates.

source

julia
equals(::GI.PointTrait, p1, ::GI.MultiPointTrait, mp2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

julia
equals(::GI.MultiPointTrait, mp1, ::GI.PointTrait, p2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

julia
equals(::GI.MultiPointTrait, mp1, ::GI.MultiPointTrait, mp2)::Bool

Two multipoints are equal if they share the same set of points.

source

julia
equals(
+true

source

julia
equals(::T, geom_a, ::T, geom_b)::Bool

Two geometries of the same type, which don't have a equals function to dispatch off of should throw an error.

source

julia
equals(trait_a, geom_a, trait_b, geom_b)

Two geometries which are not of the same type cannot be equal so they always return false.

source

julia
equals(::GI.PointTrait, p1, ::GI.PointTrait, p2)::Bool

Two points are the same if they have the same x and y (and z if 3D) coordinates.

source

julia
equals(::GI.PointTrait, p1, ::GI.MultiPointTrait, mp2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

julia
equals(::GI.MultiPointTrait, mp1, ::GI.PointTrait, p2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

julia
equals(::GI.MultiPointTrait, mp1, ::GI.MultiPointTrait, mp2)::Bool

Two multipoints are equal if they share the same set of points.

source

julia
equals(
     ::Union{GI.LineTrait, GI.LineStringTrait}, l1,
     ::Union{GI.LineTrait, GI.LineStringTrait}, l2,
-)::Bool

Two lines/linestrings are equal if they share the same set of points going along the curve. Note that lines/linestrings aren't closed by definition.

source

julia
equals(
+)::Bool

Two lines/linestrings are equal if they share the same set of points going along the curve. Note that lines/linestrings aren't closed by definition.

source

julia
equals(
     ::Union{GI.LineTrait, GI.LineStringTrait}, l1,
     ::GI.LinearRingTrait, l2,
-)::Bool

A line/linestring and a linear ring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

julia
equals(
+)::Bool

A line/linestring and a linear ring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

julia
equals(
     ::GI.LinearRingTrait, l1,
     ::Union{GI.LineTrait, GI.LineStringTrait}, l2,
-)::Bool

A linear ring and a line/linestring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

julia
equals(
+)::Bool

A linear ring and a line/linestring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

julia
equals(
     ::GI.LinearRingTrait, l1,
     ::GI.LinearRingTrait, l2,
-)::Bool

Two linear rings are equal if they share the same set of points going along the curve. Note that rings are closed by definition, so they can have, but don't need, a repeated last point to be equal.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two polygons are equal if they share the same exterior edge and holes.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.MultiPolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

julia
equals(::GI.MultiPolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two multipolygons are equal if they share the same set of polygons.

source

GeometryOps.centroid Function
julia
centroid(geom, [T=Float64])::Tuple{T, T}

Returns the centroid of a given line segment, linear ring, polygon, or mutlipolygon.

source

GeometryOps.distance Function
julia
distance(point, geom, ::Type{T} = Float64)::T

Calculates the ditance from the geometry g1 to the point. The distance will always be positive or zero.

The method will differ based on the type of the geometry provided: - The distance from a point to a point is just the Euclidean distance between the points. - The distance from a point to a line is the minimum distance from the point to the closest point on the given line. - The distance from a point to a linestring is the minimum distance from the point to the closest segment of the linestring. - The distance from a point to a linear ring is the minimum distance from the point to the closest segment of the linear ring. - The distance from a point to a polygon is zero if the point is within the polygon and otherwise is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The distance from a point to a multigeometry or a geometry collection is the minimum distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.signed_distance Function
julia
signed_distance(point, geom, ::Type{T} = Float64)::T

Calculates the signed distance from the geometry geom to the given point. Points within geom have a negative signed distance, and points outside of geom have a positive signed distance. - The signed distance from a point to a point, line, linestring, or linear ring is equal to the distance between the two. - The signed distance from a point to a polygon is negative if the point is within the polygon and is positive otherwise. The value of the distance is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The signed distance from a point to a multigeometry or a geometry collection is the minimum signed distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.area Function
julia
area(geom, [T = Float64])::T

Returns the area of a geometry or collection of geometries. This is computed slightly differently for different geometries:

- The area of a point/multipoint is always zero.
+)::Bool

Two linear rings are equal if they share the same set of points going along the curve. Note that rings are closed by definition, so they can have, but don't need, a repeated last point to be equal.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two polygons are equal if they share the same exterior edge and holes.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.MultiPolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

julia
equals(::GI.MultiPolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two multipolygons are equal if they share the same set of polygons.

source

GeometryOps.centroid Function
julia
centroid(geom, [T=Float64])::Tuple{T, T}

Returns the centroid of a given line segment, linear ring, polygon, or mutlipolygon.

source

GeometryOps.distance Function
julia
distance(point, geom, ::Type{T} = Float64)::T

Calculates the ditance from the geometry g1 to the point. The distance will always be positive or zero.

The method will differ based on the type of the geometry provided: - The distance from a point to a point is just the Euclidean distance between the points. - The distance from a point to a line is the minimum distance from the point to the closest point on the given line. - The distance from a point to a linestring is the minimum distance from the point to the closest segment of the linestring. - The distance from a point to a linear ring is the minimum distance from the point to the closest segment of the linear ring. - The distance from a point to a polygon is zero if the point is within the polygon and otherwise is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The distance from a point to a multigeometry or a geometry collection is the minimum distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.signed_distance Function
julia
signed_distance(point, geom, ::Type{T} = Float64)::T

Calculates the signed distance from the geometry geom to the given point. Points within geom have a negative signed distance, and points outside of geom have a positive signed distance. - The signed distance from a point to a point, line, linestring, or linear ring is equal to the distance between the two. - The signed distance from a point to a polygon is negative if the point is within the polygon and is positive otherwise. The value of the distance is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The signed distance from a point to a multigeometry or a geometry collection is the minimum signed distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.area Function
julia
area(geom, [T = Float64])::T

Returns the area of a geometry or collection of geometries. This is computed slightly differently for different geometries:

- The area of a point/multipoint is always zero.
 - The area of a curve/multicurve is always zero.
 - The area of a polygon is the absolute value of the signed area.
 - The area multi-polygon is the sum of the areas of all of the sub-polygons.
 - The area of a geometry collection, feature collection of array/iterable 
-    is the sum of the areas of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.signed_area Function
julia
signed_area(geom, [T = Float64])::T

Returns the signed area of a single geometry, based on winding order. This is computed slightly differently for different geometries:

- The signed area of a point is always zero.
+    is the sum of the areas of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.signed_area Function
julia
signed_area(geom, [T = Float64])::T

Returns the signed area of a single geometry, based on winding order. This is computed slightly differently for different geometries:

- The signed area of a point is always zero.
 - The signed area of a curve is always zero.
 - The signed area of a polygon is computed with the shoelace formula and is
 positive if the polygon coordinates wind clockwise and negative if
 counterclockwise.
 - You cannot compute the signed area of a multipolygon as it doesn't have a
-meaning as each sub-polygon could have a different winding order.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.angles Function
julia
angles(geom, ::Type{T} = Float64)

Returns the angles of a geometry or collection of geometries. This is computed differently for different geometries:

- The angles of a point is an empty vector.
+meaning as each sub-polygon could have a different winding order.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.angles Function
julia
angles(geom, ::Type{T} = Float64)

Returns the angles of a geometry or collection of geometries. This is computed differently for different geometries:

- The angles of a point is an empty vector.
 - The angles of a single line segment is an empty vector.
 - The angles of a linestring or linearring is a vector of angles formed by the curve.
 - The angles of a polygon is a vector of vectors of angles formed by each ring.
 - The angles of a multi-geometry collection is a vector of the angles of each of the
-    sub-geometries as defined above.

Result will be a Vector, or nested set of vectors, of type T where an optional argument with a default value of Float64.

source

GeometryOps.embed_extent Function
julia
embed_extent(obj)

Recursively wrap the object with a GeoInterface.jl geometry, calculating and adding an Extents.Extent to all objects.

This can improve performance when extents need to be checked multiple times, such when needing to check if many points are in geometries, and using their extents as a quick filter for obviously exterior points.

Keywords

source

Barycentric coordinates

GeometryOps.barycentric_coordinates Function
julia
barycentric_coordinates(method = MeanValue(), polygon, point)

Returns the barycentric coordinates of point in polygon using the barycentric coordinate method method.

source

GeometryOps.barycentric_coordinates! Function
julia
barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, polygon, point)

Loads the barycentric coordinates of point in polygon into λs using the barycentric coordinate method method.

λs must be of the length of the polygon plus its holes.

Tip

Use this method to avoid excess allocations when you need to calculate barycentric coordinates for many points.

source

GeometryOps.barycentric_interpolate Function
julia
barycentric_interpolate(method = MeanValue(), polygon, values::AbstractVector{V}, point)

Returns the interpolated value at point within polygon using the barycentric coordinate method method. values are the per-point values for the polygon which are to be interpolated.

Returns an object of type V.

Warning

Barycentric interpolation is currently defined only for 2-dimensional polygons. If you pass a 3-D polygon in, the Z coordinate will be used as per-vertex value to be interpolated (the M coordinate in GIS parlance).

source

Other methods

GeometryOps.AbstractBarycentricCoordinateMethod Type
julia
abstract type AbstractBarycentricCoordinateMethod

Abstract supertype for barycentric coordinate methods. The subtypes may serve as dispatch types, or may cache some information about the target polygon.

API

The following methods must be implemented for all subtypes:

The rest of the methods will be implemented in terms of these, and have efficient dispatches for broadcasting.

source

GeometryOps.ClosedRing Type
julia
ClosedRing() <: GeometryCorrection

This correction ensures that a polygon's exterior and interior rings are closed.

It can be called on any geometry correction as usual.

See also GeometryCorrection.

source

GeometryOps.DiffIntersectingPolygons Type
julia
DiffIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygons included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be made nonintersecting through the difference operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area. See also GeometryCorrection, UnionIntersectingPolygons.

source

GeometryOps.DouglasPeucker Type
julia
DouglasPeucker <: SimplifyAlg
+    sub-geometries as defined above.

Result will be a Vector, or nested set of vectors, of type T where an optional argument with a default value of Float64.

source

GeometryOps.embed_extent Function
julia
embed_extent(obj)

Recursively wrap the object with a GeoInterface.jl geometry, calculating and adding an Extents.Extent to all objects.

This can improve performance when extents need to be checked multiple times, such when needing to check if many points are in geometries, and using their extents as a quick filter for obviously exterior points.

Keywords

source

Barycentric coordinates

GeometryOps.barycentric_coordinates Function
julia
barycentric_coordinates(method = MeanValue(), polygon, point)

Returns the barycentric coordinates of point in polygon using the barycentric coordinate method method.

source

GeometryOps.barycentric_coordinates! Function
julia
barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, polygon, point)

Loads the barycentric coordinates of point in polygon into λs using the barycentric coordinate method method.

λs must be of the length of the polygon plus its holes.

Tip

Use this method to avoid excess allocations when you need to calculate barycentric coordinates for many points.

source

GeometryOps.barycentric_interpolate Function
julia
barycentric_interpolate(method = MeanValue(), polygon, values::AbstractVector{V}, point)

Returns the interpolated value at point within polygon using the barycentric coordinate method method. values are the per-point values for the polygon which are to be interpolated.

Returns an object of type V.

Warning

Barycentric interpolation is currently defined only for 2-dimensional polygons. If you pass a 3-D polygon in, the Z coordinate will be used as per-vertex value to be interpolated (the M coordinate in GIS parlance).

source

Other methods

GeometryOps.AbstractBarycentricCoordinateMethod Type
julia
abstract type AbstractBarycentricCoordinateMethod

Abstract supertype for barycentric coordinate methods. The subtypes may serve as dispatch types, or may cache some information about the target polygon.

API

The following methods must be implemented for all subtypes:

The rest of the methods will be implemented in terms of these, and have efficient dispatches for broadcasting.

source

GeometryOps.ClosedRing Type
julia
ClosedRing() <: GeometryCorrection

This correction ensures that a polygon's exterior and interior rings are closed.

It can be called on any geometry correction as usual.

See also GeometryCorrection.

source

GeometryOps.DiffIntersectingPolygons Type
julia
DiffIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygons included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be made nonintersecting through the difference operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area. See also GeometryCorrection, UnionIntersectingPolygons.

source

GeometryOps.DouglasPeucker Type
julia
DouglasPeucker <: SimplifyAlg
 
-DouglasPeucker(; number, ratio, tol)

Simplifies geometries by removing points below tol distance from the line between its neighboring points.

Keywords

Note: user input tol is squared to avoid unnecessary computation in algorithm.

source

GeometryOps.GEOS Type
julia
GEOS(; params...)

A struct which instructs the method it's passed to as an algorithm to use the appropriate GEOS function via LibGEOS.jl for the operation.

Dispatch is generally carried out using the names of the keyword arguments. For example, segmentize will only accept a GEOS struct with only a max_distance keyword, and no other.

It's generally a lot slower than the native Julia implementations, since it must convert to the LibGEOS implementation and back - so be warned!

source

GeometryOps.GeodesicSegments Type
julia
GeodesicSegments(; max_distance::Real, equatorial_radius::Real=6378137, flattening::Real=1/298.257223563)

A method for segmentizing geometries by adding extra vertices to the geometry so that no segment is longer than a given distance. This method calculates the distance between points on the geodesic, and assumes input in lat/long coordinates.

Warning

Any input geometries must be in lon/lat coordinates! If not, the method may fail or error.

Arguments

One can also omit the equatorial_radius and flattening keyword arguments, and pass a geodesic object directly to the eponymous keyword.

This method uses the Proj/GeographicLib API for geodesic calculations.

source

GeometryOps.GeometryCorrection Type
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

GeometryOps.LineOrientation Type
julia
Enum LineOrientation

Enum for the orientation of a line with respect to a curve. A line can be line_cross (crossing over the curve), line_hinge (crossing the endpoint of the curve), line_over (collinear with the curve), or line_out (not interacting with the curve).

source

GeometryOps.LinearSegments Type
julia
LinearSegments(; max_distance::Real)

A method for segmentizing geometries by adding extra vertices to the geometry so that no segment is longer than a given distance.

Here, max_distance is a purely nondimensional quantity and will apply in the input space. This is to say, that if the polygon is provided in lat/lon coordinates then the max_distance will be in degrees of arc. If the polygon is provided in meters, then the max_distance will be in meters.

source

GeometryOps.MeanValue Type
julia
MeanValue() <: AbstractBarycentricCoordinateMethod

This method calculates barycentric coordinates using the mean value method.

References

source

GeometryOps.MonotoneChainMethod Type
julia
MonotoneChainMethod()

This is an algorithm for the convex_hull function.

Uses DelaunayTriangulation.jl to compute the convex hull. This is a pure Julia algorithm which provides an optimal Delaunay triangulation.

See also convex_hull

source

GeometryOps.PointOrientation Type
julia
Enum PointOrientation

Enum for the orientation of a point with respect to a curve. A point can be point_in the curve, point_on the curve, or point_out of the curve.

source

GeometryOps.RadialDistance Type
julia
RadialDistance <: SimplifyAlg

Simplifies geometries by removing points less than tol distance from the line between its neighboring points.

Keywords

Note: user input tol is squared to avoid unnecessary computation in algorithm.

source

GeometryOps.SimplifyAlg Type
julia
abstract type SimplifyAlg

Abstract type for simplification algorithms.

API

For now, the algorithm must hold the number, ratio and tol properties.

Simplification algorithm types can hook into the interface by implementing the _simplify(trait, alg, geom) methods for whichever traits are necessary.

source

GeometryOps.UnionIntersectingPolygons Type
julia
UnionIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygon's included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be combined through the union operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area.

See also GeometryCorrection.

source

GeometryOps.VisvalingamWhyatt Type
julia
VisvalingamWhyatt <: SimplifyAlg
+DouglasPeucker(; number, ratio, tol)

Simplifies geometries by removing points below tol distance from the line between its neighboring points.

Keywords

Note: user input tol is squared to avoid unnecessary computation in algorithm.

source

GeometryOps.GEOS Type
julia
GEOS(; params...)

A struct which instructs the method it's passed to as an algorithm to use the appropriate GEOS function via LibGEOS.jl for the operation.

Dispatch is generally carried out using the names of the keyword arguments. For example, segmentize will only accept a GEOS struct with only a max_distance keyword, and no other.

It's generally a lot slower than the native Julia implementations, since it must convert to the LibGEOS implementation and back - so be warned!

source

GeometryOps.GeodesicSegments Type
julia
GeodesicSegments(; max_distance::Real, equatorial_radius::Real=6378137, flattening::Real=1/298.257223563)

A method for segmentizing geometries by adding extra vertices to the geometry so that no segment is longer than a given distance. This method calculates the distance between points on the geodesic, and assumes input in lat/long coordinates.

Warning

Any input geometries must be in lon/lat coordinates! If not, the method may fail or error.

Arguments

One can also omit the equatorial_radius and flattening keyword arguments, and pass a geodesic object directly to the eponymous keyword.

This method uses the Proj/GeographicLib API for geodesic calculations.

source

GeometryOps.GeometryCorrection Type
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

GeometryOps.LineOrientation Type
julia
Enum LineOrientation

Enum for the orientation of a line with respect to a curve. A line can be line_cross (crossing over the curve), line_hinge (crossing the endpoint of the curve), line_over (collinear with the curve), or line_out (not interacting with the curve).

source

GeometryOps.LinearSegments Type
julia
LinearSegments(; max_distance::Real)

A method for segmentizing geometries by adding extra vertices to the geometry so that no segment is longer than a given distance.

Here, max_distance is a purely nondimensional quantity and will apply in the input space. This is to say, that if the polygon is provided in lat/lon coordinates then the max_distance will be in degrees of arc. If the polygon is provided in meters, then the max_distance will be in meters.

source

GeometryOps.MeanValue Type
julia
MeanValue() <: AbstractBarycentricCoordinateMethod

This method calculates barycentric coordinates using the mean value method.

References

source

GeometryOps.MonotoneChainMethod Type
julia
MonotoneChainMethod()

This is an algorithm for the convex_hull function.

Uses DelaunayTriangulation.jl to compute the convex hull. This is a pure Julia algorithm which provides an optimal Delaunay triangulation.

See also convex_hull

source

GeometryOps.PointOrientation Type
julia
Enum PointOrientation

Enum for the orientation of a point with respect to a curve. A point can be point_in the curve, point_on the curve, or point_out of the curve.

source

GeometryOps.RadialDistance Type
julia
RadialDistance <: SimplifyAlg

Simplifies geometries by removing points less than tol distance from the line between its neighboring points.

Keywords

Note: user input tol is squared to avoid unnecessary computation in algorithm.

source

GeometryOps.SimplifyAlg Type
julia
abstract type SimplifyAlg

Abstract type for simplification algorithms.

API

For now, the algorithm must hold the number, ratio and tol properties.

Simplification algorithm types can hook into the interface by implementing the _simplify(trait, alg, geom) methods for whichever traits are necessary.

source

GeometryOps.UnionIntersectingPolygons Type
julia
UnionIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygon's included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be combined through the union operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area.

See also GeometryCorrection.

source

GeometryOps.VisvalingamWhyatt Type
julia
VisvalingamWhyatt <: SimplifyAlg
 
-VisvalingamWhyatt(; kw...)

Simplifies geometries by removing points below tol distance from the line between its neighboring points.

Keywords

Note: user input tol is doubled to avoid unnecessary computation in algorithm.

source

GeometryOps._det Method
julia
_det(s1::Point2{T1}, s2::Point2{T2}) where {T1 <: Real, T2 <: Real}

Returns the determinant of the matrix formed by hcat'ing two points s1 and s2.

Specifically, this is:

julia
s1[1] * s2[2] - s1[2] * s2[1]

source

GeometryOps._equals_curves Method
julia
_equals_curves(c1, c2, closed_type1, closed_type2)::Bool

Two curves are equal if they share the same set of point, representing the same geometry. Both curves must must be composed of the same set of points, however, they do not have to wind in the same direction, or start on the same point to be equivalent. Inputs: c1 first geometry c2 second geometry closed_type1::Bool true if c1 is closed by definition (polygon, linear ring) closed_type2::Bool true if c2 is closed by definition (polygon, linear ring)

source

GeometryOps.angles Method
julia
angles(geom, ::Type{T} = Float64)

Returns the angles of a geometry or collection of geometries. This is computed differently for different geometries:

- The angles of a point is an empty vector.
+VisvalingamWhyatt(; kw...)

Simplifies geometries by removing points below tol distance from the line between its neighboring points.

Keywords

Note: user input tol is doubled to avoid unnecessary computation in algorithm.

source

GeometryOps._det Method
julia
_det(s1::Point2{T1}, s2::Point2{T2}) where {T1 <: Real, T2 <: Real}

Returns the determinant of the matrix formed by hcat'ing two points s1 and s2.

Specifically, this is:

julia
s1[1] * s2[2] - s1[2] * s2[1]

source

GeometryOps._equals_curves Method
julia
_equals_curves(c1, c2, closed_type1, closed_type2)::Bool

Two curves are equal if they share the same set of point, representing the same geometry. Both curves must must be composed of the same set of points, however, they do not have to wind in the same direction, or start on the same point to be equivalent. Inputs: c1 first geometry c2 second geometry closed_type1::Bool true if c1 is closed by definition (polygon, linear ring) closed_type2::Bool true if c2 is closed by definition (polygon, linear ring)

source

GeometryOps.angles Method
julia
angles(geom, ::Type{T} = Float64)

Returns the angles of a geometry or collection of geometries. This is computed differently for different geometries:

- The angles of a point is an empty vector.
 - The angles of a single line segment is an empty vector.
 - The angles of a linestring or linearring is a vector of angles formed by the curve.
 - The angles of a polygon is a vector of vectors of angles formed by each ring.
 - The angles of a multi-geometry collection is a vector of the angles of each of the
-    sub-geometries as defined above.

Result will be a Vector, or nested set of vectors, of type T where an optional argument with a default value of Float64.

source

GeometryOps.area Method
julia
area(geom, [T = Float64])::T

Returns the area of a geometry or collection of geometries. This is computed slightly differently for different geometries:

- The area of a point/multipoint is always zero.
+    sub-geometries as defined above.

Result will be a Vector, or nested set of vectors, of type T where an optional argument with a default value of Float64.

source

GeometryOps.area Method
julia
area(geom, [T = Float64])::T

Returns the area of a geometry or collection of geometries. This is computed slightly differently for different geometries:

- The area of a point/multipoint is always zero.
 - The area of a curve/multicurve is always zero.
 - The area of a polygon is the absolute value of the signed area.
 - The area multi-polygon is the sum of the areas of all of the sub-polygons.
 - The area of a geometry collection, feature collection of array/iterable 
-    is the sum of the areas of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.barycentric_coordinates! Method
julia
barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, polygon, point)

Loads the barycentric coordinates of point in polygon into λs using the barycentric coordinate method method.

λs must be of the length of the polygon plus its holes.

Tip

Use this method to avoid excess allocations when you need to calculate barycentric coordinates for many points.

source

GeometryOps.barycentric_coordinates Method
julia
barycentric_coordinates(method = MeanValue(), polygon, point)

Returns the barycentric coordinates of point in polygon using the barycentric coordinate method method.

source

GeometryOps.barycentric_interpolate Method
julia
barycentric_interpolate(method = MeanValue(), polygon, values::AbstractVector{V}, point)

Returns the interpolated value at point within polygon using the barycentric coordinate method method. values are the per-point values for the polygon which are to be interpolated.

Returns an object of type V.

Warning

Barycentric interpolation is currently defined only for 2-dimensional polygons. If you pass a 3-D polygon in, the Z coordinate will be used as per-vertex value to be interpolated (the M coordinate in GIS parlance).

source

GeometryOps.centroid Method
julia
centroid(geom, [T=Float64])::Tuple{T, T}

Returns the centroid of a given line segment, linear ring, polygon, or mutlipolygon.

source

GeometryOps.centroid_and_area Method
julia
centroid_and_area(geom, [T=Float64])::(::Tuple{T, T}, ::Real)

Returns the centroid and area of a given geometry.

source

GeometryOps.centroid_and_length Method
julia
centroid_and_length(geom, [T=Float64])::(::Tuple{T, T}, ::Real)

Returns the centroid and length of a given line/ring. Note this is only valid for line strings and linear rings.

source

GeometryOps.contains Method
julia
contains(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the second geometry is completely contained by the first geometry. The interiors of both geometries must intersect and the interior and boundary of the secondary (g2) must not intersect the exterior of the first (g1).

contains returns the exact opposite result of within.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+    is the sum of the areas of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.barycentric_coordinates! Method
julia
barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, polygon, point)

Loads the barycentric coordinates of point in polygon into λs using the barycentric coordinate method method.

λs must be of the length of the polygon plus its holes.

Tip

Use this method to avoid excess allocations when you need to calculate barycentric coordinates for many points.

source

GeometryOps.barycentric_coordinates Method
julia
barycentric_coordinates(method = MeanValue(), polygon, point)

Returns the barycentric coordinates of point in polygon using the barycentric coordinate method method.

source

GeometryOps.barycentric_interpolate Method
julia
barycentric_interpolate(method = MeanValue(), polygon, values::AbstractVector{V}, point)

Returns the interpolated value at point within polygon using the barycentric coordinate method method. values are the per-point values for the polygon which are to be interpolated.

Returns an object of type V.

Warning

Barycentric interpolation is currently defined only for 2-dimensional polygons. If you pass a 3-D polygon in, the Z coordinate will be used as per-vertex value to be interpolated (the M coordinate in GIS parlance).

source

GeometryOps.centroid Method
julia
centroid(geom, [T=Float64])::Tuple{T, T}

Returns the centroid of a given line segment, linear ring, polygon, or mutlipolygon.

source

GeometryOps.centroid_and_area Method
julia
centroid_and_area(geom, [T=Float64])::(::Tuple{T, T}, ::Real)

Returns the centroid and area of a given geometry.

source

GeometryOps.centroid_and_length Method
julia
centroid_and_length(geom, [T=Float64])::(::Tuple{T, T}, ::Real)

Returns the centroid and length of a given line/ring. Note this is only valid for line strings and linear rings.

source

GeometryOps.contains Method
julia
contains(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the second geometry is completely contained by the first geometry. The interiors of both geometries must intersect and the interior and boundary of the secondary (g2) must not intersect the exterior of the first (g1).

contains returns the exact opposite result of within.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = GI.Point((1, 2))
 
 GO.contains(line, point)
 # output
-true

source

GeometryOps.convex_hull Function
julia
convex_hull([method], geometries)

Compute the convex hull of the points in geometries. Returns a GI.Polygon representing the convex hull.

Note that the polygon returned is wound counterclockwise as in the Simple Features standard by default. If you choose GEOS, the winding order will be inverted.

Warning

This interface only computes the 2-dimensional convex hull!

For higher dimensional hulls, use the relevant package (Qhull.jl, Quickhull.jl, or similar).

source

GeometryOps.coverage Method
julia
coverage(geom, xmin, xmax, ymin, ymax, [T = Float64])::T

Returns the area of intersection between given geometry and grid cell defined by its minimum and maximum x and y-values. This is computed differently for different geometries:

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.coveredby Method
julia
coveredby(g1, g2)::Bool

Return true if the first geometry is completely covered by the second geometry. The interior and boundary of the primary geometry (g1) must not intersect the exterior of the secondary geometry (g2).

Furthermore, coveredby returns the exact opposite result of covers. They are equivalent with the order of the arguments swapped.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

GeometryOps.convex_hull Function
julia
convex_hull([method], geometries)

Compute the convex hull of the points in geometries. Returns a GI.Polygon representing the convex hull.

Note that the polygon returned is wound counterclockwise as in the Simple Features standard by default. If you choose GEOS, the winding order will be inverted.

Warning

This interface only computes the 2-dimensional convex hull!

For higher dimensional hulls, use the relevant package (Qhull.jl, Quickhull.jl, or similar).

source

GeometryOps.coverage Method
julia
coverage(geom, xmin, xmax, ymin, ymax, [T = Float64])::T

Returns the area of intersection between given geometry and grid cell defined by its minimum and maximum x and y-values. This is computed differently for different geometries:

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.coveredby Method
julia
coveredby(g1, g2)::Bool

Return true if the first geometry is completely covered by the second geometry. The interior and boundary of the primary geometry (g1) must not intersect the exterior of the secondary geometry (g2).

Furthermore, coveredby returns the exact opposite result of covers. They are equivalent with the order of the arguments swapped.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 p1 = GI.Point(0.0, 0.0)
 p2 = GI.Point(1.0, 1.0)
 l1 = GI.Line([p1, p2])
 
 GO.coveredby(p1, l1)
 # output
-true

source

GeometryOps.covers Method
julia
covers(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the first geometry is completely covers the second geometry, The exterior and boundary of the second geometry must not be outside of the interior and boundary of the first geometry. However, the interiors need not intersect.

covers returns the exact opposite result of coveredby.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

GeometryOps.covers Method
julia
covers(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the first geometry is completely covers the second geometry, The exterior and boundary of the second geometry must not be outside of the interior and boundary of the first geometry. However, the interiors need not intersect.

covers returns the exact opposite result of coveredby.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 l1 = GI.LineString([(1.0, 1.0), (1.0, 2.0), (1.0, 3.0), (1.0, 4.0)])
 l2 = GI.LineString([(1.0, 1.0), (1.0, 2.0)])
 
 GO.covers(l1, l2)
 # output
-true

source

GeometryOps.crosses Method
julia
 crosses(geom1, geom2)::Bool

Return true if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries.

TODO: broken

Examples

julia
import GeoInterface as GI, GeometryOps as GO
-# TODO: Add working example

source

GeometryOps.cut Method
julia
cut(geom, line, [T::Type])

Return given geom cut by given line as a list of geometries of the same type as the input geom. Return the original geometry as only list element if none are found. Line must cut fully through given geometry or the original geometry will be returned.

Note: This currently doesn't work for degenerate cases there line crosses through vertices.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+true

source

GeometryOps.crosses Method
julia
 crosses(geom1, geom2)::Bool

Return true if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries.

TODO: broken

Examples

julia
import GeoInterface as GI, GeometryOps as GO
+# TODO: Add working example

source

GeometryOps.cut Method
julia
cut(geom, line, [T::Type])

Return given geom cut by given line as a list of geometries of the same type as the input geom. Return the original geometry as only list element if none are found. Line must cut fully through given geometry or the original geometry will be returned.

Note: This currently doesn't work for degenerate cases there line crosses through vertices.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 poly = GI.Polygon([[(0.0, 0.0), (10.0, 0.0), (10.0, 10.0), (0.0, 10.0), (0.0, 0.0)]])
 line = GI.Line([(5.0, -5.0), (5.0, 15.0)])
@@ -196,7 +196,7 @@
 # output
 2-element Vector{Vector{Vector{Vector{Float64}}}}:
  [[[0.0, 0.0], [5.0, 0.0], [5.0, 10.0], [0.0, 10.0], [0.0, 0.0]]]
- [[[5.0, 0.0], [10.0, 0.0], [10.0, 10.0], [5.0, 10.0], [5.0, 0.0]]]

source

GeometryOps.difference Method
julia
difference(geom_a, geom_b, [T::Type]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the difference between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a taget type as a keyword argument and a list of target geometries found in the difference will be returned. The user can also provide a float type that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to false if you know that the multipolygons are valid, as it will avoid unneeded computation.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+ [[[5.0, 0.0], [10.0, 0.0], [10.0, 10.0], [5.0, 10.0], [5.0, 0.0]]]

source

GeometryOps.difference Method
julia
difference(geom_a, geom_b, [T::Type]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the difference between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a taget type as a keyword argument and a list of target geometries found in the difference will be returned. The user can also provide a float type that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to false if you know that the multipolygons are valid, as it will avoid unneeded computation.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 poly1 = GI.Polygon([[[0.0, 0.0], [5.0, 5.0], [10.0, 0.0], [5.0, -5.0], [0.0, 0.0]]])
 poly2 = GI.Polygon([[[3.0, 0.0], [8.0, 5.0], [13.0, 0.0], [8.0, -5.0], [3.0, 0.0]]])
@@ -205,32 +205,32 @@
 
 # output
 1-element Vector{Vector{Vector{Vector{Float64}}}}:
- [[[6.5, 3.5], [5.0, 5.0], [0.0, 0.0], [5.0, -5.0], [6.5, -3.5], [3.0, 0.0], [6.5, 3.5]]]

source

GeometryOps.disjoint Method
julia
disjoint(geom1, geom2)::Bool

Return true if the first geometry is disjoint from the second geometry.

Return true if the first geometry is disjoint from the second geometry. The interiors and boundaries of both geometries must not intersect.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+ [[[6.5, 3.5], [5.0, 5.0], [0.0, 0.0], [5.0, -5.0], [6.5, -3.5], [3.0, 0.0], [6.5, 3.5]]]

source

GeometryOps.disjoint Method
julia
disjoint(geom1, geom2)::Bool

Return true if the first geometry is disjoint from the second geometry.

Return true if the first geometry is disjoint from the second geometry. The interiors and boundaries of both geometries must not intersect.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = (2, 2)
 GO.disjoint(point, line)
 
 # output
-true

source

GeometryOps.distance Method
julia
distance(point, geom, ::Type{T} = Float64)::T

Calculates the ditance from the geometry g1 to the point. The distance will always be positive or zero.

The method will differ based on the type of the geometry provided: - The distance from a point to a point is just the Euclidean distance between the points. - The distance from a point to a line is the minimum distance from the point to the closest point on the given line. - The distance from a point to a linestring is the minimum distance from the point to the closest segment of the linestring. - The distance from a point to a linear ring is the minimum distance from the point to the closest segment of the linear ring. - The distance from a point to a polygon is zero if the point is within the polygon and otherwise is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The distance from a point to a multigeometry or a geometry collection is the minimum distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.embed_extent Method
julia
embed_extent(obj)

Recursively wrap the object with a GeoInterface.jl geometry, calculating and adding an Extents.Extent to all objects.

This can improve performance when extents need to be checked multiple times, such when needing to check if many points are in geometries, and using their extents as a quick filter for obviously exterior points.

Keywords

source

GeometryOps.enforce Method
julia
enforce(alg::GO.GEOS, kw::Symbol, f)

Enforce the presence of a keyword argument in a GEOS algorithm, and return alg.params[kw].

Throws an error if the key is not present, and mentions f in the error message (since there isn't a good way to get the name of the function that called this method).

source

GeometryOps.equals Method
julia
equals(trait_a, geom_a, trait_b, geom_b)

Two geometries which are not of the same type cannot be equal so they always return false.

source

GeometryOps.equals Method
julia
equals(geom1, geom2)::Bool

Compare two Geometries return true if they are the same geometry.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

GeometryOps.distance Method
julia
distance(point, geom, ::Type{T} = Float64)::T

Calculates the ditance from the geometry g1 to the point. The distance will always be positive or zero.

The method will differ based on the type of the geometry provided: - The distance from a point to a point is just the Euclidean distance between the points. - The distance from a point to a line is the minimum distance from the point to the closest point on the given line. - The distance from a point to a linestring is the minimum distance from the point to the closest segment of the linestring. - The distance from a point to a linear ring is the minimum distance from the point to the closest segment of the linear ring. - The distance from a point to a polygon is zero if the point is within the polygon and otherwise is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The distance from a point to a multigeometry or a geometry collection is the minimum distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.embed_extent Method
julia
embed_extent(obj)

Recursively wrap the object with a GeoInterface.jl geometry, calculating and adding an Extents.Extent to all objects.

This can improve performance when extents need to be checked multiple times, such when needing to check if many points are in geometries, and using their extents as a quick filter for obviously exterior points.

Keywords

source

GeometryOps.enforce Method
julia
enforce(alg::GO.GEOS, kw::Symbol, f)

Enforce the presence of a keyword argument in a GEOS algorithm, and return alg.params[kw].

Throws an error if the key is not present, and mentions f in the error message (since there isn't a good way to get the name of the function that called this method).

source

GeometryOps.equals Method
julia
equals(trait_a, geom_a, trait_b, geom_b)

Two geometries which are not of the same type cannot be equal so they always return false.

source

GeometryOps.equals Method
julia
equals(geom1, geom2)::Bool

Compare two Geometries return true if they are the same geometry.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 poly1 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 poly2 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 
 GO.equals(poly1, poly2)
 # output
-true

source

GeometryOps.equals Method
julia
equals(
+true

source

GeometryOps.equals Method
julia
equals(
     ::GI.LinearRingTrait, l1,
     ::GI.LinearRingTrait, l2,
-)::Bool

Two linear rings are equal if they share the same set of points going along the curve. Note that rings are closed by definition, so they can have, but don't need, a repeated last point to be equal.

source

GeometryOps.equals Method
julia
equals(
+)::Bool

Two linear rings are equal if they share the same set of points going along the curve. Note that rings are closed by definition, so they can have, but don't need, a repeated last point to be equal.

source

GeometryOps.equals Method
julia
equals(
     ::GI.LinearRingTrait, l1,
     ::Union{GI.LineTrait, GI.LineStringTrait}, l2,
-)::Bool

A linear ring and a line/linestring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

GeometryOps.equals Method
julia
equals(::GI.MultiPointTrait, mp1, ::GI.MultiPointTrait, mp2)::Bool

Two multipoints are equal if they share the same set of points.

source

GeometryOps.equals Method
julia
equals(::GI.MultiPointTrait, mp1, ::GI.PointTrait, p2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

GeometryOps.equals Method
julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two multipolygons are equal if they share the same set of polygons.

source

GeometryOps.equals Method
julia
equals(::GI.MultiPolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

GeometryOps.equals Method
julia
equals(::GI.PointTrait, p1, ::GI.MultiPointTrait, mp2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

GeometryOps.equals Method
julia
equals(::GI.PointTrait, p1, ::GI.PointTrait, p2)::Bool

Two points are the same if they have the same x and y (and z if 3D) coordinates.

source

GeometryOps.equals Method
julia
equals(::GI.PolygonTrait, geom_a, ::GI.MultiPolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

GeometryOps.equals Method
julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two polygons are equal if they share the same exterior edge and holes.

source

GeometryOps.equals Method
julia
equals(
+)::Bool

A linear ring and a line/linestring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

GeometryOps.equals Method
julia
equals(::GI.MultiPointTrait, mp1, ::GI.MultiPointTrait, mp2)::Bool

Two multipoints are equal if they share the same set of points.

source

GeometryOps.equals Method
julia
equals(::GI.MultiPointTrait, mp1, ::GI.PointTrait, p2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

GeometryOps.equals Method
julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two multipolygons are equal if they share the same set of polygons.

source

GeometryOps.equals Method
julia
equals(::GI.MultiPolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

GeometryOps.equals Method
julia
equals(::GI.PointTrait, p1, ::GI.MultiPointTrait, mp2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

GeometryOps.equals Method
julia
equals(::GI.PointTrait, p1, ::GI.PointTrait, p2)::Bool

Two points are the same if they have the same x and y (and z if 3D) coordinates.

source

GeometryOps.equals Method
julia
equals(::GI.PolygonTrait, geom_a, ::GI.MultiPolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

GeometryOps.equals Method
julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two polygons are equal if they share the same exterior edge and holes.

source

GeometryOps.equals Method
julia
equals(
     ::Union{GI.LineTrait, GI.LineStringTrait}, l1,
     ::GI.LinearRingTrait, l2,
-)::Bool

A line/linestring and a linear ring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

GeometryOps.equals Method
julia
equals(
+)::Bool

A line/linestring and a linear ring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

GeometryOps.equals Method
julia
equals(
     ::Union{GI.LineTrait, GI.LineStringTrait}, l1,
     ::Union{GI.LineTrait, GI.LineStringTrait}, l2,
-)::Bool

Two lines/linestrings are equal if they share the same set of points going along the curve. Note that lines/linestrings aren't closed by definition.

source

GeometryOps.equals Method
julia
equals(::T, geom_a, ::T, geom_b)::Bool

Two geometries of the same type, which don't have a equals function to dispatch off of should throw an error.

source

GeometryOps.flip Method
julia
flip(obj)

Swap all of the x and y coordinates in obj, otherwise keeping the original structure (but not necessarily the original type).

Keywords

source

GeometryOps.intersection Method
julia
intersection(geom_a, geom_b, [T::Type]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the intersection between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a target type as a keyword argument and a list of target geometries found in the intersection will be returned. The user can also provide a float type that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to nothing if you know that the multipolygons are valid, as it will avoid unneeded computation.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+)::Bool

Two lines/linestrings are equal if they share the same set of points going along the curve. Note that lines/linestrings aren't closed by definition.

source

GeometryOps.equals Method
julia
equals(::T, geom_a, ::T, geom_b)::Bool

Two geometries of the same type, which don't have a equals function to dispatch off of should throw an error.

source

GeometryOps.flip Method
julia
flip(obj)

Swap all of the x and y coordinates in obj, otherwise keeping the original structure (but not necessarily the original type).

Keywords

source

GeometryOps.intersection Method
julia
intersection(geom_a, geom_b, [T::Type]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the intersection between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a target type as a keyword argument and a list of target geometries found in the intersection will be returned. The user can also provide a float type that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to nothing if you know that the multipolygons are valid, as it will avoid unneeded computation.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 line1 = GI.Line([(124.584961,-12.768946), (126.738281,-17.224758)])
 line2 = GI.Line([(123.354492,-15.961329), (127.22168,-14.008696)])
@@ -239,7 +239,7 @@
 
 # output
 1-element Vector{Vector{Float64}}:
- [125.58375366067548, -14.83572303404496]

source

GeometryOps.intersection_points Method
julia
intersection_points(geom_a, geom_b, [T::Type])

Return a list of intersection tuple points between two geometries. If no intersection points exist, returns an empty list.

Example

jldoctest

+ [125.58375366067548, -14.83572303404496]

source

GeometryOps.intersection_points Method
julia
intersection_points(geom_a, geom_b, [T::Type])

Return a list of intersection tuple points between two geometries. If no intersection points exist, returns an empty list.

Example

jldoctest

 line1 = GI.Line([(124.584961,-12.768946), (126.738281,-17.224758)]) line2 = GI.Line([(123.354492,-15.961329), (127.22168,-14.008696)]) inter_points = GO.intersection_points(line1, line2)
 
 **output**
@@ -247,7 +247,7 @@
 1-element Vector{Tuple{Float64, Float64}}:  (125.58375366067548, -14.83572303404496)
 
 
-[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/a455d3dd329eb00850f8162d1faf68135e3b3349/src/methods/clipping/intersection.jl#L177-L195)
+[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/394c197520791d08fed66738e9aa8522e795cf90/src/methods/clipping/intersection.jl#L177-L195)
 
 </details>
 
@@ -264,57 +264,57 @@
 GO.intersects(line1, line2)
 
 # output
-true

source

GeometryOps.isclockwise Method
julia
isclockwise(line::Union{LineString, Vector{Position}})::Bool

Take a ring and return true if the line goes clockwise, or false if the line goes counter-clockwise. "Going clockwise" means, mathematically,

(i=2n(xixi1)(yi+yi1))>0

Example

julia
julia> import GeoInterface as GI, GeometryOps as GO
+true

source

GeometryOps.isclockwise Method
julia
isclockwise(line::Union{LineString, Vector{Position}})::Bool

Take a ring and return true if the line goes clockwise, or false if the line goes counter-clockwise. "Going clockwise" means, mathematically,

(i=2n(xixi1)(yi+yi1))>0

Example

julia
julia> import GeoInterface as GI, GeometryOps as GO
 julia> ring = GI.LinearRing([(0, 0), (1, 1), (1, 0), (0, 0)]);
 julia> GO.isclockwise(ring)
 # output
-true

source

GeometryOps.isconcave Method
julia
isconcave(poly::Polygon)::Bool

Take a polygon and return true or false as to whether it is concave or not.

Examples

julia
import GeoInterface as GI, GeometryOps as GO
+true

source

GeometryOps.isconcave Method
julia
isconcave(poly::Polygon)::Bool

Take a polygon and return true or false as to whether it is concave or not.

Examples

julia
import GeoInterface as GI, GeometryOps as GO
 
 poly = GI.Polygon([[(0, 0), (0, 1), (1, 1), (1, 0), (0, 0)]])
 GO.isconcave(poly)
 
 # output
-false

source

GeometryOps.overlaps Method
julia
overlaps(geom1, geom2)::Bool

Compare two Geometries of the same dimension and return true if their intersection set results in a geometry different from both but of the same dimension. This means one geometry cannot be within or contain the other and they cannot be equal

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+false

source

GeometryOps.overlaps Method
julia
overlaps(geom1, geom2)::Bool

Compare two Geometries of the same dimension and return true if their intersection set results in a geometry different from both but of the same dimension. This means one geometry cannot be within or contain the other and they cannot be equal

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 poly1 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 poly2 = GI.Polygon([[(1,1), (1,6), (6,6), (6,1), (1,1)]])
 
 GO.overlaps(poly1, poly2)
 # output
-true

source

GeometryOps.overlaps Method
julia
overlaps(::GI.AbstractTrait, geom1, ::GI.AbstractTrait, geom2)::Bool

For any non-specified pair, all have non-matching dimensions, return false.

source

GeometryOps.overlaps Method
julia
overlaps(::GI.LineTrait, line1, ::GI.LineTrait, line)::Bool

If the lines overlap, meaning that they are collinear but each have one endpoint outside of the other line, return true. Else false.

source

GeometryOps.overlaps Method
julia
overlaps(
+true

source

GeometryOps.overlaps Method
julia
overlaps(::GI.AbstractTrait, geom1, ::GI.AbstractTrait, geom2)::Bool

For any non-specified pair, all have non-matching dimensions, return false.

source

GeometryOps.overlaps Method
julia
overlaps(::GI.LineTrait, line1, ::GI.LineTrait, line)::Bool

If the lines overlap, meaning that they are collinear but each have one endpoint outside of the other line, return true. Else false.

source

GeometryOps.overlaps Method
julia
overlaps(
     ::GI.MultiPointTrait, points1,
     ::GI.MultiPointTrait, points2,
-)::Bool

If the multipoints overlap, meaning some, but not all, of the points within the multipoints are shared, return true.

source

GeometryOps.overlaps Method
julia
overlaps(
+)::Bool

If the multipoints overlap, meaning some, but not all, of the points within the multipoints are shared, return true.

source

GeometryOps.overlaps Method
julia
overlaps(
     ::GI.MultiPolygonTrait, polys1,
     ::GI.MultiPolygonTrait, polys2,
-)::Bool

Return true if at least one pair of polygons from multipolygons overlap. Else false.

source

GeometryOps.overlaps Method
julia
overlaps(
+)::Bool

Return true if at least one pair of polygons from multipolygons overlap. Else false.

source

GeometryOps.overlaps Method
julia
overlaps(
     ::GI.MultiPolygonTrait, polys1,
     ::GI.PolygonTrait, poly2,
-)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

GeometryOps.overlaps Method
julia
overlaps(
+)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

GeometryOps.overlaps Method
julia
overlaps(
     ::GI.PolygonTrait, poly1,
     ::GI.MultiPolygonTrait, polys2,
-)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

GeometryOps.overlaps Method
julia
overlaps(
+)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

GeometryOps.overlaps Method
julia
overlaps(
     trait_a::GI.PolygonTrait, poly_a,
     trait_b::GI.PolygonTrait, poly_b,
-)::Bool

If the two polygons intersect with one another, but are not equal, return true. Else false.

source

GeometryOps.overlaps Method
julia
overlaps(
+)::Bool

If the two polygons intersect with one another, but are not equal, return true. Else false.

source

GeometryOps.overlaps Method
julia
overlaps(
     ::Union{GI.LineStringTrait, GI.LinearRing}, line1,
     ::Union{GI.LineStringTrait, GI.LinearRing}, line2,
-)::Bool

If the curves overlap, meaning that at least one edge of each curve overlaps, return true. Else false.

source

GeometryOps.polygon_to_line Method
julia
polygon_to_line(poly::Polygon)

Converts a Polygon to LineString or MultiLineString

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+)::Bool

If the curves overlap, meaning that at least one edge of each curve overlaps, return true. Else false.

source

GeometryOps.polygon_to_line Method
julia
polygon_to_line(poly::Polygon)

Converts a Polygon to LineString or MultiLineString

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 poly = GI.Polygon([[(-2.275543, 53.464547), (-2.275543, 53.489271), (-2.215118, 53.489271), (-2.215118, 53.464547), (-2.275543, 53.464547)]])
 GO.polygon_to_line(poly)
 # output
-GeoInterface.Wrappers.LineString{false, false, Vector{Tuple{Float64, Float64}}, Nothing, Nothing}([(-2.275543, 53.464547), (-2.275543, 53.489271), (-2.215118, 53.489271), (-2.215118, 53.464547), (-2.275543, 53.464547)], nothing, nothing)

source

GeometryOps.polygonize Method
julia
polygonize(A::AbstractMatrix{Bool}; kw...)
+GeoInterface.Wrappers.LineString{false, false, Vector{Tuple{Float64, Float64}}, Nothing, Nothing}([(-2.275543, 53.464547), (-2.275543, 53.489271), (-2.215118, 53.489271), (-2.215118, 53.464547), (-2.275543, 53.464547)], nothing, nothing)

source

GeometryOps.polygonize Method
julia
polygonize(A::AbstractMatrix{Bool}; kw...)
 polygonize(f, A::AbstractMatrix; kw...)
 polygonize(xs, ys, A::AbstractMatrix{Bool}; kw...)
 polygonize(f, xs, ys, A::AbstractMatrix; kw...)

Polygonize an AbstractMatrix of values, currently to a single class of polygons.

Returns a MultiPolygon for Bool values and f return values, and a FeatureCollection of Features holding MultiPolygon for all other values.

Function f should return either true or false or a transformation of values into simpler groups, especially useful for floating point arrays.

If xs and ys are ranges, they are used as the pixel/cell center points. If they are Vector of Tuple they are used as the lower and upper bounds of each pixel/cell.

Keywords

Example

julia
using GeometryOps
 A = rand(100, 100)
-multipolygon = polygonize(>(0.5), A);

source

GeometryOps.segmentize Method
julia
segmentize([method = Planar()], geom; max_distance::Real, threaded)

Segmentize a geometry by adding extra vertices to the geometry so that no segment is longer than a given distance. This is useful for plotting geometries with a limited number of vertices, or for ensuring that a geometry is not too "coarse" for a given application.

Arguments

Returns a geometry of similar type to the input geometry, but resampled.

source

GeometryOps.signed_area Method
julia
signed_area(geom, [T = Float64])::T

Returns the signed area of a single geometry, based on winding order. This is computed slightly differently for different geometries:

- The signed area of a point is always zero.
+multipolygon = polygonize(>(0.5), A);

source

GeometryOps.segmentize Method
julia
segmentize([method = Planar()], geom; max_distance::Real, threaded)

Segmentize a geometry by adding extra vertices to the geometry so that no segment is longer than a given distance. This is useful for plotting geometries with a limited number of vertices, or for ensuring that a geometry is not too "coarse" for a given application.

Arguments

Returns a geometry of similar type to the input geometry, but resampled.

source

GeometryOps.signed_area Method
julia
signed_area(geom, [T = Float64])::T

Returns the signed area of a single geometry, based on winding order. This is computed slightly differently for different geometries:

- The signed area of a point is always zero.
 - The signed area of a curve is always zero.
 - The signed area of a polygon is computed with the shoelace formula and is
 positive if the polygon coordinates wind clockwise and negative if
 counterclockwise.
 - You cannot compute the signed area of a multipolygon as it doesn't have a
-meaning as each sub-polygon could have a different winding order.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.signed_distance Method
julia
signed_distance(point, geom, ::Type{T} = Float64)::T

Calculates the signed distance from the geometry geom to the given point. Points within geom have a negative signed distance, and points outside of geom have a positive signed distance. - The signed distance from a point to a point, line, linestring, or linear ring is equal to the distance between the two. - The signed distance from a point to a polygon is negative if the point is within the polygon and is positive otherwise. The value of the distance is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The signed distance from a point to a multigeometry or a geometry collection is the minimum signed distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.simplify Method
julia
simplify(obj; kw...)
+meaning as each sub-polygon could have a different winding order.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.signed_distance Method
julia
signed_distance(point, geom, ::Type{T} = Float64)::T

Calculates the signed distance from the geometry geom to the given point. Points within geom have a negative signed distance, and points outside of geom have a positive signed distance. - The signed distance from a point to a point, line, linestring, or linear ring is equal to the distance between the two. - The signed distance from a point to a polygon is negative if the point is within the polygon and is positive otherwise. The value of the distance is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The signed distance from a point to a multigeometry or a geometry collection is the minimum signed distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

GeometryOps.simplify Method
julia
simplify(obj; kw...)
 simplify(::SimplifyAlg, obj; kw...)

Simplify a geometry, feature, feature collection, or nested vectors or a table of these.

RadialDistance, DouglasPeucker, or VisvalingamWhyatt algorithms are available, listed in order of increasing quality but decreasing performance.

PoinTrait and MultiPointTrait are returned unchanged.

The default behaviour is simplify(DouglasPeucker(; kw...), obj). Pass in other SimplifyAlg to use other algorithms.

Keywords

Keywords for DouglasPeucker are allowed when no algorithm is specified:

Keywords

Example

Simplify a polygon to have six points:

julia
import GeoInterface as GI
 import GeometryOps as GO
 
@@ -344,9 +344,9 @@
 GI.npoint(simple)
 
 # output
-6

source

GeometryOps.t_value Method
julia
t_value(sᵢ, sᵢ₊₁, rᵢ, rᵢ₊₁)

Returns the "T-value" as described in Hormann's presentation [1] on how to calculate the mean-value coordinate.

Here, sᵢ is the vector from vertex vᵢ to the point, and rᵢ is the norm (length) of sᵢ. s must be Point and r must be real numbers.

t=det(s,s)rr+ss

+6

source

GeometryOps.t_value Method
julia
t_value(sᵢ, sᵢ₊₁, rᵢ, rᵢ₊₁)

Returns the "T-value" as described in Hormann's presentation [1] on how to calculate the mean-value coordinate.

Here, sᵢ is the vector from vertex vᵢ to the point, and rᵢ is the norm (length) of sᵢ. s must be Point and r must be real numbers.

t=det(s,s)rr+ss

 
-[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/a455d3dd329eb00850f8162d1faf68135e3b3349/src/methods/barycentric.jl#L289-L305)
+[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/394c197520791d08fed66738e9aa8522e795cf90/src/methods/barycentric.jl#L289-L305)
 
 </details>
 
@@ -356,14 +356,14 @@
 
 
 ```julia
-to_edges()

Convert any geometry or collection of geometries into a flat vector of Tuple{Tuple{Float64,Float64},Tuple{Float64,Float64}} edges.

source

GeometryOps.touches Method
julia
touches(geom1, geom2)::Bool

Return true if the first geometry touches the second geometry. In other words, the two interiors cannot interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+to_edges()

Convert any geometry or collection of geometries into a flat vector of Tuple{Tuple{Float64,Float64},Tuple{Float64,Float64}} edges.

source

GeometryOps.touches Method
julia
touches(geom1, geom2)::Bool

Return true if the first geometry touches the second geometry. In other words, the two interiors cannot interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 l1 = GI.Line([(0.0, 0.0), (1.0, 0.0)])
 l2 = GI.Line([(1.0, 1.0), (1.0, -1.0)])
 
 GO.touches(l1, l2)
 # output
-true

source

GeometryOps.transform Method
julia
transform(f, obj)

Apply a function f to all the points in obj.

Points will be passed to f as an SVector to allow using CoordinateTransformations.jl and Rotations.jl without hassle.

SVector is also a valid GeoInterface.jl point, so will work in all GeoInterface.jl methods.

Example

julia
julia> import GeoInterface as GI
+true

source

GeometryOps.transform Method
julia
transform(f, obj)

Apply a function f to all the points in obj.

Points will be passed to f as an SVector to allow using CoordinateTransformations.jl and Rotations.jl without hassle.

SVector is also a valid GeoInterface.jl point, so will work in all GeoInterface.jl methods.

Example

julia
julia> import GeoInterface as GI
 
 julia> import GeometryOps as GO
 
@@ -382,7 +382,7 @@
 GeoInterface.Wrappers.Polygon{false, false, Vector{GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.LinearR
 ing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}[GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}(StaticArraysCore.SVe
 ctor{2, Int64}[[2, 1], [4, 3], [6, 5], [2, 1]], nothing, nothing), GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}(StaticArraysCore.SVector{2, Int64
-}[[4, 3], [6, 5], [7, 6], [4, 3]], nothing, nothing)], nothing, nothing)

source

GeometryOps.tuples Method
julia
tuples(obj)

Convert all points in obj to Tuples, wherever the are nested.

Returns a similar object or collection of objects using GeoInterface.jl geometries wrapping Tuple points.

Keywords

source

GeometryOps.union Method
julia
union(geom_a, geom_b, [::Type{T}]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the union between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a taget type as a keyword argument and a list of target geometries found in the difference will be returned. The user can also provide a float type 'T' that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to false if you know that the multipolygons are valid, as it will avoid unneeded computation.

Calculates the union between two polygons.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+}[[4, 3], [6, 5], [7, 6], [4, 3]], nothing, nothing)], nothing, nothing)

source

GeometryOps.tuples Method
julia
tuples(obj)

Convert all points in obj to Tuples, wherever the are nested.

Returns a similar object or collection of objects using GeoInterface.jl geometries wrapping Tuple points.

Keywords

source

GeometryOps.union Method
julia
union(geom_a, geom_b, [::Type{T}]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the union between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a taget type as a keyword argument and a list of target geometries found in the difference will be returned. The user can also provide a float type 'T' that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to false if you know that the multipolygons are valid, as it will avoid unneeded computation.

Calculates the union between two polygons.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 p1 = GI.Polygon([[(0.0, 0.0), (5.0, 5.0), (10.0, 0.0), (5.0, -5.0), (0.0, 0.0)]])
 p2 = GI.Polygon([[(3.0, 0.0), (8.0, 5.0), (13.0, 0.0), (8.0, -5.0), (3.0, 0.0)]])
@@ -391,15 +391,15 @@
 
 # output
 1-element Vector{Vector{Vector{Vector{Float64}}}}:
- [[[6.5, 3.5], [5.0, 5.0], [0.0, 0.0], [5.0, -5.0], [6.5, -3.5], [8.0, -5.0], [13.0, 0.0], [8.0, 5.0], [6.5, 3.5]]]

source

GeometryOps.weighted_mean Method
julia
weighted_mean(weight::Real, x1, x2)

Returns the weighted mean of x1 and x2, where weight is the weight of x1.

Specifically, calculates x1 * weight + x2 * (1 - weight).

Note

The idea for this method is that you can override this for custom types, like Color types, in extension modules.

source

GeometryOps.within Method
julia
within(geom1, geom2)::Bool

Return true if the first geometry is completely within the second geometry. The interiors of both geometries must intersect and the interior and boundary of the primary geometry (geom1) must not intersect the exterior of the secondary geometry (geom2).

Furthermore, within returns the exact opposite result of contains.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+ [[[6.5, 3.5], [5.0, 5.0], [0.0, 0.0], [5.0, -5.0], [6.5, -3.5], [8.0, -5.0], [13.0, 0.0], [8.0, 5.0], [6.5, 3.5]]]

source

GeometryOps.weighted_mean Method
julia
weighted_mean(weight::Real, x1, x2)

Returns the weighted mean of x1 and x2, where weight is the weight of x1.

Specifically, calculates x1 * weight + x2 * (1 - weight).

Note

The idea for this method is that you can override this for custom types, like Color types, in extension modules.

source

GeometryOps.within Method
julia
within(geom1, geom2)::Bool

Return true if the first geometry is completely within the second geometry. The interiors of both geometries must intersect and the interior and boundary of the primary geometry (geom1) must not intersect the exterior of the secondary geometry (geom2).

Furthermore, within returns the exact opposite result of contains.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = (1, 2)
 GO.within(point, line)
 
 # output
-true

source


  1. K. Hormann and N. Sukumar. Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics. Taylor & Fancis, CRC Press, 2017. ↩︎

- +true

source


  1. K. Hormann and N. Sukumar. Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics. Taylor & Fancis, CRC Press, 2017. ↩︎

+ \ No newline at end of file diff --git a/previews/PR223/assets/aobwfey.4Jhg0EL5.png b/previews/PR223/assets/aobwfey.4Jhg0EL5.png new file mode 100644 index 0000000000000000000000000000000000000000..58f45d0fa7c8851d5c292a0da1d9000c0f479b70 GIT binary patch literal 71373 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 z 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 Q^(2&5QP4ma-!cvOKfE`@_y7O^ literal 0 HcmV?d00001 diff --git a/previews/PR223/assets/api.md.2HLTFd0J.js b/previews/PR223/assets/api.md.pHWlBUPJ.js similarity index 97% rename from previews/PR223/assets/api.md.2HLTFd0J.js rename to previews/PR223/assets/api.md.pHWlBUPJ.js index ff65821a1..d3b2d3f3c 100644 --- a/previews/PR223/assets/api.md.2HLTFd0J.js +++ b/previews/PR223/assets/api.md.pHWlBUPJ.js @@ -5,9 +5,9 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr flipped_geom = GO.apply(GI.PointTrait, geom) do p (GI.y(p), GI.x(p)) -end

source

`,10))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOpsCore.applyreduce",href:"#GeometryOpsCore.applyreduce"},[i("span",{class:"jlbinding"},"GeometryOpsCore.applyreduce")],-1)),s[4]||(s[4]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=a('
julia
applyreduce(f, op, target::Union{TraitTarget, GI.AbstractTrait}, obj; threaded)

Apply function f to all objects with the target trait, and reduce the result with an op like +.

The order and grouping of application of op is not guaranteed.

If threaded==true threads will be used over arrays and iterables, feature collections and nested geometries.

source

',5))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeometryOps.reproject",href:"#GeometryOps.reproject"},[i("span",{class:"jlbinding"},"GeometryOps.reproject")],-1)),s[7]||(s[7]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=a(`
julia
reproject(geometry; source_crs, target_crs, transform, always_xy, time)
+end

source

`,10))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOpsCore.applyreduce",href:"#GeometryOpsCore.applyreduce"},[i("span",{class:"jlbinding"},"GeometryOpsCore.applyreduce")],-1)),s[4]||(s[4]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=a('
julia
applyreduce(f, op, target::Union{TraitTarget, GI.AbstractTrait}, obj; threaded)

Apply function f to all objects with the target trait, and reduce the result with an op like +.

The order and grouping of application of op is not guaranteed.

If threaded==true threads will be used over arrays and iterables, feature collections and nested geometries.

source

',5))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeometryOps.reproject",href:"#GeometryOps.reproject"},[i("span",{class:"jlbinding"},"GeometryOps.reproject")],-1)),s[7]||(s[7]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=a(`
julia
reproject(geometry; source_crs, target_crs, transform, always_xy, time)
 reproject(geometry, source_crs, target_crs; always_xy, time)
-reproject(geometry, transform; always_xy, time)

Reproject any GeoInterface.jl compatible geometry from source_crs to target_crs.

The returned object will be constructed from GeoInterface.WrapperGeometry geometries, wrapping views of a Vector{Proj.Point{D}}, where D is the dimension.

Tip

The Proj.jl package must be loaded for this method to work, since it is implemented in a package extension.

Arguments

  • geometry: Any GeoInterface.jl compatible geometries.

  • source_crs: the source coordinate reference system, as a GeoFormatTypes.jl object or a string.

  • target_crs: the target coordinate reference system, as a GeoFormatTypes.jl object or a string.

If these a passed as keywords, transform will take priority. Without it target_crs is always needed, and source_crs is needed if it is not retrievable from the geometry with GeoInterface.crs(geometry).

Keywords

  • always_xy: force x, y coordinate order, true by default. false will expect and return points in the crs coordinate order.

  • time: the time for the coordinates. Inf by default.

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

  • calc_extent: true or false. Whether to calculate the extent. Defaults to false.

source

`,10))]),i("details",y,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeometryOps.transform",href:"#GeometryOps.transform"},[i("span",{class:"jlbinding"},"GeometryOps.transform")],-1)),s[10]||(s[10]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=a(`
julia
transform(f, obj)

Apply a function f to all the points in obj.

Points will be passed to f as an SVector to allow using CoordinateTransformations.jl and Rotations.jl without hassle.

SVector is also a valid GeoInterface.jl point, so will work in all GeoInterface.jl methods.

Example

julia
julia> import GeoInterface as GI
+reproject(geometry, transform; always_xy, time)

Reproject any GeoInterface.jl compatible geometry from source_crs to target_crs.

The returned object will be constructed from GeoInterface.WrapperGeometry geometries, wrapping views of a Vector{Proj.Point{D}}, where D is the dimension.

Tip

The Proj.jl package must be loaded for this method to work, since it is implemented in a package extension.

Arguments

  • geometry: Any GeoInterface.jl compatible geometries.

  • source_crs: the source coordinate reference system, as a GeoFormatTypes.jl object or a string.

  • target_crs: the target coordinate reference system, as a GeoFormatTypes.jl object or a string.

If these a passed as keywords, transform will take priority. Without it target_crs is always needed, and source_crs is needed if it is not retrievable from the geometry with GeoInterface.crs(geometry).

Keywords

  • always_xy: force x, y coordinate order, true by default. false will expect and return points in the crs coordinate order.

  • time: the time for the coordinates. Inf by default.

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

  • calc_extent: true or false. Whether to calculate the extent. Defaults to false.

source

`,10))]),i("details",y,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeometryOps.transform",href:"#GeometryOps.transform"},[i("span",{class:"jlbinding"},"GeometryOps.transform")],-1)),s[10]||(s[10]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=a(`
julia
transform(f, obj)

Apply a function f to all the points in obj.

Points will be passed to f as an SVector to allow using CoordinateTransformations.jl and Rotations.jl without hassle.

SVector is also a valid GeoInterface.jl point, so will work in all GeoInterface.jl methods.

Example

julia
julia> import GeoInterface as GI
 
 julia> import GeometryOps as GO
 
@@ -26,147 +26,147 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 GeoInterface.Wrappers.Polygon{false, false, Vector{GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.LinearR
 ing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}[GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}(StaticArraysCore.SVe
 ctor{2, Int64}[[2, 1], [4, 3], [6, 5], [2, 1]], nothing, nothing), GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}(StaticArraysCore.SVector{2, Int64
-}[[4, 3], [6, 5], [7, 6], [4, 3]], nothing, nothing)], nothing, nothing)

source

`,9))]),s[319]||(s[319]=i("h2",{id:"General-geometry-methods",tabindex:"-1"},[e("General geometry methods "),i("a",{class:"header-anchor",href:"#General-geometry-methods","aria-label":'Permalink to "General geometry methods {#General-geometry-methods}"'},"​")],-1)),s[320]||(s[320]=i("h3",{id:"OGC-methods",tabindex:"-1"},[e("OGC methods "),i("a",{class:"header-anchor",href:"#OGC-methods","aria-label":'Permalink to "OGC methods {#OGC-methods}"'},"​")],-1)),i("details",E,[i("summary",null,[s[12]||(s[12]=i("a",{id:"GeometryOps.contains",href:"#GeometryOps.contains"},[i("span",{class:"jlbinding"},"GeometryOps.contains")],-1)),s[13]||(s[13]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=a(`
julia
contains(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the second geometry is completely contained by the first geometry. The interiors of both geometries must intersect and the interior and boundary of the secondary (g2) must not intersect the exterior of the first (g1).

contains returns the exact opposite result of within.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+}[[4, 3], [6, 5], [7, 6], [4, 3]], nothing, nothing)], nothing, nothing)

source

`,9))]),s[319]||(s[319]=i("h2",{id:"General-geometry-methods",tabindex:"-1"},[e("General geometry methods "),i("a",{class:"header-anchor",href:"#General-geometry-methods","aria-label":'Permalink to "General geometry methods {#General-geometry-methods}"'},"​")],-1)),s[320]||(s[320]=i("h3",{id:"OGC-methods",tabindex:"-1"},[e("OGC methods "),i("a",{class:"header-anchor",href:"#OGC-methods","aria-label":'Permalink to "OGC methods {#OGC-methods}"'},"​")],-1)),i("details",E,[i("summary",null,[s[12]||(s[12]=i("a",{id:"GeometryOps.contains",href:"#GeometryOps.contains"},[i("span",{class:"jlbinding"},"GeometryOps.contains")],-1)),s[13]||(s[13]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=a(`
julia
contains(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the second geometry is completely contained by the first geometry. The interiors of both geometries must intersect and the interior and boundary of the secondary (g2) must not intersect the exterior of the first (g1).

contains returns the exact opposite result of within.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = GI.Point((1, 2))
 
 GO.contains(line, point)
 # output
-true

source

`,6))]),i("details",c,[i("summary",null,[s[15]||(s[15]=i("a",{id:"GeometryOps.coveredby",href:"#GeometryOps.coveredby"},[i("span",{class:"jlbinding"},"GeometryOps.coveredby")],-1)),s[16]||(s[16]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[17]||(s[17]=a(`
julia
coveredby(g1, g2)::Bool

Return true if the first geometry is completely covered by the second geometry. The interior and boundary of the primary geometry (g1) must not intersect the exterior of the secondary geometry (g2).

Furthermore, coveredby returns the exact opposite result of covers. They are equivalent with the order of the arguments swapped.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),i("details",c,[i("summary",null,[s[15]||(s[15]=i("a",{id:"GeometryOps.coveredby",href:"#GeometryOps.coveredby"},[i("span",{class:"jlbinding"},"GeometryOps.coveredby")],-1)),s[16]||(s[16]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[17]||(s[17]=a(`
julia
coveredby(g1, g2)::Bool

Return true if the first geometry is completely covered by the second geometry. The interior and boundary of the primary geometry (g1) must not intersect the exterior of the secondary geometry (g2).

Furthermore, coveredby returns the exact opposite result of covers. They are equivalent with the order of the arguments swapped.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 p1 = GI.Point(0.0, 0.0)
 p2 = GI.Point(1.0, 1.0)
 l1 = GI.Line([p1, p2])
 
 GO.coveredby(p1, l1)
 # output
-true

source

`,6))]),i("details",u,[i("summary",null,[s[18]||(s[18]=i("a",{id:"GeometryOps.covers",href:"#GeometryOps.covers"},[i("span",{class:"jlbinding"},"GeometryOps.covers")],-1)),s[19]||(s[19]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[20]||(s[20]=a(`
julia
covers(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the first geometry is completely covers the second geometry, The exterior and boundary of the second geometry must not be outside of the interior and boundary of the first geometry. However, the interiors need not intersect.

covers returns the exact opposite result of coveredby.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),i("details",u,[i("summary",null,[s[18]||(s[18]=i("a",{id:"GeometryOps.covers",href:"#GeometryOps.covers"},[i("span",{class:"jlbinding"},"GeometryOps.covers")],-1)),s[19]||(s[19]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[20]||(s[20]=a(`
julia
covers(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the first geometry is completely covers the second geometry, The exterior and boundary of the second geometry must not be outside of the interior and boundary of the first geometry. However, the interiors need not intersect.

covers returns the exact opposite result of coveredby.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 l1 = GI.LineString([(1.0, 1.0), (1.0, 2.0), (1.0, 3.0), (1.0, 4.0)])
 l2 = GI.LineString([(1.0, 1.0), (1.0, 2.0)])
 
 GO.covers(l1, l2)
 # output
-true

source

`,6))]),i("details",m,[i("summary",null,[s[21]||(s[21]=i("a",{id:"GeometryOps.crosses",href:"#GeometryOps.crosses"},[i("span",{class:"jlbinding"},"GeometryOps.crosses")],-1)),s[22]||(s[22]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[23]||(s[23]=a(`
julia
 crosses(geom1, geom2)::Bool

Return true if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries.

TODO: broken

Examples

julia
import GeoInterface as GI, GeometryOps as GO
-# TODO: Add working example

source

`,6))]),i("details",F,[i("summary",null,[s[24]||(s[24]=i("a",{id:"GeometryOps.disjoint",href:"#GeometryOps.disjoint"},[i("span",{class:"jlbinding"},"GeometryOps.disjoint")],-1)),s[25]||(s[25]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[26]||(s[26]=a(`
julia
disjoint(geom1, geom2)::Bool

Return true if the first geometry is disjoint from the second geometry.

Return true if the first geometry is disjoint from the second geometry. The interiors and boundaries of both geometries must not intersect.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),i("details",m,[i("summary",null,[s[21]||(s[21]=i("a",{id:"GeometryOps.crosses",href:"#GeometryOps.crosses"},[i("span",{class:"jlbinding"},"GeometryOps.crosses")],-1)),s[22]||(s[22]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[23]||(s[23]=a(`
julia
 crosses(geom1, geom2)::Bool

Return true if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries.

TODO: broken

Examples

julia
import GeoInterface as GI, GeometryOps as GO
+# TODO: Add working example

source

`,6))]),i("details",F,[i("summary",null,[s[24]||(s[24]=i("a",{id:"GeometryOps.disjoint",href:"#GeometryOps.disjoint"},[i("span",{class:"jlbinding"},"GeometryOps.disjoint")],-1)),s[25]||(s[25]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[26]||(s[26]=a(`
julia
disjoint(geom1, geom2)::Bool

Return true if the first geometry is disjoint from the second geometry.

Return true if the first geometry is disjoint from the second geometry. The interiors and boundaries of both geometries must not intersect.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = (2, 2)
 GO.disjoint(point, line)
 
 # output
-true

source

`,6))]),i("details",C,[i("summary",null,[s[27]||(s[27]=i("a",{id:"GeometryOps.intersects",href:"#GeometryOps.intersects"},[i("span",{class:"jlbinding"},"GeometryOps.intersects")],-1)),s[28]||(s[28]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[29]||(s[29]=a(`
julia
intersects(geom1, geom2)::Bool

Return true if the interiors or boundaries of the two geometries interact.

intersects returns the exact opposite result of disjoint.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+true

source

`,6))]),i("details",C,[i("summary",null,[s[27]||(s[27]=i("a",{id:"GeometryOps.intersects",href:"#GeometryOps.intersects"},[i("span",{class:"jlbinding"},"GeometryOps.intersects")],-1)),s[28]||(s[28]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[29]||(s[29]=a(`
julia
intersects(geom1, geom2)::Bool

Return true if the interiors or boundaries of the two geometries interact.

intersects returns the exact opposite result of disjoint.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 line1 = GI.Line([(124.584961,-12.768946), (126.738281,-17.224758)])
 line2 = GI.Line([(123.354492,-15.961329), (127.22168,-14.008696)])
 GO.intersects(line1, line2)
 
 # output
-true

source

`,6))]),i("details",b,[i("summary",null,[s[30]||(s[30]=i("a",{id:"GeometryOps.overlaps",href:"#GeometryOps.overlaps"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[31]||(s[31]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[32]||(s[32]=a(`
julia
overlaps(geom1, geom2)::Bool

Compare two Geometries of the same dimension and return true if their intersection set results in a geometry different from both but of the same dimension. This means one geometry cannot be within or contain the other and they cannot be equal

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),i("details",b,[i("summary",null,[s[30]||(s[30]=i("a",{id:"GeometryOps.overlaps",href:"#GeometryOps.overlaps"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[31]||(s[31]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[32]||(s[32]=a(`
julia
overlaps(geom1, geom2)::Bool

Compare two Geometries of the same dimension and return true if their intersection set results in a geometry different from both but of the same dimension. This means one geometry cannot be within or contain the other and they cannot be equal

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 poly1 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 poly2 = GI.Polygon([[(1,1), (1,6), (6,6), (6,1), (1,1)]])
 
 GO.overlaps(poly1, poly2)
 # output
-true

source

julia
overlaps(::GI.AbstractTrait, geom1, ::GI.AbstractTrait, geom2)::Bool

For any non-specified pair, all have non-matching dimensions, return false.

source

julia
overlaps(
+true

source

julia
overlaps(::GI.AbstractTrait, geom1, ::GI.AbstractTrait, geom2)::Bool

For any non-specified pair, all have non-matching dimensions, return false.

source

julia
overlaps(
     ::GI.MultiPointTrait, points1,
     ::GI.MultiPointTrait, points2,
-)::Bool

If the multipoints overlap, meaning some, but not all, of the points within the multipoints are shared, return true.

source

julia
overlaps(::GI.LineTrait, line1, ::GI.LineTrait, line)::Bool

If the lines overlap, meaning that they are collinear but each have one endpoint outside of the other line, return true. Else false.

source

julia
overlaps(
+)::Bool

If the multipoints overlap, meaning some, but not all, of the points within the multipoints are shared, return true.

source

julia
overlaps(::GI.LineTrait, line1, ::GI.LineTrait, line)::Bool

If the lines overlap, meaning that they are collinear but each have one endpoint outside of the other line, return true. Else false.

source

julia
overlaps(
     ::Union{GI.LineStringTrait, GI.LinearRing}, line1,
     ::Union{GI.LineStringTrait, GI.LinearRing}, line2,
-)::Bool

If the curves overlap, meaning that at least one edge of each curve overlaps, return true. Else false.

source

julia
overlaps(
+)::Bool

If the curves overlap, meaning that at least one edge of each curve overlaps, return true. Else false.

source

julia
overlaps(
     trait_a::GI.PolygonTrait, poly_a,
     trait_b::GI.PolygonTrait, poly_b,
-)::Bool

If the two polygons intersect with one another, but are not equal, return true. Else false.

source

julia
overlaps(
+)::Bool

If the two polygons intersect with one another, but are not equal, return true. Else false.

source

julia
overlaps(
     ::GI.PolygonTrait, poly1,
     ::GI.MultiPolygonTrait, polys2,
-)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

julia
overlaps(
+)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

julia
overlaps(
     ::GI.MultiPolygonTrait, polys1,
     ::GI.PolygonTrait, poly2,
-)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

julia
overlaps(
+)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

julia
overlaps(
     ::GI.MultiPolygonTrait, polys1,
     ::GI.MultiPolygonTrait, polys2,
-)::Bool

Return true if at least one pair of polygons from multipolygons overlap. Else false.

source

`,29))]),i("details",f,[i("summary",null,[s[33]||(s[33]=i("a",{id:"GeometryOps.touches",href:"#GeometryOps.touches"},[i("span",{class:"jlbinding"},"GeometryOps.touches")],-1)),s[34]||(s[34]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[35]||(s[35]=a(`
julia
touches(geom1, geom2)::Bool

Return true if the first geometry touches the second geometry. In other words, the two interiors cannot interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+)::Bool

Return true if at least one pair of polygons from multipolygons overlap. Else false.

source

`,29))]),i("details",f,[i("summary",null,[s[33]||(s[33]=i("a",{id:"GeometryOps.touches",href:"#GeometryOps.touches"},[i("span",{class:"jlbinding"},"GeometryOps.touches")],-1)),s[34]||(s[34]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[35]||(s[35]=a(`
julia
touches(geom1, geom2)::Bool

Return true if the first geometry touches the second geometry. In other words, the two interiors cannot interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 l1 = GI.Line([(0.0, 0.0), (1.0, 0.0)])
 l2 = GI.Line([(1.0, 1.0), (1.0, -1.0)])
 
 GO.touches(l1, l2)
 # output
-true

source

`,5))]),i("details",T,[i("summary",null,[s[36]||(s[36]=i("a",{id:"GeometryOps.within",href:"#GeometryOps.within"},[i("span",{class:"jlbinding"},"GeometryOps.within")],-1)),s[37]||(s[37]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[38]||(s[38]=a(`
julia
within(geom1, geom2)::Bool

Return true if the first geometry is completely within the second geometry. The interiors of both geometries must intersect and the interior and boundary of the primary geometry (geom1) must not intersect the exterior of the secondary geometry (geom2).

Furthermore, within returns the exact opposite result of contains.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,5))]),i("details",T,[i("summary",null,[s[36]||(s[36]=i("a",{id:"GeometryOps.within",href:"#GeometryOps.within"},[i("span",{class:"jlbinding"},"GeometryOps.within")],-1)),s[37]||(s[37]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[38]||(s[38]=a(`
julia
within(geom1, geom2)::Bool

Return true if the first geometry is completely within the second geometry. The interiors of both geometries must intersect and the interior and boundary of the primary geometry (geom1) must not intersect the exterior of the secondary geometry (geom2).

Furthermore, within returns the exact opposite result of contains.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = (1, 2)
 GO.within(point, line)
 
 # output
-true

source

`,6))]),s[321]||(s[321]=i("h3",{id:"Other-general-methods",tabindex:"-1"},[e("Other general methods "),i("a",{class:"header-anchor",href:"#Other-general-methods","aria-label":'Permalink to "Other general methods {#Other-general-methods}"'},"​")],-1)),i("details",G,[i("summary",null,[s[39]||(s[39]=i("a",{id:"GeometryOps.equals",href:"#GeometryOps.equals"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[40]||(s[40]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[41]||(s[41]=a(`
julia
equals(geom1, geom2)::Bool

Compare two Geometries return true if they are the same geometry.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),s[321]||(s[321]=i("h3",{id:"Other-general-methods",tabindex:"-1"},[e("Other general methods "),i("a",{class:"header-anchor",href:"#Other-general-methods","aria-label":'Permalink to "Other general methods {#Other-general-methods}"'},"​")],-1)),i("details",G,[i("summary",null,[s[39]||(s[39]=i("a",{id:"GeometryOps.equals",href:"#GeometryOps.equals"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[40]||(s[40]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[41]||(s[41]=a(`
julia
equals(geom1, geom2)::Bool

Compare two Geometries return true if they are the same geometry.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 poly1 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 poly2 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 
 GO.equals(poly1, poly2)
 # output
-true

source

julia
equals(::T, geom_a, ::T, geom_b)::Bool

Two geometries of the same type, which don't have a equals function to dispatch off of should throw an error.

source

julia
equals(trait_a, geom_a, trait_b, geom_b)

Two geometries which are not of the same type cannot be equal so they always return false.

source

julia
equals(::GI.PointTrait, p1, ::GI.PointTrait, p2)::Bool

Two points are the same if they have the same x and y (and z if 3D) coordinates.

source

julia
equals(::GI.PointTrait, p1, ::GI.MultiPointTrait, mp2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

julia
equals(::GI.MultiPointTrait, mp1, ::GI.PointTrait, p2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

julia
equals(::GI.MultiPointTrait, mp1, ::GI.MultiPointTrait, mp2)::Bool

Two multipoints are equal if they share the same set of points.

source

julia
equals(
+true

source

julia
equals(::T, geom_a, ::T, geom_b)::Bool

Two geometries of the same type, which don't have a equals function to dispatch off of should throw an error.

source

julia
equals(trait_a, geom_a, trait_b, geom_b)

Two geometries which are not of the same type cannot be equal so they always return false.

source

julia
equals(::GI.PointTrait, p1, ::GI.PointTrait, p2)::Bool

Two points are the same if they have the same x and y (and z if 3D) coordinates.

source

julia
equals(::GI.PointTrait, p1, ::GI.MultiPointTrait, mp2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

julia
equals(::GI.MultiPointTrait, mp1, ::GI.PointTrait, p2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

julia
equals(::GI.MultiPointTrait, mp1, ::GI.MultiPointTrait, mp2)::Bool

Two multipoints are equal if they share the same set of points.

source

julia
equals(
     ::Union{GI.LineTrait, GI.LineStringTrait}, l1,
     ::Union{GI.LineTrait, GI.LineStringTrait}, l2,
-)::Bool

Two lines/linestrings are equal if they share the same set of points going along the curve. Note that lines/linestrings aren't closed by definition.

source

julia
equals(
+)::Bool

Two lines/linestrings are equal if they share the same set of points going along the curve. Note that lines/linestrings aren't closed by definition.

source

julia
equals(
     ::Union{GI.LineTrait, GI.LineStringTrait}, l1,
     ::GI.LinearRingTrait, l2,
-)::Bool

A line/linestring and a linear ring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

julia
equals(
+)::Bool

A line/linestring and a linear ring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

julia
equals(
     ::GI.LinearRingTrait, l1,
     ::Union{GI.LineTrait, GI.LineStringTrait}, l2,
-)::Bool

A linear ring and a line/linestring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

julia
equals(
+)::Bool

A linear ring and a line/linestring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

julia
equals(
     ::GI.LinearRingTrait, l1,
     ::GI.LinearRingTrait, l2,
-)::Bool

Two linear rings are equal if they share the same set of points going along the curve. Note that rings are closed by definition, so they can have, but don't need, a repeated last point to be equal.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two polygons are equal if they share the same exterior edge and holes.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.MultiPolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

julia
equals(::GI.MultiPolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two multipolygons are equal if they share the same set of polygons.

source

`,47))]),i("details",v,[i("summary",null,[s[42]||(s[42]=i("a",{id:"GeometryOps.centroid",href:"#GeometryOps.centroid"},[i("span",{class:"jlbinding"},"GeometryOps.centroid")],-1)),s[43]||(s[43]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[44]||(s[44]=a('
julia
centroid(geom, [T=Float64])::Tuple{T, T}

Returns the centroid of a given line segment, linear ring, polygon, or mutlipolygon.

source

',3))]),i("details",A,[i("summary",null,[s[45]||(s[45]=i("a",{id:"GeometryOps.distance",href:"#GeometryOps.distance"},[i("span",{class:"jlbinding"},"GeometryOps.distance")],-1)),s[46]||(s[46]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[47]||(s[47]=a('
julia
distance(point, geom, ::Type{T} = Float64)::T

Calculates the ditance from the geometry g1 to the point. The distance will always be positive or zero.

The method will differ based on the type of the geometry provided: - The distance from a point to a point is just the Euclidean distance between the points. - The distance from a point to a line is the minimum distance from the point to the closest point on the given line. - The distance from a point to a linestring is the minimum distance from the point to the closest segment of the linestring. - The distance from a point to a linear ring is the minimum distance from the point to the closest segment of the linear ring. - The distance from a point to a polygon is zero if the point is within the polygon and otherwise is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The distance from a point to a multigeometry or a geometry collection is the minimum distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',5))]),i("details",j,[i("summary",null,[s[48]||(s[48]=i("a",{id:"GeometryOps.signed_distance",href:"#GeometryOps.signed_distance"},[i("span",{class:"jlbinding"},"GeometryOps.signed_distance")],-1)),s[49]||(s[49]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[50]||(s[50]=a('
julia
signed_distance(point, geom, ::Type{T} = Float64)::T

Calculates the signed distance from the geometry geom to the given point. Points within geom have a negative signed distance, and points outside of geom have a positive signed distance. - The signed distance from a point to a point, line, linestring, or linear ring is equal to the distance between the two. - The signed distance from a point to a polygon is negative if the point is within the polygon and is positive otherwise. The value of the distance is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The signed distance from a point to a multigeometry or a geometry collection is the minimum signed distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',4))]),i("details",B,[i("summary",null,[s[51]||(s[51]=i("a",{id:"GeometryOps.area",href:"#GeometryOps.area"},[i("span",{class:"jlbinding"},"GeometryOps.area")],-1)),s[52]||(s[52]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[53]||(s[53]=a(`
julia
area(geom, [T = Float64])::T

Returns the area of a geometry or collection of geometries. This is computed slightly differently for different geometries:

- The area of a point/multipoint is always zero.
+)::Bool

Two linear rings are equal if they share the same set of points going along the curve. Note that rings are closed by definition, so they can have, but don't need, a repeated last point to be equal.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two polygons are equal if they share the same exterior edge and holes.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.MultiPolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

julia
equals(::GI.MultiPolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two multipolygons are equal if they share the same set of polygons.

source

`,47))]),i("details",v,[i("summary",null,[s[42]||(s[42]=i("a",{id:"GeometryOps.centroid",href:"#GeometryOps.centroid"},[i("span",{class:"jlbinding"},"GeometryOps.centroid")],-1)),s[43]||(s[43]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[44]||(s[44]=a('
julia
centroid(geom, [T=Float64])::Tuple{T, T}

Returns the centroid of a given line segment, linear ring, polygon, or mutlipolygon.

source

',3))]),i("details",A,[i("summary",null,[s[45]||(s[45]=i("a",{id:"GeometryOps.distance",href:"#GeometryOps.distance"},[i("span",{class:"jlbinding"},"GeometryOps.distance")],-1)),s[46]||(s[46]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[47]||(s[47]=a('
julia
distance(point, geom, ::Type{T} = Float64)::T

Calculates the ditance from the geometry g1 to the point. The distance will always be positive or zero.

The method will differ based on the type of the geometry provided: - The distance from a point to a point is just the Euclidean distance between the points. - The distance from a point to a line is the minimum distance from the point to the closest point on the given line. - The distance from a point to a linestring is the minimum distance from the point to the closest segment of the linestring. - The distance from a point to a linear ring is the minimum distance from the point to the closest segment of the linear ring. - The distance from a point to a polygon is zero if the point is within the polygon and otherwise is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The distance from a point to a multigeometry or a geometry collection is the minimum distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',5))]),i("details",j,[i("summary",null,[s[48]||(s[48]=i("a",{id:"GeometryOps.signed_distance",href:"#GeometryOps.signed_distance"},[i("span",{class:"jlbinding"},"GeometryOps.signed_distance")],-1)),s[49]||(s[49]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[50]||(s[50]=a('
julia
signed_distance(point, geom, ::Type{T} = Float64)::T

Calculates the signed distance from the geometry geom to the given point. Points within geom have a negative signed distance, and points outside of geom have a positive signed distance. - The signed distance from a point to a point, line, linestring, or linear ring is equal to the distance between the two. - The signed distance from a point to a polygon is negative if the point is within the polygon and is positive otherwise. The value of the distance is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The signed distance from a point to a multigeometry or a geometry collection is the minimum signed distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',4))]),i("details",B,[i("summary",null,[s[51]||(s[51]=i("a",{id:"GeometryOps.area",href:"#GeometryOps.area"},[i("span",{class:"jlbinding"},"GeometryOps.area")],-1)),s[52]||(s[52]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[53]||(s[53]=a(`
julia
area(geom, [T = Float64])::T

Returns the area of a geometry or collection of geometries. This is computed slightly differently for different geometries:

- The area of a point/multipoint is always zero.
 - The area of a curve/multicurve is always zero.
 - The area of a polygon is the absolute value of the signed area.
 - The area multi-polygon is the sum of the areas of all of the sub-polygons.
 - The area of a geometry collection, feature collection of array/iterable 
-    is the sum of the areas of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",O,[i("summary",null,[s[54]||(s[54]=i("a",{id:"GeometryOps.signed_area",href:"#GeometryOps.signed_area"},[i("span",{class:"jlbinding"},"GeometryOps.signed_area")],-1)),s[55]||(s[55]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[56]||(s[56]=a(`
julia
signed_area(geom, [T = Float64])::T

Returns the signed area of a single geometry, based on winding order. This is computed slightly differently for different geometries:

- The signed area of a point is always zero.
+    is the sum of the areas of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",O,[i("summary",null,[s[54]||(s[54]=i("a",{id:"GeometryOps.signed_area",href:"#GeometryOps.signed_area"},[i("span",{class:"jlbinding"},"GeometryOps.signed_area")],-1)),s[55]||(s[55]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[56]||(s[56]=a(`
julia
signed_area(geom, [T = Float64])::T

Returns the signed area of a single geometry, based on winding order. This is computed slightly differently for different geometries:

- The signed area of a point is always zero.
 - The signed area of a curve is always zero.
 - The signed area of a polygon is computed with the shoelace formula and is
 positive if the polygon coordinates wind clockwise and negative if
 counterclockwise.
 - You cannot compute the signed area of a multipolygon as it doesn't have a
-meaning as each sub-polygon could have a different winding order.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",D,[i("summary",null,[s[57]||(s[57]=i("a",{id:"GeometryOps.angles",href:"#GeometryOps.angles"},[i("span",{class:"jlbinding"},"GeometryOps.angles")],-1)),s[58]||(s[58]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[59]||(s[59]=a(`
julia
angles(geom, ::Type{T} = Float64)

Returns the angles of a geometry or collection of geometries. This is computed differently for different geometries:

- The angles of a point is an empty vector.
+meaning as each sub-polygon could have a different winding order.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",D,[i("summary",null,[s[57]||(s[57]=i("a",{id:"GeometryOps.angles",href:"#GeometryOps.angles"},[i("span",{class:"jlbinding"},"GeometryOps.angles")],-1)),s[58]||(s[58]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[59]||(s[59]=a(`
julia
angles(geom, ::Type{T} = Float64)

Returns the angles of a geometry or collection of geometries. This is computed differently for different geometries:

- The angles of a point is an empty vector.
 - The angles of a single line segment is an empty vector.
 - The angles of a linestring or linearring is a vector of angles formed by the curve.
 - The angles of a polygon is a vector of vectors of angles formed by each ring.
 - The angles of a multi-geometry collection is a vector of the angles of each of the
-    sub-geometries as defined above.

Result will be a Vector, or nested set of vectors, of type T where an optional argument with a default value of Float64.

source

`,5))]),i("details",Q,[i("summary",null,[s[60]||(s[60]=i("a",{id:"GeometryOps.embed_extent",href:"#GeometryOps.embed_extent"},[i("span",{class:"jlbinding"},"GeometryOps.embed_extent")],-1)),s[61]||(s[61]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[62]||(s[62]=a('
julia
embed_extent(obj)

Recursively wrap the object with a GeoInterface.jl geometry, calculating and adding an Extents.Extent to all objects.

This can improve performance when extents need to be checked multiple times, such when needing to check if many points are in geometries, and using their extents as a quick filter for obviously exterior points.

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

source

',6))]),s[322]||(s[322]=i("h2",{id:"Barycentric-coordinates",tabindex:"-1"},[e("Barycentric coordinates "),i("a",{class:"header-anchor",href:"#Barycentric-coordinates","aria-label":'Permalink to "Barycentric coordinates {#Barycentric-coordinates}"'},"​")],-1)),i("details",x,[i("summary",null,[s[63]||(s[63]=i("a",{id:"GeometryOps.barycentric_coordinates",href:"#GeometryOps.barycentric_coordinates"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates")],-1)),s[64]||(s[64]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=a('
julia
barycentric_coordinates(method = MeanValue(), polygon, point)

Returns the barycentric coordinates of point in polygon using the barycentric coordinate method method.

source

',3))]),i("details",w,[i("summary",null,[s[66]||(s[66]=i("a",{id:"GeometryOps.barycentric_coordinates!",href:"#GeometryOps.barycentric_coordinates!"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates!")],-1)),s[67]||(s[67]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[68]||(s[68]=a('
julia
barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, polygon, point)

Loads the barycentric coordinates of point in polygon into λs using the barycentric coordinate method method.

λs must be of the length of the polygon plus its holes.

Tip

Use this method to avoid excess allocations when you need to calculate barycentric coordinates for many points.

source

',5))]),i("details",L,[i("summary",null,[s[69]||(s[69]=i("a",{id:"GeometryOps.barycentric_interpolate",href:"#GeometryOps.barycentric_interpolate"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_interpolate")],-1)),s[70]||(s[70]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[71]||(s[71]=a('
julia
barycentric_interpolate(method = MeanValue(), polygon, values::AbstractVector{V}, point)

Returns the interpolated value at point within polygon using the barycentric coordinate method method. values are the per-point values for the polygon which are to be interpolated.

Returns an object of type V.

Warning

Barycentric interpolation is currently defined only for 2-dimensional polygons. If you pass a 3-D polygon in, the Z coordinate will be used as per-vertex value to be interpolated (the M coordinate in GIS parlance).

source

',5))]),s[323]||(s[323]=i("h2",{id:"Other-methods",tabindex:"-1"},[e("Other methods "),i("a",{class:"header-anchor",href:"#Other-methods","aria-label":'Permalink to "Other methods {#Other-methods}"'},"​")],-1)),i("details",I,[i("summary",null,[s[72]||(s[72]=i("a",{id:"GeometryOps.AbstractBarycentricCoordinateMethod",href:"#GeometryOps.AbstractBarycentricCoordinateMethod"},[i("span",{class:"jlbinding"},"GeometryOps.AbstractBarycentricCoordinateMethod")],-1)),s[73]||(s[73]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[74]||(s[74]=a('
julia
abstract type AbstractBarycentricCoordinateMethod

Abstract supertype for barycentric coordinate methods. The subtypes may serve as dispatch types, or may cache some information about the target polygon.

API

The following methods must be implemented for all subtypes:

  • barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, exterior::Vector{<: Point{2, T1}}, point::Point{2, T2})

  • barycentric_interpolate(method::AbstractBarycentricCoordinateMethod, exterior::Vector{<: Point{2, T1}}, values::Vector{V}, point::Point{2, T2})::V

  • barycentric_interpolate(method::AbstractBarycentricCoordinateMethod, exterior::Vector{<: Point{2, T1}}, interiors::Vector{<: Vector{<: Point{2, T1}}} values::Vector{V}, point::Point{2, T2})::V

The rest of the methods will be implemented in terms of these, and have efficient dispatches for broadcasting.

source

',7))]),i("details",M,[i("summary",null,[s[75]||(s[75]=i("a",{id:"GeometryOps.ClosedRing",href:"#GeometryOps.ClosedRing"},[i("span",{class:"jlbinding"},"GeometryOps.ClosedRing")],-1)),s[76]||(s[76]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[77]||(s[77]=a('
julia
ClosedRing() <: GeometryCorrection

This correction ensures that a polygon's exterior and interior rings are closed.

It can be called on any geometry correction as usual.

See also GeometryCorrection.

source

',5))]),i("details",P,[i("summary",null,[s[78]||(s[78]=i("a",{id:"GeometryOps.DiffIntersectingPolygons",href:"#GeometryOps.DiffIntersectingPolygons"},[i("span",{class:"jlbinding"},"GeometryOps.DiffIntersectingPolygons")],-1)),s[79]||(s[79]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[80]||(s[80]=a('
julia
DiffIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygons included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be made nonintersecting through the difference operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area. See also GeometryCorrection, UnionIntersectingPolygons.

source

',3))]),i("details",q,[i("summary",null,[s[81]||(s[81]=i("a",{id:"GeometryOps.DouglasPeucker",href:"#GeometryOps.DouglasPeucker"},[i("span",{class:"jlbinding"},"GeometryOps.DouglasPeucker")],-1)),s[82]||(s[82]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[83]||(s[83]=a(`
julia
DouglasPeucker <: SimplifyAlg
+    sub-geometries as defined above.

Result will be a Vector, or nested set of vectors, of type T where an optional argument with a default value of Float64.

source

`,5))]),i("details",Q,[i("summary",null,[s[60]||(s[60]=i("a",{id:"GeometryOps.embed_extent",href:"#GeometryOps.embed_extent"},[i("span",{class:"jlbinding"},"GeometryOps.embed_extent")],-1)),s[61]||(s[61]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[62]||(s[62]=a('
julia
embed_extent(obj)

Recursively wrap the object with a GeoInterface.jl geometry, calculating and adding an Extents.Extent to all objects.

This can improve performance when extents need to be checked multiple times, such when needing to check if many points are in geometries, and using their extents as a quick filter for obviously exterior points.

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

source

',6))]),s[322]||(s[322]=i("h2",{id:"Barycentric-coordinates",tabindex:"-1"},[e("Barycentric coordinates "),i("a",{class:"header-anchor",href:"#Barycentric-coordinates","aria-label":'Permalink to "Barycentric coordinates {#Barycentric-coordinates}"'},"​")],-1)),i("details",x,[i("summary",null,[s[63]||(s[63]=i("a",{id:"GeometryOps.barycentric_coordinates",href:"#GeometryOps.barycentric_coordinates"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates")],-1)),s[64]||(s[64]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=a('
julia
barycentric_coordinates(method = MeanValue(), polygon, point)

Returns the barycentric coordinates of point in polygon using the barycentric coordinate method method.

source

',3))]),i("details",w,[i("summary",null,[s[66]||(s[66]=i("a",{id:"GeometryOps.barycentric_coordinates!",href:"#GeometryOps.barycentric_coordinates!"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates!")],-1)),s[67]||(s[67]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[68]||(s[68]=a('
julia
barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, polygon, point)

Loads the barycentric coordinates of point in polygon into λs using the barycentric coordinate method method.

λs must be of the length of the polygon plus its holes.

Tip

Use this method to avoid excess allocations when you need to calculate barycentric coordinates for many points.

source

',5))]),i("details",L,[i("summary",null,[s[69]||(s[69]=i("a",{id:"GeometryOps.barycentric_interpolate",href:"#GeometryOps.barycentric_interpolate"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_interpolate")],-1)),s[70]||(s[70]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[71]||(s[71]=a('
julia
barycentric_interpolate(method = MeanValue(), polygon, values::AbstractVector{V}, point)

Returns the interpolated value at point within polygon using the barycentric coordinate method method. values are the per-point values for the polygon which are to be interpolated.

Returns an object of type V.

Warning

Barycentric interpolation is currently defined only for 2-dimensional polygons. If you pass a 3-D polygon in, the Z coordinate will be used as per-vertex value to be interpolated (the M coordinate in GIS parlance).

source

',5))]),s[323]||(s[323]=i("h2",{id:"Other-methods",tabindex:"-1"},[e("Other methods "),i("a",{class:"header-anchor",href:"#Other-methods","aria-label":'Permalink to "Other methods {#Other-methods}"'},"​")],-1)),i("details",I,[i("summary",null,[s[72]||(s[72]=i("a",{id:"GeometryOps.AbstractBarycentricCoordinateMethod",href:"#GeometryOps.AbstractBarycentricCoordinateMethod"},[i("span",{class:"jlbinding"},"GeometryOps.AbstractBarycentricCoordinateMethod")],-1)),s[73]||(s[73]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[74]||(s[74]=a('
julia
abstract type AbstractBarycentricCoordinateMethod

Abstract supertype for barycentric coordinate methods. The subtypes may serve as dispatch types, or may cache some information about the target polygon.

API

The following methods must be implemented for all subtypes:

  • barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, exterior::Vector{<: Point{2, T1}}, point::Point{2, T2})

  • barycentric_interpolate(method::AbstractBarycentricCoordinateMethod, exterior::Vector{<: Point{2, T1}}, values::Vector{V}, point::Point{2, T2})::V

  • barycentric_interpolate(method::AbstractBarycentricCoordinateMethod, exterior::Vector{<: Point{2, T1}}, interiors::Vector{<: Vector{<: Point{2, T1}}} values::Vector{V}, point::Point{2, T2})::V

The rest of the methods will be implemented in terms of these, and have efficient dispatches for broadcasting.

source

',7))]),i("details",M,[i("summary",null,[s[75]||(s[75]=i("a",{id:"GeometryOps.ClosedRing",href:"#GeometryOps.ClosedRing"},[i("span",{class:"jlbinding"},"GeometryOps.ClosedRing")],-1)),s[76]||(s[76]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[77]||(s[77]=a('
julia
ClosedRing() <: GeometryCorrection

This correction ensures that a polygon's exterior and interior rings are closed.

It can be called on any geometry correction as usual.

See also GeometryCorrection.

source

',5))]),i("details",P,[i("summary",null,[s[78]||(s[78]=i("a",{id:"GeometryOps.DiffIntersectingPolygons",href:"#GeometryOps.DiffIntersectingPolygons"},[i("span",{class:"jlbinding"},"GeometryOps.DiffIntersectingPolygons")],-1)),s[79]||(s[79]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[80]||(s[80]=a('
julia
DiffIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygons included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be made nonintersecting through the difference operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area. See also GeometryCorrection, UnionIntersectingPolygons.

source

',3))]),i("details",q,[i("summary",null,[s[81]||(s[81]=i("a",{id:"GeometryOps.DouglasPeucker",href:"#GeometryOps.DouglasPeucker"},[i("span",{class:"jlbinding"},"GeometryOps.DouglasPeucker")],-1)),s[82]||(s[82]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[83]||(s[83]=a(`
julia
DouglasPeucker <: SimplifyAlg
 
-DouglasPeucker(; number, ratio, tol)

Simplifies geometries by removing points below tol distance from the line between its neighboring points.

Keywords

  • ratio: the fraction of points that should remain after simplify. Useful as it will generalise for large collections of objects.

  • number: the number of points that should remain after simplify. Less useful for large collections of mixed size objects.

  • tol: the minimum distance a point will be from the line joining its neighboring points.

Note: user input tol is squared to avoid unnecessary computation in algorithm.

source

`,6))]),i("details",R,[i("summary",null,[s[84]||(s[84]=i("a",{id:"GeometryOps.GEOS",href:"#GeometryOps.GEOS"},[i("span",{class:"jlbinding"},"GeometryOps.GEOS")],-1)),s[85]||(s[85]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[86]||(s[86]=a('
julia
GEOS(; params...)

A struct which instructs the method it's passed to as an algorithm to use the appropriate GEOS function via LibGEOS.jl for the operation.

Dispatch is generally carried out using the names of the keyword arguments. For example, segmentize will only accept a GEOS struct with only a max_distance keyword, and no other.

It's generally a lot slower than the native Julia implementations, since it must convert to the LibGEOS implementation and back - so be warned!

source

',5))]),i("details",S,[i("summary",null,[s[87]||(s[87]=i("a",{id:"GeometryOps.GeodesicSegments",href:"#GeometryOps.GeodesicSegments"},[i("span",{class:"jlbinding"},"GeometryOps.GeodesicSegments")],-1)),s[88]||(s[88]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[89]||(s[89]=a('
julia
GeodesicSegments(; max_distance::Real, equatorial_radius::Real=6378137, flattening::Real=1/298.257223563)

A method for segmentizing geometries by adding extra vertices to the geometry so that no segment is longer than a given distance. This method calculates the distance between points on the geodesic, and assumes input in lat/long coordinates.

Warning

Any input geometries must be in lon/lat coordinates! If not, the method may fail or error.

Arguments

  • max_distance::Real: The maximum distance, in meters, between vertices in the geometry.

  • equatorial_radius::Real=6378137: The equatorial radius of the Earth, in meters. Passed to Proj.geod_geodesic.

  • flattening::Real=1/298.257223563: The flattening of the Earth, which is the ratio of the difference between the equatorial and polar radii to the equatorial radius. Passed to Proj.geod_geodesic.

One can also omit the equatorial_radius and flattening keyword arguments, and pass a geodesic object directly to the eponymous keyword.

This method uses the Proj/GeographicLib API for geodesic calculations.

source

',8))]),i("details",V,[i("summary",null,[s[90]||(s[90]=i("a",{id:"GeometryOps.GeometryCorrection",href:"#GeometryOps.GeometryCorrection"},[i("span",{class:"jlbinding"},"GeometryOps.GeometryCorrection")],-1)),s[91]||(s[91]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[92]||(s[92]=a('
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

',5))]),i("details",J,[i("summary",null,[s[93]||(s[93]=i("a",{id:"GeometryOps.LineOrientation",href:"#GeometryOps.LineOrientation"},[i("span",{class:"jlbinding"},"GeometryOps.LineOrientation")],-1)),s[94]||(s[94]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[95]||(s[95]=a('
julia
Enum LineOrientation

Enum for the orientation of a line with respect to a curve. A line can be line_cross (crossing over the curve), line_hinge (crossing the endpoint of the curve), line_over (collinear with the curve), or line_out (not interacting with the curve).

source

',3))]),i("details",U,[i("summary",null,[s[96]||(s[96]=i("a",{id:"GeometryOps.LinearSegments",href:"#GeometryOps.LinearSegments"},[i("span",{class:"jlbinding"},"GeometryOps.LinearSegments")],-1)),s[97]||(s[97]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[98]||(s[98]=a('
julia
LinearSegments(; max_distance::Real)

A method for segmentizing geometries by adding extra vertices to the geometry so that no segment is longer than a given distance.

Here, max_distance is a purely nondimensional quantity and will apply in the input space. This is to say, that if the polygon is provided in lat/lon coordinates then the max_distance will be in degrees of arc. If the polygon is provided in meters, then the max_distance will be in meters.

source

',4))]),i("details",H,[i("summary",null,[s[99]||(s[99]=i("a",{id:"GeometryOps.MeanValue",href:"#GeometryOps.MeanValue"},[i("span",{class:"jlbinding"},"GeometryOps.MeanValue")],-1)),s[100]||(s[100]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[101]||(s[101]=a('
julia
MeanValue() <: AbstractBarycentricCoordinateMethod

This method calculates barycentric coordinates using the mean value method.

References

source

',4))]),i("details",N,[i("summary",null,[s[102]||(s[102]=i("a",{id:"GeometryOps.MonotoneChainMethod",href:"#GeometryOps.MonotoneChainMethod"},[i("span",{class:"jlbinding"},"GeometryOps.MonotoneChainMethod")],-1)),s[103]||(s[103]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[104]||(s[104]=a('
julia
MonotoneChainMethod()

This is an algorithm for the convex_hull function.

Uses DelaunayTriangulation.jl to compute the convex hull. This is a pure Julia algorithm which provides an optimal Delaunay triangulation.

See also convex_hull

source

',5))]),i("details",W,[i("summary",null,[s[105]||(s[105]=i("a",{id:"GeometryOps.PointOrientation",href:"#GeometryOps.PointOrientation"},[i("span",{class:"jlbinding"},"GeometryOps.PointOrientation")],-1)),s[106]||(s[106]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[107]||(s[107]=a('
julia
Enum PointOrientation

Enum for the orientation of a point with respect to a curve. A point can be point_in the curve, point_on the curve, or point_out of the curve.

source

',3))]),i("details",z,[i("summary",null,[s[108]||(s[108]=i("a",{id:"GeometryOps.RadialDistance",href:"#GeometryOps.RadialDistance"},[i("span",{class:"jlbinding"},"GeometryOps.RadialDistance")],-1)),s[109]||(s[109]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[110]||(s[110]=a('
julia
RadialDistance <: SimplifyAlg

Simplifies geometries by removing points less than tol distance from the line between its neighboring points.

Keywords

  • ratio: the fraction of points that should remain after simplify. Useful as it will generalise for large collections of objects.

  • number: the number of points that should remain after simplify. Less useful for large collections of mixed size objects.

  • tol: the minimum distance between points.

Note: user input tol is squared to avoid unnecessary computation in algorithm.

source

',6))]),i("details",Z,[i("summary",null,[s[111]||(s[111]=i("a",{id:"GeometryOps.SimplifyAlg",href:"#GeometryOps.SimplifyAlg"},[i("span",{class:"jlbinding"},"GeometryOps.SimplifyAlg")],-1)),s[112]||(s[112]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[113]||(s[113]=a('
julia
abstract type SimplifyAlg

Abstract type for simplification algorithms.

API

For now, the algorithm must hold the number, ratio and tol properties.

Simplification algorithm types can hook into the interface by implementing the _simplify(trait, alg, geom) methods for whichever traits are necessary.

source

',6))]),i("details",_,[i("summary",null,[s[114]||(s[114]=i("a",{id:"GeometryOps.UnionIntersectingPolygons",href:"#GeometryOps.UnionIntersectingPolygons"},[i("span",{class:"jlbinding"},"GeometryOps.UnionIntersectingPolygons")],-1)),s[115]||(s[115]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[116]||(s[116]=a('
julia
UnionIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygon's included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be combined through the union operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area.

See also GeometryCorrection.

source

',4))]),i("details",K,[i("summary",null,[s[117]||(s[117]=i("a",{id:"GeometryOps.VisvalingamWhyatt",href:"#GeometryOps.VisvalingamWhyatt"},[i("span",{class:"jlbinding"},"GeometryOps.VisvalingamWhyatt")],-1)),s[118]||(s[118]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[119]||(s[119]=a(`
julia
VisvalingamWhyatt <: SimplifyAlg
+DouglasPeucker(; number, ratio, tol)

Simplifies geometries by removing points below tol distance from the line between its neighboring points.

Keywords

  • ratio: the fraction of points that should remain after simplify. Useful as it will generalise for large collections of objects.

  • number: the number of points that should remain after simplify. Less useful for large collections of mixed size objects.

  • tol: the minimum distance a point will be from the line joining its neighboring points.

Note: user input tol is squared to avoid unnecessary computation in algorithm.

source

`,6))]),i("details",R,[i("summary",null,[s[84]||(s[84]=i("a",{id:"GeometryOps.GEOS",href:"#GeometryOps.GEOS"},[i("span",{class:"jlbinding"},"GeometryOps.GEOS")],-1)),s[85]||(s[85]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[86]||(s[86]=a('
julia
GEOS(; params...)

A struct which instructs the method it's passed to as an algorithm to use the appropriate GEOS function via LibGEOS.jl for the operation.

Dispatch is generally carried out using the names of the keyword arguments. For example, segmentize will only accept a GEOS struct with only a max_distance keyword, and no other.

It's generally a lot slower than the native Julia implementations, since it must convert to the LibGEOS implementation and back - so be warned!

source

',5))]),i("details",S,[i("summary",null,[s[87]||(s[87]=i("a",{id:"GeometryOps.GeodesicSegments",href:"#GeometryOps.GeodesicSegments"},[i("span",{class:"jlbinding"},"GeometryOps.GeodesicSegments")],-1)),s[88]||(s[88]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[89]||(s[89]=a('
julia
GeodesicSegments(; max_distance::Real, equatorial_radius::Real=6378137, flattening::Real=1/298.257223563)

A method for segmentizing geometries by adding extra vertices to the geometry so that no segment is longer than a given distance. This method calculates the distance between points on the geodesic, and assumes input in lat/long coordinates.

Warning

Any input geometries must be in lon/lat coordinates! If not, the method may fail or error.

Arguments

  • max_distance::Real: The maximum distance, in meters, between vertices in the geometry.

  • equatorial_radius::Real=6378137: The equatorial radius of the Earth, in meters. Passed to Proj.geod_geodesic.

  • flattening::Real=1/298.257223563: The flattening of the Earth, which is the ratio of the difference between the equatorial and polar radii to the equatorial radius. Passed to Proj.geod_geodesic.

One can also omit the equatorial_radius and flattening keyword arguments, and pass a geodesic object directly to the eponymous keyword.

This method uses the Proj/GeographicLib API for geodesic calculations.

source

',8))]),i("details",V,[i("summary",null,[s[90]||(s[90]=i("a",{id:"GeometryOps.GeometryCorrection",href:"#GeometryOps.GeometryCorrection"},[i("span",{class:"jlbinding"},"GeometryOps.GeometryCorrection")],-1)),s[91]||(s[91]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[92]||(s[92]=a('
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

',5))]),i("details",J,[i("summary",null,[s[93]||(s[93]=i("a",{id:"GeometryOps.LineOrientation",href:"#GeometryOps.LineOrientation"},[i("span",{class:"jlbinding"},"GeometryOps.LineOrientation")],-1)),s[94]||(s[94]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[95]||(s[95]=a('
julia
Enum LineOrientation

Enum for the orientation of a line with respect to a curve. A line can be line_cross (crossing over the curve), line_hinge (crossing the endpoint of the curve), line_over (collinear with the curve), or line_out (not interacting with the curve).

source

',3))]),i("details",U,[i("summary",null,[s[96]||(s[96]=i("a",{id:"GeometryOps.LinearSegments",href:"#GeometryOps.LinearSegments"},[i("span",{class:"jlbinding"},"GeometryOps.LinearSegments")],-1)),s[97]||(s[97]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[98]||(s[98]=a('
julia
LinearSegments(; max_distance::Real)

A method for segmentizing geometries by adding extra vertices to the geometry so that no segment is longer than a given distance.

Here, max_distance is a purely nondimensional quantity and will apply in the input space. This is to say, that if the polygon is provided in lat/lon coordinates then the max_distance will be in degrees of arc. If the polygon is provided in meters, then the max_distance will be in meters.

source

',4))]),i("details",H,[i("summary",null,[s[99]||(s[99]=i("a",{id:"GeometryOps.MeanValue",href:"#GeometryOps.MeanValue"},[i("span",{class:"jlbinding"},"GeometryOps.MeanValue")],-1)),s[100]||(s[100]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[101]||(s[101]=a('
julia
MeanValue() <: AbstractBarycentricCoordinateMethod

This method calculates barycentric coordinates using the mean value method.

References

source

',4))]),i("details",N,[i("summary",null,[s[102]||(s[102]=i("a",{id:"GeometryOps.MonotoneChainMethod",href:"#GeometryOps.MonotoneChainMethod"},[i("span",{class:"jlbinding"},"GeometryOps.MonotoneChainMethod")],-1)),s[103]||(s[103]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[104]||(s[104]=a('
julia
MonotoneChainMethod()

This is an algorithm for the convex_hull function.

Uses DelaunayTriangulation.jl to compute the convex hull. This is a pure Julia algorithm which provides an optimal Delaunay triangulation.

See also convex_hull

source

',5))]),i("details",W,[i("summary",null,[s[105]||(s[105]=i("a",{id:"GeometryOps.PointOrientation",href:"#GeometryOps.PointOrientation"},[i("span",{class:"jlbinding"},"GeometryOps.PointOrientation")],-1)),s[106]||(s[106]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[107]||(s[107]=a('
julia
Enum PointOrientation

Enum for the orientation of a point with respect to a curve. A point can be point_in the curve, point_on the curve, or point_out of the curve.

source

',3))]),i("details",z,[i("summary",null,[s[108]||(s[108]=i("a",{id:"GeometryOps.RadialDistance",href:"#GeometryOps.RadialDistance"},[i("span",{class:"jlbinding"},"GeometryOps.RadialDistance")],-1)),s[109]||(s[109]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[110]||(s[110]=a('
julia
RadialDistance <: SimplifyAlg

Simplifies geometries by removing points less than tol distance from the line between its neighboring points.

Keywords

  • ratio: the fraction of points that should remain after simplify. Useful as it will generalise for large collections of objects.

  • number: the number of points that should remain after simplify. Less useful for large collections of mixed size objects.

  • tol: the minimum distance between points.

Note: user input tol is squared to avoid unnecessary computation in algorithm.

source

',6))]),i("details",Z,[i("summary",null,[s[111]||(s[111]=i("a",{id:"GeometryOps.SimplifyAlg",href:"#GeometryOps.SimplifyAlg"},[i("span",{class:"jlbinding"},"GeometryOps.SimplifyAlg")],-1)),s[112]||(s[112]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[113]||(s[113]=a('
julia
abstract type SimplifyAlg

Abstract type for simplification algorithms.

API

For now, the algorithm must hold the number, ratio and tol properties.

Simplification algorithm types can hook into the interface by implementing the _simplify(trait, alg, geom) methods for whichever traits are necessary.

source

',6))]),i("details",_,[i("summary",null,[s[114]||(s[114]=i("a",{id:"GeometryOps.UnionIntersectingPolygons",href:"#GeometryOps.UnionIntersectingPolygons"},[i("span",{class:"jlbinding"},"GeometryOps.UnionIntersectingPolygons")],-1)),s[115]||(s[115]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[116]||(s[116]=a('
julia
UnionIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygon's included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be combined through the union operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area.

See also GeometryCorrection.

source

',4))]),i("details",K,[i("summary",null,[s[117]||(s[117]=i("a",{id:"GeometryOps.VisvalingamWhyatt",href:"#GeometryOps.VisvalingamWhyatt"},[i("span",{class:"jlbinding"},"GeometryOps.VisvalingamWhyatt")],-1)),s[118]||(s[118]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[119]||(s[119]=a(`
julia
VisvalingamWhyatt <: SimplifyAlg
 
-VisvalingamWhyatt(; kw...)

Simplifies geometries by removing points below tol distance from the line between its neighboring points.

Keywords

  • ratio: the fraction of points that should remain after simplify. Useful as it will generalise for large collections of objects.

  • number: the number of points that should remain after simplify. Less useful for large collections of mixed size objects.

  • tol: the minimum area of a triangle made with a point and its neighboring points.

Note: user input tol is doubled to avoid unnecessary computation in algorithm.

source

`,6))]),i("details",X,[i("summary",null,[s[120]||(s[120]=i("a",{id:"GeometryOps._det-Union{Tuple{T2}, Tuple{T1}, Tuple{Union{Tuple{T1, T1}, StaticArraysCore.StaticArray{Tuple{2}, T1, 1}}, Union{Tuple{T2, T2}, StaticArraysCore.StaticArray{Tuple{2}, T2, 1}}}} where {T1<:Real, T2<:Real}",href:"#GeometryOps._det-Union{Tuple{T2}, Tuple{T1}, Tuple{Union{Tuple{T1, T1}, StaticArraysCore.StaticArray{Tuple{2}, T1, 1}}, Union{Tuple{T2, T2}, StaticArraysCore.StaticArray{Tuple{2}, T2, 1}}}} where {T1<:Real, T2<:Real}"},[i("span",{class:"jlbinding"},"GeometryOps._det")],-1)),s[121]||(s[121]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[122]||(s[122]=a('
julia
_det(s1::Point2{T1}, s2::Point2{T2}) where {T1 <: Real, T2 <: Real}

Returns the determinant of the matrix formed by hcat'ing two points s1 and s2.

Specifically, this is:

julia
s1[1] * s2[2] - s1[2] * s2[1]

source

',5))]),i("details",$,[i("summary",null,[s[123]||(s[123]=i("a",{id:"GeometryOps._equals_curves-NTuple{4, Any}",href:"#GeometryOps._equals_curves-NTuple{4, Any}"},[i("span",{class:"jlbinding"},"GeometryOps._equals_curves")],-1)),s[124]||(s[124]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[125]||(s[125]=a('
julia
_equals_curves(c1, c2, closed_type1, closed_type2)::Bool

Two curves are equal if they share the same set of point, representing the same geometry. Both curves must must be composed of the same set of points, however, they do not have to wind in the same direction, or start on the same point to be equivalent. Inputs: c1 first geometry c2 second geometry closed_type1::Bool true if c1 is closed by definition (polygon, linear ring) closed_type2::Bool true if c2 is closed by definition (polygon, linear ring)

source

',3))]),i("details",Y,[i("summary",null,[s[126]||(s[126]=i("a",{id:"GeometryOps.angles-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.angles-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.angles")],-1)),s[127]||(s[127]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[128]||(s[128]=a(`
julia
angles(geom, ::Type{T} = Float64)

Returns the angles of a geometry or collection of geometries. This is computed differently for different geometries:

- The angles of a point is an empty vector.
+VisvalingamWhyatt(; kw...)

Simplifies geometries by removing points below tol distance from the line between its neighboring points.

Keywords

  • ratio: the fraction of points that should remain after simplify. Useful as it will generalise for large collections of objects.

  • number: the number of points that should remain after simplify. Less useful for large collections of mixed size objects.

  • tol: the minimum area of a triangle made with a point and its neighboring points.

Note: user input tol is doubled to avoid unnecessary computation in algorithm.

source

`,6))]),i("details",X,[i("summary",null,[s[120]||(s[120]=i("a",{id:"GeometryOps._det-Union{Tuple{T2}, Tuple{T1}, Tuple{Union{Tuple{T1, T1}, StaticArraysCore.StaticArray{Tuple{2}, T1, 1}}, Union{Tuple{T2, T2}, StaticArraysCore.StaticArray{Tuple{2}, T2, 1}}}} where {T1<:Real, T2<:Real}",href:"#GeometryOps._det-Union{Tuple{T2}, Tuple{T1}, Tuple{Union{Tuple{T1, T1}, StaticArraysCore.StaticArray{Tuple{2}, T1, 1}}, Union{Tuple{T2, T2}, StaticArraysCore.StaticArray{Tuple{2}, T2, 1}}}} where {T1<:Real, T2<:Real}"},[i("span",{class:"jlbinding"},"GeometryOps._det")],-1)),s[121]||(s[121]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[122]||(s[122]=a('
julia
_det(s1::Point2{T1}, s2::Point2{T2}) where {T1 <: Real, T2 <: Real}

Returns the determinant of the matrix formed by hcat'ing two points s1 and s2.

Specifically, this is:

julia
s1[1] * s2[2] - s1[2] * s2[1]

source

',5))]),i("details",$,[i("summary",null,[s[123]||(s[123]=i("a",{id:"GeometryOps._equals_curves-NTuple{4, Any}",href:"#GeometryOps._equals_curves-NTuple{4, Any}"},[i("span",{class:"jlbinding"},"GeometryOps._equals_curves")],-1)),s[124]||(s[124]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[125]||(s[125]=a('
julia
_equals_curves(c1, c2, closed_type1, closed_type2)::Bool

Two curves are equal if they share the same set of point, representing the same geometry. Both curves must must be composed of the same set of points, however, they do not have to wind in the same direction, or start on the same point to be equivalent. Inputs: c1 first geometry c2 second geometry closed_type1::Bool true if c1 is closed by definition (polygon, linear ring) closed_type2::Bool true if c2 is closed by definition (polygon, linear ring)

source

',3))]),i("details",Y,[i("summary",null,[s[126]||(s[126]=i("a",{id:"GeometryOps.angles-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.angles-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.angles")],-1)),s[127]||(s[127]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[128]||(s[128]=a(`
julia
angles(geom, ::Type{T} = Float64)

Returns the angles of a geometry or collection of geometries. This is computed differently for different geometries:

- The angles of a point is an empty vector.
 - The angles of a single line segment is an empty vector.
 - The angles of a linestring or linearring is a vector of angles formed by the curve.
 - The angles of a polygon is a vector of vectors of angles formed by each ring.
 - The angles of a multi-geometry collection is a vector of the angles of each of the
-    sub-geometries as defined above.

Result will be a Vector, or nested set of vectors, of type T where an optional argument with a default value of Float64.

source

`,5))]),i("details",ss,[i("summary",null,[s[129]||(s[129]=i("a",{id:"GeometryOps.area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.area")],-1)),s[130]||(s[130]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[131]||(s[131]=a(`
julia
area(geom, [T = Float64])::T

Returns the area of a geometry or collection of geometries. This is computed slightly differently for different geometries:

- The area of a point/multipoint is always zero.
+    sub-geometries as defined above.

Result will be a Vector, or nested set of vectors, of type T where an optional argument with a default value of Float64.

source

`,5))]),i("details",ss,[i("summary",null,[s[129]||(s[129]=i("a",{id:"GeometryOps.area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.area")],-1)),s[130]||(s[130]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[131]||(s[131]=a(`
julia
area(geom, [T = Float64])::T

Returns the area of a geometry or collection of geometries. This is computed slightly differently for different geometries:

- The area of a point/multipoint is always zero.
 - The area of a curve/multicurve is always zero.
 - The area of a polygon is the absolute value of the signed area.
 - The area multi-polygon is the sum of the areas of all of the sub-polygons.
 - The area of a geometry collection, feature collection of array/iterable 
-    is the sum of the areas of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",is,[i("summary",null,[s[132]||(s[132]=i("a",{id:"GeometryOps.barycentric_coordinates!-Tuple{Vector{<:Real}, GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}",href:"#GeometryOps.barycentric_coordinates!-Tuple{Vector{<:Real}, GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates!")],-1)),s[133]||(s[133]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[134]||(s[134]=a('
julia
barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, polygon, point)

Loads the barycentric coordinates of point in polygon into λs using the barycentric coordinate method method.

λs must be of the length of the polygon plus its holes.

Tip

Use this method to avoid excess allocations when you need to calculate barycentric coordinates for many points.

source

',5))]),i("details",as,[i("summary",null,[s[135]||(s[135]=i("a",{id:"GeometryOps.barycentric_coordinates-Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}",href:"#GeometryOps.barycentric_coordinates-Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates")],-1)),s[136]||(s[136]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[137]||(s[137]=a('
julia
barycentric_coordinates(method = MeanValue(), polygon, point)

Returns the barycentric coordinates of point in polygon using the barycentric coordinate method method.

source

',3))]),i("details",es,[i("summary",null,[s[138]||(s[138]=i("a",{id:"GeometryOps.barycentric_interpolate-Union{Tuple{V}, Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, AbstractVector{V}, Any}} where V",href:"#GeometryOps.barycentric_interpolate-Union{Tuple{V}, Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, AbstractVector{V}, Any}} where V"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_interpolate")],-1)),s[139]||(s[139]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[140]||(s[140]=a('
julia
barycentric_interpolate(method = MeanValue(), polygon, values::AbstractVector{V}, point)

Returns the interpolated value at point within polygon using the barycentric coordinate method method. values are the per-point values for the polygon which are to be interpolated.

Returns an object of type V.

Warning

Barycentric interpolation is currently defined only for 2-dimensional polygons. If you pass a 3-D polygon in, the Z coordinate will be used as per-vertex value to be interpolated (the M coordinate in GIS parlance).

source

',5))]),i("details",ts,[i("summary",null,[s[141]||(s[141]=i("a",{id:"GeometryOps.centroid-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.centroid-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.centroid")],-1)),s[142]||(s[142]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[143]||(s[143]=a('
julia
centroid(geom, [T=Float64])::Tuple{T, T}

Returns the centroid of a given line segment, linear ring, polygon, or mutlipolygon.

source

',3))]),i("details",ns,[i("summary",null,[s[144]||(s[144]=i("a",{id:"GeometryOps.centroid_and_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.centroid_and_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.centroid_and_area")],-1)),s[145]||(s[145]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[146]||(s[146]=a('
julia
centroid_and_area(geom, [T=Float64])::(::Tuple{T, T}, ::Real)

Returns the centroid and area of a given geometry.

source

',3))]),i("details",ls,[i("summary",null,[s[147]||(s[147]=i("a",{id:"GeometryOps.centroid_and_length-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.centroid_and_length-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.centroid_and_length")],-1)),s[148]||(s[148]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[149]||(s[149]=a('
julia
centroid_and_length(geom, [T=Float64])::(::Tuple{T, T}, ::Real)

Returns the centroid and length of a given line/ring. Note this is only valid for line strings and linear rings.

source

',3))]),i("details",ps,[i("summary",null,[s[150]||(s[150]=i("a",{id:"GeometryOps.contains-Tuple{Any, Any}",href:"#GeometryOps.contains-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.contains")],-1)),s[151]||(s[151]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[152]||(s[152]=a(`
julia
contains(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the second geometry is completely contained by the first geometry. The interiors of both geometries must intersect and the interior and boundary of the secondary (g2) must not intersect the exterior of the first (g1).

contains returns the exact opposite result of within.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+    is the sum of the areas of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",is,[i("summary",null,[s[132]||(s[132]=i("a",{id:"GeometryOps.barycentric_coordinates!-Tuple{Vector{<:Real}, GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}",href:"#GeometryOps.barycentric_coordinates!-Tuple{Vector{<:Real}, GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates!")],-1)),s[133]||(s[133]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[134]||(s[134]=a('
julia
barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, polygon, point)

Loads the barycentric coordinates of point in polygon into λs using the barycentric coordinate method method.

λs must be of the length of the polygon plus its holes.

Tip

Use this method to avoid excess allocations when you need to calculate barycentric coordinates for many points.

source

',5))]),i("details",as,[i("summary",null,[s[135]||(s[135]=i("a",{id:"GeometryOps.barycentric_coordinates-Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}",href:"#GeometryOps.barycentric_coordinates-Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates")],-1)),s[136]||(s[136]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[137]||(s[137]=a('
julia
barycentric_coordinates(method = MeanValue(), polygon, point)

Returns the barycentric coordinates of point in polygon using the barycentric coordinate method method.

source

',3))]),i("details",es,[i("summary",null,[s[138]||(s[138]=i("a",{id:"GeometryOps.barycentric_interpolate-Union{Tuple{V}, Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, AbstractVector{V}, Any}} where V",href:"#GeometryOps.barycentric_interpolate-Union{Tuple{V}, Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, AbstractVector{V}, Any}} where V"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_interpolate")],-1)),s[139]||(s[139]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[140]||(s[140]=a('
julia
barycentric_interpolate(method = MeanValue(), polygon, values::AbstractVector{V}, point)

Returns the interpolated value at point within polygon using the barycentric coordinate method method. values are the per-point values for the polygon which are to be interpolated.

Returns an object of type V.

Warning

Barycentric interpolation is currently defined only for 2-dimensional polygons. If you pass a 3-D polygon in, the Z coordinate will be used as per-vertex value to be interpolated (the M coordinate in GIS parlance).

source

',5))]),i("details",ts,[i("summary",null,[s[141]||(s[141]=i("a",{id:"GeometryOps.centroid-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.centroid-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.centroid")],-1)),s[142]||(s[142]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[143]||(s[143]=a('
julia
centroid(geom, [T=Float64])::Tuple{T, T}

Returns the centroid of a given line segment, linear ring, polygon, or mutlipolygon.

source

',3))]),i("details",ns,[i("summary",null,[s[144]||(s[144]=i("a",{id:"GeometryOps.centroid_and_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.centroid_and_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.centroid_and_area")],-1)),s[145]||(s[145]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[146]||(s[146]=a('
julia
centroid_and_area(geom, [T=Float64])::(::Tuple{T, T}, ::Real)

Returns the centroid and area of a given geometry.

source

',3))]),i("details",ls,[i("summary",null,[s[147]||(s[147]=i("a",{id:"GeometryOps.centroid_and_length-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.centroid_and_length-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.centroid_and_length")],-1)),s[148]||(s[148]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[149]||(s[149]=a('
julia
centroid_and_length(geom, [T=Float64])::(::Tuple{T, T}, ::Real)

Returns the centroid and length of a given line/ring. Note this is only valid for line strings and linear rings.

source

',3))]),i("details",ps,[i("summary",null,[s[150]||(s[150]=i("a",{id:"GeometryOps.contains-Tuple{Any, Any}",href:"#GeometryOps.contains-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.contains")],-1)),s[151]||(s[151]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[152]||(s[152]=a(`
julia
contains(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the second geometry is completely contained by the first geometry. The interiors of both geometries must intersect and the interior and boundary of the secondary (g2) must not intersect the exterior of the first (g1).

contains returns the exact opposite result of within.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = GI.Point((1, 2))
 
 GO.contains(line, point)
 # output
-true

source

`,6))]),i("details",hs,[i("summary",null,[s[153]||(s[153]=i("a",{id:"GeometryOps.convex_hull",href:"#GeometryOps.convex_hull"},[i("span",{class:"jlbinding"},"GeometryOps.convex_hull")],-1)),s[154]||(s[154]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[155]||(s[155]=a('
julia
convex_hull([method], geometries)

Compute the convex hull of the points in geometries. Returns a GI.Polygon representing the convex hull.

Note that the polygon returned is wound counterclockwise as in the Simple Features standard by default. If you choose GEOS, the winding order will be inverted.

Warning

This interface only computes the 2-dimensional convex hull!

For higher dimensional hulls, use the relevant package (Qhull.jl, Quickhull.jl, or similar).

source

',5))]),i("details",ks,[i("summary",null,[s[156]||(s[156]=i("a",{id:"GeometryOps.coverage-Union{Tuple{T}, NTuple{5, Any}, Tuple{Any, Any, Any, Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.coverage-Union{Tuple{T}, NTuple{5, Any}, Tuple{Any, Any, Any, Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.coverage")],-1)),s[157]||(s[157]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[158]||(s[158]=a('
julia
coverage(geom, xmin, xmax, ymin, ymax, [T = Float64])::T

Returns the area of intersection between given geometry and grid cell defined by its minimum and maximum x and y-values. This is computed differently for different geometries:

  • The signed area of a point is always zero.

  • The signed area of a curve is always zero.

  • The signed area of a polygon is calculated by tracing along its edges and switching to the cell edges if needed.

  • The coverage of a geometry collection, multi-geometry, feature collection of array/iterable is the sum of the coverages of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',5))]),i("details",rs,[i("summary",null,[s[159]||(s[159]=i("a",{id:"GeometryOps.coveredby-Tuple{Any, Any}",href:"#GeometryOps.coveredby-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.coveredby")],-1)),s[160]||(s[160]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[161]||(s[161]=a(`
julia
coveredby(g1, g2)::Bool

Return true if the first geometry is completely covered by the second geometry. The interior and boundary of the primary geometry (g1) must not intersect the exterior of the secondary geometry (g2).

Furthermore, coveredby returns the exact opposite result of covers. They are equivalent with the order of the arguments swapped.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),i("details",hs,[i("summary",null,[s[153]||(s[153]=i("a",{id:"GeometryOps.convex_hull",href:"#GeometryOps.convex_hull"},[i("span",{class:"jlbinding"},"GeometryOps.convex_hull")],-1)),s[154]||(s[154]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[155]||(s[155]=a('
julia
convex_hull([method], geometries)

Compute the convex hull of the points in geometries. Returns a GI.Polygon representing the convex hull.

Note that the polygon returned is wound counterclockwise as in the Simple Features standard by default. If you choose GEOS, the winding order will be inverted.

Warning

This interface only computes the 2-dimensional convex hull!

For higher dimensional hulls, use the relevant package (Qhull.jl, Quickhull.jl, or similar).

source

',5))]),i("details",ks,[i("summary",null,[s[156]||(s[156]=i("a",{id:"GeometryOps.coverage-Union{Tuple{T}, NTuple{5, Any}, Tuple{Any, Any, Any, Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.coverage-Union{Tuple{T}, NTuple{5, Any}, Tuple{Any, Any, Any, Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.coverage")],-1)),s[157]||(s[157]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[158]||(s[158]=a('
julia
coverage(geom, xmin, xmax, ymin, ymax, [T = Float64])::T

Returns the area of intersection between given geometry and grid cell defined by its minimum and maximum x and y-values. This is computed differently for different geometries:

  • The signed area of a point is always zero.

  • The signed area of a curve is always zero.

  • The signed area of a polygon is calculated by tracing along its edges and switching to the cell edges if needed.

  • The coverage of a geometry collection, multi-geometry, feature collection of array/iterable is the sum of the coverages of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',5))]),i("details",rs,[i("summary",null,[s[159]||(s[159]=i("a",{id:"GeometryOps.coveredby-Tuple{Any, Any}",href:"#GeometryOps.coveredby-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.coveredby")],-1)),s[160]||(s[160]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[161]||(s[161]=a(`
julia
coveredby(g1, g2)::Bool

Return true if the first geometry is completely covered by the second geometry. The interior and boundary of the primary geometry (g1) must not intersect the exterior of the secondary geometry (g2).

Furthermore, coveredby returns the exact opposite result of covers. They are equivalent with the order of the arguments swapped.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 p1 = GI.Point(0.0, 0.0)
 p2 = GI.Point(1.0, 1.0)
 l1 = GI.Line([p1, p2])
 
 GO.coveredby(p1, l1)
 # output
-true

source

`,6))]),i("details",os,[i("summary",null,[s[162]||(s[162]=i("a",{id:"GeometryOps.covers-Tuple{Any, Any}",href:"#GeometryOps.covers-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.covers")],-1)),s[163]||(s[163]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[164]||(s[164]=a(`
julia
covers(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the first geometry is completely covers the second geometry, The exterior and boundary of the second geometry must not be outside of the interior and boundary of the first geometry. However, the interiors need not intersect.

covers returns the exact opposite result of coveredby.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),i("details",os,[i("summary",null,[s[162]||(s[162]=i("a",{id:"GeometryOps.covers-Tuple{Any, Any}",href:"#GeometryOps.covers-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.covers")],-1)),s[163]||(s[163]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[164]||(s[164]=a(`
julia
covers(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the first geometry is completely covers the second geometry, The exterior and boundary of the second geometry must not be outside of the interior and boundary of the first geometry. However, the interiors need not intersect.

covers returns the exact opposite result of coveredby.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 l1 = GI.LineString([(1.0, 1.0), (1.0, 2.0), (1.0, 3.0), (1.0, 4.0)])
 l2 = GI.LineString([(1.0, 1.0), (1.0, 2.0)])
 
 GO.covers(l1, l2)
 # output
-true

source

`,6))]),i("details",ds,[i("summary",null,[s[165]||(s[165]=i("a",{id:"GeometryOps.crosses-Tuple{Any, Any}",href:"#GeometryOps.crosses-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.crosses")],-1)),s[166]||(s[166]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[167]||(s[167]=a(`
julia
 crosses(geom1, geom2)::Bool

Return true if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries.

TODO: broken

Examples

julia
import GeoInterface as GI, GeometryOps as GO
-# TODO: Add working example

source

`,6))]),i("details",gs,[i("summary",null,[s[168]||(s[168]=i("a",{id:"GeometryOps.cut-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.cut-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.cut")],-1)),s[169]||(s[169]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[170]||(s[170]=a(`
julia
cut(geom, line, [T::Type])

Return given geom cut by given line as a list of geometries of the same type as the input geom. Return the original geometry as only list element if none are found. Line must cut fully through given geometry or the original geometry will be returned.

Note: This currently doesn't work for degenerate cases there line crosses through vertices.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+true

source

`,6))]),i("details",ds,[i("summary",null,[s[165]||(s[165]=i("a",{id:"GeometryOps.crosses-Tuple{Any, Any}",href:"#GeometryOps.crosses-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.crosses")],-1)),s[166]||(s[166]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[167]||(s[167]=a(`
julia
 crosses(geom1, geom2)::Bool

Return true if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries.

TODO: broken

Examples

julia
import GeoInterface as GI, GeometryOps as GO
+# TODO: Add working example

source

`,6))]),i("details",gs,[i("summary",null,[s[168]||(s[168]=i("a",{id:"GeometryOps.cut-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.cut-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.cut")],-1)),s[169]||(s[169]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[170]||(s[170]=a(`
julia
cut(geom, line, [T::Type])

Return given geom cut by given line as a list of geometries of the same type as the input geom. Return the original geometry as only list element if none are found. Line must cut fully through given geometry or the original geometry will be returned.

Note: This currently doesn't work for degenerate cases there line crosses through vertices.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 poly = GI.Polygon([[(0.0, 0.0), (10.0, 0.0), (10.0, 10.0), (0.0, 10.0), (0.0, 0.0)]])
 line = GI.Line([(5.0, -5.0), (5.0, 15.0)])
@@ -176,7 +176,7 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 # output
 2-element Vector{Vector{Vector{Vector{Float64}}}}:
  [[[0.0, 0.0], [5.0, 0.0], [5.0, 10.0], [0.0, 10.0], [0.0, 0.0]]]
- [[[5.0, 0.0], [10.0, 0.0], [10.0, 10.0], [5.0, 10.0], [5.0, 0.0]]]

source

`,6))]),i("details",ys,[i("summary",null,[s[171]||(s[171]=i("a",{id:"GeometryOps.difference-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.difference-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.difference")],-1)),s[172]||(s[172]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[173]||(s[173]=a(`
julia
difference(geom_a, geom_b, [T::Type]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the difference between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a taget type as a keyword argument and a list of target geometries found in the difference will be returned. The user can also provide a float type that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to false if you know that the multipolygons are valid, as it will avoid unneeded computation.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+ [[[5.0, 0.0], [10.0, 0.0], [10.0, 10.0], [5.0, 10.0], [5.0, 0.0]]]

source

`,6))]),i("details",ys,[i("summary",null,[s[171]||(s[171]=i("a",{id:"GeometryOps.difference-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.difference-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.difference")],-1)),s[172]||(s[172]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[173]||(s[173]=a(`
julia
difference(geom_a, geom_b, [T::Type]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the difference between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a taget type as a keyword argument and a list of target geometries found in the difference will be returned. The user can also provide a float type that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to false if you know that the multipolygons are valid, as it will avoid unneeded computation.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 poly1 = GI.Polygon([[[0.0, 0.0], [5.0, 5.0], [10.0, 0.0], [5.0, -5.0], [0.0, 0.0]]])
 poly2 = GI.Polygon([[[3.0, 0.0], [8.0, 5.0], [13.0, 0.0], [8.0, -5.0], [3.0, 0.0]]])
@@ -185,32 +185,32 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 
 # output
 1-element Vector{Vector{Vector{Vector{Float64}}}}:
- [[[6.5, 3.5], [5.0, 5.0], [0.0, 0.0], [5.0, -5.0], [6.5, -3.5], [3.0, 0.0], [6.5, 3.5]]]

source

`,5))]),i("details",Es,[i("summary",null,[s[174]||(s[174]=i("a",{id:"GeometryOps.disjoint-Tuple{Any, Any}",href:"#GeometryOps.disjoint-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.disjoint")],-1)),s[175]||(s[175]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[176]||(s[176]=a(`
julia
disjoint(geom1, geom2)::Bool

Return true if the first geometry is disjoint from the second geometry.

Return true if the first geometry is disjoint from the second geometry. The interiors and boundaries of both geometries must not intersect.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+ [[[6.5, 3.5], [5.0, 5.0], [0.0, 0.0], [5.0, -5.0], [6.5, -3.5], [3.0, 0.0], [6.5, 3.5]]]

source

`,5))]),i("details",Es,[i("summary",null,[s[174]||(s[174]=i("a",{id:"GeometryOps.disjoint-Tuple{Any, Any}",href:"#GeometryOps.disjoint-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.disjoint")],-1)),s[175]||(s[175]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[176]||(s[176]=a(`
julia
disjoint(geom1, geom2)::Bool

Return true if the first geometry is disjoint from the second geometry.

Return true if the first geometry is disjoint from the second geometry. The interiors and boundaries of both geometries must not intersect.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = (2, 2)
 GO.disjoint(point, line)
 
 # output
-true

source

`,6))]),i("details",cs,[i("summary",null,[s[177]||(s[177]=i("a",{id:"GeometryOps.distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.distance")],-1)),s[178]||(s[178]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[179]||(s[179]=a('
julia
distance(point, geom, ::Type{T} = Float64)::T

Calculates the ditance from the geometry g1 to the point. The distance will always be positive or zero.

The method will differ based on the type of the geometry provided: - The distance from a point to a point is just the Euclidean distance between the points. - The distance from a point to a line is the minimum distance from the point to the closest point on the given line. - The distance from a point to a linestring is the minimum distance from the point to the closest segment of the linestring. - The distance from a point to a linear ring is the minimum distance from the point to the closest segment of the linear ring. - The distance from a point to a polygon is zero if the point is within the polygon and otherwise is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The distance from a point to a multigeometry or a geometry collection is the minimum distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',5))]),i("details",us,[i("summary",null,[s[180]||(s[180]=i("a",{id:"GeometryOps.embed_extent-Tuple{Any}",href:"#GeometryOps.embed_extent-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.embed_extent")],-1)),s[181]||(s[181]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[182]||(s[182]=a('
julia
embed_extent(obj)

Recursively wrap the object with a GeoInterface.jl geometry, calculating and adding an Extents.Extent to all objects.

This can improve performance when extents need to be checked multiple times, such when needing to check if many points are in geometries, and using their extents as a quick filter for obviously exterior points.

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

source

',6))]),i("details",ms,[i("summary",null,[s[183]||(s[183]=i("a",{id:"GeometryOps.enforce-Tuple{GEOS, Symbol, Any}",href:"#GeometryOps.enforce-Tuple{GEOS, Symbol, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.enforce")],-1)),s[184]||(s[184]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[185]||(s[185]=a('
julia
enforce(alg::GO.GEOS, kw::Symbol, f)

Enforce the presence of a keyword argument in a GEOS algorithm, and return alg.params[kw].

Throws an error if the key is not present, and mentions f in the error message (since there isn't a good way to get the name of the function that called this method).

source

',4))]),i("details",Fs,[i("summary",null,[s[186]||(s[186]=i("a",{id:"GeometryOps.equals-NTuple{4, Any}",href:"#GeometryOps.equals-NTuple{4, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[187]||(s[187]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[188]||(s[188]=a('
julia
equals(trait_a, geom_a, trait_b, geom_b)

Two geometries which are not of the same type cannot be equal so they always return false.

source

',3))]),i("details",Cs,[i("summary",null,[s[189]||(s[189]=i("a",{id:"GeometryOps.equals-Tuple{Any, Any}",href:"#GeometryOps.equals-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[190]||(s[190]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[191]||(s[191]=a(`
julia
equals(geom1, geom2)::Bool

Compare two Geometries return true if they are the same geometry.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),i("details",cs,[i("summary",null,[s[177]||(s[177]=i("a",{id:"GeometryOps.distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.distance")],-1)),s[178]||(s[178]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[179]||(s[179]=a('
julia
distance(point, geom, ::Type{T} = Float64)::T

Calculates the ditance from the geometry g1 to the point. The distance will always be positive or zero.

The method will differ based on the type of the geometry provided: - The distance from a point to a point is just the Euclidean distance between the points. - The distance from a point to a line is the minimum distance from the point to the closest point on the given line. - The distance from a point to a linestring is the minimum distance from the point to the closest segment of the linestring. - The distance from a point to a linear ring is the minimum distance from the point to the closest segment of the linear ring. - The distance from a point to a polygon is zero if the point is within the polygon and otherwise is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The distance from a point to a multigeometry or a geometry collection is the minimum distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',5))]),i("details",us,[i("summary",null,[s[180]||(s[180]=i("a",{id:"GeometryOps.embed_extent-Tuple{Any}",href:"#GeometryOps.embed_extent-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.embed_extent")],-1)),s[181]||(s[181]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[182]||(s[182]=a('
julia
embed_extent(obj)

Recursively wrap the object with a GeoInterface.jl geometry, calculating and adding an Extents.Extent to all objects.

This can improve performance when extents need to be checked multiple times, such when needing to check if many points are in geometries, and using their extents as a quick filter for obviously exterior points.

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

source

',6))]),i("details",ms,[i("summary",null,[s[183]||(s[183]=i("a",{id:"GeometryOps.enforce-Tuple{GEOS, Symbol, Any}",href:"#GeometryOps.enforce-Tuple{GEOS, Symbol, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.enforce")],-1)),s[184]||(s[184]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[185]||(s[185]=a('
julia
enforce(alg::GO.GEOS, kw::Symbol, f)

Enforce the presence of a keyword argument in a GEOS algorithm, and return alg.params[kw].

Throws an error if the key is not present, and mentions f in the error message (since there isn't a good way to get the name of the function that called this method).

source

',4))]),i("details",Fs,[i("summary",null,[s[186]||(s[186]=i("a",{id:"GeometryOps.equals-NTuple{4, Any}",href:"#GeometryOps.equals-NTuple{4, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[187]||(s[187]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[188]||(s[188]=a('
julia
equals(trait_a, geom_a, trait_b, geom_b)

Two geometries which are not of the same type cannot be equal so they always return false.

source

',3))]),i("details",Cs,[i("summary",null,[s[189]||(s[189]=i("a",{id:"GeometryOps.equals-Tuple{Any, Any}",href:"#GeometryOps.equals-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[190]||(s[190]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[191]||(s[191]=a(`
julia
equals(geom1, geom2)::Bool

Compare two Geometries return true if they are the same geometry.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 poly1 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 poly2 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 
 GO.equals(poly1, poly2)
 # output
-true

source

`,5))]),i("details",bs,[i("summary",null,[s[192]||(s[192]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, GeoInterface.LinearRingTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, GeoInterface.LinearRingTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[193]||(s[193]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[194]||(s[194]=a(`
julia
equals(
+true

source

`,5))]),i("details",bs,[i("summary",null,[s[192]||(s[192]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, GeoInterface.LinearRingTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, GeoInterface.LinearRingTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[193]||(s[193]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[194]||(s[194]=a(`
julia
equals(
     ::GI.LinearRingTrait, l1,
     ::GI.LinearRingTrait, l2,
-)::Bool

Two linear rings are equal if they share the same set of points going along the curve. Note that rings are closed by definition, so they can have, but don't need, a repeated last point to be equal.

source

`,3))]),i("details",fs,[i("summary",null,[s[195]||(s[195]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[196]||(s[196]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[197]||(s[197]=a(`
julia
equals(
+)::Bool

Two linear rings are equal if they share the same set of points going along the curve. Note that rings are closed by definition, so they can have, but don't need, a repeated last point to be equal.

source

`,3))]),i("details",fs,[i("summary",null,[s[195]||(s[195]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[196]||(s[196]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[197]||(s[197]=a(`
julia
equals(
     ::GI.LinearRingTrait, l1,
     ::Union{GI.LineTrait, GI.LineStringTrait}, l2,
-)::Bool

A linear ring and a line/linestring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

`,3))]),i("details",Ts,[i("summary",null,[s[198]||(s[198]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[199]||(s[199]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[200]||(s[200]=a('
julia
equals(::GI.MultiPointTrait, mp1, ::GI.MultiPointTrait, mp2)::Bool

Two multipoints are equal if they share the same set of points.

source

',3))]),i("details",Gs,[i("summary",null,[s[201]||(s[201]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.PointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.PointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[202]||(s[202]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[203]||(s[203]=a('
julia
equals(::GI.MultiPointTrait, mp1, ::GI.PointTrait, p2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

',3))]),i("details",vs,[i("summary",null,[s[204]||(s[204]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[205]||(s[205]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[206]||(s[206]=a('
julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two multipolygons are equal if they share the same set of polygons.

source

',3))]),i("details",As,[i("summary",null,[s[207]||(s[207]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[208]||(s[208]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[209]||(s[209]=a('
julia
equals(::GI.MultiPolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

',3))]),i("details",js,[i("summary",null,[s[210]||(s[210]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.MultiPointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.MultiPointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[211]||(s[211]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[212]||(s[212]=a('
julia
equals(::GI.PointTrait, p1, ::GI.MultiPointTrait, mp2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

',3))]),i("details",Bs,[i("summary",null,[s[213]||(s[213]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.PointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.PointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[214]||(s[214]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[215]||(s[215]=a('
julia
equals(::GI.PointTrait, p1, ::GI.PointTrait, p2)::Bool

Two points are the same if they have the same x and y (and z if 3D) coordinates.

source

',3))]),i("details",Os,[i("summary",null,[s[216]||(s[216]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[217]||(s[217]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[218]||(s[218]=a('
julia
equals(::GI.PolygonTrait, geom_a, ::GI.MultiPolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

',3))]),i("details",Ds,[i("summary",null,[s[219]||(s[219]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[220]||(s[220]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[221]||(s[221]=a('
julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two polygons are equal if they share the same exterior edge and holes.

source

',3))]),i("details",Qs,[i("summary",null,[s[222]||(s[222]=i("a",{id:"GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, GeoInterface.LinearRingTrait, Any}",href:"#GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, GeoInterface.LinearRingTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[223]||(s[223]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[224]||(s[224]=a(`
julia
equals(
+)::Bool

A linear ring and a line/linestring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

`,3))]),i("details",Ts,[i("summary",null,[s[198]||(s[198]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[199]||(s[199]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[200]||(s[200]=a('
julia
equals(::GI.MultiPointTrait, mp1, ::GI.MultiPointTrait, mp2)::Bool

Two multipoints are equal if they share the same set of points.

source

',3))]),i("details",Gs,[i("summary",null,[s[201]||(s[201]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.PointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.PointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[202]||(s[202]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[203]||(s[203]=a('
julia
equals(::GI.MultiPointTrait, mp1, ::GI.PointTrait, p2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

',3))]),i("details",vs,[i("summary",null,[s[204]||(s[204]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[205]||(s[205]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[206]||(s[206]=a('
julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two multipolygons are equal if they share the same set of polygons.

source

',3))]),i("details",As,[i("summary",null,[s[207]||(s[207]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[208]||(s[208]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[209]||(s[209]=a('
julia
equals(::GI.MultiPolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

',3))]),i("details",js,[i("summary",null,[s[210]||(s[210]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.MultiPointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.MultiPointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[211]||(s[211]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[212]||(s[212]=a('
julia
equals(::GI.PointTrait, p1, ::GI.MultiPointTrait, mp2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

',3))]),i("details",Bs,[i("summary",null,[s[213]||(s[213]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.PointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.PointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[214]||(s[214]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[215]||(s[215]=a('
julia
equals(::GI.PointTrait, p1, ::GI.PointTrait, p2)::Bool

Two points are the same if they have the same x and y (and z if 3D) coordinates.

source

',3))]),i("details",Os,[i("summary",null,[s[216]||(s[216]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[217]||(s[217]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[218]||(s[218]=a('
julia
equals(::GI.PolygonTrait, geom_a, ::GI.MultiPolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

',3))]),i("details",Ds,[i("summary",null,[s[219]||(s[219]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[220]||(s[220]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[221]||(s[221]=a('
julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two polygons are equal if they share the same exterior edge and holes.

source

',3))]),i("details",Qs,[i("summary",null,[s[222]||(s[222]=i("a",{id:"GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, GeoInterface.LinearRingTrait, Any}",href:"#GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, GeoInterface.LinearRingTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[223]||(s[223]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[224]||(s[224]=a(`
julia
equals(
     ::Union{GI.LineTrait, GI.LineStringTrait}, l1,
     ::GI.LinearRingTrait, l2,
-)::Bool

A line/linestring and a linear ring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

`,3))]),i("details",xs,[i("summary",null,[s[225]||(s[225]=i("a",{id:"GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}",href:"#GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[226]||(s[226]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[227]||(s[227]=a(`
julia
equals(
+)::Bool

A line/linestring and a linear ring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

`,3))]),i("details",xs,[i("summary",null,[s[225]||(s[225]=i("a",{id:"GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}",href:"#GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[226]||(s[226]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[227]||(s[227]=a(`
julia
equals(
     ::Union{GI.LineTrait, GI.LineStringTrait}, l1,
     ::Union{GI.LineTrait, GI.LineStringTrait}, l2,
-)::Bool

Two lines/linestrings are equal if they share the same set of points going along the curve. Note that lines/linestrings aren't closed by definition.

source

`,3))]),i("details",ws,[i("summary",null,[s[228]||(s[228]=i("a",{id:"GeometryOps.equals-Union{Tuple{T}, Tuple{T, Any, T, Any}} where T",href:"#GeometryOps.equals-Union{Tuple{T}, Tuple{T, Any, T, Any}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[229]||(s[229]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[230]||(s[230]=a('
julia
equals(::T, geom_a, ::T, geom_b)::Bool

Two geometries of the same type, which don't have a equals function to dispatch off of should throw an error.

source

',3))]),i("details",Ls,[i("summary",null,[s[231]||(s[231]=i("a",{id:"GeometryOps.flip-Tuple{Any}",href:"#GeometryOps.flip-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.flip")],-1)),s[232]||(s[232]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[233]||(s[233]=a('
julia
flip(obj)

Swap all of the x and y coordinates in obj, otherwise keeping the original structure (but not necessarily the original type).

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

  • calc_extent: true or false. Whether to calculate the extent. Defaults to false.

source

',5))]),i("details",Is,[i("summary",null,[s[234]||(s[234]=i("a",{id:"GeometryOps.intersection-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.intersection-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.intersection")],-1)),s[235]||(s[235]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[236]||(s[236]=a(`
julia
intersection(geom_a, geom_b, [T::Type]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the intersection between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a target type as a keyword argument and a list of target geometries found in the intersection will be returned. The user can also provide a float type that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to nothing if you know that the multipolygons are valid, as it will avoid unneeded computation.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+)::Bool

Two lines/linestrings are equal if they share the same set of points going along the curve. Note that lines/linestrings aren't closed by definition.

source

`,3))]),i("details",ws,[i("summary",null,[s[228]||(s[228]=i("a",{id:"GeometryOps.equals-Union{Tuple{T}, Tuple{T, Any, T, Any}} where T",href:"#GeometryOps.equals-Union{Tuple{T}, Tuple{T, Any, T, Any}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[229]||(s[229]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[230]||(s[230]=a('
julia
equals(::T, geom_a, ::T, geom_b)::Bool

Two geometries of the same type, which don't have a equals function to dispatch off of should throw an error.

source

',3))]),i("details",Ls,[i("summary",null,[s[231]||(s[231]=i("a",{id:"GeometryOps.flip-Tuple{Any}",href:"#GeometryOps.flip-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.flip")],-1)),s[232]||(s[232]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[233]||(s[233]=a('
julia
flip(obj)

Swap all of the x and y coordinates in obj, otherwise keeping the original structure (but not necessarily the original type).

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

  • calc_extent: true or false. Whether to calculate the extent. Defaults to false.

source

',5))]),i("details",Is,[i("summary",null,[s[234]||(s[234]=i("a",{id:"GeometryOps.intersection-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.intersection-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.intersection")],-1)),s[235]||(s[235]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[236]||(s[236]=a(`
julia
intersection(geom_a, geom_b, [T::Type]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the intersection between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a target type as a keyword argument and a list of target geometries found in the intersection will be returned. The user can also provide a float type that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to nothing if you know that the multipolygons are valid, as it will avoid unneeded computation.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 line1 = GI.Line([(124.584961,-12.768946), (126.738281,-17.224758)])
 line2 = GI.Line([(123.354492,-15.961329), (127.22168,-14.008696)])
@@ -219,7 +219,7 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 
 # output
 1-element Vector{Vector{Float64}}:
- [125.58375366067548, -14.83572303404496]

source

`,5))]),i("details",Ms,[i("summary",null,[s[237]||(s[237]=i("a",{id:"GeometryOps.intersection_points-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.intersection_points-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.intersection_points")],-1)),s[238]||(s[238]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[239]||(s[239]=a(`
julia
intersection_points(geom_a, geom_b, [T::Type])

Return a list of intersection tuple points between two geometries. If no intersection points exist, returns an empty list.

Example

jldoctest

+ [125.58375366067548, -14.83572303404496]

source

`,5))]),i("details",Ms,[i("summary",null,[s[237]||(s[237]=i("a",{id:"GeometryOps.intersection_points-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.intersection_points-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.intersection_points")],-1)),s[238]||(s[238]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[239]||(s[239]=a(`
julia
intersection_points(geom_a, geom_b, [T::Type])

Return a list of intersection tuple points between two geometries. If no intersection points exist, returns an empty list.

Example

jldoctest

 line1 = GI.Line([(124.584961,-12.768946), (126.738281,-17.224758)]) line2 = GI.Line([(123.354492,-15.961329), (127.22168,-14.008696)]) inter_points = GO.intersection_points(line1, line2)
 
 **output**
@@ -227,7 +227,7 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 1-element Vector{Tuple{Float64, Float64}}:  (125.58375366067548, -14.83572303404496)
 
 
-[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/a455d3dd329eb00850f8162d1faf68135e3b3349/src/methods/clipping/intersection.jl#L177-L195)
+[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/394c197520791d08fed66738e9aa8522e795cf90/src/methods/clipping/intersection.jl#L177-L195)
 
 </details>
 
@@ -244,57 +244,57 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 GO.intersects(line1, line2)
 
 # output
-true

source

`,9))]),i("details",Ps,[i("summary",null,[s[240]||(s[240]=i("a",{id:"GeometryOps.isclockwise-Tuple{Any}",href:"#GeometryOps.isclockwise-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.isclockwise")],-1)),s[241]||(s[241]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[244]||(s[244]=a('
julia
isclockwise(line::Union{LineString, Vector{Position}})::Bool

Take a ring and return true if the line goes clockwise, or false if the line goes counter-clockwise. "Going clockwise" means, mathematically,

',2)),i("mjx-container",qs,[(p(),l("svg",Rs,s[242]||(s[242]=[a('',1)]))),s[243]||(s[243]=i("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[i("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[i("mrow",{"data-mjx-texclass":"INNER"},[i("mo",{"data-mjx-texclass":"OPEN"},"("),i("munderover",null,[i("mo",{"data-mjx-texclass":"OP"},"∑"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",null,"i"),i("mo",null,"="),i("mn",null,"2")]),i("mi",null,"n")]),i("mo",{stretchy:"false"},"("),i("msub",null,[i("mi",null,"x"),i("mi",null,"i")]),i("mo",null,"−"),i("msub",null,[i("mi",null,"x"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",null,"i"),i("mo",null,"−"),i("mn",null,"1")])]),i("mo",{stretchy:"false"},")"),i("mo",null,"⋅"),i("mo",{stretchy:"false"},"("),i("msub",null,[i("mi",null,"y"),i("mi",null,"i")]),i("mo",null,"+"),i("msub",null,[i("mi",null,"y"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",null,"i"),i("mo",null,"−"),i("mn",null,"1")])]),i("mo",{stretchy:"false"},")"),i("mo",{"data-mjx-texclass":"CLOSE"},")")]),i("mo",null,">"),i("mn",null,"0")])],-1))]),s[245]||(s[245]=a(`

Example

julia
julia> import GeoInterface as GI, GeometryOps as GO
+true

source

`,9))]),i("details",Ps,[i("summary",null,[s[240]||(s[240]=i("a",{id:"GeometryOps.isclockwise-Tuple{Any}",href:"#GeometryOps.isclockwise-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.isclockwise")],-1)),s[241]||(s[241]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[244]||(s[244]=a('
julia
isclockwise(line::Union{LineString, Vector{Position}})::Bool

Take a ring and return true if the line goes clockwise, or false if the line goes counter-clockwise. "Going clockwise" means, mathematically,

',2)),i("mjx-container",qs,[(p(),l("svg",Rs,s[242]||(s[242]=[a('',1)]))),s[243]||(s[243]=i("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[i("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[i("mrow",{"data-mjx-texclass":"INNER"},[i("mo",{"data-mjx-texclass":"OPEN"},"("),i("munderover",null,[i("mo",{"data-mjx-texclass":"OP"},"∑"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",null,"i"),i("mo",null,"="),i("mn",null,"2")]),i("mi",null,"n")]),i("mo",{stretchy:"false"},"("),i("msub",null,[i("mi",null,"x"),i("mi",null,"i")]),i("mo",null,"−"),i("msub",null,[i("mi",null,"x"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",null,"i"),i("mo",null,"−"),i("mn",null,"1")])]),i("mo",{stretchy:"false"},")"),i("mo",null,"⋅"),i("mo",{stretchy:"false"},"("),i("msub",null,[i("mi",null,"y"),i("mi",null,"i")]),i("mo",null,"+"),i("msub",null,[i("mi",null,"y"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",null,"i"),i("mo",null,"−"),i("mn",null,"1")])]),i("mo",{stretchy:"false"},")"),i("mo",{"data-mjx-texclass":"CLOSE"},")")]),i("mo",null,">"),i("mn",null,"0")])],-1))]),s[245]||(s[245]=a(`

Example

julia
julia> import GeoInterface as GI, GeometryOps as GO
 julia> ring = GI.LinearRing([(0, 0), (1, 1), (1, 0), (0, 0)]);
 julia> GO.isclockwise(ring)
 # output
-true

source

`,3))]),i("details",Ss,[i("summary",null,[s[246]||(s[246]=i("a",{id:"GeometryOps.isconcave-Tuple{Any}",href:"#GeometryOps.isconcave-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.isconcave")],-1)),s[247]||(s[247]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[248]||(s[248]=a(`
julia
isconcave(poly::Polygon)::Bool

Take a polygon and return true or false as to whether it is concave or not.

Examples

julia
import GeoInterface as GI, GeometryOps as GO
+true

source

`,3))]),i("details",Ss,[i("summary",null,[s[246]||(s[246]=i("a",{id:"GeometryOps.isconcave-Tuple{Any}",href:"#GeometryOps.isconcave-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.isconcave")],-1)),s[247]||(s[247]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[248]||(s[248]=a(`
julia
isconcave(poly::Polygon)::Bool

Take a polygon and return true or false as to whether it is concave or not.

Examples

julia
import GeoInterface as GI, GeometryOps as GO
 
 poly = GI.Polygon([[(0, 0), (0, 1), (1, 1), (1, 0), (0, 0)]])
 GO.isconcave(poly)
 
 # output
-false

source

`,5))]),i("details",Vs,[i("summary",null,[s[249]||(s[249]=i("a",{id:"GeometryOps.overlaps-Tuple{Any, Any}",href:"#GeometryOps.overlaps-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[250]||(s[250]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[251]||(s[251]=a(`
julia
overlaps(geom1, geom2)::Bool

Compare two Geometries of the same dimension and return true if their intersection set results in a geometry different from both but of the same dimension. This means one geometry cannot be within or contain the other and they cannot be equal

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+false

source

`,5))]),i("details",Vs,[i("summary",null,[s[249]||(s[249]=i("a",{id:"GeometryOps.overlaps-Tuple{Any, Any}",href:"#GeometryOps.overlaps-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[250]||(s[250]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[251]||(s[251]=a(`
julia
overlaps(geom1, geom2)::Bool

Compare two Geometries of the same dimension and return true if their intersection set results in a geometry different from both but of the same dimension. This means one geometry cannot be within or contain the other and they cannot be equal

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 poly1 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 poly2 = GI.Polygon([[(1,1), (1,6), (6,6), (6,1), (1,1)]])
 
 GO.overlaps(poly1, poly2)
 # output
-true

source

`,5))]),i("details",Js,[i("summary",null,[s[252]||(s[252]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.AbstractTrait, Any, GeoInterface.AbstractTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.AbstractTrait, Any, GeoInterface.AbstractTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[253]||(s[253]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[254]||(s[254]=a('
julia
overlaps(::GI.AbstractTrait, geom1, ::GI.AbstractTrait, geom2)::Bool

For any non-specified pair, all have non-matching dimensions, return false.

source

',3))]),i("details",Us,[i("summary",null,[s[255]||(s[255]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.LineTrait, Any, GeoInterface.LineTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.LineTrait, Any, GeoInterface.LineTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[256]||(s[256]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[257]||(s[257]=a('
julia
overlaps(::GI.LineTrait, line1, ::GI.LineTrait, line)::Bool

If the lines overlap, meaning that they are collinear but each have one endpoint outside of the other line, return true. Else false.

source

',3))]),i("details",Hs,[i("summary",null,[s[258]||(s[258]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[259]||(s[259]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[260]||(s[260]=a(`
julia
overlaps(
+true

source

`,5))]),i("details",Js,[i("summary",null,[s[252]||(s[252]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.AbstractTrait, Any, GeoInterface.AbstractTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.AbstractTrait, Any, GeoInterface.AbstractTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[253]||(s[253]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[254]||(s[254]=a('
julia
overlaps(::GI.AbstractTrait, geom1, ::GI.AbstractTrait, geom2)::Bool

For any non-specified pair, all have non-matching dimensions, return false.

source

',3))]),i("details",Us,[i("summary",null,[s[255]||(s[255]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.LineTrait, Any, GeoInterface.LineTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.LineTrait, Any, GeoInterface.LineTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[256]||(s[256]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[257]||(s[257]=a('
julia
overlaps(::GI.LineTrait, line1, ::GI.LineTrait, line)::Bool

If the lines overlap, meaning that they are collinear but each have one endpoint outside of the other line, return true. Else false.

source

',3))]),i("details",Hs,[i("summary",null,[s[258]||(s[258]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[259]||(s[259]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[260]||(s[260]=a(`
julia
overlaps(
     ::GI.MultiPointTrait, points1,
     ::GI.MultiPointTrait, points2,
-)::Bool

If the multipoints overlap, meaning some, but not all, of the points within the multipoints are shared, return true.

source

`,3))]),i("details",Ns,[i("summary",null,[s[261]||(s[261]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[262]||(s[262]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[263]||(s[263]=a(`
julia
overlaps(
+)::Bool

If the multipoints overlap, meaning some, but not all, of the points within the multipoints are shared, return true.

source

`,3))]),i("details",Ns,[i("summary",null,[s[261]||(s[261]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[262]||(s[262]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[263]||(s[263]=a(`
julia
overlaps(
     ::GI.MultiPolygonTrait, polys1,
     ::GI.MultiPolygonTrait, polys2,
-)::Bool

Return true if at least one pair of polygons from multipolygons overlap. Else false.

source

`,3))]),i("details",Ws,[i("summary",null,[s[264]||(s[264]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[265]||(s[265]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[266]||(s[266]=a(`
julia
overlaps(
+)::Bool

Return true if at least one pair of polygons from multipolygons overlap. Else false.

source

`,3))]),i("details",Ws,[i("summary",null,[s[264]||(s[264]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[265]||(s[265]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[266]||(s[266]=a(`
julia
overlaps(
     ::GI.MultiPolygonTrait, polys1,
     ::GI.PolygonTrait, poly2,
-)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

`,3))]),i("details",zs,[i("summary",null,[s[267]||(s[267]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[268]||(s[268]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[269]||(s[269]=a(`
julia
overlaps(
+)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

`,3))]),i("details",zs,[i("summary",null,[s[267]||(s[267]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[268]||(s[268]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[269]||(s[269]=a(`
julia
overlaps(
     ::GI.PolygonTrait, poly1,
     ::GI.MultiPolygonTrait, polys2,
-)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

`,3))]),i("details",Zs,[i("summary",null,[s[270]||(s[270]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[271]||(s[271]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[272]||(s[272]=a(`
julia
overlaps(
+)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

`,3))]),i("details",Zs,[i("summary",null,[s[270]||(s[270]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[271]||(s[271]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[272]||(s[272]=a(`
julia
overlaps(
     trait_a::GI.PolygonTrait, poly_a,
     trait_b::GI.PolygonTrait, poly_b,
-)::Bool

If the two polygons intersect with one another, but are not equal, return true. Else false.

source

`,3))]),i("details",_s,[i("summary",null,[s[273]||(s[273]=i("a",{id:"GeometryOps.overlaps-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any}",href:"#GeometryOps.overlaps-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[274]||(s[274]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[275]||(s[275]=a(`
julia
overlaps(
+)::Bool

If the two polygons intersect with one another, but are not equal, return true. Else false.

source

`,3))]),i("details",_s,[i("summary",null,[s[273]||(s[273]=i("a",{id:"GeometryOps.overlaps-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any}",href:"#GeometryOps.overlaps-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[274]||(s[274]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[275]||(s[275]=a(`
julia
overlaps(
     ::Union{GI.LineStringTrait, GI.LinearRing}, line1,
     ::Union{GI.LineStringTrait, GI.LinearRing}, line2,
-)::Bool

If the curves overlap, meaning that at least one edge of each curve overlaps, return true. Else false.

source

`,3))]),i("details",Ks,[i("summary",null,[s[276]||(s[276]=i("a",{id:"GeometryOps.polygon_to_line-Tuple{Any}",href:"#GeometryOps.polygon_to_line-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.polygon_to_line")],-1)),s[277]||(s[277]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[278]||(s[278]=a(`
julia
polygon_to_line(poly::Polygon)

Converts a Polygon to LineString or MultiLineString

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+)::Bool

If the curves overlap, meaning that at least one edge of each curve overlaps, return true. Else false.

source

`,3))]),i("details",Ks,[i("summary",null,[s[276]||(s[276]=i("a",{id:"GeometryOps.polygon_to_line-Tuple{Any}",href:"#GeometryOps.polygon_to_line-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.polygon_to_line")],-1)),s[277]||(s[277]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[278]||(s[278]=a(`
julia
polygon_to_line(poly::Polygon)

Converts a Polygon to LineString or MultiLineString

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 poly = GI.Polygon([[(-2.275543, 53.464547), (-2.275543, 53.489271), (-2.215118, 53.489271), (-2.215118, 53.464547), (-2.275543, 53.464547)]])
 GO.polygon_to_line(poly)
 # output
-GeoInterface.Wrappers.LineString{false, false, Vector{Tuple{Float64, Float64}}, Nothing, Nothing}([(-2.275543, 53.464547), (-2.275543, 53.489271), (-2.215118, 53.489271), (-2.215118, 53.464547), (-2.275543, 53.464547)], nothing, nothing)

source

`,5))]),i("details",Xs,[i("summary",null,[s[279]||(s[279]=i("a",{id:"GeometryOps.polygonize-Tuple{AbstractMatrix{Bool}}",href:"#GeometryOps.polygonize-Tuple{AbstractMatrix{Bool}}"},[i("span",{class:"jlbinding"},"GeometryOps.polygonize")],-1)),s[280]||(s[280]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[281]||(s[281]=a(`
julia
polygonize(A::AbstractMatrix{Bool}; kw...)
+GeoInterface.Wrappers.LineString{false, false, Vector{Tuple{Float64, Float64}}, Nothing, Nothing}([(-2.275543, 53.464547), (-2.275543, 53.489271), (-2.215118, 53.489271), (-2.215118, 53.464547), (-2.275543, 53.464547)], nothing, nothing)

source

`,5))]),i("details",Xs,[i("summary",null,[s[279]||(s[279]=i("a",{id:"GeometryOps.polygonize-Tuple{AbstractMatrix{Bool}}",href:"#GeometryOps.polygonize-Tuple{AbstractMatrix{Bool}}"},[i("span",{class:"jlbinding"},"GeometryOps.polygonize")],-1)),s[280]||(s[280]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[281]||(s[281]=a(`
julia
polygonize(A::AbstractMatrix{Bool}; kw...)
 polygonize(f, A::AbstractMatrix; kw...)
 polygonize(xs, ys, A::AbstractMatrix{Bool}; kw...)
 polygonize(f, xs, ys, A::AbstractMatrix; kw...)

Polygonize an AbstractMatrix of values, currently to a single class of polygons.

Returns a MultiPolygon for Bool values and f return values, and a FeatureCollection of Features holding MultiPolygon for all other values.

Function f should return either true or false or a transformation of values into simpler groups, especially useful for floating point arrays.

If xs and ys are ranges, they are used as the pixel/cell center points. If they are Vector of Tuple they are used as the lower and upper bounds of each pixel/cell.

Keywords

  • minpoints: ignore polygons with less than minpoints points.

  • values: the values to turn into polygons. By default these are union(A), If function f is passed these refer to the return values of f, by default union(map(f, A). If values Bool, false is ignored and a single MultiPolygon is returned rather than a FeatureCollection.

Example

julia
using GeometryOps
 A = rand(100, 100)
-multipolygon = polygonize(>(0.5), A);

source

`,10))]),i("details",$s,[i("summary",null,[s[282]||(s[282]=i("a",{id:"GeometryOps.segmentize-Tuple{Any}",href:"#GeometryOps.segmentize-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.segmentize")],-1)),s[283]||(s[283]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[284]||(s[284]=a('
julia
segmentize([method = Planar()], geom; max_distance::Real, threaded)

Segmentize a geometry by adding extra vertices to the geometry so that no segment is longer than a given distance. This is useful for plotting geometries with a limited number of vertices, or for ensuring that a geometry is not too "coarse" for a given application.

Arguments

  • method::Manifold = Planar(): The method to use for segmentizing the geometry. At the moment, only Planar (assumes a flat plane) and Geodesic (assumes geometry on the ellipsoidal Earth and uses Vincenty's formulae) are available.

  • geom: The geometry to segmentize. Must be a LineString, LinearRing, Polygon, MultiPolygon, or GeometryCollection, or some vector or table of those.

  • max_distance::Real: The maximum distance between vertices in the geometry. Beware: for Planar, this is in the units of the geometry, but for Geodesic and Spherical it's in units of the radius of the sphere.

Returns a geometry of similar type to the input geometry, but resampled.

source

',6))]),i("details",Ys,[i("summary",null,[s[285]||(s[285]=i("a",{id:"GeometryOps.signed_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.signed_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.signed_area")],-1)),s[286]||(s[286]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[287]||(s[287]=a(`
julia
signed_area(geom, [T = Float64])::T

Returns the signed area of a single geometry, based on winding order. This is computed slightly differently for different geometries:

- The signed area of a point is always zero.
+multipolygon = polygonize(>(0.5), A);

source

`,10))]),i("details",$s,[i("summary",null,[s[282]||(s[282]=i("a",{id:"GeometryOps.segmentize-Tuple{Any}",href:"#GeometryOps.segmentize-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.segmentize")],-1)),s[283]||(s[283]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[284]||(s[284]=a('
julia
segmentize([method = Planar()], geom; max_distance::Real, threaded)

Segmentize a geometry by adding extra vertices to the geometry so that no segment is longer than a given distance. This is useful for plotting geometries with a limited number of vertices, or for ensuring that a geometry is not too "coarse" for a given application.

Arguments

  • method::Manifold = Planar(): The method to use for segmentizing the geometry. At the moment, only Planar (assumes a flat plane) and Geodesic (assumes geometry on the ellipsoidal Earth and uses Vincenty's formulae) are available.

  • geom: The geometry to segmentize. Must be a LineString, LinearRing, Polygon, MultiPolygon, or GeometryCollection, or some vector or table of those.

  • max_distance::Real: The maximum distance between vertices in the geometry. Beware: for Planar, this is in the units of the geometry, but for Geodesic and Spherical it's in units of the radius of the sphere.

Returns a geometry of similar type to the input geometry, but resampled.

source

',6))]),i("details",Ys,[i("summary",null,[s[285]||(s[285]=i("a",{id:"GeometryOps.signed_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.signed_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.signed_area")],-1)),s[286]||(s[286]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[287]||(s[287]=a(`
julia
signed_area(geom, [T = Float64])::T

Returns the signed area of a single geometry, based on winding order. This is computed slightly differently for different geometries:

- The signed area of a point is always zero.
 - The signed area of a curve is always zero.
 - The signed area of a polygon is computed with the shoelace formula and is
 positive if the polygon coordinates wind clockwise and negative if
 counterclockwise.
 - You cannot compute the signed area of a multipolygon as it doesn't have a
-meaning as each sub-polygon could have a different winding order.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",si,[i("summary",null,[s[288]||(s[288]=i("a",{id:"GeometryOps.signed_distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.signed_distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.signed_distance")],-1)),s[289]||(s[289]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[290]||(s[290]=a('
julia
signed_distance(point, geom, ::Type{T} = Float64)::T

Calculates the signed distance from the geometry geom to the given point. Points within geom have a negative signed distance, and points outside of geom have a positive signed distance. - The signed distance from a point to a point, line, linestring, or linear ring is equal to the distance between the two. - The signed distance from a point to a polygon is negative if the point is within the polygon and is positive otherwise. The value of the distance is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The signed distance from a point to a multigeometry or a geometry collection is the minimum signed distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',4))]),i("details",ii,[i("summary",null,[s[291]||(s[291]=i("a",{id:"GeometryOps.simplify-Tuple{GeometryOps.SimplifyAlg, Any}",href:"#GeometryOps.simplify-Tuple{GeometryOps.SimplifyAlg, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.simplify")],-1)),s[292]||(s[292]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[293]||(s[293]=a(`
julia
simplify(obj; kw...)
+meaning as each sub-polygon could have a different winding order.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",si,[i("summary",null,[s[288]||(s[288]=i("a",{id:"GeometryOps.signed_distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.signed_distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.signed_distance")],-1)),s[289]||(s[289]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[290]||(s[290]=a('
julia
signed_distance(point, geom, ::Type{T} = Float64)::T

Calculates the signed distance from the geometry geom to the given point. Points within geom have a negative signed distance, and points outside of geom have a positive signed distance. - The signed distance from a point to a point, line, linestring, or linear ring is equal to the distance between the two. - The signed distance from a point to a polygon is negative if the point is within the polygon and is positive otherwise. The value of the distance is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The signed distance from a point to a multigeometry or a geometry collection is the minimum signed distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',4))]),i("details",ii,[i("summary",null,[s[291]||(s[291]=i("a",{id:"GeometryOps.simplify-Tuple{GeometryOps.SimplifyAlg, Any}",href:"#GeometryOps.simplify-Tuple{GeometryOps.SimplifyAlg, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.simplify")],-1)),s[292]||(s[292]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[293]||(s[293]=a(`
julia
simplify(obj; kw...)
 simplify(::SimplifyAlg, obj; kw...)

Simplify a geometry, feature, feature collection, or nested vectors or a table of these.

RadialDistance, DouglasPeucker, or VisvalingamWhyatt algorithms are available, listed in order of increasing quality but decreasing performance.

PoinTrait and MultiPointTrait are returned unchanged.

The default behaviour is simplify(DouglasPeucker(; kw...), obj). Pass in other SimplifyAlg to use other algorithms.

Keywords

  • prefilter_alg: SimplifyAlg algorithm used to pre-filter object before using primary filtering algorithm.

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

  • calc_extent: true or false. Whether to calculate the extent. Defaults to false.

Keywords for DouglasPeucker are allowed when no algorithm is specified:

Keywords

  • ratio: the fraction of points that should remain after simplify. Useful as it will generalise for large collections of objects.

  • number: the number of points that should remain after simplify. Less useful for large collections of mixed size objects.

  • tol: the minimum distance a point will be from the line joining its neighboring points.

Example

Simplify a polygon to have six points:

julia
import GeoInterface as GI
 import GeometryOps as GO
 
@@ -324,9 +324,9 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 GI.npoint(simple)
 
 # output
-6

source

`,14))]),i("details",ai,[i("summary",null,[s[294]||(s[294]=i("a",{id:"GeometryOps.t_value-Union{Tuple{T2}, Tuple{T1}, Tuple{N}, Tuple{Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, T2, T2}} where {N, T1<:Real, T2<:Real}",href:"#GeometryOps.t_value-Union{Tuple{T2}, Tuple{T1}, Tuple{N}, Tuple{Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, T2, T2}} where {N, T1<:Real, T2<:Real}"},[i("span",{class:"jlbinding"},"GeometryOps.t_value")],-1)),s[295]||(s[295]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[298]||(s[298]=a('
julia
t_value(sᵢ, sᵢ₊₁, rᵢ, rᵢ₊₁)

Returns the "T-value" as described in Hormann's presentation [1] on how to calculate the mean-value coordinate.

Here, sᵢ is the vector from vertex vᵢ to the point, and rᵢ is the norm (length) of sᵢ. s must be Point and r must be real numbers.

',3)),i("mjx-container",ei,[(p(),l("svg",ti,s[296]||(s[296]=[a('',1)]))),s[297]||(s[297]=i("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[i("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[i("mi",null,"t"),i("mi",null,"ᵢ"),i("mo",null,"="),i("mfrac",null,[i("mrow",null,[i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",{"data-mjx-auto-op":"false"},"det")]),i("mrow",{"data-mjx-texclass":"INNER"},[i("mo",{"data-mjx-texclass":"OPEN"},"("),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mo",null,","),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₊")]),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₁")]),i("mo",{"data-mjx-texclass":"CLOSE"},")")])]),i("mrow",null,[i("mi",null,"r"),i("mi",null,"ᵢ"),i("mo",null,"∗"),i("mi",null,"r"),i("mi",null,"ᵢ"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₊")]),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₁")]),i("mo",null,"+"),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mo",null,"⋅"),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₊")]),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₁")])])])])],-1))]),s[299]||(s[299]=a(`

+6

source

`,14))]),i("details",ai,[i("summary",null,[s[294]||(s[294]=i("a",{id:"GeometryOps.t_value-Union{Tuple{T2}, Tuple{T1}, Tuple{N}, Tuple{Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, T2, T2}} where {N, T1<:Real, T2<:Real}",href:"#GeometryOps.t_value-Union{Tuple{T2}, Tuple{T1}, Tuple{N}, Tuple{Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, T2, T2}} where {N, T1<:Real, T2<:Real}"},[i("span",{class:"jlbinding"},"GeometryOps.t_value")],-1)),s[295]||(s[295]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[298]||(s[298]=a('
julia
t_value(sᵢ, sᵢ₊₁, rᵢ, rᵢ₊₁)

Returns the "T-value" as described in Hormann's presentation [1] on how to calculate the mean-value coordinate.

Here, sᵢ is the vector from vertex vᵢ to the point, and rᵢ is the norm (length) of sᵢ. s must be Point and r must be real numbers.

',3)),i("mjx-container",ei,[(p(),l("svg",ti,s[296]||(s[296]=[a('',1)]))),s[297]||(s[297]=i("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[i("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[i("mi",null,"t"),i("mi",null,"ᵢ"),i("mo",null,"="),i("mfrac",null,[i("mrow",null,[i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",{"data-mjx-auto-op":"false"},"det")]),i("mrow",{"data-mjx-texclass":"INNER"},[i("mo",{"data-mjx-texclass":"OPEN"},"("),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mo",null,","),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₊")]),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₁")]),i("mo",{"data-mjx-texclass":"CLOSE"},")")])]),i("mrow",null,[i("mi",null,"r"),i("mi",null,"ᵢ"),i("mo",null,"∗"),i("mi",null,"r"),i("mi",null,"ᵢ"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₊")]),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₁")]),i("mo",null,"+"),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mo",null,"⋅"),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₊")]),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₁")])])])])],-1))]),s[299]||(s[299]=a(`

 
-[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/a455d3dd329eb00850f8162d1faf68135e3b3349/src/methods/barycentric.jl#L289-L305)
+[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/394c197520791d08fed66738e9aa8522e795cf90/src/methods/barycentric.jl#L289-L305)
 
 </details>
 
@@ -336,14 +336,14 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 
 
 \`\`\`julia
-to_edges()

Convert any geometry or collection of geometries into a flat vector of Tuple{Tuple{Float64,Float64},Tuple{Float64,Float64}} edges.

source

`,3))]),i("details",ni,[i("summary",null,[s[300]||(s[300]=i("a",{id:"GeometryOps.touches-Tuple{Any, Any}",href:"#GeometryOps.touches-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.touches")],-1)),s[301]||(s[301]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[302]||(s[302]=a(`
julia
touches(geom1, geom2)::Bool

Return true if the first geometry touches the second geometry. In other words, the two interiors cannot interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+to_edges()

Convert any geometry or collection of geometries into a flat vector of Tuple{Tuple{Float64,Float64},Tuple{Float64,Float64}} edges.

source

`,3))]),i("details",ni,[i("summary",null,[s[300]||(s[300]=i("a",{id:"GeometryOps.touches-Tuple{Any, Any}",href:"#GeometryOps.touches-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.touches")],-1)),s[301]||(s[301]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[302]||(s[302]=a(`
julia
touches(geom1, geom2)::Bool

Return true if the first geometry touches the second geometry. In other words, the two interiors cannot interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 l1 = GI.Line([(0.0, 0.0), (1.0, 0.0)])
 l2 = GI.Line([(1.0, 1.0), (1.0, -1.0)])
 
 GO.touches(l1, l2)
 # output
-true

source

`,5))]),i("details",li,[i("summary",null,[s[303]||(s[303]=i("a",{id:"GeometryOps.transform-Tuple{Any, Any}",href:"#GeometryOps.transform-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.transform")],-1)),s[304]||(s[304]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[305]||(s[305]=a(`
julia
transform(f, obj)

Apply a function f to all the points in obj.

Points will be passed to f as an SVector to allow using CoordinateTransformations.jl and Rotations.jl without hassle.

SVector is also a valid GeoInterface.jl point, so will work in all GeoInterface.jl methods.

Example

julia
julia> import GeoInterface as GI
+true

source

`,5))]),i("details",li,[i("summary",null,[s[303]||(s[303]=i("a",{id:"GeometryOps.transform-Tuple{Any, Any}",href:"#GeometryOps.transform-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.transform")],-1)),s[304]||(s[304]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[305]||(s[305]=a(`
julia
transform(f, obj)

Apply a function f to all the points in obj.

Points will be passed to f as an SVector to allow using CoordinateTransformations.jl and Rotations.jl without hassle.

SVector is also a valid GeoInterface.jl point, so will work in all GeoInterface.jl methods.

Example

julia
julia> import GeoInterface as GI
 
 julia> import GeometryOps as GO
 
@@ -362,7 +362,7 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 GeoInterface.Wrappers.Polygon{false, false, Vector{GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.LinearR
 ing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}[GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}(StaticArraysCore.SVe
 ctor{2, Int64}[[2, 1], [4, 3], [6, 5], [2, 1]], nothing, nothing), GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}(StaticArraysCore.SVector{2, Int64
-}[[4, 3], [6, 5], [7, 6], [4, 3]], nothing, nothing)], nothing, nothing)

source

`,9))]),i("details",pi,[i("summary",null,[s[306]||(s[306]=i("a",{id:"GeometryOps.tuples-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.tuples-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.tuples")],-1)),s[307]||(s[307]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[308]||(s[308]=a('
julia
tuples(obj)

Convert all points in obj to Tuples, wherever the are nested.

Returns a similar object or collection of objects using GeoInterface.jl geometries wrapping Tuple points.

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

  • calc_extent: true or false. Whether to calculate the extent. Defaults to false.

source

',6))]),i("details",hi,[i("summary",null,[s[309]||(s[309]=i("a",{id:"GeometryOps.union-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.union-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.union")],-1)),s[310]||(s[310]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[311]||(s[311]=a(`
julia
union(geom_a, geom_b, [::Type{T}]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the union between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a taget type as a keyword argument and a list of target geometries found in the difference will be returned. The user can also provide a float type 'T' that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to false if you know that the multipolygons are valid, as it will avoid unneeded computation.

Calculates the union between two polygons.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+}[[4, 3], [6, 5], [7, 6], [4, 3]], nothing, nothing)], nothing, nothing)

source

`,9))]),i("details",pi,[i("summary",null,[s[306]||(s[306]=i("a",{id:"GeometryOps.tuples-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.tuples-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.tuples")],-1)),s[307]||(s[307]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[308]||(s[308]=a('
julia
tuples(obj)

Convert all points in obj to Tuples, wherever the are nested.

Returns a similar object or collection of objects using GeoInterface.jl geometries wrapping Tuple points.

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

  • calc_extent: true or false. Whether to calculate the extent. Defaults to false.

source

',6))]),i("details",hi,[i("summary",null,[s[309]||(s[309]=i("a",{id:"GeometryOps.union-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.union-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.union")],-1)),s[310]||(s[310]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[311]||(s[311]=a(`
julia
union(geom_a, geom_b, [::Type{T}]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the union between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a taget type as a keyword argument and a list of target geometries found in the difference will be returned. The user can also provide a float type 'T' that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to false if you know that the multipolygons are valid, as it will avoid unneeded computation.

Calculates the union between two polygons.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 p1 = GI.Polygon([[(0.0, 0.0), (5.0, 5.0), (10.0, 0.0), (5.0, -5.0), (0.0, 0.0)]])
 p2 = GI.Polygon([[(3.0, 0.0), (8.0, 5.0), (13.0, 0.0), (8.0, -5.0), (3.0, 0.0)]])
@@ -371,11 +371,11 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 
 # output
 1-element Vector{Vector{Vector{Vector{Float64}}}}:
- [[[6.5, 3.5], [5.0, 5.0], [0.0, 0.0], [5.0, -5.0], [6.5, -3.5], [8.0, -5.0], [13.0, 0.0], [8.0, 5.0], [6.5, 3.5]]]

source

`,6))]),i("details",ki,[i("summary",null,[s[312]||(s[312]=i("a",{id:"GeometryOps.weighted_mean-Union{Tuple{WT}, Tuple{WT, Any, Any}} where WT<:Real",href:"#GeometryOps.weighted_mean-Union{Tuple{WT}, Tuple{WT, Any, Any}} where WT<:Real"},[i("span",{class:"jlbinding"},"GeometryOps.weighted_mean")],-1)),s[313]||(s[313]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[314]||(s[314]=a('
julia
weighted_mean(weight::Real, x1, x2)

Returns the weighted mean of x1 and x2, where weight is the weight of x1.

Specifically, calculates x1 * weight + x2 * (1 - weight).

Note

The idea for this method is that you can override this for custom types, like Color types, in extension modules.

source

',5))]),i("details",ri,[i("summary",null,[s[315]||(s[315]=i("a",{id:"GeometryOps.within-Tuple{Any, Any}",href:"#GeometryOps.within-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.within")],-1)),s[316]||(s[316]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[317]||(s[317]=a(`
julia
within(geom1, geom2)::Bool

Return true if the first geometry is completely within the second geometry. The interiors of both geometries must intersect and the interior and boundary of the primary geometry (geom1) must not intersect the exterior of the secondary geometry (geom2).

Furthermore, within returns the exact opposite result of contains.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+ [[[6.5, 3.5], [5.0, 5.0], [0.0, 0.0], [5.0, -5.0], [6.5, -3.5], [8.0, -5.0], [13.0, 0.0], [8.0, 5.0], [6.5, 3.5]]]

source

`,6))]),i("details",ki,[i("summary",null,[s[312]||(s[312]=i("a",{id:"GeometryOps.weighted_mean-Union{Tuple{WT}, Tuple{WT, Any, Any}} where WT<:Real",href:"#GeometryOps.weighted_mean-Union{Tuple{WT}, Tuple{WT, Any, Any}} where WT<:Real"},[i("span",{class:"jlbinding"},"GeometryOps.weighted_mean")],-1)),s[313]||(s[313]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[314]||(s[314]=a('
julia
weighted_mean(weight::Real, x1, x2)

Returns the weighted mean of x1 and x2, where weight is the weight of x1.

Specifically, calculates x1 * weight + x2 * (1 - weight).

Note

The idea for this method is that you can override this for custom types, like Color types, in extension modules.

source

',5))]),i("details",ri,[i("summary",null,[s[315]||(s[315]=i("a",{id:"GeometryOps.within-Tuple{Any, Any}",href:"#GeometryOps.within-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.within")],-1)),s[316]||(s[316]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[317]||(s[317]=a(`
julia
within(geom1, geom2)::Bool

Return true if the first geometry is completely within the second geometry. The interiors of both geometries must intersect and the interior and boundary of the primary geometry (geom1) must not intersect the exterior of the secondary geometry (geom2).

Furthermore, within returns the exact opposite result of contains.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = (1, 2)
 GO.within(point, line)
 
 # output
-true

source

`,6))]),s[324]||(s[324]=a('
  1. K. Hormann and N. Sukumar. Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics. Taylor & Fancis, CRC Press, 2017. ↩︎

',2))])}const Fi=h(r,[["render",oi]]);export{mi as __pageData,Fi as default}; +true

source

`,6))]),s[324]||(s[324]=a('
  1. K. Hormann and N. Sukumar. Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics. Taylor & Fancis, CRC Press, 2017. ↩︎

',2))])}const Fi=h(r,[["render",oi]]);export{mi as __pageData,Fi as default}; diff --git a/previews/PR223/assets/api.md.2HLTFd0J.lean.js b/previews/PR223/assets/api.md.pHWlBUPJ.lean.js similarity index 97% rename from previews/PR223/assets/api.md.2HLTFd0J.lean.js rename to previews/PR223/assets/api.md.pHWlBUPJ.lean.js index ff65821a1..d3b2d3f3c 100644 --- a/previews/PR223/assets/api.md.2HLTFd0J.lean.js +++ b/previews/PR223/assets/api.md.pHWlBUPJ.lean.js @@ -5,9 +5,9 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr flipped_geom = GO.apply(GI.PointTrait, geom) do p (GI.y(p), GI.x(p)) -end

source

`,10))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOpsCore.applyreduce",href:"#GeometryOpsCore.applyreduce"},[i("span",{class:"jlbinding"},"GeometryOpsCore.applyreduce")],-1)),s[4]||(s[4]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=a('
julia
applyreduce(f, op, target::Union{TraitTarget, GI.AbstractTrait}, obj; threaded)

Apply function f to all objects with the target trait, and reduce the result with an op like +.

The order and grouping of application of op is not guaranteed.

If threaded==true threads will be used over arrays and iterables, feature collections and nested geometries.

source

',5))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeometryOps.reproject",href:"#GeometryOps.reproject"},[i("span",{class:"jlbinding"},"GeometryOps.reproject")],-1)),s[7]||(s[7]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=a(`
julia
reproject(geometry; source_crs, target_crs, transform, always_xy, time)
+end

source

`,10))]),i("details",d,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOpsCore.applyreduce",href:"#GeometryOpsCore.applyreduce"},[i("span",{class:"jlbinding"},"GeometryOpsCore.applyreduce")],-1)),s[4]||(s[4]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=a('
julia
applyreduce(f, op, target::Union{TraitTarget, GI.AbstractTrait}, obj; threaded)

Apply function f to all objects with the target trait, and reduce the result with an op like +.

The order and grouping of application of op is not guaranteed.

If threaded==true threads will be used over arrays and iterables, feature collections and nested geometries.

source

',5))]),i("details",g,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeometryOps.reproject",href:"#GeometryOps.reproject"},[i("span",{class:"jlbinding"},"GeometryOps.reproject")],-1)),s[7]||(s[7]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=a(`
julia
reproject(geometry; source_crs, target_crs, transform, always_xy, time)
 reproject(geometry, source_crs, target_crs; always_xy, time)
-reproject(geometry, transform; always_xy, time)

Reproject any GeoInterface.jl compatible geometry from source_crs to target_crs.

The returned object will be constructed from GeoInterface.WrapperGeometry geometries, wrapping views of a Vector{Proj.Point{D}}, where D is the dimension.

Tip

The Proj.jl package must be loaded for this method to work, since it is implemented in a package extension.

Arguments

  • geometry: Any GeoInterface.jl compatible geometries.

  • source_crs: the source coordinate reference system, as a GeoFormatTypes.jl object or a string.

  • target_crs: the target coordinate reference system, as a GeoFormatTypes.jl object or a string.

If these a passed as keywords, transform will take priority. Without it target_crs is always needed, and source_crs is needed if it is not retrievable from the geometry with GeoInterface.crs(geometry).

Keywords

  • always_xy: force x, y coordinate order, true by default. false will expect and return points in the crs coordinate order.

  • time: the time for the coordinates. Inf by default.

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

  • calc_extent: true or false. Whether to calculate the extent. Defaults to false.

source

`,10))]),i("details",y,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeometryOps.transform",href:"#GeometryOps.transform"},[i("span",{class:"jlbinding"},"GeometryOps.transform")],-1)),s[10]||(s[10]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=a(`
julia
transform(f, obj)

Apply a function f to all the points in obj.

Points will be passed to f as an SVector to allow using CoordinateTransformations.jl and Rotations.jl without hassle.

SVector is also a valid GeoInterface.jl point, so will work in all GeoInterface.jl methods.

Example

julia
julia> import GeoInterface as GI
+reproject(geometry, transform; always_xy, time)

Reproject any GeoInterface.jl compatible geometry from source_crs to target_crs.

The returned object will be constructed from GeoInterface.WrapperGeometry geometries, wrapping views of a Vector{Proj.Point{D}}, where D is the dimension.

Tip

The Proj.jl package must be loaded for this method to work, since it is implemented in a package extension.

Arguments

  • geometry: Any GeoInterface.jl compatible geometries.

  • source_crs: the source coordinate reference system, as a GeoFormatTypes.jl object or a string.

  • target_crs: the target coordinate reference system, as a GeoFormatTypes.jl object or a string.

If these a passed as keywords, transform will take priority. Without it target_crs is always needed, and source_crs is needed if it is not retrievable from the geometry with GeoInterface.crs(geometry).

Keywords

  • always_xy: force x, y coordinate order, true by default. false will expect and return points in the crs coordinate order.

  • time: the time for the coordinates. Inf by default.

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

  • calc_extent: true or false. Whether to calculate the extent. Defaults to false.

source

`,10))]),i("details",y,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeometryOps.transform",href:"#GeometryOps.transform"},[i("span",{class:"jlbinding"},"GeometryOps.transform")],-1)),s[10]||(s[10]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=a(`
julia
transform(f, obj)

Apply a function f to all the points in obj.

Points will be passed to f as an SVector to allow using CoordinateTransformations.jl and Rotations.jl without hassle.

SVector is also a valid GeoInterface.jl point, so will work in all GeoInterface.jl methods.

Example

julia
julia> import GeoInterface as GI
 
 julia> import GeometryOps as GO
 
@@ -26,147 +26,147 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 GeoInterface.Wrappers.Polygon{false, false, Vector{GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.LinearR
 ing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}[GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}(StaticArraysCore.SVe
 ctor{2, Int64}[[2, 1], [4, 3], [6, 5], [2, 1]], nothing, nothing), GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}(StaticArraysCore.SVector{2, Int64
-}[[4, 3], [6, 5], [7, 6], [4, 3]], nothing, nothing)], nothing, nothing)

source

`,9))]),s[319]||(s[319]=i("h2",{id:"General-geometry-methods",tabindex:"-1"},[e("General geometry methods "),i("a",{class:"header-anchor",href:"#General-geometry-methods","aria-label":'Permalink to "General geometry methods {#General-geometry-methods}"'},"​")],-1)),s[320]||(s[320]=i("h3",{id:"OGC-methods",tabindex:"-1"},[e("OGC methods "),i("a",{class:"header-anchor",href:"#OGC-methods","aria-label":'Permalink to "OGC methods {#OGC-methods}"'},"​")],-1)),i("details",E,[i("summary",null,[s[12]||(s[12]=i("a",{id:"GeometryOps.contains",href:"#GeometryOps.contains"},[i("span",{class:"jlbinding"},"GeometryOps.contains")],-1)),s[13]||(s[13]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=a(`
julia
contains(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the second geometry is completely contained by the first geometry. The interiors of both geometries must intersect and the interior and boundary of the secondary (g2) must not intersect the exterior of the first (g1).

contains returns the exact opposite result of within.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+}[[4, 3], [6, 5], [7, 6], [4, 3]], nothing, nothing)], nothing, nothing)

source

`,9))]),s[319]||(s[319]=i("h2",{id:"General-geometry-methods",tabindex:"-1"},[e("General geometry methods "),i("a",{class:"header-anchor",href:"#General-geometry-methods","aria-label":'Permalink to "General geometry methods {#General-geometry-methods}"'},"​")],-1)),s[320]||(s[320]=i("h3",{id:"OGC-methods",tabindex:"-1"},[e("OGC methods "),i("a",{class:"header-anchor",href:"#OGC-methods","aria-label":'Permalink to "OGC methods {#OGC-methods}"'},"​")],-1)),i("details",E,[i("summary",null,[s[12]||(s[12]=i("a",{id:"GeometryOps.contains",href:"#GeometryOps.contains"},[i("span",{class:"jlbinding"},"GeometryOps.contains")],-1)),s[13]||(s[13]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[14]||(s[14]=a(`
julia
contains(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the second geometry is completely contained by the first geometry. The interiors of both geometries must intersect and the interior and boundary of the secondary (g2) must not intersect the exterior of the first (g1).

contains returns the exact opposite result of within.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = GI.Point((1, 2))
 
 GO.contains(line, point)
 # output
-true

source

`,6))]),i("details",c,[i("summary",null,[s[15]||(s[15]=i("a",{id:"GeometryOps.coveredby",href:"#GeometryOps.coveredby"},[i("span",{class:"jlbinding"},"GeometryOps.coveredby")],-1)),s[16]||(s[16]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[17]||(s[17]=a(`
julia
coveredby(g1, g2)::Bool

Return true if the first geometry is completely covered by the second geometry. The interior and boundary of the primary geometry (g1) must not intersect the exterior of the secondary geometry (g2).

Furthermore, coveredby returns the exact opposite result of covers. They are equivalent with the order of the arguments swapped.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),i("details",c,[i("summary",null,[s[15]||(s[15]=i("a",{id:"GeometryOps.coveredby",href:"#GeometryOps.coveredby"},[i("span",{class:"jlbinding"},"GeometryOps.coveredby")],-1)),s[16]||(s[16]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[17]||(s[17]=a(`
julia
coveredby(g1, g2)::Bool

Return true if the first geometry is completely covered by the second geometry. The interior and boundary of the primary geometry (g1) must not intersect the exterior of the secondary geometry (g2).

Furthermore, coveredby returns the exact opposite result of covers. They are equivalent with the order of the arguments swapped.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 p1 = GI.Point(0.0, 0.0)
 p2 = GI.Point(1.0, 1.0)
 l1 = GI.Line([p1, p2])
 
 GO.coveredby(p1, l1)
 # output
-true

source

`,6))]),i("details",u,[i("summary",null,[s[18]||(s[18]=i("a",{id:"GeometryOps.covers",href:"#GeometryOps.covers"},[i("span",{class:"jlbinding"},"GeometryOps.covers")],-1)),s[19]||(s[19]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[20]||(s[20]=a(`
julia
covers(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the first geometry is completely covers the second geometry, The exterior and boundary of the second geometry must not be outside of the interior and boundary of the first geometry. However, the interiors need not intersect.

covers returns the exact opposite result of coveredby.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),i("details",u,[i("summary",null,[s[18]||(s[18]=i("a",{id:"GeometryOps.covers",href:"#GeometryOps.covers"},[i("span",{class:"jlbinding"},"GeometryOps.covers")],-1)),s[19]||(s[19]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[20]||(s[20]=a(`
julia
covers(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the first geometry is completely covers the second geometry, The exterior and boundary of the second geometry must not be outside of the interior and boundary of the first geometry. However, the interiors need not intersect.

covers returns the exact opposite result of coveredby.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 l1 = GI.LineString([(1.0, 1.0), (1.0, 2.0), (1.0, 3.0), (1.0, 4.0)])
 l2 = GI.LineString([(1.0, 1.0), (1.0, 2.0)])
 
 GO.covers(l1, l2)
 # output
-true

source

`,6))]),i("details",m,[i("summary",null,[s[21]||(s[21]=i("a",{id:"GeometryOps.crosses",href:"#GeometryOps.crosses"},[i("span",{class:"jlbinding"},"GeometryOps.crosses")],-1)),s[22]||(s[22]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[23]||(s[23]=a(`
julia
 crosses(geom1, geom2)::Bool

Return true if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries.

TODO: broken

Examples

julia
import GeoInterface as GI, GeometryOps as GO
-# TODO: Add working example

source

`,6))]),i("details",F,[i("summary",null,[s[24]||(s[24]=i("a",{id:"GeometryOps.disjoint",href:"#GeometryOps.disjoint"},[i("span",{class:"jlbinding"},"GeometryOps.disjoint")],-1)),s[25]||(s[25]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[26]||(s[26]=a(`
julia
disjoint(geom1, geom2)::Bool

Return true if the first geometry is disjoint from the second geometry.

Return true if the first geometry is disjoint from the second geometry. The interiors and boundaries of both geometries must not intersect.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),i("details",m,[i("summary",null,[s[21]||(s[21]=i("a",{id:"GeometryOps.crosses",href:"#GeometryOps.crosses"},[i("span",{class:"jlbinding"},"GeometryOps.crosses")],-1)),s[22]||(s[22]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[23]||(s[23]=a(`
julia
 crosses(geom1, geom2)::Bool

Return true if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries.

TODO: broken

Examples

julia
import GeoInterface as GI, GeometryOps as GO
+# TODO: Add working example

source

`,6))]),i("details",F,[i("summary",null,[s[24]||(s[24]=i("a",{id:"GeometryOps.disjoint",href:"#GeometryOps.disjoint"},[i("span",{class:"jlbinding"},"GeometryOps.disjoint")],-1)),s[25]||(s[25]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[26]||(s[26]=a(`
julia
disjoint(geom1, geom2)::Bool

Return true if the first geometry is disjoint from the second geometry.

Return true if the first geometry is disjoint from the second geometry. The interiors and boundaries of both geometries must not intersect.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = (2, 2)
 GO.disjoint(point, line)
 
 # output
-true

source

`,6))]),i("details",C,[i("summary",null,[s[27]||(s[27]=i("a",{id:"GeometryOps.intersects",href:"#GeometryOps.intersects"},[i("span",{class:"jlbinding"},"GeometryOps.intersects")],-1)),s[28]||(s[28]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[29]||(s[29]=a(`
julia
intersects(geom1, geom2)::Bool

Return true if the interiors or boundaries of the two geometries interact.

intersects returns the exact opposite result of disjoint.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+true

source

`,6))]),i("details",C,[i("summary",null,[s[27]||(s[27]=i("a",{id:"GeometryOps.intersects",href:"#GeometryOps.intersects"},[i("span",{class:"jlbinding"},"GeometryOps.intersects")],-1)),s[28]||(s[28]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[29]||(s[29]=a(`
julia
intersects(geom1, geom2)::Bool

Return true if the interiors or boundaries of the two geometries interact.

intersects returns the exact opposite result of disjoint.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 line1 = GI.Line([(124.584961,-12.768946), (126.738281,-17.224758)])
 line2 = GI.Line([(123.354492,-15.961329), (127.22168,-14.008696)])
 GO.intersects(line1, line2)
 
 # output
-true

source

`,6))]),i("details",b,[i("summary",null,[s[30]||(s[30]=i("a",{id:"GeometryOps.overlaps",href:"#GeometryOps.overlaps"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[31]||(s[31]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[32]||(s[32]=a(`
julia
overlaps(geom1, geom2)::Bool

Compare two Geometries of the same dimension and return true if their intersection set results in a geometry different from both but of the same dimension. This means one geometry cannot be within or contain the other and they cannot be equal

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),i("details",b,[i("summary",null,[s[30]||(s[30]=i("a",{id:"GeometryOps.overlaps",href:"#GeometryOps.overlaps"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[31]||(s[31]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[32]||(s[32]=a(`
julia
overlaps(geom1, geom2)::Bool

Compare two Geometries of the same dimension and return true if their intersection set results in a geometry different from both but of the same dimension. This means one geometry cannot be within or contain the other and they cannot be equal

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 poly1 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 poly2 = GI.Polygon([[(1,1), (1,6), (6,6), (6,1), (1,1)]])
 
 GO.overlaps(poly1, poly2)
 # output
-true

source

julia
overlaps(::GI.AbstractTrait, geom1, ::GI.AbstractTrait, geom2)::Bool

For any non-specified pair, all have non-matching dimensions, return false.

source

julia
overlaps(
+true

source

julia
overlaps(::GI.AbstractTrait, geom1, ::GI.AbstractTrait, geom2)::Bool

For any non-specified pair, all have non-matching dimensions, return false.

source

julia
overlaps(
     ::GI.MultiPointTrait, points1,
     ::GI.MultiPointTrait, points2,
-)::Bool

If the multipoints overlap, meaning some, but not all, of the points within the multipoints are shared, return true.

source

julia
overlaps(::GI.LineTrait, line1, ::GI.LineTrait, line)::Bool

If the lines overlap, meaning that they are collinear but each have one endpoint outside of the other line, return true. Else false.

source

julia
overlaps(
+)::Bool

If the multipoints overlap, meaning some, but not all, of the points within the multipoints are shared, return true.

source

julia
overlaps(::GI.LineTrait, line1, ::GI.LineTrait, line)::Bool

If the lines overlap, meaning that they are collinear but each have one endpoint outside of the other line, return true. Else false.

source

julia
overlaps(
     ::Union{GI.LineStringTrait, GI.LinearRing}, line1,
     ::Union{GI.LineStringTrait, GI.LinearRing}, line2,
-)::Bool

If the curves overlap, meaning that at least one edge of each curve overlaps, return true. Else false.

source

julia
overlaps(
+)::Bool

If the curves overlap, meaning that at least one edge of each curve overlaps, return true. Else false.

source

julia
overlaps(
     trait_a::GI.PolygonTrait, poly_a,
     trait_b::GI.PolygonTrait, poly_b,
-)::Bool

If the two polygons intersect with one another, but are not equal, return true. Else false.

source

julia
overlaps(
+)::Bool

If the two polygons intersect with one another, but are not equal, return true. Else false.

source

julia
overlaps(
     ::GI.PolygonTrait, poly1,
     ::GI.MultiPolygonTrait, polys2,
-)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

julia
overlaps(
+)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

julia
overlaps(
     ::GI.MultiPolygonTrait, polys1,
     ::GI.PolygonTrait, poly2,
-)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

julia
overlaps(
+)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

julia
overlaps(
     ::GI.MultiPolygonTrait, polys1,
     ::GI.MultiPolygonTrait, polys2,
-)::Bool

Return true if at least one pair of polygons from multipolygons overlap. Else false.

source

`,29))]),i("details",f,[i("summary",null,[s[33]||(s[33]=i("a",{id:"GeometryOps.touches",href:"#GeometryOps.touches"},[i("span",{class:"jlbinding"},"GeometryOps.touches")],-1)),s[34]||(s[34]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[35]||(s[35]=a(`
julia
touches(geom1, geom2)::Bool

Return true if the first geometry touches the second geometry. In other words, the two interiors cannot interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+)::Bool

Return true if at least one pair of polygons from multipolygons overlap. Else false.

source

`,29))]),i("details",f,[i("summary",null,[s[33]||(s[33]=i("a",{id:"GeometryOps.touches",href:"#GeometryOps.touches"},[i("span",{class:"jlbinding"},"GeometryOps.touches")],-1)),s[34]||(s[34]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[35]||(s[35]=a(`
julia
touches(geom1, geom2)::Bool

Return true if the first geometry touches the second geometry. In other words, the two interiors cannot interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 l1 = GI.Line([(0.0, 0.0), (1.0, 0.0)])
 l2 = GI.Line([(1.0, 1.0), (1.0, -1.0)])
 
 GO.touches(l1, l2)
 # output
-true

source

`,5))]),i("details",T,[i("summary",null,[s[36]||(s[36]=i("a",{id:"GeometryOps.within",href:"#GeometryOps.within"},[i("span",{class:"jlbinding"},"GeometryOps.within")],-1)),s[37]||(s[37]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[38]||(s[38]=a(`
julia
within(geom1, geom2)::Bool

Return true if the first geometry is completely within the second geometry. The interiors of both geometries must intersect and the interior and boundary of the primary geometry (geom1) must not intersect the exterior of the secondary geometry (geom2).

Furthermore, within returns the exact opposite result of contains.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,5))]),i("details",T,[i("summary",null,[s[36]||(s[36]=i("a",{id:"GeometryOps.within",href:"#GeometryOps.within"},[i("span",{class:"jlbinding"},"GeometryOps.within")],-1)),s[37]||(s[37]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[38]||(s[38]=a(`
julia
within(geom1, geom2)::Bool

Return true if the first geometry is completely within the second geometry. The interiors of both geometries must intersect and the interior and boundary of the primary geometry (geom1) must not intersect the exterior of the secondary geometry (geom2).

Furthermore, within returns the exact opposite result of contains.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = (1, 2)
 GO.within(point, line)
 
 # output
-true

source

`,6))]),s[321]||(s[321]=i("h3",{id:"Other-general-methods",tabindex:"-1"},[e("Other general methods "),i("a",{class:"header-anchor",href:"#Other-general-methods","aria-label":'Permalink to "Other general methods {#Other-general-methods}"'},"​")],-1)),i("details",G,[i("summary",null,[s[39]||(s[39]=i("a",{id:"GeometryOps.equals",href:"#GeometryOps.equals"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[40]||(s[40]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[41]||(s[41]=a(`
julia
equals(geom1, geom2)::Bool

Compare two Geometries return true if they are the same geometry.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),s[321]||(s[321]=i("h3",{id:"Other-general-methods",tabindex:"-1"},[e("Other general methods "),i("a",{class:"header-anchor",href:"#Other-general-methods","aria-label":'Permalink to "Other general methods {#Other-general-methods}"'},"​")],-1)),i("details",G,[i("summary",null,[s[39]||(s[39]=i("a",{id:"GeometryOps.equals",href:"#GeometryOps.equals"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[40]||(s[40]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[41]||(s[41]=a(`
julia
equals(geom1, geom2)::Bool

Compare two Geometries return true if they are the same geometry.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 poly1 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 poly2 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 
 GO.equals(poly1, poly2)
 # output
-true

source

julia
equals(::T, geom_a, ::T, geom_b)::Bool

Two geometries of the same type, which don't have a equals function to dispatch off of should throw an error.

source

julia
equals(trait_a, geom_a, trait_b, geom_b)

Two geometries which are not of the same type cannot be equal so they always return false.

source

julia
equals(::GI.PointTrait, p1, ::GI.PointTrait, p2)::Bool

Two points are the same if they have the same x and y (and z if 3D) coordinates.

source

julia
equals(::GI.PointTrait, p1, ::GI.MultiPointTrait, mp2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

julia
equals(::GI.MultiPointTrait, mp1, ::GI.PointTrait, p2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

julia
equals(::GI.MultiPointTrait, mp1, ::GI.MultiPointTrait, mp2)::Bool

Two multipoints are equal if they share the same set of points.

source

julia
equals(
+true

source

julia
equals(::T, geom_a, ::T, geom_b)::Bool

Two geometries of the same type, which don't have a equals function to dispatch off of should throw an error.

source

julia
equals(trait_a, geom_a, trait_b, geom_b)

Two geometries which are not of the same type cannot be equal so they always return false.

source

julia
equals(::GI.PointTrait, p1, ::GI.PointTrait, p2)::Bool

Two points are the same if they have the same x and y (and z if 3D) coordinates.

source

julia
equals(::GI.PointTrait, p1, ::GI.MultiPointTrait, mp2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

julia
equals(::GI.MultiPointTrait, mp1, ::GI.PointTrait, p2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

julia
equals(::GI.MultiPointTrait, mp1, ::GI.MultiPointTrait, mp2)::Bool

Two multipoints are equal if they share the same set of points.

source

julia
equals(
     ::Union{GI.LineTrait, GI.LineStringTrait}, l1,
     ::Union{GI.LineTrait, GI.LineStringTrait}, l2,
-)::Bool

Two lines/linestrings are equal if they share the same set of points going along the curve. Note that lines/linestrings aren't closed by definition.

source

julia
equals(
+)::Bool

Two lines/linestrings are equal if they share the same set of points going along the curve. Note that lines/linestrings aren't closed by definition.

source

julia
equals(
     ::Union{GI.LineTrait, GI.LineStringTrait}, l1,
     ::GI.LinearRingTrait, l2,
-)::Bool

A line/linestring and a linear ring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

julia
equals(
+)::Bool

A line/linestring and a linear ring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

julia
equals(
     ::GI.LinearRingTrait, l1,
     ::Union{GI.LineTrait, GI.LineStringTrait}, l2,
-)::Bool

A linear ring and a line/linestring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

julia
equals(
+)::Bool

A linear ring and a line/linestring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

julia
equals(
     ::GI.LinearRingTrait, l1,
     ::GI.LinearRingTrait, l2,
-)::Bool

Two linear rings are equal if they share the same set of points going along the curve. Note that rings are closed by definition, so they can have, but don't need, a repeated last point to be equal.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two polygons are equal if they share the same exterior edge and holes.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.MultiPolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

julia
equals(::GI.MultiPolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two multipolygons are equal if they share the same set of polygons.

source

`,47))]),i("details",v,[i("summary",null,[s[42]||(s[42]=i("a",{id:"GeometryOps.centroid",href:"#GeometryOps.centroid"},[i("span",{class:"jlbinding"},"GeometryOps.centroid")],-1)),s[43]||(s[43]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[44]||(s[44]=a('
julia
centroid(geom, [T=Float64])::Tuple{T, T}

Returns the centroid of a given line segment, linear ring, polygon, or mutlipolygon.

source

',3))]),i("details",A,[i("summary",null,[s[45]||(s[45]=i("a",{id:"GeometryOps.distance",href:"#GeometryOps.distance"},[i("span",{class:"jlbinding"},"GeometryOps.distance")],-1)),s[46]||(s[46]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[47]||(s[47]=a('
julia
distance(point, geom, ::Type{T} = Float64)::T

Calculates the ditance from the geometry g1 to the point. The distance will always be positive or zero.

The method will differ based on the type of the geometry provided: - The distance from a point to a point is just the Euclidean distance between the points. - The distance from a point to a line is the minimum distance from the point to the closest point on the given line. - The distance from a point to a linestring is the minimum distance from the point to the closest segment of the linestring. - The distance from a point to a linear ring is the minimum distance from the point to the closest segment of the linear ring. - The distance from a point to a polygon is zero if the point is within the polygon and otherwise is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The distance from a point to a multigeometry or a geometry collection is the minimum distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',5))]),i("details",j,[i("summary",null,[s[48]||(s[48]=i("a",{id:"GeometryOps.signed_distance",href:"#GeometryOps.signed_distance"},[i("span",{class:"jlbinding"},"GeometryOps.signed_distance")],-1)),s[49]||(s[49]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[50]||(s[50]=a('
julia
signed_distance(point, geom, ::Type{T} = Float64)::T

Calculates the signed distance from the geometry geom to the given point. Points within geom have a negative signed distance, and points outside of geom have a positive signed distance. - The signed distance from a point to a point, line, linestring, or linear ring is equal to the distance between the two. - The signed distance from a point to a polygon is negative if the point is within the polygon and is positive otherwise. The value of the distance is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The signed distance from a point to a multigeometry or a geometry collection is the minimum signed distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',4))]),i("details",B,[i("summary",null,[s[51]||(s[51]=i("a",{id:"GeometryOps.area",href:"#GeometryOps.area"},[i("span",{class:"jlbinding"},"GeometryOps.area")],-1)),s[52]||(s[52]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[53]||(s[53]=a(`
julia
area(geom, [T = Float64])::T

Returns the area of a geometry or collection of geometries. This is computed slightly differently for different geometries:

- The area of a point/multipoint is always zero.
+)::Bool

Two linear rings are equal if they share the same set of points going along the curve. Note that rings are closed by definition, so they can have, but don't need, a repeated last point to be equal.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two polygons are equal if they share the same exterior edge and holes.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.MultiPolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

julia
equals(::GI.MultiPolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two multipolygons are equal if they share the same set of polygons.

source

`,47))]),i("details",v,[i("summary",null,[s[42]||(s[42]=i("a",{id:"GeometryOps.centroid",href:"#GeometryOps.centroid"},[i("span",{class:"jlbinding"},"GeometryOps.centroid")],-1)),s[43]||(s[43]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[44]||(s[44]=a('
julia
centroid(geom, [T=Float64])::Tuple{T, T}

Returns the centroid of a given line segment, linear ring, polygon, or mutlipolygon.

source

',3))]),i("details",A,[i("summary",null,[s[45]||(s[45]=i("a",{id:"GeometryOps.distance",href:"#GeometryOps.distance"},[i("span",{class:"jlbinding"},"GeometryOps.distance")],-1)),s[46]||(s[46]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[47]||(s[47]=a('
julia
distance(point, geom, ::Type{T} = Float64)::T

Calculates the ditance from the geometry g1 to the point. The distance will always be positive or zero.

The method will differ based on the type of the geometry provided: - The distance from a point to a point is just the Euclidean distance between the points. - The distance from a point to a line is the minimum distance from the point to the closest point on the given line. - The distance from a point to a linestring is the minimum distance from the point to the closest segment of the linestring. - The distance from a point to a linear ring is the minimum distance from the point to the closest segment of the linear ring. - The distance from a point to a polygon is zero if the point is within the polygon and otherwise is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The distance from a point to a multigeometry or a geometry collection is the minimum distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',5))]),i("details",j,[i("summary",null,[s[48]||(s[48]=i("a",{id:"GeometryOps.signed_distance",href:"#GeometryOps.signed_distance"},[i("span",{class:"jlbinding"},"GeometryOps.signed_distance")],-1)),s[49]||(s[49]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[50]||(s[50]=a('
julia
signed_distance(point, geom, ::Type{T} = Float64)::T

Calculates the signed distance from the geometry geom to the given point. Points within geom have a negative signed distance, and points outside of geom have a positive signed distance. - The signed distance from a point to a point, line, linestring, or linear ring is equal to the distance between the two. - The signed distance from a point to a polygon is negative if the point is within the polygon and is positive otherwise. The value of the distance is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The signed distance from a point to a multigeometry or a geometry collection is the minimum signed distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',4))]),i("details",B,[i("summary",null,[s[51]||(s[51]=i("a",{id:"GeometryOps.area",href:"#GeometryOps.area"},[i("span",{class:"jlbinding"},"GeometryOps.area")],-1)),s[52]||(s[52]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[53]||(s[53]=a(`
julia
area(geom, [T = Float64])::T

Returns the area of a geometry or collection of geometries. This is computed slightly differently for different geometries:

- The area of a point/multipoint is always zero.
 - The area of a curve/multicurve is always zero.
 - The area of a polygon is the absolute value of the signed area.
 - The area multi-polygon is the sum of the areas of all of the sub-polygons.
 - The area of a geometry collection, feature collection of array/iterable 
-    is the sum of the areas of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",O,[i("summary",null,[s[54]||(s[54]=i("a",{id:"GeometryOps.signed_area",href:"#GeometryOps.signed_area"},[i("span",{class:"jlbinding"},"GeometryOps.signed_area")],-1)),s[55]||(s[55]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[56]||(s[56]=a(`
julia
signed_area(geom, [T = Float64])::T

Returns the signed area of a single geometry, based on winding order. This is computed slightly differently for different geometries:

- The signed area of a point is always zero.
+    is the sum of the areas of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",O,[i("summary",null,[s[54]||(s[54]=i("a",{id:"GeometryOps.signed_area",href:"#GeometryOps.signed_area"},[i("span",{class:"jlbinding"},"GeometryOps.signed_area")],-1)),s[55]||(s[55]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[56]||(s[56]=a(`
julia
signed_area(geom, [T = Float64])::T

Returns the signed area of a single geometry, based on winding order. This is computed slightly differently for different geometries:

- The signed area of a point is always zero.
 - The signed area of a curve is always zero.
 - The signed area of a polygon is computed with the shoelace formula and is
 positive if the polygon coordinates wind clockwise and negative if
 counterclockwise.
 - You cannot compute the signed area of a multipolygon as it doesn't have a
-meaning as each sub-polygon could have a different winding order.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",D,[i("summary",null,[s[57]||(s[57]=i("a",{id:"GeometryOps.angles",href:"#GeometryOps.angles"},[i("span",{class:"jlbinding"},"GeometryOps.angles")],-1)),s[58]||(s[58]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[59]||(s[59]=a(`
julia
angles(geom, ::Type{T} = Float64)

Returns the angles of a geometry or collection of geometries. This is computed differently for different geometries:

- The angles of a point is an empty vector.
+meaning as each sub-polygon could have a different winding order.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",D,[i("summary",null,[s[57]||(s[57]=i("a",{id:"GeometryOps.angles",href:"#GeometryOps.angles"},[i("span",{class:"jlbinding"},"GeometryOps.angles")],-1)),s[58]||(s[58]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[59]||(s[59]=a(`
julia
angles(geom, ::Type{T} = Float64)

Returns the angles of a geometry or collection of geometries. This is computed differently for different geometries:

- The angles of a point is an empty vector.
 - The angles of a single line segment is an empty vector.
 - The angles of a linestring or linearring is a vector of angles formed by the curve.
 - The angles of a polygon is a vector of vectors of angles formed by each ring.
 - The angles of a multi-geometry collection is a vector of the angles of each of the
-    sub-geometries as defined above.

Result will be a Vector, or nested set of vectors, of type T where an optional argument with a default value of Float64.

source

`,5))]),i("details",Q,[i("summary",null,[s[60]||(s[60]=i("a",{id:"GeometryOps.embed_extent",href:"#GeometryOps.embed_extent"},[i("span",{class:"jlbinding"},"GeometryOps.embed_extent")],-1)),s[61]||(s[61]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[62]||(s[62]=a('
julia
embed_extent(obj)

Recursively wrap the object with a GeoInterface.jl geometry, calculating and adding an Extents.Extent to all objects.

This can improve performance when extents need to be checked multiple times, such when needing to check if many points are in geometries, and using their extents as a quick filter for obviously exterior points.

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

source

',6))]),s[322]||(s[322]=i("h2",{id:"Barycentric-coordinates",tabindex:"-1"},[e("Barycentric coordinates "),i("a",{class:"header-anchor",href:"#Barycentric-coordinates","aria-label":'Permalink to "Barycentric coordinates {#Barycentric-coordinates}"'},"​")],-1)),i("details",x,[i("summary",null,[s[63]||(s[63]=i("a",{id:"GeometryOps.barycentric_coordinates",href:"#GeometryOps.barycentric_coordinates"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates")],-1)),s[64]||(s[64]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=a('
julia
barycentric_coordinates(method = MeanValue(), polygon, point)

Returns the barycentric coordinates of point in polygon using the barycentric coordinate method method.

source

',3))]),i("details",w,[i("summary",null,[s[66]||(s[66]=i("a",{id:"GeometryOps.barycentric_coordinates!",href:"#GeometryOps.barycentric_coordinates!"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates!")],-1)),s[67]||(s[67]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[68]||(s[68]=a('
julia
barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, polygon, point)

Loads the barycentric coordinates of point in polygon into λs using the barycentric coordinate method method.

λs must be of the length of the polygon plus its holes.

Tip

Use this method to avoid excess allocations when you need to calculate barycentric coordinates for many points.

source

',5))]),i("details",L,[i("summary",null,[s[69]||(s[69]=i("a",{id:"GeometryOps.barycentric_interpolate",href:"#GeometryOps.barycentric_interpolate"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_interpolate")],-1)),s[70]||(s[70]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[71]||(s[71]=a('
julia
barycentric_interpolate(method = MeanValue(), polygon, values::AbstractVector{V}, point)

Returns the interpolated value at point within polygon using the barycentric coordinate method method. values are the per-point values for the polygon which are to be interpolated.

Returns an object of type V.

Warning

Barycentric interpolation is currently defined only for 2-dimensional polygons. If you pass a 3-D polygon in, the Z coordinate will be used as per-vertex value to be interpolated (the M coordinate in GIS parlance).

source

',5))]),s[323]||(s[323]=i("h2",{id:"Other-methods",tabindex:"-1"},[e("Other methods "),i("a",{class:"header-anchor",href:"#Other-methods","aria-label":'Permalink to "Other methods {#Other-methods}"'},"​")],-1)),i("details",I,[i("summary",null,[s[72]||(s[72]=i("a",{id:"GeometryOps.AbstractBarycentricCoordinateMethod",href:"#GeometryOps.AbstractBarycentricCoordinateMethod"},[i("span",{class:"jlbinding"},"GeometryOps.AbstractBarycentricCoordinateMethod")],-1)),s[73]||(s[73]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[74]||(s[74]=a('
julia
abstract type AbstractBarycentricCoordinateMethod

Abstract supertype for barycentric coordinate methods. The subtypes may serve as dispatch types, or may cache some information about the target polygon.

API

The following methods must be implemented for all subtypes:

  • barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, exterior::Vector{<: Point{2, T1}}, point::Point{2, T2})

  • barycentric_interpolate(method::AbstractBarycentricCoordinateMethod, exterior::Vector{<: Point{2, T1}}, values::Vector{V}, point::Point{2, T2})::V

  • barycentric_interpolate(method::AbstractBarycentricCoordinateMethod, exterior::Vector{<: Point{2, T1}}, interiors::Vector{<: Vector{<: Point{2, T1}}} values::Vector{V}, point::Point{2, T2})::V

The rest of the methods will be implemented in terms of these, and have efficient dispatches for broadcasting.

source

',7))]),i("details",M,[i("summary",null,[s[75]||(s[75]=i("a",{id:"GeometryOps.ClosedRing",href:"#GeometryOps.ClosedRing"},[i("span",{class:"jlbinding"},"GeometryOps.ClosedRing")],-1)),s[76]||(s[76]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[77]||(s[77]=a('
julia
ClosedRing() <: GeometryCorrection

This correction ensures that a polygon's exterior and interior rings are closed.

It can be called on any geometry correction as usual.

See also GeometryCorrection.

source

',5))]),i("details",P,[i("summary",null,[s[78]||(s[78]=i("a",{id:"GeometryOps.DiffIntersectingPolygons",href:"#GeometryOps.DiffIntersectingPolygons"},[i("span",{class:"jlbinding"},"GeometryOps.DiffIntersectingPolygons")],-1)),s[79]||(s[79]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[80]||(s[80]=a('
julia
DiffIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygons included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be made nonintersecting through the difference operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area. See also GeometryCorrection, UnionIntersectingPolygons.

source

',3))]),i("details",q,[i("summary",null,[s[81]||(s[81]=i("a",{id:"GeometryOps.DouglasPeucker",href:"#GeometryOps.DouglasPeucker"},[i("span",{class:"jlbinding"},"GeometryOps.DouglasPeucker")],-1)),s[82]||(s[82]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[83]||(s[83]=a(`
julia
DouglasPeucker <: SimplifyAlg
+    sub-geometries as defined above.

Result will be a Vector, or nested set of vectors, of type T where an optional argument with a default value of Float64.

source

`,5))]),i("details",Q,[i("summary",null,[s[60]||(s[60]=i("a",{id:"GeometryOps.embed_extent",href:"#GeometryOps.embed_extent"},[i("span",{class:"jlbinding"},"GeometryOps.embed_extent")],-1)),s[61]||(s[61]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[62]||(s[62]=a('
julia
embed_extent(obj)

Recursively wrap the object with a GeoInterface.jl geometry, calculating and adding an Extents.Extent to all objects.

This can improve performance when extents need to be checked multiple times, such when needing to check if many points are in geometries, and using their extents as a quick filter for obviously exterior points.

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

source

',6))]),s[322]||(s[322]=i("h2",{id:"Barycentric-coordinates",tabindex:"-1"},[e("Barycentric coordinates "),i("a",{class:"header-anchor",href:"#Barycentric-coordinates","aria-label":'Permalink to "Barycentric coordinates {#Barycentric-coordinates}"'},"​")],-1)),i("details",x,[i("summary",null,[s[63]||(s[63]=i("a",{id:"GeometryOps.barycentric_coordinates",href:"#GeometryOps.barycentric_coordinates"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates")],-1)),s[64]||(s[64]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[65]||(s[65]=a('
julia
barycentric_coordinates(method = MeanValue(), polygon, point)

Returns the barycentric coordinates of point in polygon using the barycentric coordinate method method.

source

',3))]),i("details",w,[i("summary",null,[s[66]||(s[66]=i("a",{id:"GeometryOps.barycentric_coordinates!",href:"#GeometryOps.barycentric_coordinates!"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates!")],-1)),s[67]||(s[67]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[68]||(s[68]=a('
julia
barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, polygon, point)

Loads the barycentric coordinates of point in polygon into λs using the barycentric coordinate method method.

λs must be of the length of the polygon plus its holes.

Tip

Use this method to avoid excess allocations when you need to calculate barycentric coordinates for many points.

source

',5))]),i("details",L,[i("summary",null,[s[69]||(s[69]=i("a",{id:"GeometryOps.barycentric_interpolate",href:"#GeometryOps.barycentric_interpolate"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_interpolate")],-1)),s[70]||(s[70]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[71]||(s[71]=a('
julia
barycentric_interpolate(method = MeanValue(), polygon, values::AbstractVector{V}, point)

Returns the interpolated value at point within polygon using the barycentric coordinate method method. values are the per-point values for the polygon which are to be interpolated.

Returns an object of type V.

Warning

Barycentric interpolation is currently defined only for 2-dimensional polygons. If you pass a 3-D polygon in, the Z coordinate will be used as per-vertex value to be interpolated (the M coordinate in GIS parlance).

source

',5))]),s[323]||(s[323]=i("h2",{id:"Other-methods",tabindex:"-1"},[e("Other methods "),i("a",{class:"header-anchor",href:"#Other-methods","aria-label":'Permalink to "Other methods {#Other-methods}"'},"​")],-1)),i("details",I,[i("summary",null,[s[72]||(s[72]=i("a",{id:"GeometryOps.AbstractBarycentricCoordinateMethod",href:"#GeometryOps.AbstractBarycentricCoordinateMethod"},[i("span",{class:"jlbinding"},"GeometryOps.AbstractBarycentricCoordinateMethod")],-1)),s[73]||(s[73]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[74]||(s[74]=a('
julia
abstract type AbstractBarycentricCoordinateMethod

Abstract supertype for barycentric coordinate methods. The subtypes may serve as dispatch types, or may cache some information about the target polygon.

API

The following methods must be implemented for all subtypes:

  • barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, exterior::Vector{<: Point{2, T1}}, point::Point{2, T2})

  • barycentric_interpolate(method::AbstractBarycentricCoordinateMethod, exterior::Vector{<: Point{2, T1}}, values::Vector{V}, point::Point{2, T2})::V

  • barycentric_interpolate(method::AbstractBarycentricCoordinateMethod, exterior::Vector{<: Point{2, T1}}, interiors::Vector{<: Vector{<: Point{2, T1}}} values::Vector{V}, point::Point{2, T2})::V

The rest of the methods will be implemented in terms of these, and have efficient dispatches for broadcasting.

source

',7))]),i("details",M,[i("summary",null,[s[75]||(s[75]=i("a",{id:"GeometryOps.ClosedRing",href:"#GeometryOps.ClosedRing"},[i("span",{class:"jlbinding"},"GeometryOps.ClosedRing")],-1)),s[76]||(s[76]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[77]||(s[77]=a('
julia
ClosedRing() <: GeometryCorrection

This correction ensures that a polygon's exterior and interior rings are closed.

It can be called on any geometry correction as usual.

See also GeometryCorrection.

source

',5))]),i("details",P,[i("summary",null,[s[78]||(s[78]=i("a",{id:"GeometryOps.DiffIntersectingPolygons",href:"#GeometryOps.DiffIntersectingPolygons"},[i("span",{class:"jlbinding"},"GeometryOps.DiffIntersectingPolygons")],-1)),s[79]||(s[79]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[80]||(s[80]=a('
julia
DiffIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygons included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be made nonintersecting through the difference operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area. See also GeometryCorrection, UnionIntersectingPolygons.

source

',3))]),i("details",q,[i("summary",null,[s[81]||(s[81]=i("a",{id:"GeometryOps.DouglasPeucker",href:"#GeometryOps.DouglasPeucker"},[i("span",{class:"jlbinding"},"GeometryOps.DouglasPeucker")],-1)),s[82]||(s[82]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[83]||(s[83]=a(`
julia
DouglasPeucker <: SimplifyAlg
 
-DouglasPeucker(; number, ratio, tol)

Simplifies geometries by removing points below tol distance from the line between its neighboring points.

Keywords

  • ratio: the fraction of points that should remain after simplify. Useful as it will generalise for large collections of objects.

  • number: the number of points that should remain after simplify. Less useful for large collections of mixed size objects.

  • tol: the minimum distance a point will be from the line joining its neighboring points.

Note: user input tol is squared to avoid unnecessary computation in algorithm.

source

`,6))]),i("details",R,[i("summary",null,[s[84]||(s[84]=i("a",{id:"GeometryOps.GEOS",href:"#GeometryOps.GEOS"},[i("span",{class:"jlbinding"},"GeometryOps.GEOS")],-1)),s[85]||(s[85]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[86]||(s[86]=a('
julia
GEOS(; params...)

A struct which instructs the method it's passed to as an algorithm to use the appropriate GEOS function via LibGEOS.jl for the operation.

Dispatch is generally carried out using the names of the keyword arguments. For example, segmentize will only accept a GEOS struct with only a max_distance keyword, and no other.

It's generally a lot slower than the native Julia implementations, since it must convert to the LibGEOS implementation and back - so be warned!

source

',5))]),i("details",S,[i("summary",null,[s[87]||(s[87]=i("a",{id:"GeometryOps.GeodesicSegments",href:"#GeometryOps.GeodesicSegments"},[i("span",{class:"jlbinding"},"GeometryOps.GeodesicSegments")],-1)),s[88]||(s[88]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[89]||(s[89]=a('
julia
GeodesicSegments(; max_distance::Real, equatorial_radius::Real=6378137, flattening::Real=1/298.257223563)

A method for segmentizing geometries by adding extra vertices to the geometry so that no segment is longer than a given distance. This method calculates the distance between points on the geodesic, and assumes input in lat/long coordinates.

Warning

Any input geometries must be in lon/lat coordinates! If not, the method may fail or error.

Arguments

  • max_distance::Real: The maximum distance, in meters, between vertices in the geometry.

  • equatorial_radius::Real=6378137: The equatorial radius of the Earth, in meters. Passed to Proj.geod_geodesic.

  • flattening::Real=1/298.257223563: The flattening of the Earth, which is the ratio of the difference between the equatorial and polar radii to the equatorial radius. Passed to Proj.geod_geodesic.

One can also omit the equatorial_radius and flattening keyword arguments, and pass a geodesic object directly to the eponymous keyword.

This method uses the Proj/GeographicLib API for geodesic calculations.

source

',8))]),i("details",V,[i("summary",null,[s[90]||(s[90]=i("a",{id:"GeometryOps.GeometryCorrection",href:"#GeometryOps.GeometryCorrection"},[i("span",{class:"jlbinding"},"GeometryOps.GeometryCorrection")],-1)),s[91]||(s[91]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[92]||(s[92]=a('
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

',5))]),i("details",J,[i("summary",null,[s[93]||(s[93]=i("a",{id:"GeometryOps.LineOrientation",href:"#GeometryOps.LineOrientation"},[i("span",{class:"jlbinding"},"GeometryOps.LineOrientation")],-1)),s[94]||(s[94]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[95]||(s[95]=a('
julia
Enum LineOrientation

Enum for the orientation of a line with respect to a curve. A line can be line_cross (crossing over the curve), line_hinge (crossing the endpoint of the curve), line_over (collinear with the curve), or line_out (not interacting with the curve).

source

',3))]),i("details",U,[i("summary",null,[s[96]||(s[96]=i("a",{id:"GeometryOps.LinearSegments",href:"#GeometryOps.LinearSegments"},[i("span",{class:"jlbinding"},"GeometryOps.LinearSegments")],-1)),s[97]||(s[97]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[98]||(s[98]=a('
julia
LinearSegments(; max_distance::Real)

A method for segmentizing geometries by adding extra vertices to the geometry so that no segment is longer than a given distance.

Here, max_distance is a purely nondimensional quantity and will apply in the input space. This is to say, that if the polygon is provided in lat/lon coordinates then the max_distance will be in degrees of arc. If the polygon is provided in meters, then the max_distance will be in meters.

source

',4))]),i("details",H,[i("summary",null,[s[99]||(s[99]=i("a",{id:"GeometryOps.MeanValue",href:"#GeometryOps.MeanValue"},[i("span",{class:"jlbinding"},"GeometryOps.MeanValue")],-1)),s[100]||(s[100]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[101]||(s[101]=a('
julia
MeanValue() <: AbstractBarycentricCoordinateMethod

This method calculates barycentric coordinates using the mean value method.

References

source

',4))]),i("details",N,[i("summary",null,[s[102]||(s[102]=i("a",{id:"GeometryOps.MonotoneChainMethod",href:"#GeometryOps.MonotoneChainMethod"},[i("span",{class:"jlbinding"},"GeometryOps.MonotoneChainMethod")],-1)),s[103]||(s[103]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[104]||(s[104]=a('
julia
MonotoneChainMethod()

This is an algorithm for the convex_hull function.

Uses DelaunayTriangulation.jl to compute the convex hull. This is a pure Julia algorithm which provides an optimal Delaunay triangulation.

See also convex_hull

source

',5))]),i("details",W,[i("summary",null,[s[105]||(s[105]=i("a",{id:"GeometryOps.PointOrientation",href:"#GeometryOps.PointOrientation"},[i("span",{class:"jlbinding"},"GeometryOps.PointOrientation")],-1)),s[106]||(s[106]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[107]||(s[107]=a('
julia
Enum PointOrientation

Enum for the orientation of a point with respect to a curve. A point can be point_in the curve, point_on the curve, or point_out of the curve.

source

',3))]),i("details",z,[i("summary",null,[s[108]||(s[108]=i("a",{id:"GeometryOps.RadialDistance",href:"#GeometryOps.RadialDistance"},[i("span",{class:"jlbinding"},"GeometryOps.RadialDistance")],-1)),s[109]||(s[109]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[110]||(s[110]=a('
julia
RadialDistance <: SimplifyAlg

Simplifies geometries by removing points less than tol distance from the line between its neighboring points.

Keywords

  • ratio: the fraction of points that should remain after simplify. Useful as it will generalise for large collections of objects.

  • number: the number of points that should remain after simplify. Less useful for large collections of mixed size objects.

  • tol: the minimum distance between points.

Note: user input tol is squared to avoid unnecessary computation in algorithm.

source

',6))]),i("details",Z,[i("summary",null,[s[111]||(s[111]=i("a",{id:"GeometryOps.SimplifyAlg",href:"#GeometryOps.SimplifyAlg"},[i("span",{class:"jlbinding"},"GeometryOps.SimplifyAlg")],-1)),s[112]||(s[112]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[113]||(s[113]=a('
julia
abstract type SimplifyAlg

Abstract type for simplification algorithms.

API

For now, the algorithm must hold the number, ratio and tol properties.

Simplification algorithm types can hook into the interface by implementing the _simplify(trait, alg, geom) methods for whichever traits are necessary.

source

',6))]),i("details",_,[i("summary",null,[s[114]||(s[114]=i("a",{id:"GeometryOps.UnionIntersectingPolygons",href:"#GeometryOps.UnionIntersectingPolygons"},[i("span",{class:"jlbinding"},"GeometryOps.UnionIntersectingPolygons")],-1)),s[115]||(s[115]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[116]||(s[116]=a('
julia
UnionIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygon's included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be combined through the union operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area.

See also GeometryCorrection.

source

',4))]),i("details",K,[i("summary",null,[s[117]||(s[117]=i("a",{id:"GeometryOps.VisvalingamWhyatt",href:"#GeometryOps.VisvalingamWhyatt"},[i("span",{class:"jlbinding"},"GeometryOps.VisvalingamWhyatt")],-1)),s[118]||(s[118]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[119]||(s[119]=a(`
julia
VisvalingamWhyatt <: SimplifyAlg
+DouglasPeucker(; number, ratio, tol)

Simplifies geometries by removing points below tol distance from the line between its neighboring points.

Keywords

  • ratio: the fraction of points that should remain after simplify. Useful as it will generalise for large collections of objects.

  • number: the number of points that should remain after simplify. Less useful for large collections of mixed size objects.

  • tol: the minimum distance a point will be from the line joining its neighboring points.

Note: user input tol is squared to avoid unnecessary computation in algorithm.

source

`,6))]),i("details",R,[i("summary",null,[s[84]||(s[84]=i("a",{id:"GeometryOps.GEOS",href:"#GeometryOps.GEOS"},[i("span",{class:"jlbinding"},"GeometryOps.GEOS")],-1)),s[85]||(s[85]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[86]||(s[86]=a('
julia
GEOS(; params...)

A struct which instructs the method it's passed to as an algorithm to use the appropriate GEOS function via LibGEOS.jl for the operation.

Dispatch is generally carried out using the names of the keyword arguments. For example, segmentize will only accept a GEOS struct with only a max_distance keyword, and no other.

It's generally a lot slower than the native Julia implementations, since it must convert to the LibGEOS implementation and back - so be warned!

source

',5))]),i("details",S,[i("summary",null,[s[87]||(s[87]=i("a",{id:"GeometryOps.GeodesicSegments",href:"#GeometryOps.GeodesicSegments"},[i("span",{class:"jlbinding"},"GeometryOps.GeodesicSegments")],-1)),s[88]||(s[88]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[89]||(s[89]=a('
julia
GeodesicSegments(; max_distance::Real, equatorial_radius::Real=6378137, flattening::Real=1/298.257223563)

A method for segmentizing geometries by adding extra vertices to the geometry so that no segment is longer than a given distance. This method calculates the distance between points on the geodesic, and assumes input in lat/long coordinates.

Warning

Any input geometries must be in lon/lat coordinates! If not, the method may fail or error.

Arguments

  • max_distance::Real: The maximum distance, in meters, between vertices in the geometry.

  • equatorial_radius::Real=6378137: The equatorial radius of the Earth, in meters. Passed to Proj.geod_geodesic.

  • flattening::Real=1/298.257223563: The flattening of the Earth, which is the ratio of the difference between the equatorial and polar radii to the equatorial radius. Passed to Proj.geod_geodesic.

One can also omit the equatorial_radius and flattening keyword arguments, and pass a geodesic object directly to the eponymous keyword.

This method uses the Proj/GeographicLib API for geodesic calculations.

source

',8))]),i("details",V,[i("summary",null,[s[90]||(s[90]=i("a",{id:"GeometryOps.GeometryCorrection",href:"#GeometryOps.GeometryCorrection"},[i("span",{class:"jlbinding"},"GeometryOps.GeometryCorrection")],-1)),s[91]||(s[91]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[92]||(s[92]=a('
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

',5))]),i("details",J,[i("summary",null,[s[93]||(s[93]=i("a",{id:"GeometryOps.LineOrientation",href:"#GeometryOps.LineOrientation"},[i("span",{class:"jlbinding"},"GeometryOps.LineOrientation")],-1)),s[94]||(s[94]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[95]||(s[95]=a('
julia
Enum LineOrientation

Enum for the orientation of a line with respect to a curve. A line can be line_cross (crossing over the curve), line_hinge (crossing the endpoint of the curve), line_over (collinear with the curve), or line_out (not interacting with the curve).

source

',3))]),i("details",U,[i("summary",null,[s[96]||(s[96]=i("a",{id:"GeometryOps.LinearSegments",href:"#GeometryOps.LinearSegments"},[i("span",{class:"jlbinding"},"GeometryOps.LinearSegments")],-1)),s[97]||(s[97]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[98]||(s[98]=a('
julia
LinearSegments(; max_distance::Real)

A method for segmentizing geometries by adding extra vertices to the geometry so that no segment is longer than a given distance.

Here, max_distance is a purely nondimensional quantity and will apply in the input space. This is to say, that if the polygon is provided in lat/lon coordinates then the max_distance will be in degrees of arc. If the polygon is provided in meters, then the max_distance will be in meters.

source

',4))]),i("details",H,[i("summary",null,[s[99]||(s[99]=i("a",{id:"GeometryOps.MeanValue",href:"#GeometryOps.MeanValue"},[i("span",{class:"jlbinding"},"GeometryOps.MeanValue")],-1)),s[100]||(s[100]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[101]||(s[101]=a('
julia
MeanValue() <: AbstractBarycentricCoordinateMethod

This method calculates barycentric coordinates using the mean value method.

References

source

',4))]),i("details",N,[i("summary",null,[s[102]||(s[102]=i("a",{id:"GeometryOps.MonotoneChainMethod",href:"#GeometryOps.MonotoneChainMethod"},[i("span",{class:"jlbinding"},"GeometryOps.MonotoneChainMethod")],-1)),s[103]||(s[103]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[104]||(s[104]=a('
julia
MonotoneChainMethod()

This is an algorithm for the convex_hull function.

Uses DelaunayTriangulation.jl to compute the convex hull. This is a pure Julia algorithm which provides an optimal Delaunay triangulation.

See also convex_hull

source

',5))]),i("details",W,[i("summary",null,[s[105]||(s[105]=i("a",{id:"GeometryOps.PointOrientation",href:"#GeometryOps.PointOrientation"},[i("span",{class:"jlbinding"},"GeometryOps.PointOrientation")],-1)),s[106]||(s[106]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[107]||(s[107]=a('
julia
Enum PointOrientation

Enum for the orientation of a point with respect to a curve. A point can be point_in the curve, point_on the curve, or point_out of the curve.

source

',3))]),i("details",z,[i("summary",null,[s[108]||(s[108]=i("a",{id:"GeometryOps.RadialDistance",href:"#GeometryOps.RadialDistance"},[i("span",{class:"jlbinding"},"GeometryOps.RadialDistance")],-1)),s[109]||(s[109]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[110]||(s[110]=a('
julia
RadialDistance <: SimplifyAlg

Simplifies geometries by removing points less than tol distance from the line between its neighboring points.

Keywords

  • ratio: the fraction of points that should remain after simplify. Useful as it will generalise for large collections of objects.

  • number: the number of points that should remain after simplify. Less useful for large collections of mixed size objects.

  • tol: the minimum distance between points.

Note: user input tol is squared to avoid unnecessary computation in algorithm.

source

',6))]),i("details",Z,[i("summary",null,[s[111]||(s[111]=i("a",{id:"GeometryOps.SimplifyAlg",href:"#GeometryOps.SimplifyAlg"},[i("span",{class:"jlbinding"},"GeometryOps.SimplifyAlg")],-1)),s[112]||(s[112]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[113]||(s[113]=a('
julia
abstract type SimplifyAlg

Abstract type for simplification algorithms.

API

For now, the algorithm must hold the number, ratio and tol properties.

Simplification algorithm types can hook into the interface by implementing the _simplify(trait, alg, geom) methods for whichever traits are necessary.

source

',6))]),i("details",_,[i("summary",null,[s[114]||(s[114]=i("a",{id:"GeometryOps.UnionIntersectingPolygons",href:"#GeometryOps.UnionIntersectingPolygons"},[i("span",{class:"jlbinding"},"GeometryOps.UnionIntersectingPolygons")],-1)),s[115]||(s[115]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[116]||(s[116]=a('
julia
UnionIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygon's included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be combined through the union operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area.

See also GeometryCorrection.

source

',4))]),i("details",K,[i("summary",null,[s[117]||(s[117]=i("a",{id:"GeometryOps.VisvalingamWhyatt",href:"#GeometryOps.VisvalingamWhyatt"},[i("span",{class:"jlbinding"},"GeometryOps.VisvalingamWhyatt")],-1)),s[118]||(s[118]=e()),n(t,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[119]||(s[119]=a(`
julia
VisvalingamWhyatt <: SimplifyAlg
 
-VisvalingamWhyatt(; kw...)

Simplifies geometries by removing points below tol distance from the line between its neighboring points.

Keywords

  • ratio: the fraction of points that should remain after simplify. Useful as it will generalise for large collections of objects.

  • number: the number of points that should remain after simplify. Less useful for large collections of mixed size objects.

  • tol: the minimum area of a triangle made with a point and its neighboring points.

Note: user input tol is doubled to avoid unnecessary computation in algorithm.

source

`,6))]),i("details",X,[i("summary",null,[s[120]||(s[120]=i("a",{id:"GeometryOps._det-Union{Tuple{T2}, Tuple{T1}, Tuple{Union{Tuple{T1, T1}, StaticArraysCore.StaticArray{Tuple{2}, T1, 1}}, Union{Tuple{T2, T2}, StaticArraysCore.StaticArray{Tuple{2}, T2, 1}}}} where {T1<:Real, T2<:Real}",href:"#GeometryOps._det-Union{Tuple{T2}, Tuple{T1}, Tuple{Union{Tuple{T1, T1}, StaticArraysCore.StaticArray{Tuple{2}, T1, 1}}, Union{Tuple{T2, T2}, StaticArraysCore.StaticArray{Tuple{2}, T2, 1}}}} where {T1<:Real, T2<:Real}"},[i("span",{class:"jlbinding"},"GeometryOps._det")],-1)),s[121]||(s[121]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[122]||(s[122]=a('
julia
_det(s1::Point2{T1}, s2::Point2{T2}) where {T1 <: Real, T2 <: Real}

Returns the determinant of the matrix formed by hcat'ing two points s1 and s2.

Specifically, this is:

julia
s1[1] * s2[2] - s1[2] * s2[1]

source

',5))]),i("details",$,[i("summary",null,[s[123]||(s[123]=i("a",{id:"GeometryOps._equals_curves-NTuple{4, Any}",href:"#GeometryOps._equals_curves-NTuple{4, Any}"},[i("span",{class:"jlbinding"},"GeometryOps._equals_curves")],-1)),s[124]||(s[124]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[125]||(s[125]=a('
julia
_equals_curves(c1, c2, closed_type1, closed_type2)::Bool

Two curves are equal if they share the same set of point, representing the same geometry. Both curves must must be composed of the same set of points, however, they do not have to wind in the same direction, or start on the same point to be equivalent. Inputs: c1 first geometry c2 second geometry closed_type1::Bool true if c1 is closed by definition (polygon, linear ring) closed_type2::Bool true if c2 is closed by definition (polygon, linear ring)

source

',3))]),i("details",Y,[i("summary",null,[s[126]||(s[126]=i("a",{id:"GeometryOps.angles-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.angles-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.angles")],-1)),s[127]||(s[127]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[128]||(s[128]=a(`
julia
angles(geom, ::Type{T} = Float64)

Returns the angles of a geometry or collection of geometries. This is computed differently for different geometries:

- The angles of a point is an empty vector.
+VisvalingamWhyatt(; kw...)

Simplifies geometries by removing points below tol distance from the line between its neighboring points.

Keywords

  • ratio: the fraction of points that should remain after simplify. Useful as it will generalise for large collections of objects.

  • number: the number of points that should remain after simplify. Less useful for large collections of mixed size objects.

  • tol: the minimum area of a triangle made with a point and its neighboring points.

Note: user input tol is doubled to avoid unnecessary computation in algorithm.

source

`,6))]),i("details",X,[i("summary",null,[s[120]||(s[120]=i("a",{id:"GeometryOps._det-Union{Tuple{T2}, Tuple{T1}, Tuple{Union{Tuple{T1, T1}, StaticArraysCore.StaticArray{Tuple{2}, T1, 1}}, Union{Tuple{T2, T2}, StaticArraysCore.StaticArray{Tuple{2}, T2, 1}}}} where {T1<:Real, T2<:Real}",href:"#GeometryOps._det-Union{Tuple{T2}, Tuple{T1}, Tuple{Union{Tuple{T1, T1}, StaticArraysCore.StaticArray{Tuple{2}, T1, 1}}, Union{Tuple{T2, T2}, StaticArraysCore.StaticArray{Tuple{2}, T2, 1}}}} where {T1<:Real, T2<:Real}"},[i("span",{class:"jlbinding"},"GeometryOps._det")],-1)),s[121]||(s[121]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[122]||(s[122]=a('
julia
_det(s1::Point2{T1}, s2::Point2{T2}) where {T1 <: Real, T2 <: Real}

Returns the determinant of the matrix formed by hcat'ing two points s1 and s2.

Specifically, this is:

julia
s1[1] * s2[2] - s1[2] * s2[1]

source

',5))]),i("details",$,[i("summary",null,[s[123]||(s[123]=i("a",{id:"GeometryOps._equals_curves-NTuple{4, Any}",href:"#GeometryOps._equals_curves-NTuple{4, Any}"},[i("span",{class:"jlbinding"},"GeometryOps._equals_curves")],-1)),s[124]||(s[124]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[125]||(s[125]=a('
julia
_equals_curves(c1, c2, closed_type1, closed_type2)::Bool

Two curves are equal if they share the same set of point, representing the same geometry. Both curves must must be composed of the same set of points, however, they do not have to wind in the same direction, or start on the same point to be equivalent. Inputs: c1 first geometry c2 second geometry closed_type1::Bool true if c1 is closed by definition (polygon, linear ring) closed_type2::Bool true if c2 is closed by definition (polygon, linear ring)

source

',3))]),i("details",Y,[i("summary",null,[s[126]||(s[126]=i("a",{id:"GeometryOps.angles-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.angles-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.angles")],-1)),s[127]||(s[127]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[128]||(s[128]=a(`
julia
angles(geom, ::Type{T} = Float64)

Returns the angles of a geometry or collection of geometries. This is computed differently for different geometries:

- The angles of a point is an empty vector.
 - The angles of a single line segment is an empty vector.
 - The angles of a linestring or linearring is a vector of angles formed by the curve.
 - The angles of a polygon is a vector of vectors of angles formed by each ring.
 - The angles of a multi-geometry collection is a vector of the angles of each of the
-    sub-geometries as defined above.

Result will be a Vector, or nested set of vectors, of type T where an optional argument with a default value of Float64.

source

`,5))]),i("details",ss,[i("summary",null,[s[129]||(s[129]=i("a",{id:"GeometryOps.area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.area")],-1)),s[130]||(s[130]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[131]||(s[131]=a(`
julia
area(geom, [T = Float64])::T

Returns the area of a geometry or collection of geometries. This is computed slightly differently for different geometries:

- The area of a point/multipoint is always zero.
+    sub-geometries as defined above.

Result will be a Vector, or nested set of vectors, of type T where an optional argument with a default value of Float64.

source

`,5))]),i("details",ss,[i("summary",null,[s[129]||(s[129]=i("a",{id:"GeometryOps.area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.area")],-1)),s[130]||(s[130]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[131]||(s[131]=a(`
julia
area(geom, [T = Float64])::T

Returns the area of a geometry or collection of geometries. This is computed slightly differently for different geometries:

- The area of a point/multipoint is always zero.
 - The area of a curve/multicurve is always zero.
 - The area of a polygon is the absolute value of the signed area.
 - The area multi-polygon is the sum of the areas of all of the sub-polygons.
 - The area of a geometry collection, feature collection of array/iterable 
-    is the sum of the areas of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",is,[i("summary",null,[s[132]||(s[132]=i("a",{id:"GeometryOps.barycentric_coordinates!-Tuple{Vector{<:Real}, GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}",href:"#GeometryOps.barycentric_coordinates!-Tuple{Vector{<:Real}, GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates!")],-1)),s[133]||(s[133]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[134]||(s[134]=a('
julia
barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, polygon, point)

Loads the barycentric coordinates of point in polygon into λs using the barycentric coordinate method method.

λs must be of the length of the polygon plus its holes.

Tip

Use this method to avoid excess allocations when you need to calculate barycentric coordinates for many points.

source

',5))]),i("details",as,[i("summary",null,[s[135]||(s[135]=i("a",{id:"GeometryOps.barycentric_coordinates-Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}",href:"#GeometryOps.barycentric_coordinates-Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates")],-1)),s[136]||(s[136]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[137]||(s[137]=a('
julia
barycentric_coordinates(method = MeanValue(), polygon, point)

Returns the barycentric coordinates of point in polygon using the barycentric coordinate method method.

source

',3))]),i("details",es,[i("summary",null,[s[138]||(s[138]=i("a",{id:"GeometryOps.barycentric_interpolate-Union{Tuple{V}, Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, AbstractVector{V}, Any}} where V",href:"#GeometryOps.barycentric_interpolate-Union{Tuple{V}, Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, AbstractVector{V}, Any}} where V"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_interpolate")],-1)),s[139]||(s[139]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[140]||(s[140]=a('
julia
barycentric_interpolate(method = MeanValue(), polygon, values::AbstractVector{V}, point)

Returns the interpolated value at point within polygon using the barycentric coordinate method method. values are the per-point values for the polygon which are to be interpolated.

Returns an object of type V.

Warning

Barycentric interpolation is currently defined only for 2-dimensional polygons. If you pass a 3-D polygon in, the Z coordinate will be used as per-vertex value to be interpolated (the M coordinate in GIS parlance).

source

',5))]),i("details",ts,[i("summary",null,[s[141]||(s[141]=i("a",{id:"GeometryOps.centroid-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.centroid-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.centroid")],-1)),s[142]||(s[142]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[143]||(s[143]=a('
julia
centroid(geom, [T=Float64])::Tuple{T, T}

Returns the centroid of a given line segment, linear ring, polygon, or mutlipolygon.

source

',3))]),i("details",ns,[i("summary",null,[s[144]||(s[144]=i("a",{id:"GeometryOps.centroid_and_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.centroid_and_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.centroid_and_area")],-1)),s[145]||(s[145]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[146]||(s[146]=a('
julia
centroid_and_area(geom, [T=Float64])::(::Tuple{T, T}, ::Real)

Returns the centroid and area of a given geometry.

source

',3))]),i("details",ls,[i("summary",null,[s[147]||(s[147]=i("a",{id:"GeometryOps.centroid_and_length-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.centroid_and_length-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.centroid_and_length")],-1)),s[148]||(s[148]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[149]||(s[149]=a('
julia
centroid_and_length(geom, [T=Float64])::(::Tuple{T, T}, ::Real)

Returns the centroid and length of a given line/ring. Note this is only valid for line strings and linear rings.

source

',3))]),i("details",ps,[i("summary",null,[s[150]||(s[150]=i("a",{id:"GeometryOps.contains-Tuple{Any, Any}",href:"#GeometryOps.contains-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.contains")],-1)),s[151]||(s[151]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[152]||(s[152]=a(`
julia
contains(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the second geometry is completely contained by the first geometry. The interiors of both geometries must intersect and the interior and boundary of the secondary (g2) must not intersect the exterior of the first (g1).

contains returns the exact opposite result of within.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+    is the sum of the areas of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",is,[i("summary",null,[s[132]||(s[132]=i("a",{id:"GeometryOps.barycentric_coordinates!-Tuple{Vector{<:Real}, GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}",href:"#GeometryOps.barycentric_coordinates!-Tuple{Vector{<:Real}, GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates!")],-1)),s[133]||(s[133]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[134]||(s[134]=a('
julia
barycentric_coordinates!(λs::Vector{<: Real}, method::AbstractBarycentricCoordinateMethod, polygon, point)

Loads the barycentric coordinates of point in polygon into λs using the barycentric coordinate method method.

λs must be of the length of the polygon plus its holes.

Tip

Use this method to avoid excess allocations when you need to calculate barycentric coordinates for many points.

source

',5))]),i("details",as,[i("summary",null,[s[135]||(s[135]=i("a",{id:"GeometryOps.barycentric_coordinates-Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}",href:"#GeometryOps.barycentric_coordinates-Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_coordinates")],-1)),s[136]||(s[136]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[137]||(s[137]=a('
julia
barycentric_coordinates(method = MeanValue(), polygon, point)

Returns the barycentric coordinates of point in polygon using the barycentric coordinate method method.

source

',3))]),i("details",es,[i("summary",null,[s[138]||(s[138]=i("a",{id:"GeometryOps.barycentric_interpolate-Union{Tuple{V}, Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, AbstractVector{V}, Any}} where V",href:"#GeometryOps.barycentric_interpolate-Union{Tuple{V}, Tuple{GeometryOps.AbstractBarycentricCoordinateMethod, Any, AbstractVector{V}, Any}} where V"},[i("span",{class:"jlbinding"},"GeometryOps.barycentric_interpolate")],-1)),s[139]||(s[139]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[140]||(s[140]=a('
julia
barycentric_interpolate(method = MeanValue(), polygon, values::AbstractVector{V}, point)

Returns the interpolated value at point within polygon using the barycentric coordinate method method. values are the per-point values for the polygon which are to be interpolated.

Returns an object of type V.

Warning

Barycentric interpolation is currently defined only for 2-dimensional polygons. If you pass a 3-D polygon in, the Z coordinate will be used as per-vertex value to be interpolated (the M coordinate in GIS parlance).

source

',5))]),i("details",ts,[i("summary",null,[s[141]||(s[141]=i("a",{id:"GeometryOps.centroid-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.centroid-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.centroid")],-1)),s[142]||(s[142]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[143]||(s[143]=a('
julia
centroid(geom, [T=Float64])::Tuple{T, T}

Returns the centroid of a given line segment, linear ring, polygon, or mutlipolygon.

source

',3))]),i("details",ns,[i("summary",null,[s[144]||(s[144]=i("a",{id:"GeometryOps.centroid_and_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.centroid_and_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.centroid_and_area")],-1)),s[145]||(s[145]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[146]||(s[146]=a('
julia
centroid_and_area(geom, [T=Float64])::(::Tuple{T, T}, ::Real)

Returns the centroid and area of a given geometry.

source

',3))]),i("details",ls,[i("summary",null,[s[147]||(s[147]=i("a",{id:"GeometryOps.centroid_and_length-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.centroid_and_length-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.centroid_and_length")],-1)),s[148]||(s[148]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[149]||(s[149]=a('
julia
centroid_and_length(geom, [T=Float64])::(::Tuple{T, T}, ::Real)

Returns the centroid and length of a given line/ring. Note this is only valid for line strings and linear rings.

source

',3))]),i("details",ps,[i("summary",null,[s[150]||(s[150]=i("a",{id:"GeometryOps.contains-Tuple{Any, Any}",href:"#GeometryOps.contains-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.contains")],-1)),s[151]||(s[151]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[152]||(s[152]=a(`
julia
contains(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the second geometry is completely contained by the first geometry. The interiors of both geometries must intersect and the interior and boundary of the secondary (g2) must not intersect the exterior of the first (g1).

contains returns the exact opposite result of within.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = GI.Point((1, 2))
 
 GO.contains(line, point)
 # output
-true

source

`,6))]),i("details",hs,[i("summary",null,[s[153]||(s[153]=i("a",{id:"GeometryOps.convex_hull",href:"#GeometryOps.convex_hull"},[i("span",{class:"jlbinding"},"GeometryOps.convex_hull")],-1)),s[154]||(s[154]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[155]||(s[155]=a('
julia
convex_hull([method], geometries)

Compute the convex hull of the points in geometries. Returns a GI.Polygon representing the convex hull.

Note that the polygon returned is wound counterclockwise as in the Simple Features standard by default. If you choose GEOS, the winding order will be inverted.

Warning

This interface only computes the 2-dimensional convex hull!

For higher dimensional hulls, use the relevant package (Qhull.jl, Quickhull.jl, or similar).

source

',5))]),i("details",ks,[i("summary",null,[s[156]||(s[156]=i("a",{id:"GeometryOps.coverage-Union{Tuple{T}, NTuple{5, Any}, Tuple{Any, Any, Any, Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.coverage-Union{Tuple{T}, NTuple{5, Any}, Tuple{Any, Any, Any, Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.coverage")],-1)),s[157]||(s[157]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[158]||(s[158]=a('
julia
coverage(geom, xmin, xmax, ymin, ymax, [T = Float64])::T

Returns the area of intersection between given geometry and grid cell defined by its minimum and maximum x and y-values. This is computed differently for different geometries:

  • The signed area of a point is always zero.

  • The signed area of a curve is always zero.

  • The signed area of a polygon is calculated by tracing along its edges and switching to the cell edges if needed.

  • The coverage of a geometry collection, multi-geometry, feature collection of array/iterable is the sum of the coverages of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',5))]),i("details",rs,[i("summary",null,[s[159]||(s[159]=i("a",{id:"GeometryOps.coveredby-Tuple{Any, Any}",href:"#GeometryOps.coveredby-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.coveredby")],-1)),s[160]||(s[160]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[161]||(s[161]=a(`
julia
coveredby(g1, g2)::Bool

Return true if the first geometry is completely covered by the second geometry. The interior and boundary of the primary geometry (g1) must not intersect the exterior of the secondary geometry (g2).

Furthermore, coveredby returns the exact opposite result of covers. They are equivalent with the order of the arguments swapped.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),i("details",hs,[i("summary",null,[s[153]||(s[153]=i("a",{id:"GeometryOps.convex_hull",href:"#GeometryOps.convex_hull"},[i("span",{class:"jlbinding"},"GeometryOps.convex_hull")],-1)),s[154]||(s[154]=e()),n(t,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[155]||(s[155]=a('
julia
convex_hull([method], geometries)

Compute the convex hull of the points in geometries. Returns a GI.Polygon representing the convex hull.

Note that the polygon returned is wound counterclockwise as in the Simple Features standard by default. If you choose GEOS, the winding order will be inverted.

Warning

This interface only computes the 2-dimensional convex hull!

For higher dimensional hulls, use the relevant package (Qhull.jl, Quickhull.jl, or similar).

source

',5))]),i("details",ks,[i("summary",null,[s[156]||(s[156]=i("a",{id:"GeometryOps.coverage-Union{Tuple{T}, NTuple{5, Any}, Tuple{Any, Any, Any, Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.coverage-Union{Tuple{T}, NTuple{5, Any}, Tuple{Any, Any, Any, Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.coverage")],-1)),s[157]||(s[157]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[158]||(s[158]=a('
julia
coverage(geom, xmin, xmax, ymin, ymax, [T = Float64])::T

Returns the area of intersection between given geometry and grid cell defined by its minimum and maximum x and y-values. This is computed differently for different geometries:

  • The signed area of a point is always zero.

  • The signed area of a curve is always zero.

  • The signed area of a polygon is calculated by tracing along its edges and switching to the cell edges if needed.

  • The coverage of a geometry collection, multi-geometry, feature collection of array/iterable is the sum of the coverages of all of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',5))]),i("details",rs,[i("summary",null,[s[159]||(s[159]=i("a",{id:"GeometryOps.coveredby-Tuple{Any, Any}",href:"#GeometryOps.coveredby-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.coveredby")],-1)),s[160]||(s[160]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[161]||(s[161]=a(`
julia
coveredby(g1, g2)::Bool

Return true if the first geometry is completely covered by the second geometry. The interior and boundary of the primary geometry (g1) must not intersect the exterior of the secondary geometry (g2).

Furthermore, coveredby returns the exact opposite result of covers. They are equivalent with the order of the arguments swapped.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 p1 = GI.Point(0.0, 0.0)
 p2 = GI.Point(1.0, 1.0)
 l1 = GI.Line([p1, p2])
 
 GO.coveredby(p1, l1)
 # output
-true

source

`,6))]),i("details",os,[i("summary",null,[s[162]||(s[162]=i("a",{id:"GeometryOps.covers-Tuple{Any, Any}",href:"#GeometryOps.covers-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.covers")],-1)),s[163]||(s[163]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[164]||(s[164]=a(`
julia
covers(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the first geometry is completely covers the second geometry, The exterior and boundary of the second geometry must not be outside of the interior and boundary of the first geometry. However, the interiors need not intersect.

covers returns the exact opposite result of coveredby.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),i("details",os,[i("summary",null,[s[162]||(s[162]=i("a",{id:"GeometryOps.covers-Tuple{Any, Any}",href:"#GeometryOps.covers-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.covers")],-1)),s[163]||(s[163]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[164]||(s[164]=a(`
julia
covers(g1::AbstractGeometry, g2::AbstractGeometry)::Bool

Return true if the first geometry is completely covers the second geometry, The exterior and boundary of the second geometry must not be outside of the interior and boundary of the first geometry. However, the interiors need not intersect.

covers returns the exact opposite result of coveredby.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 l1 = GI.LineString([(1.0, 1.0), (1.0, 2.0), (1.0, 3.0), (1.0, 4.0)])
 l2 = GI.LineString([(1.0, 1.0), (1.0, 2.0)])
 
 GO.covers(l1, l2)
 # output
-true

source

`,6))]),i("details",ds,[i("summary",null,[s[165]||(s[165]=i("a",{id:"GeometryOps.crosses-Tuple{Any, Any}",href:"#GeometryOps.crosses-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.crosses")],-1)),s[166]||(s[166]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[167]||(s[167]=a(`
julia
 crosses(geom1, geom2)::Bool

Return true if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries.

TODO: broken

Examples

julia
import GeoInterface as GI, GeometryOps as GO
-# TODO: Add working example

source

`,6))]),i("details",gs,[i("summary",null,[s[168]||(s[168]=i("a",{id:"GeometryOps.cut-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.cut-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.cut")],-1)),s[169]||(s[169]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[170]||(s[170]=a(`
julia
cut(geom, line, [T::Type])

Return given geom cut by given line as a list of geometries of the same type as the input geom. Return the original geometry as only list element if none are found. Line must cut fully through given geometry or the original geometry will be returned.

Note: This currently doesn't work for degenerate cases there line crosses through vertices.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+true

source

`,6))]),i("details",ds,[i("summary",null,[s[165]||(s[165]=i("a",{id:"GeometryOps.crosses-Tuple{Any, Any}",href:"#GeometryOps.crosses-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.crosses")],-1)),s[166]||(s[166]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[167]||(s[167]=a(`
julia
 crosses(geom1, geom2)::Bool

Return true if the intersection results in a geometry whose dimension is one less than the maximum dimension of the two source geometries and the intersection set is interior to both source geometries.

TODO: broken

Examples

julia
import GeoInterface as GI, GeometryOps as GO
+# TODO: Add working example

source

`,6))]),i("details",gs,[i("summary",null,[s[168]||(s[168]=i("a",{id:"GeometryOps.cut-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.cut-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.cut")],-1)),s[169]||(s[169]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[170]||(s[170]=a(`
julia
cut(geom, line, [T::Type])

Return given geom cut by given line as a list of geometries of the same type as the input geom. Return the original geometry as only list element if none are found. Line must cut fully through given geometry or the original geometry will be returned.

Note: This currently doesn't work for degenerate cases there line crosses through vertices.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 poly = GI.Polygon([[(0.0, 0.0), (10.0, 0.0), (10.0, 10.0), (0.0, 10.0), (0.0, 0.0)]])
 line = GI.Line([(5.0, -5.0), (5.0, 15.0)])
@@ -176,7 +176,7 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 # output
 2-element Vector{Vector{Vector{Vector{Float64}}}}:
  [[[0.0, 0.0], [5.0, 0.0], [5.0, 10.0], [0.0, 10.0], [0.0, 0.0]]]
- [[[5.0, 0.0], [10.0, 0.0], [10.0, 10.0], [5.0, 10.0], [5.0, 0.0]]]

source

`,6))]),i("details",ys,[i("summary",null,[s[171]||(s[171]=i("a",{id:"GeometryOps.difference-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.difference-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.difference")],-1)),s[172]||(s[172]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[173]||(s[173]=a(`
julia
difference(geom_a, geom_b, [T::Type]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the difference between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a taget type as a keyword argument and a list of target geometries found in the difference will be returned. The user can also provide a float type that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to false if you know that the multipolygons are valid, as it will avoid unneeded computation.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+ [[[5.0, 0.0], [10.0, 0.0], [10.0, 10.0], [5.0, 10.0], [5.0, 0.0]]]

source

`,6))]),i("details",ys,[i("summary",null,[s[171]||(s[171]=i("a",{id:"GeometryOps.difference-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.difference-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.difference")],-1)),s[172]||(s[172]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[173]||(s[173]=a(`
julia
difference(geom_a, geom_b, [T::Type]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the difference between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a taget type as a keyword argument and a list of target geometries found in the difference will be returned. The user can also provide a float type that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to false if you know that the multipolygons are valid, as it will avoid unneeded computation.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 poly1 = GI.Polygon([[[0.0, 0.0], [5.0, 5.0], [10.0, 0.0], [5.0, -5.0], [0.0, 0.0]]])
 poly2 = GI.Polygon([[[3.0, 0.0], [8.0, 5.0], [13.0, 0.0], [8.0, -5.0], [3.0, 0.0]]])
@@ -185,32 +185,32 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 
 # output
 1-element Vector{Vector{Vector{Vector{Float64}}}}:
- [[[6.5, 3.5], [5.0, 5.0], [0.0, 0.0], [5.0, -5.0], [6.5, -3.5], [3.0, 0.0], [6.5, 3.5]]]

source

`,5))]),i("details",Es,[i("summary",null,[s[174]||(s[174]=i("a",{id:"GeometryOps.disjoint-Tuple{Any, Any}",href:"#GeometryOps.disjoint-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.disjoint")],-1)),s[175]||(s[175]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[176]||(s[176]=a(`
julia
disjoint(geom1, geom2)::Bool

Return true if the first geometry is disjoint from the second geometry.

Return true if the first geometry is disjoint from the second geometry. The interiors and boundaries of both geometries must not intersect.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+ [[[6.5, 3.5], [5.0, 5.0], [0.0, 0.0], [5.0, -5.0], [6.5, -3.5], [3.0, 0.0], [6.5, 3.5]]]

source

`,5))]),i("details",Es,[i("summary",null,[s[174]||(s[174]=i("a",{id:"GeometryOps.disjoint-Tuple{Any, Any}",href:"#GeometryOps.disjoint-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.disjoint")],-1)),s[175]||(s[175]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[176]||(s[176]=a(`
julia
disjoint(geom1, geom2)::Bool

Return true if the first geometry is disjoint from the second geometry.

Return true if the first geometry is disjoint from the second geometry. The interiors and boundaries of both geometries must not intersect.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = (2, 2)
 GO.disjoint(point, line)
 
 # output
-true

source

`,6))]),i("details",cs,[i("summary",null,[s[177]||(s[177]=i("a",{id:"GeometryOps.distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.distance")],-1)),s[178]||(s[178]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[179]||(s[179]=a('
julia
distance(point, geom, ::Type{T} = Float64)::T

Calculates the ditance from the geometry g1 to the point. The distance will always be positive or zero.

The method will differ based on the type of the geometry provided: - The distance from a point to a point is just the Euclidean distance between the points. - The distance from a point to a line is the minimum distance from the point to the closest point on the given line. - The distance from a point to a linestring is the minimum distance from the point to the closest segment of the linestring. - The distance from a point to a linear ring is the minimum distance from the point to the closest segment of the linear ring. - The distance from a point to a polygon is zero if the point is within the polygon and otherwise is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The distance from a point to a multigeometry or a geometry collection is the minimum distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',5))]),i("details",us,[i("summary",null,[s[180]||(s[180]=i("a",{id:"GeometryOps.embed_extent-Tuple{Any}",href:"#GeometryOps.embed_extent-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.embed_extent")],-1)),s[181]||(s[181]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[182]||(s[182]=a('
julia
embed_extent(obj)

Recursively wrap the object with a GeoInterface.jl geometry, calculating and adding an Extents.Extent to all objects.

This can improve performance when extents need to be checked multiple times, such when needing to check if many points are in geometries, and using their extents as a quick filter for obviously exterior points.

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

source

',6))]),i("details",ms,[i("summary",null,[s[183]||(s[183]=i("a",{id:"GeometryOps.enforce-Tuple{GEOS, Symbol, Any}",href:"#GeometryOps.enforce-Tuple{GEOS, Symbol, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.enforce")],-1)),s[184]||(s[184]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[185]||(s[185]=a('
julia
enforce(alg::GO.GEOS, kw::Symbol, f)

Enforce the presence of a keyword argument in a GEOS algorithm, and return alg.params[kw].

Throws an error if the key is not present, and mentions f in the error message (since there isn't a good way to get the name of the function that called this method).

source

',4))]),i("details",Fs,[i("summary",null,[s[186]||(s[186]=i("a",{id:"GeometryOps.equals-NTuple{4, Any}",href:"#GeometryOps.equals-NTuple{4, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[187]||(s[187]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[188]||(s[188]=a('
julia
equals(trait_a, geom_a, trait_b, geom_b)

Two geometries which are not of the same type cannot be equal so they always return false.

source

',3))]),i("details",Cs,[i("summary",null,[s[189]||(s[189]=i("a",{id:"GeometryOps.equals-Tuple{Any, Any}",href:"#GeometryOps.equals-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[190]||(s[190]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[191]||(s[191]=a(`
julia
equals(geom1, geom2)::Bool

Compare two Geometries return true if they are the same geometry.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+true

source

`,6))]),i("details",cs,[i("summary",null,[s[177]||(s[177]=i("a",{id:"GeometryOps.distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.distance")],-1)),s[178]||(s[178]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[179]||(s[179]=a('
julia
distance(point, geom, ::Type{T} = Float64)::T

Calculates the ditance from the geometry g1 to the point. The distance will always be positive or zero.

The method will differ based on the type of the geometry provided: - The distance from a point to a point is just the Euclidean distance between the points. - The distance from a point to a line is the minimum distance from the point to the closest point on the given line. - The distance from a point to a linestring is the minimum distance from the point to the closest segment of the linestring. - The distance from a point to a linear ring is the minimum distance from the point to the closest segment of the linear ring. - The distance from a point to a polygon is zero if the point is within the polygon and otherwise is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The distance from a point to a multigeometry or a geometry collection is the minimum distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',5))]),i("details",us,[i("summary",null,[s[180]||(s[180]=i("a",{id:"GeometryOps.embed_extent-Tuple{Any}",href:"#GeometryOps.embed_extent-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.embed_extent")],-1)),s[181]||(s[181]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[182]||(s[182]=a('
julia
embed_extent(obj)

Recursively wrap the object with a GeoInterface.jl geometry, calculating and adding an Extents.Extent to all objects.

This can improve performance when extents need to be checked multiple times, such when needing to check if many points are in geometries, and using their extents as a quick filter for obviously exterior points.

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

source

',6))]),i("details",ms,[i("summary",null,[s[183]||(s[183]=i("a",{id:"GeometryOps.enforce-Tuple{GEOS, Symbol, Any}",href:"#GeometryOps.enforce-Tuple{GEOS, Symbol, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.enforce")],-1)),s[184]||(s[184]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[185]||(s[185]=a('
julia
enforce(alg::GO.GEOS, kw::Symbol, f)

Enforce the presence of a keyword argument in a GEOS algorithm, and return alg.params[kw].

Throws an error if the key is not present, and mentions f in the error message (since there isn't a good way to get the name of the function that called this method).

source

',4))]),i("details",Fs,[i("summary",null,[s[186]||(s[186]=i("a",{id:"GeometryOps.equals-NTuple{4, Any}",href:"#GeometryOps.equals-NTuple{4, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[187]||(s[187]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[188]||(s[188]=a('
julia
equals(trait_a, geom_a, trait_b, geom_b)

Two geometries which are not of the same type cannot be equal so they always return false.

source

',3))]),i("details",Cs,[i("summary",null,[s[189]||(s[189]=i("a",{id:"GeometryOps.equals-Tuple{Any, Any}",href:"#GeometryOps.equals-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[190]||(s[190]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[191]||(s[191]=a(`
julia
equals(geom1, geom2)::Bool

Compare two Geometries return true if they are the same geometry.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 poly1 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 poly2 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 
 GO.equals(poly1, poly2)
 # output
-true

source

`,5))]),i("details",bs,[i("summary",null,[s[192]||(s[192]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, GeoInterface.LinearRingTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, GeoInterface.LinearRingTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[193]||(s[193]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[194]||(s[194]=a(`
julia
equals(
+true

source

`,5))]),i("details",bs,[i("summary",null,[s[192]||(s[192]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, GeoInterface.LinearRingTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, GeoInterface.LinearRingTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[193]||(s[193]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[194]||(s[194]=a(`
julia
equals(
     ::GI.LinearRingTrait, l1,
     ::GI.LinearRingTrait, l2,
-)::Bool

Two linear rings are equal if they share the same set of points going along the curve. Note that rings are closed by definition, so they can have, but don't need, a repeated last point to be equal.

source

`,3))]),i("details",fs,[i("summary",null,[s[195]||(s[195]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[196]||(s[196]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[197]||(s[197]=a(`
julia
equals(
+)::Bool

Two linear rings are equal if they share the same set of points going along the curve. Note that rings are closed by definition, so they can have, but don't need, a repeated last point to be equal.

source

`,3))]),i("details",fs,[i("summary",null,[s[195]||(s[195]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.LinearRingTrait, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[196]||(s[196]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[197]||(s[197]=a(`
julia
equals(
     ::GI.LinearRingTrait, l1,
     ::Union{GI.LineTrait, GI.LineStringTrait}, l2,
-)::Bool

A linear ring and a line/linestring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

`,3))]),i("details",Ts,[i("summary",null,[s[198]||(s[198]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[199]||(s[199]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[200]||(s[200]=a('
julia
equals(::GI.MultiPointTrait, mp1, ::GI.MultiPointTrait, mp2)::Bool

Two multipoints are equal if they share the same set of points.

source

',3))]),i("details",Gs,[i("summary",null,[s[201]||(s[201]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.PointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.PointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[202]||(s[202]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[203]||(s[203]=a('
julia
equals(::GI.MultiPointTrait, mp1, ::GI.PointTrait, p2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

',3))]),i("details",vs,[i("summary",null,[s[204]||(s[204]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[205]||(s[205]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[206]||(s[206]=a('
julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two multipolygons are equal if they share the same set of polygons.

source

',3))]),i("details",As,[i("summary",null,[s[207]||(s[207]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[208]||(s[208]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[209]||(s[209]=a('
julia
equals(::GI.MultiPolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

',3))]),i("details",js,[i("summary",null,[s[210]||(s[210]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.MultiPointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.MultiPointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[211]||(s[211]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[212]||(s[212]=a('
julia
equals(::GI.PointTrait, p1, ::GI.MultiPointTrait, mp2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

',3))]),i("details",Bs,[i("summary",null,[s[213]||(s[213]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.PointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.PointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[214]||(s[214]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[215]||(s[215]=a('
julia
equals(::GI.PointTrait, p1, ::GI.PointTrait, p2)::Bool

Two points are the same if they have the same x and y (and z if 3D) coordinates.

source

',3))]),i("details",Os,[i("summary",null,[s[216]||(s[216]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[217]||(s[217]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[218]||(s[218]=a('
julia
equals(::GI.PolygonTrait, geom_a, ::GI.MultiPolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

',3))]),i("details",Ds,[i("summary",null,[s[219]||(s[219]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[220]||(s[220]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[221]||(s[221]=a('
julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two polygons are equal if they share the same exterior edge and holes.

source

',3))]),i("details",Qs,[i("summary",null,[s[222]||(s[222]=i("a",{id:"GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, GeoInterface.LinearRingTrait, Any}",href:"#GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, GeoInterface.LinearRingTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[223]||(s[223]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[224]||(s[224]=a(`
julia
equals(
+)::Bool

A linear ring and a line/linestring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

`,3))]),i("details",Ts,[i("summary",null,[s[198]||(s[198]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[199]||(s[199]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[200]||(s[200]=a('
julia
equals(::GI.MultiPointTrait, mp1, ::GI.MultiPointTrait, mp2)::Bool

Two multipoints are equal if they share the same set of points.

source

',3))]),i("details",Gs,[i("summary",null,[s[201]||(s[201]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.PointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.PointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[202]||(s[202]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[203]||(s[203]=a('
julia
equals(::GI.MultiPointTrait, mp1, ::GI.PointTrait, p2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

',3))]),i("details",vs,[i("summary",null,[s[204]||(s[204]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[205]||(s[205]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[206]||(s[206]=a('
julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two multipolygons are equal if they share the same set of polygons.

source

',3))]),i("details",As,[i("summary",null,[s[207]||(s[207]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[208]||(s[208]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[209]||(s[209]=a('
julia
equals(::GI.MultiPolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

',3))]),i("details",js,[i("summary",null,[s[210]||(s[210]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.MultiPointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.MultiPointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[211]||(s[211]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[212]||(s[212]=a('
julia
equals(::GI.PointTrait, p1, ::GI.MultiPointTrait, mp2)::Bool

A point and a multipoint are equal if the multipoint is composed of a single point that is equivalent to the given point.

source

',3))]),i("details",Bs,[i("summary",null,[s[213]||(s[213]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.PointTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PointTrait, Any, GeoInterface.PointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[214]||(s[214]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[215]||(s[215]=a('
julia
equals(::GI.PointTrait, p1, ::GI.PointTrait, p2)::Bool

Two points are the same if they have the same x and y (and z if 3D) coordinates.

source

',3))]),i("details",Os,[i("summary",null,[s[216]||(s[216]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[217]||(s[217]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[218]||(s[218]=a('
julia
equals(::GI.PolygonTrait, geom_a, ::GI.MultiPolygonTrait, geom_b)::Bool

A polygon and a multipolygon are equal if the multipolygon is composed of a single polygon that is equivalent to the given polygon.

source

',3))]),i("details",Ds,[i("summary",null,[s[219]||(s[219]=i("a",{id:"GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.equals-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[220]||(s[220]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[221]||(s[221]=a('
julia
equals(::GI.PolygonTrait, geom_a, ::GI.PolygonTrait, geom_b)::Bool

Two polygons are equal if they share the same exterior edge and holes.

source

',3))]),i("details",Qs,[i("summary",null,[s[222]||(s[222]=i("a",{id:"GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, GeoInterface.LinearRingTrait, Any}",href:"#GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, GeoInterface.LinearRingTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[223]||(s[223]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[224]||(s[224]=a(`
julia
equals(
     ::Union{GI.LineTrait, GI.LineStringTrait}, l1,
     ::GI.LinearRingTrait, l2,
-)::Bool

A line/linestring and a linear ring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

`,3))]),i("details",xs,[i("summary",null,[s[225]||(s[225]=i("a",{id:"GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}",href:"#GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[226]||(s[226]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[227]||(s[227]=a(`
julia
equals(
+)::Bool

A line/linestring and a linear ring are equal if they share the same set of points going along the curve. Note that lines aren't closed by definition, but rings are, so the line must have a repeated last point to be equal

source

`,3))]),i("details",xs,[i("summary",null,[s[225]||(s[225]=i("a",{id:"GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}",href:"#GeometryOps.equals-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.LineTrait}, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[226]||(s[226]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[227]||(s[227]=a(`
julia
equals(
     ::Union{GI.LineTrait, GI.LineStringTrait}, l1,
     ::Union{GI.LineTrait, GI.LineStringTrait}, l2,
-)::Bool

Two lines/linestrings are equal if they share the same set of points going along the curve. Note that lines/linestrings aren't closed by definition.

source

`,3))]),i("details",ws,[i("summary",null,[s[228]||(s[228]=i("a",{id:"GeometryOps.equals-Union{Tuple{T}, Tuple{T, Any, T, Any}} where T",href:"#GeometryOps.equals-Union{Tuple{T}, Tuple{T, Any, T, Any}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[229]||(s[229]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[230]||(s[230]=a('
julia
equals(::T, geom_a, ::T, geom_b)::Bool

Two geometries of the same type, which don't have a equals function to dispatch off of should throw an error.

source

',3))]),i("details",Ls,[i("summary",null,[s[231]||(s[231]=i("a",{id:"GeometryOps.flip-Tuple{Any}",href:"#GeometryOps.flip-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.flip")],-1)),s[232]||(s[232]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[233]||(s[233]=a('
julia
flip(obj)

Swap all of the x and y coordinates in obj, otherwise keeping the original structure (but not necessarily the original type).

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

  • calc_extent: true or false. Whether to calculate the extent. Defaults to false.

source

',5))]),i("details",Is,[i("summary",null,[s[234]||(s[234]=i("a",{id:"GeometryOps.intersection-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.intersection-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.intersection")],-1)),s[235]||(s[235]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[236]||(s[236]=a(`
julia
intersection(geom_a, geom_b, [T::Type]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the intersection between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a target type as a keyword argument and a list of target geometries found in the intersection will be returned. The user can also provide a float type that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to nothing if you know that the multipolygons are valid, as it will avoid unneeded computation.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+)::Bool

Two lines/linestrings are equal if they share the same set of points going along the curve. Note that lines/linestrings aren't closed by definition.

source

`,3))]),i("details",ws,[i("summary",null,[s[228]||(s[228]=i("a",{id:"GeometryOps.equals-Union{Tuple{T}, Tuple{T, Any, T, Any}} where T",href:"#GeometryOps.equals-Union{Tuple{T}, Tuple{T, Any, T, Any}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.equals")],-1)),s[229]||(s[229]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[230]||(s[230]=a('
julia
equals(::T, geom_a, ::T, geom_b)::Bool

Two geometries of the same type, which don't have a equals function to dispatch off of should throw an error.

source

',3))]),i("details",Ls,[i("summary",null,[s[231]||(s[231]=i("a",{id:"GeometryOps.flip-Tuple{Any}",href:"#GeometryOps.flip-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.flip")],-1)),s[232]||(s[232]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[233]||(s[233]=a('
julia
flip(obj)

Swap all of the x and y coordinates in obj, otherwise keeping the original structure (but not necessarily the original type).

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

  • calc_extent: true or false. Whether to calculate the extent. Defaults to false.

source

',5))]),i("details",Is,[i("summary",null,[s[234]||(s[234]=i("a",{id:"GeometryOps.intersection-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.intersection-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.intersection")],-1)),s[235]||(s[235]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[236]||(s[236]=a(`
julia
intersection(geom_a, geom_b, [T::Type]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the intersection between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a target type as a keyword argument and a list of target geometries found in the intersection will be returned. The user can also provide a float type that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to nothing if you know that the multipolygons are valid, as it will avoid unneeded computation.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 line1 = GI.Line([(124.584961,-12.768946), (126.738281,-17.224758)])
 line2 = GI.Line([(123.354492,-15.961329), (127.22168,-14.008696)])
@@ -219,7 +219,7 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 
 # output
 1-element Vector{Vector{Float64}}:
- [125.58375366067548, -14.83572303404496]

source

`,5))]),i("details",Ms,[i("summary",null,[s[237]||(s[237]=i("a",{id:"GeometryOps.intersection_points-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.intersection_points-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.intersection_points")],-1)),s[238]||(s[238]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[239]||(s[239]=a(`
julia
intersection_points(geom_a, geom_b, [T::Type])

Return a list of intersection tuple points between two geometries. If no intersection points exist, returns an empty list.

Example

jldoctest

+ [125.58375366067548, -14.83572303404496]

source

`,5))]),i("details",Ms,[i("summary",null,[s[237]||(s[237]=i("a",{id:"GeometryOps.intersection_points-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.intersection_points-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.intersection_points")],-1)),s[238]||(s[238]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[239]||(s[239]=a(`
julia
intersection_points(geom_a, geom_b, [T::Type])

Return a list of intersection tuple points between two geometries. If no intersection points exist, returns an empty list.

Example

jldoctest

 line1 = GI.Line([(124.584961,-12.768946), (126.738281,-17.224758)]) line2 = GI.Line([(123.354492,-15.961329), (127.22168,-14.008696)]) inter_points = GO.intersection_points(line1, line2)
 
 **output**
@@ -227,7 +227,7 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 1-element Vector{Tuple{Float64, Float64}}:  (125.58375366067548, -14.83572303404496)
 
 
-[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/a455d3dd329eb00850f8162d1faf68135e3b3349/src/methods/clipping/intersection.jl#L177-L195)
+[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/394c197520791d08fed66738e9aa8522e795cf90/src/methods/clipping/intersection.jl#L177-L195)
 
 </details>
 
@@ -244,57 +244,57 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 GO.intersects(line1, line2)
 
 # output
-true

source

`,9))]),i("details",Ps,[i("summary",null,[s[240]||(s[240]=i("a",{id:"GeometryOps.isclockwise-Tuple{Any}",href:"#GeometryOps.isclockwise-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.isclockwise")],-1)),s[241]||(s[241]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[244]||(s[244]=a('
julia
isclockwise(line::Union{LineString, Vector{Position}})::Bool

Take a ring and return true if the line goes clockwise, or false if the line goes counter-clockwise. "Going clockwise" means, mathematically,

',2)),i("mjx-container",qs,[(p(),l("svg",Rs,s[242]||(s[242]=[a('',1)]))),s[243]||(s[243]=i("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[i("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[i("mrow",{"data-mjx-texclass":"INNER"},[i("mo",{"data-mjx-texclass":"OPEN"},"("),i("munderover",null,[i("mo",{"data-mjx-texclass":"OP"},"∑"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",null,"i"),i("mo",null,"="),i("mn",null,"2")]),i("mi",null,"n")]),i("mo",{stretchy:"false"},"("),i("msub",null,[i("mi",null,"x"),i("mi",null,"i")]),i("mo",null,"−"),i("msub",null,[i("mi",null,"x"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",null,"i"),i("mo",null,"−"),i("mn",null,"1")])]),i("mo",{stretchy:"false"},")"),i("mo",null,"⋅"),i("mo",{stretchy:"false"},"("),i("msub",null,[i("mi",null,"y"),i("mi",null,"i")]),i("mo",null,"+"),i("msub",null,[i("mi",null,"y"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",null,"i"),i("mo",null,"−"),i("mn",null,"1")])]),i("mo",{stretchy:"false"},")"),i("mo",{"data-mjx-texclass":"CLOSE"},")")]),i("mo",null,">"),i("mn",null,"0")])],-1))]),s[245]||(s[245]=a(`

Example

julia
julia> import GeoInterface as GI, GeometryOps as GO
+true

source

`,9))]),i("details",Ps,[i("summary",null,[s[240]||(s[240]=i("a",{id:"GeometryOps.isclockwise-Tuple{Any}",href:"#GeometryOps.isclockwise-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.isclockwise")],-1)),s[241]||(s[241]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[244]||(s[244]=a('
julia
isclockwise(line::Union{LineString, Vector{Position}})::Bool

Take a ring and return true if the line goes clockwise, or false if the line goes counter-clockwise. "Going clockwise" means, mathematically,

',2)),i("mjx-container",qs,[(p(),l("svg",Rs,s[242]||(s[242]=[a('',1)]))),s[243]||(s[243]=i("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[i("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[i("mrow",{"data-mjx-texclass":"INNER"},[i("mo",{"data-mjx-texclass":"OPEN"},"("),i("munderover",null,[i("mo",{"data-mjx-texclass":"OP"},"∑"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",null,"i"),i("mo",null,"="),i("mn",null,"2")]),i("mi",null,"n")]),i("mo",{stretchy:"false"},"("),i("msub",null,[i("mi",null,"x"),i("mi",null,"i")]),i("mo",null,"−"),i("msub",null,[i("mi",null,"x"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",null,"i"),i("mo",null,"−"),i("mn",null,"1")])]),i("mo",{stretchy:"false"},")"),i("mo",null,"⋅"),i("mo",{stretchy:"false"},"("),i("msub",null,[i("mi",null,"y"),i("mi",null,"i")]),i("mo",null,"+"),i("msub",null,[i("mi",null,"y"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",null,"i"),i("mo",null,"−"),i("mn",null,"1")])]),i("mo",{stretchy:"false"},")"),i("mo",{"data-mjx-texclass":"CLOSE"},")")]),i("mo",null,">"),i("mn",null,"0")])],-1))]),s[245]||(s[245]=a(`

Example

julia
julia> import GeoInterface as GI, GeometryOps as GO
 julia> ring = GI.LinearRing([(0, 0), (1, 1), (1, 0), (0, 0)]);
 julia> GO.isclockwise(ring)
 # output
-true

source

`,3))]),i("details",Ss,[i("summary",null,[s[246]||(s[246]=i("a",{id:"GeometryOps.isconcave-Tuple{Any}",href:"#GeometryOps.isconcave-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.isconcave")],-1)),s[247]||(s[247]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[248]||(s[248]=a(`
julia
isconcave(poly::Polygon)::Bool

Take a polygon and return true or false as to whether it is concave or not.

Examples

julia
import GeoInterface as GI, GeometryOps as GO
+true

source

`,3))]),i("details",Ss,[i("summary",null,[s[246]||(s[246]=i("a",{id:"GeometryOps.isconcave-Tuple{Any}",href:"#GeometryOps.isconcave-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.isconcave")],-1)),s[247]||(s[247]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[248]||(s[248]=a(`
julia
isconcave(poly::Polygon)::Bool

Take a polygon and return true or false as to whether it is concave or not.

Examples

julia
import GeoInterface as GI, GeometryOps as GO
 
 poly = GI.Polygon([[(0, 0), (0, 1), (1, 1), (1, 0), (0, 0)]])
 GO.isconcave(poly)
 
 # output
-false

source

`,5))]),i("details",Vs,[i("summary",null,[s[249]||(s[249]=i("a",{id:"GeometryOps.overlaps-Tuple{Any, Any}",href:"#GeometryOps.overlaps-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[250]||(s[250]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[251]||(s[251]=a(`
julia
overlaps(geom1, geom2)::Bool

Compare two Geometries of the same dimension and return true if their intersection set results in a geometry different from both but of the same dimension. This means one geometry cannot be within or contain the other and they cannot be equal

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+false

source

`,5))]),i("details",Vs,[i("summary",null,[s[249]||(s[249]=i("a",{id:"GeometryOps.overlaps-Tuple{Any, Any}",href:"#GeometryOps.overlaps-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[250]||(s[250]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[251]||(s[251]=a(`
julia
overlaps(geom1, geom2)::Bool

Compare two Geometries of the same dimension and return true if their intersection set results in a geometry different from both but of the same dimension. This means one geometry cannot be within or contain the other and they cannot be equal

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 poly1 = GI.Polygon([[(0,0), (0,5), (5,5), (5,0), (0,0)]])
 poly2 = GI.Polygon([[(1,1), (1,6), (6,6), (6,1), (1,1)]])
 
 GO.overlaps(poly1, poly2)
 # output
-true

source

`,5))]),i("details",Js,[i("summary",null,[s[252]||(s[252]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.AbstractTrait, Any, GeoInterface.AbstractTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.AbstractTrait, Any, GeoInterface.AbstractTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[253]||(s[253]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[254]||(s[254]=a('
julia
overlaps(::GI.AbstractTrait, geom1, ::GI.AbstractTrait, geom2)::Bool

For any non-specified pair, all have non-matching dimensions, return false.

source

',3))]),i("details",Us,[i("summary",null,[s[255]||(s[255]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.LineTrait, Any, GeoInterface.LineTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.LineTrait, Any, GeoInterface.LineTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[256]||(s[256]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[257]||(s[257]=a('
julia
overlaps(::GI.LineTrait, line1, ::GI.LineTrait, line)::Bool

If the lines overlap, meaning that they are collinear but each have one endpoint outside of the other line, return true. Else false.

source

',3))]),i("details",Hs,[i("summary",null,[s[258]||(s[258]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[259]||(s[259]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[260]||(s[260]=a(`
julia
overlaps(
+true

source

`,5))]),i("details",Js,[i("summary",null,[s[252]||(s[252]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.AbstractTrait, Any, GeoInterface.AbstractTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.AbstractTrait, Any, GeoInterface.AbstractTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[253]||(s[253]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[254]||(s[254]=a('
julia
overlaps(::GI.AbstractTrait, geom1, ::GI.AbstractTrait, geom2)::Bool

For any non-specified pair, all have non-matching dimensions, return false.

source

',3))]),i("details",Us,[i("summary",null,[s[255]||(s[255]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.LineTrait, Any, GeoInterface.LineTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.LineTrait, Any, GeoInterface.LineTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[256]||(s[256]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[257]||(s[257]=a('
julia
overlaps(::GI.LineTrait, line1, ::GI.LineTrait, line)::Bool

If the lines overlap, meaning that they are collinear but each have one endpoint outside of the other line, return true. Else false.

source

',3))]),i("details",Hs,[i("summary",null,[s[258]||(s[258]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.MultiPointTrait, Any, GeoInterface.MultiPointTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[259]||(s[259]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[260]||(s[260]=a(`
julia
overlaps(
     ::GI.MultiPointTrait, points1,
     ::GI.MultiPointTrait, points2,
-)::Bool

If the multipoints overlap, meaning some, but not all, of the points within the multipoints are shared, return true.

source

`,3))]),i("details",Ns,[i("summary",null,[s[261]||(s[261]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[262]||(s[262]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[263]||(s[263]=a(`
julia
overlaps(
+)::Bool

If the multipoints overlap, meaning some, but not all, of the points within the multipoints are shared, return true.

source

`,3))]),i("details",Ns,[i("summary",null,[s[261]||(s[261]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[262]||(s[262]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[263]||(s[263]=a(`
julia
overlaps(
     ::GI.MultiPolygonTrait, polys1,
     ::GI.MultiPolygonTrait, polys2,
-)::Bool

Return true if at least one pair of polygons from multipolygons overlap. Else false.

source

`,3))]),i("details",Ws,[i("summary",null,[s[264]||(s[264]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[265]||(s[265]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[266]||(s[266]=a(`
julia
overlaps(
+)::Bool

Return true if at least one pair of polygons from multipolygons overlap. Else false.

source

`,3))]),i("details",Ws,[i("summary",null,[s[264]||(s[264]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.MultiPolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[265]||(s[265]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[266]||(s[266]=a(`
julia
overlaps(
     ::GI.MultiPolygonTrait, polys1,
     ::GI.PolygonTrait, poly2,
-)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

`,3))]),i("details",zs,[i("summary",null,[s[267]||(s[267]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[268]||(s[268]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[269]||(s[269]=a(`
julia
overlaps(
+)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

`,3))]),i("details",zs,[i("summary",null,[s[267]||(s[267]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.MultiPolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[268]||(s[268]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[269]||(s[269]=a(`
julia
overlaps(
     ::GI.PolygonTrait, poly1,
     ::GI.MultiPolygonTrait, polys2,
-)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

`,3))]),i("details",Zs,[i("summary",null,[s[270]||(s[270]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[271]||(s[271]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[272]||(s[272]=a(`
julia
overlaps(
+)::Bool

Return true if polygon overlaps with at least one of the polygons within the multipolygon. Else false.

source

`,3))]),i("details",Zs,[i("summary",null,[s[270]||(s[270]=i("a",{id:"GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}",href:"#GeometryOps.overlaps-Tuple{GeoInterface.PolygonTrait, Any, GeoInterface.PolygonTrait, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[271]||(s[271]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[272]||(s[272]=a(`
julia
overlaps(
     trait_a::GI.PolygonTrait, poly_a,
     trait_b::GI.PolygonTrait, poly_b,
-)::Bool

If the two polygons intersect with one another, but are not equal, return true. Else false.

source

`,3))]),i("details",_s,[i("summary",null,[s[273]||(s[273]=i("a",{id:"GeometryOps.overlaps-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any}",href:"#GeometryOps.overlaps-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[274]||(s[274]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[275]||(s[275]=a(`
julia
overlaps(
+)::Bool

If the two polygons intersect with one another, but are not equal, return true. Else false.

source

`,3))]),i("details",_s,[i("summary",null,[s[273]||(s[273]=i("a",{id:"GeometryOps.overlaps-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any}",href:"#GeometryOps.overlaps-Tuple{Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any, Union{GeoInterface.LineStringTrait, GeoInterface.Wrappers.LinearRing}, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.overlaps")],-1)),s[274]||(s[274]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[275]||(s[275]=a(`
julia
overlaps(
     ::Union{GI.LineStringTrait, GI.LinearRing}, line1,
     ::Union{GI.LineStringTrait, GI.LinearRing}, line2,
-)::Bool

If the curves overlap, meaning that at least one edge of each curve overlaps, return true. Else false.

source

`,3))]),i("details",Ks,[i("summary",null,[s[276]||(s[276]=i("a",{id:"GeometryOps.polygon_to_line-Tuple{Any}",href:"#GeometryOps.polygon_to_line-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.polygon_to_line")],-1)),s[277]||(s[277]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[278]||(s[278]=a(`
julia
polygon_to_line(poly::Polygon)

Converts a Polygon to LineString or MultiLineString

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+)::Bool

If the curves overlap, meaning that at least one edge of each curve overlaps, return true. Else false.

source

`,3))]),i("details",Ks,[i("summary",null,[s[276]||(s[276]=i("a",{id:"GeometryOps.polygon_to_line-Tuple{Any}",href:"#GeometryOps.polygon_to_line-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.polygon_to_line")],-1)),s[277]||(s[277]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[278]||(s[278]=a(`
julia
polygon_to_line(poly::Polygon)

Converts a Polygon to LineString or MultiLineString

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 poly = GI.Polygon([[(-2.275543, 53.464547), (-2.275543, 53.489271), (-2.215118, 53.489271), (-2.215118, 53.464547), (-2.275543, 53.464547)]])
 GO.polygon_to_line(poly)
 # output
-GeoInterface.Wrappers.LineString{false, false, Vector{Tuple{Float64, Float64}}, Nothing, Nothing}([(-2.275543, 53.464547), (-2.275543, 53.489271), (-2.215118, 53.489271), (-2.215118, 53.464547), (-2.275543, 53.464547)], nothing, nothing)

source

`,5))]),i("details",Xs,[i("summary",null,[s[279]||(s[279]=i("a",{id:"GeometryOps.polygonize-Tuple{AbstractMatrix{Bool}}",href:"#GeometryOps.polygonize-Tuple{AbstractMatrix{Bool}}"},[i("span",{class:"jlbinding"},"GeometryOps.polygonize")],-1)),s[280]||(s[280]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[281]||(s[281]=a(`
julia
polygonize(A::AbstractMatrix{Bool}; kw...)
+GeoInterface.Wrappers.LineString{false, false, Vector{Tuple{Float64, Float64}}, Nothing, Nothing}([(-2.275543, 53.464547), (-2.275543, 53.489271), (-2.215118, 53.489271), (-2.215118, 53.464547), (-2.275543, 53.464547)], nothing, nothing)

source

`,5))]),i("details",Xs,[i("summary",null,[s[279]||(s[279]=i("a",{id:"GeometryOps.polygonize-Tuple{AbstractMatrix{Bool}}",href:"#GeometryOps.polygonize-Tuple{AbstractMatrix{Bool}}"},[i("span",{class:"jlbinding"},"GeometryOps.polygonize")],-1)),s[280]||(s[280]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[281]||(s[281]=a(`
julia
polygonize(A::AbstractMatrix{Bool}; kw...)
 polygonize(f, A::AbstractMatrix; kw...)
 polygonize(xs, ys, A::AbstractMatrix{Bool}; kw...)
 polygonize(f, xs, ys, A::AbstractMatrix; kw...)

Polygonize an AbstractMatrix of values, currently to a single class of polygons.

Returns a MultiPolygon for Bool values and f return values, and a FeatureCollection of Features holding MultiPolygon for all other values.

Function f should return either true or false or a transformation of values into simpler groups, especially useful for floating point arrays.

If xs and ys are ranges, they are used as the pixel/cell center points. If they are Vector of Tuple they are used as the lower and upper bounds of each pixel/cell.

Keywords

  • minpoints: ignore polygons with less than minpoints points.

  • values: the values to turn into polygons. By default these are union(A), If function f is passed these refer to the return values of f, by default union(map(f, A). If values Bool, false is ignored and a single MultiPolygon is returned rather than a FeatureCollection.

Example

julia
using GeometryOps
 A = rand(100, 100)
-multipolygon = polygonize(>(0.5), A);

source

`,10))]),i("details",$s,[i("summary",null,[s[282]||(s[282]=i("a",{id:"GeometryOps.segmentize-Tuple{Any}",href:"#GeometryOps.segmentize-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.segmentize")],-1)),s[283]||(s[283]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[284]||(s[284]=a('
julia
segmentize([method = Planar()], geom; max_distance::Real, threaded)

Segmentize a geometry by adding extra vertices to the geometry so that no segment is longer than a given distance. This is useful for plotting geometries with a limited number of vertices, or for ensuring that a geometry is not too "coarse" for a given application.

Arguments

  • method::Manifold = Planar(): The method to use for segmentizing the geometry. At the moment, only Planar (assumes a flat plane) and Geodesic (assumes geometry on the ellipsoidal Earth and uses Vincenty's formulae) are available.

  • geom: The geometry to segmentize. Must be a LineString, LinearRing, Polygon, MultiPolygon, or GeometryCollection, or some vector or table of those.

  • max_distance::Real: The maximum distance between vertices in the geometry. Beware: for Planar, this is in the units of the geometry, but for Geodesic and Spherical it's in units of the radius of the sphere.

Returns a geometry of similar type to the input geometry, but resampled.

source

',6))]),i("details",Ys,[i("summary",null,[s[285]||(s[285]=i("a",{id:"GeometryOps.signed_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.signed_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.signed_area")],-1)),s[286]||(s[286]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[287]||(s[287]=a(`
julia
signed_area(geom, [T = Float64])::T

Returns the signed area of a single geometry, based on winding order. This is computed slightly differently for different geometries:

- The signed area of a point is always zero.
+multipolygon = polygonize(>(0.5), A);

source

`,10))]),i("details",$s,[i("summary",null,[s[282]||(s[282]=i("a",{id:"GeometryOps.segmentize-Tuple{Any}",href:"#GeometryOps.segmentize-Tuple{Any}"},[i("span",{class:"jlbinding"},"GeometryOps.segmentize")],-1)),s[283]||(s[283]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[284]||(s[284]=a('
julia
segmentize([method = Planar()], geom; max_distance::Real, threaded)

Segmentize a geometry by adding extra vertices to the geometry so that no segment is longer than a given distance. This is useful for plotting geometries with a limited number of vertices, or for ensuring that a geometry is not too "coarse" for a given application.

Arguments

  • method::Manifold = Planar(): The method to use for segmentizing the geometry. At the moment, only Planar (assumes a flat plane) and Geodesic (assumes geometry on the ellipsoidal Earth and uses Vincenty's formulae) are available.

  • geom: The geometry to segmentize. Must be a LineString, LinearRing, Polygon, MultiPolygon, or GeometryCollection, or some vector or table of those.

  • max_distance::Real: The maximum distance between vertices in the geometry. Beware: for Planar, this is in the units of the geometry, but for Geodesic and Spherical it's in units of the radius of the sphere.

Returns a geometry of similar type to the input geometry, but resampled.

source

',6))]),i("details",Ys,[i("summary",null,[s[285]||(s[285]=i("a",{id:"GeometryOps.signed_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.signed_area-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.signed_area")],-1)),s[286]||(s[286]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[287]||(s[287]=a(`
julia
signed_area(geom, [T = Float64])::T

Returns the signed area of a single geometry, based on winding order. This is computed slightly differently for different geometries:

- The signed area of a point is always zero.
 - The signed area of a curve is always zero.
 - The signed area of a polygon is computed with the shoelace formula and is
 positive if the polygon coordinates wind clockwise and negative if
 counterclockwise.
 - You cannot compute the signed area of a multipolygon as it doesn't have a
-meaning as each sub-polygon could have a different winding order.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",si,[i("summary",null,[s[288]||(s[288]=i("a",{id:"GeometryOps.signed_distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.signed_distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.signed_distance")],-1)),s[289]||(s[289]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[290]||(s[290]=a('
julia
signed_distance(point, geom, ::Type{T} = Float64)::T

Calculates the signed distance from the geometry geom to the given point. Points within geom have a negative signed distance, and points outside of geom have a positive signed distance. - The signed distance from a point to a point, line, linestring, or linear ring is equal to the distance between the two. - The signed distance from a point to a polygon is negative if the point is within the polygon and is positive otherwise. The value of the distance is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The signed distance from a point to a multigeometry or a geometry collection is the minimum signed distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',4))]),i("details",ii,[i("summary",null,[s[291]||(s[291]=i("a",{id:"GeometryOps.simplify-Tuple{GeometryOps.SimplifyAlg, Any}",href:"#GeometryOps.simplify-Tuple{GeometryOps.SimplifyAlg, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.simplify")],-1)),s[292]||(s[292]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[293]||(s[293]=a(`
julia
simplify(obj; kw...)
+meaning as each sub-polygon could have a different winding order.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

`,5))]),i("details",si,[i("summary",null,[s[288]||(s[288]=i("a",{id:"GeometryOps.signed_distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.signed_distance-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.signed_distance")],-1)),s[289]||(s[289]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[290]||(s[290]=a('
julia
signed_distance(point, geom, ::Type{T} = Float64)::T

Calculates the signed distance from the geometry geom to the given point. Points within geom have a negative signed distance, and points outside of geom have a positive signed distance. - The signed distance from a point to a point, line, linestring, or linear ring is equal to the distance between the two. - The signed distance from a point to a polygon is negative if the point is within the polygon and is positive otherwise. The value of the distance is the minimum distance from the point to an edge of the polygon. This includes edges created by holes. - The signed distance from a point to a multigeometry or a geometry collection is the minimum signed distance between the point and any of the sub-geometries.

Result will be of type T, where T is an optional argument with a default value of Float64.

source

',4))]),i("details",ii,[i("summary",null,[s[291]||(s[291]=i("a",{id:"GeometryOps.simplify-Tuple{GeometryOps.SimplifyAlg, Any}",href:"#GeometryOps.simplify-Tuple{GeometryOps.SimplifyAlg, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.simplify")],-1)),s[292]||(s[292]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[293]||(s[293]=a(`
julia
simplify(obj; kw...)
 simplify(::SimplifyAlg, obj; kw...)

Simplify a geometry, feature, feature collection, or nested vectors or a table of these.

RadialDistance, DouglasPeucker, or VisvalingamWhyatt algorithms are available, listed in order of increasing quality but decreasing performance.

PoinTrait and MultiPointTrait are returned unchanged.

The default behaviour is simplify(DouglasPeucker(; kw...), obj). Pass in other SimplifyAlg to use other algorithms.

Keywords

  • prefilter_alg: SimplifyAlg algorithm used to pre-filter object before using primary filtering algorithm.

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

  • calc_extent: true or false. Whether to calculate the extent. Defaults to false.

Keywords for DouglasPeucker are allowed when no algorithm is specified:

Keywords

  • ratio: the fraction of points that should remain after simplify. Useful as it will generalise for large collections of objects.

  • number: the number of points that should remain after simplify. Less useful for large collections of mixed size objects.

  • tol: the minimum distance a point will be from the line joining its neighboring points.

Example

Simplify a polygon to have six points:

julia
import GeoInterface as GI
 import GeometryOps as GO
 
@@ -324,9 +324,9 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 GI.npoint(simple)
 
 # output
-6

source

`,14))]),i("details",ai,[i("summary",null,[s[294]||(s[294]=i("a",{id:"GeometryOps.t_value-Union{Tuple{T2}, Tuple{T1}, Tuple{N}, Tuple{Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, T2, T2}} where {N, T1<:Real, T2<:Real}",href:"#GeometryOps.t_value-Union{Tuple{T2}, Tuple{T1}, Tuple{N}, Tuple{Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, T2, T2}} where {N, T1<:Real, T2<:Real}"},[i("span",{class:"jlbinding"},"GeometryOps.t_value")],-1)),s[295]||(s[295]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[298]||(s[298]=a('
julia
t_value(sᵢ, sᵢ₊₁, rᵢ, rᵢ₊₁)

Returns the "T-value" as described in Hormann's presentation [1] on how to calculate the mean-value coordinate.

Here, sᵢ is the vector from vertex vᵢ to the point, and rᵢ is the norm (length) of sᵢ. s must be Point and r must be real numbers.

',3)),i("mjx-container",ei,[(p(),l("svg",ti,s[296]||(s[296]=[a('',1)]))),s[297]||(s[297]=i("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[i("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[i("mi",null,"t"),i("mi",null,"ᵢ"),i("mo",null,"="),i("mfrac",null,[i("mrow",null,[i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",{"data-mjx-auto-op":"false"},"det")]),i("mrow",{"data-mjx-texclass":"INNER"},[i("mo",{"data-mjx-texclass":"OPEN"},"("),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mo",null,","),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₊")]),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₁")]),i("mo",{"data-mjx-texclass":"CLOSE"},")")])]),i("mrow",null,[i("mi",null,"r"),i("mi",null,"ᵢ"),i("mo",null,"∗"),i("mi",null,"r"),i("mi",null,"ᵢ"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₊")]),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₁")]),i("mo",null,"+"),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mo",null,"⋅"),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₊")]),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₁")])])])])],-1))]),s[299]||(s[299]=a(`

+6

source

`,14))]),i("details",ai,[i("summary",null,[s[294]||(s[294]=i("a",{id:"GeometryOps.t_value-Union{Tuple{T2}, Tuple{T1}, Tuple{N}, Tuple{Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, T2, T2}} where {N, T1<:Real, T2<:Real}",href:"#GeometryOps.t_value-Union{Tuple{T2}, Tuple{T1}, Tuple{N}, Tuple{Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, Union{NTuple{N, T1}, StaticArraysCore.StaticArray{Tuple{N}, T1, 1}}, T2, T2}} where {N, T1<:Real, T2<:Real}"},[i("span",{class:"jlbinding"},"GeometryOps.t_value")],-1)),s[295]||(s[295]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[298]||(s[298]=a('
julia
t_value(sᵢ, sᵢ₊₁, rᵢ, rᵢ₊₁)

Returns the "T-value" as described in Hormann's presentation [1] on how to calculate the mean-value coordinate.

Here, sᵢ is the vector from vertex vᵢ to the point, and rᵢ is the norm (length) of sᵢ. s must be Point and r must be real numbers.

',3)),i("mjx-container",ei,[(p(),l("svg",ti,s[296]||(s[296]=[a('',1)]))),s[297]||(s[297]=i("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[i("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[i("mi",null,"t"),i("mi",null,"ᵢ"),i("mo",null,"="),i("mfrac",null,[i("mrow",null,[i("mrow",{"data-mjx-texclass":"ORD"},[i("mi",{"data-mjx-auto-op":"false"},"det")]),i("mrow",{"data-mjx-texclass":"INNER"},[i("mo",{"data-mjx-texclass":"OPEN"},"("),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mo",null,","),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₊")]),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₁")]),i("mo",{"data-mjx-texclass":"CLOSE"},")")])]),i("mrow",null,[i("mi",null,"r"),i("mi",null,"ᵢ"),i("mo",null,"∗"),i("mi",null,"r"),i("mi",null,"ᵢ"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₊")]),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₁")]),i("mo",null,"+"),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mo",null,"⋅"),i("mi",null,"s"),i("mi",null,"ᵢ"),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₊")]),i("mrow",{"data-mjx-texclass":"ORD"},[i("mo",{"data-mjx-pseudoscript":"true"},"₁")])])])])],-1))]),s[299]||(s[299]=a(`

 
-[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/a455d3dd329eb00850f8162d1faf68135e3b3349/src/methods/barycentric.jl#L289-L305)
+[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/394c197520791d08fed66738e9aa8522e795cf90/src/methods/barycentric.jl#L289-L305)
 
 </details>
 
@@ -336,14 +336,14 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 
 
 \`\`\`julia
-to_edges()

Convert any geometry or collection of geometries into a flat vector of Tuple{Tuple{Float64,Float64},Tuple{Float64,Float64}} edges.

source

`,3))]),i("details",ni,[i("summary",null,[s[300]||(s[300]=i("a",{id:"GeometryOps.touches-Tuple{Any, Any}",href:"#GeometryOps.touches-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.touches")],-1)),s[301]||(s[301]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[302]||(s[302]=a(`
julia
touches(geom1, geom2)::Bool

Return true if the first geometry touches the second geometry. In other words, the two interiors cannot interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+to_edges()

Convert any geometry or collection of geometries into a flat vector of Tuple{Tuple{Float64,Float64},Tuple{Float64,Float64}} edges.

source

`,3))]),i("details",ni,[i("summary",null,[s[300]||(s[300]=i("a",{id:"GeometryOps.touches-Tuple{Any, Any}",href:"#GeometryOps.touches-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.touches")],-1)),s[301]||(s[301]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[302]||(s[302]=a(`
julia
touches(geom1, geom2)::Bool

Return true if the first geometry touches the second geometry. In other words, the two interiors cannot interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 l1 = GI.Line([(0.0, 0.0), (1.0, 0.0)])
 l2 = GI.Line([(1.0, 1.0), (1.0, -1.0)])
 
 GO.touches(l1, l2)
 # output
-true

source

`,5))]),i("details",li,[i("summary",null,[s[303]||(s[303]=i("a",{id:"GeometryOps.transform-Tuple{Any, Any}",href:"#GeometryOps.transform-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.transform")],-1)),s[304]||(s[304]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[305]||(s[305]=a(`
julia
transform(f, obj)

Apply a function f to all the points in obj.

Points will be passed to f as an SVector to allow using CoordinateTransformations.jl and Rotations.jl without hassle.

SVector is also a valid GeoInterface.jl point, so will work in all GeoInterface.jl methods.

Example

julia
julia> import GeoInterface as GI
+true

source

`,5))]),i("details",li,[i("summary",null,[s[303]||(s[303]=i("a",{id:"GeometryOps.transform-Tuple{Any, Any}",href:"#GeometryOps.transform-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.transform")],-1)),s[304]||(s[304]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[305]||(s[305]=a(`
julia
transform(f, obj)

Apply a function f to all the points in obj.

Points will be passed to f as an SVector to allow using CoordinateTransformations.jl and Rotations.jl without hassle.

SVector is also a valid GeoInterface.jl point, so will work in all GeoInterface.jl methods.

Example

julia
julia> import GeoInterface as GI
 
 julia> import GeometryOps as GO
 
@@ -362,7 +362,7 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 GeoInterface.Wrappers.Polygon{false, false, Vector{GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.LinearR
 ing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}[GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}(StaticArraysCore.SVe
 ctor{2, Int64}[[2, 1], [4, 3], [6, 5], [2, 1]], nothing, nothing), GeoInterface.Wrappers.LinearRing{false, false, Vector{StaticArraysCore.SVector{2, Int64}}, Nothing, Nothing}(StaticArraysCore.SVector{2, Int64
-}[[4, 3], [6, 5], [7, 6], [4, 3]], nothing, nothing)], nothing, nothing)

source

`,9))]),i("details",pi,[i("summary",null,[s[306]||(s[306]=i("a",{id:"GeometryOps.tuples-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.tuples-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.tuples")],-1)),s[307]||(s[307]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[308]||(s[308]=a('
julia
tuples(obj)

Convert all points in obj to Tuples, wherever the are nested.

Returns a similar object or collection of objects using GeoInterface.jl geometries wrapping Tuple points.

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

  • calc_extent: true or false. Whether to calculate the extent. Defaults to false.

source

',6))]),i("details",hi,[i("summary",null,[s[309]||(s[309]=i("a",{id:"GeometryOps.union-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.union-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.union")],-1)),s[310]||(s[310]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[311]||(s[311]=a(`
julia
union(geom_a, geom_b, [::Type{T}]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the union between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a taget type as a keyword argument and a list of target geometries found in the difference will be returned. The user can also provide a float type 'T' that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to false if you know that the multipolygons are valid, as it will avoid unneeded computation.

Calculates the union between two polygons.

Example

julia
import GeoInterface as GI, GeometryOps as GO
+}[[4, 3], [6, 5], [7, 6], [4, 3]], nothing, nothing)], nothing, nothing)

source

`,9))]),i("details",pi,[i("summary",null,[s[306]||(s[306]=i("a",{id:"GeometryOps.tuples-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T",href:"#GeometryOps.tuples-Union{Tuple{Any}, Tuple{T}, Tuple{Any, Type{T}}} where T"},[i("span",{class:"jlbinding"},"GeometryOps.tuples")],-1)),s[307]||(s[307]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[308]||(s[308]=a('
julia
tuples(obj)

Convert all points in obj to Tuples, wherever the are nested.

Returns a similar object or collection of objects using GeoInterface.jl geometries wrapping Tuple points.

Keywords

  • threaded: true or false. Whether to use multithreading. Defaults to false.

  • crs: The CRS to attach to geometries. Defaults to nothing.

  • calc_extent: true or false. Whether to calculate the extent. Defaults to false.

source

',6))]),i("details",hi,[i("summary",null,[s[309]||(s[309]=i("a",{id:"GeometryOps.union-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat",href:"#GeometryOps.union-Union{Tuple{T}, Tuple{Any, Any}, Tuple{Any, Any, Type{T}}} where T<:AbstractFloat"},[i("span",{class:"jlbinding"},"GeometryOps.union")],-1)),s[310]||(s[310]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[311]||(s[311]=a(`
julia
union(geom_a, geom_b, [::Type{T}]; target::Type, fix_multipoly = UnionIntersectingPolygons())

Return the union between two geometries as a list of geometries. Return an empty list if none are found. The type of the list will be constrained as much as possible given the input geometries. Furthermore, the user can provide a taget type as a keyword argument and a list of target geometries found in the difference will be returned. The user can also provide a float type 'T' that they would like the points of returned geometries to be. If the user is taking a intersection involving one or more multipolygons, and the multipolygon might be comprised of polygons that intersect, if fix_multipoly is set to an IntersectingPolygons correction (the default is UnionIntersectingPolygons()), then the needed multipolygons will be fixed to be valid before performing the intersection to ensure a correct answer. Only set fix_multipoly to false if you know that the multipolygons are valid, as it will avoid unneeded computation.

Calculates the union between two polygons.

Example

julia
import GeoInterface as GI, GeometryOps as GO
 
 p1 = GI.Polygon([[(0.0, 0.0), (5.0, 5.0), (10.0, 0.0), (5.0, -5.0), (0.0, 0.0)]])
 p2 = GI.Polygon([[(3.0, 0.0), (8.0, 5.0), (13.0, 0.0), (8.0, -5.0), (3.0, 0.0)]])
@@ -371,11 +371,11 @@ import{_ as h,c as l,a5 as a,j as i,a as e,G as n,B as k,o as p}from"./chunks/fr
 
 # output
 1-element Vector{Vector{Vector{Vector{Float64}}}}:
- [[[6.5, 3.5], [5.0, 5.0], [0.0, 0.0], [5.0, -5.0], [6.5, -3.5], [8.0, -5.0], [13.0, 0.0], [8.0, 5.0], [6.5, 3.5]]]

source

`,6))]),i("details",ki,[i("summary",null,[s[312]||(s[312]=i("a",{id:"GeometryOps.weighted_mean-Union{Tuple{WT}, Tuple{WT, Any, Any}} where WT<:Real",href:"#GeometryOps.weighted_mean-Union{Tuple{WT}, Tuple{WT, Any, Any}} where WT<:Real"},[i("span",{class:"jlbinding"},"GeometryOps.weighted_mean")],-1)),s[313]||(s[313]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[314]||(s[314]=a('
julia
weighted_mean(weight::Real, x1, x2)

Returns the weighted mean of x1 and x2, where weight is the weight of x1.

Specifically, calculates x1 * weight + x2 * (1 - weight).

Note

The idea for this method is that you can override this for custom types, like Color types, in extension modules.

source

',5))]),i("details",ri,[i("summary",null,[s[315]||(s[315]=i("a",{id:"GeometryOps.within-Tuple{Any, Any}",href:"#GeometryOps.within-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.within")],-1)),s[316]||(s[316]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[317]||(s[317]=a(`
julia
within(geom1, geom2)::Bool

Return true if the first geometry is completely within the second geometry. The interiors of both geometries must intersect and the interior and boundary of the primary geometry (geom1) must not intersect the exterior of the secondary geometry (geom2).

Furthermore, within returns the exact opposite result of contains.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
+ [[[6.5, 3.5], [5.0, 5.0], [0.0, 0.0], [5.0, -5.0], [6.5, -3.5], [8.0, -5.0], [13.0, 0.0], [8.0, 5.0], [6.5, 3.5]]]

source

`,6))]),i("details",ki,[i("summary",null,[s[312]||(s[312]=i("a",{id:"GeometryOps.weighted_mean-Union{Tuple{WT}, Tuple{WT, Any, Any}} where WT<:Real",href:"#GeometryOps.weighted_mean-Union{Tuple{WT}, Tuple{WT, Any, Any}} where WT<:Real"},[i("span",{class:"jlbinding"},"GeometryOps.weighted_mean")],-1)),s[313]||(s[313]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[314]||(s[314]=a('
julia
weighted_mean(weight::Real, x1, x2)

Returns the weighted mean of x1 and x2, where weight is the weight of x1.

Specifically, calculates x1 * weight + x2 * (1 - weight).

Note

The idea for this method is that you can override this for custom types, like Color types, in extension modules.

source

',5))]),i("details",ri,[i("summary",null,[s[315]||(s[315]=i("a",{id:"GeometryOps.within-Tuple{Any, Any}",href:"#GeometryOps.within-Tuple{Any, Any}"},[i("span",{class:"jlbinding"},"GeometryOps.within")],-1)),s[316]||(s[316]=e()),n(t,{type:"info",class:"jlObjectType jlMethod",text:"Method"})]),s[317]||(s[317]=a(`
julia
within(geom1, geom2)::Bool

Return true if the first geometry is completely within the second geometry. The interiors of both geometries must intersect and the interior and boundary of the primary geometry (geom1) must not intersect the exterior of the secondary geometry (geom2).

Furthermore, within returns the exact opposite result of contains.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 
 line = GI.LineString([(1, 1), (1, 2), (1, 3), (1, 4)])
 point = (1, 2)
 GO.within(point, line)
 
 # output
-true

source

`,6))]),s[324]||(s[324]=a('
  1. K. Hormann and N. Sukumar. Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics. Taylor & Fancis, CRC Press, 2017. ↩︎

',2))])}const Fi=h(r,[["render",oi]]);export{mi as __pageData,Fi as default}; +true

source

`,6))]),s[324]||(s[324]=a('
  1. K. Hormann and N. Sukumar. Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics. Taylor & Fancis, CRC Press, 2017. ↩︎

',2))])}const Fi=h(r,[["render",oi]]);export{mi as __pageData,Fi as default}; diff --git a/previews/PR223/assets/app.BHdMySJn.js b/previews/PR223/assets/app.K01X8iY3.js similarity index 95% rename from previews/PR223/assets/app.BHdMySJn.js rename to previews/PR223/assets/app.K01X8iY3.js index e36ad6faa..a71b31a28 100644 --- a/previews/PR223/assets/app.BHdMySJn.js +++ b/previews/PR223/assets/app.K01X8iY3.js @@ -1 +1 @@ -import{R as p}from"./chunks/theme.CF78cELk.js";import{R as o,a6 as u,a7 as c,a8 as l,a9 as f,aa as d,ab as m,ac as h,ad as g,ae as A,af as v,d as P,u as R,v as w,s as y,ag as C,ah as b,ai as E,a4 as S}from"./chunks/framework.CIByTNPs.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=j(),a=_();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function _(){return g(T)}function j(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{D as createApp}; +import{R as p}from"./chunks/theme.wg7yGm0-.js";import{R as o,a6 as u,a7 as c,a8 as l,a9 as f,aa as d,ab as m,ac as h,ad as g,ae as A,af as v,d as P,u as R,v as w,s as y,ag as C,ah as b,ai as E,a4 as S}from"./chunks/framework.CIByTNPs.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=j(),a=_();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function _(){return g(T)}function j(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{D as createApp}; diff --git a/previews/PR223/assets/aafhcdh.Dab1-ETk.png b/previews/PR223/assets/awnylvm.Dab1-ETk.png similarity index 100% rename from previews/PR223/assets/aafhcdh.Dab1-ETk.png rename to previews/PR223/assets/awnylvm.Dab1-ETk.png diff --git a/previews/PR223/assets/mzhhlsw.Cx40vhB3.png b/previews/PR223/assets/axygjub.Cx40vhB3.png similarity index 100% rename from previews/PR223/assets/mzhhlsw.Cx40vhB3.png rename to previews/PR223/assets/axygjub.Cx40vhB3.png diff --git a/previews/PR223/assets/feyloij.CPClNl7F.png b/previews/PR223/assets/bdctrdf.CPClNl7F.png similarity index 100% rename from previews/PR223/assets/feyloij.CPClNl7F.png rename to previews/PR223/assets/bdctrdf.CPClNl7F.png diff --git a/previews/PR223/assets/qerraex.DC3TvBOO.png b/previews/PR223/assets/bhapuoz.DC3TvBOO.png similarity index 100% rename from previews/PR223/assets/qerraex.DC3TvBOO.png rename to previews/PR223/assets/bhapuoz.DC3TvBOO.png diff --git a/previews/PR223/assets/bpfrlvw.4wfjCtJV.png b/previews/PR223/assets/bydobux.4wfjCtJV.png similarity index 100% rename from previews/PR223/assets/bpfrlvw.4wfjCtJV.png rename to previews/PR223/assets/bydobux.4wfjCtJV.png diff --git a/previews/PR223/assets/bykgbez.DdZwFL14.png b/previews/PR223/assets/bykgbez.DdZwFL14.png deleted file mode 100644 index db378c4ac9e48b0e28d8de444c81d2b87cd21c7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65240 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 Aa{vGU diff --git a/previews/PR223/assets/necauet.Dig-DWOQ.png b/previews/PR223/assets/chngknt.Dig-DWOQ.png similarity index 100% rename from previews/PR223/assets/necauet.Dig-DWOQ.png rename to previews/PR223/assets/chngknt.Dig-DWOQ.png diff --git a/previews/PR223/assets/chunks/@localSearchIndexroot.CiuP_dDX.js b/previews/PR223/assets/chunks/@localSearchIndexroot.CiuP_dDX.js new file mode 100644 index 000000000..0374ff2b0 --- /dev/null +++ b/previews/PR223/assets/chunks/@localSearchIndexroot.CiuP_dDX.js @@ -0,0 +1 @@ +const e='{"documentCount":201,"nextId":201,"documentIds":{"0":"/GeometryOps.jl/previews/PR223/api#Full-GeometryOps-API-documentation","1":"/GeometryOps.jl/previews/PR223/api#apply-and-associated-functions","2":"/GeometryOps.jl/previews/PR223/api#General-geometry-methods","3":"/GeometryOps.jl/previews/PR223/api#OGC-methods","4":"/GeometryOps.jl/previews/PR223/api#Other-general-methods","5":"/GeometryOps.jl/previews/PR223/api#Barycentric-coordinates","6":"/GeometryOps.jl/previews/PR223/api#Other-methods","7":"/GeometryOps.jl/previews/PR223/call_notes#20th-April,-2024","8":"/GeometryOps.jl/previews/PR223/call_notes#29th-Feb,-2024","9":"/GeometryOps.jl/previews/PR223/call_notes#To-do","10":"/GeometryOps.jl/previews/PR223/call_notes#done","11":"/GeometryOps.jl/previews/PR223/experiments/accurate_accumulators#Accurate-accumulation","12":"/GeometryOps.jl/previews/PR223/experiments/predicates#predicates","13":"/GeometryOps.jl/previews/PR223/experiments/predicates#orient","14":"/GeometryOps.jl/previews/PR223/experiments/predicates#dashboard","15":"/GeometryOps.jl/previews/PR223/experiments/predicates#Testing-robust-vs-regular-predicates","16":"/GeometryOps.jl/previews/PR223/experiments/predicates#incircle","17":"/GeometryOps.jl/previews/PR223/explanations/paradigms#paradigms","18":"/GeometryOps.jl/previews/PR223/explanations/paradigms#apply","19":"/GeometryOps.jl/previews/PR223/explanations/paradigms#applyreduce","20":"/GeometryOps.jl/previews/PR223/explanations/paradigms#fix-and-prepare","21":"/GeometryOps.jl/previews/PR223/explanations/peculiarities#peculiarities","22":"/GeometryOps.jl/previews/PR223/explanations/peculiarities#What-does-apply-return-and-why?","23":"/GeometryOps.jl/previews/PR223/explanations/peculiarities#Why-do-you-want-me-to-provide-a-target-in-set-operations?","24":"/GeometryOps.jl/previews/PR223/explanations/peculiarities#_True-and-_False-(or-BoolsAsTypes)","25":"/GeometryOps.jl/previews/PR223/#what-is-geometryops-jl","26":"/GeometryOps.jl/previews/PR223/#how-to-navigate-the-docs","27":"/GeometryOps.jl/previews/PR223/source/GeometryOps#geometryops-jl","28":"/GeometryOps.jl/previews/PR223/introduction#introduction","29":"/GeometryOps.jl/previews/PR223/introduction#Main-concepts","30":"/GeometryOps.jl/previews/PR223/introduction#The-apply-paradigm","31":"/GeometryOps.jl/previews/PR223/introduction#What\'s-this-GeoInterface.Wrapper-thing?","32":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/segmentize#segmentize","33":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#Simple-overrides","34":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#Polygon-set-operations","35":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#difference","36":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#union","37":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#intersection","38":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#Symmetric-difference","39":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#DE-9IM-boolean-methods","40":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#equals","41":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#disjoint","42":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#touches","43":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#crosses","44":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#within","45":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#contains","46":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#overlaps","47":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#covers","48":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#coveredby","49":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#intersects","50":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#Convex-hull","51":"/GeometryOps.jl/previews/PR223/source/methods/angles#angles","52":"/GeometryOps.jl/previews/PR223/source/methods/angles#What-is-angles?","53":"/GeometryOps.jl/previews/PR223/source/methods/angles#implementation","54":"/GeometryOps.jl/previews/PR223/source/methods/area#Area-and-signed-area","55":"/GeometryOps.jl/previews/PR223/source/methods/area#What-is-area?-What-is-signed-area?","56":"/GeometryOps.jl/previews/PR223/source/methods/area#implementation","57":"/GeometryOps.jl/previews/PR223/source/methods/barycentric#Barycentric-coordinates","58":"/GeometryOps.jl/previews/PR223/source/methods/barycentric#example","59":"/GeometryOps.jl/previews/PR223/source/methods/barycentric#Barycentric-coordinate-API","60":"/GeometryOps.jl/previews/PR223/source/methods/buffer#buffer","61":"/GeometryOps.jl/previews/PR223/source/methods/centroid#centroid","62":"/GeometryOps.jl/previews/PR223/source/methods/centroid#What-is-the-centroid?","63":"/GeometryOps.jl/previews/PR223/source/methods/centroid#implementation","64":"/GeometryOps.jl/previews/PR223/source/methods/clipping/clipping_processor#Polygon-clipping-helpers","65":"/GeometryOps.jl/previews/PR223/source/methods/clipping/coverage#What-is-coverage?","66":"/GeometryOps.jl/previews/PR223/source/methods/clipping/coverage#implementation","67":"/GeometryOps.jl/previews/PR223/source/methods/clipping/cut#Polygon-cutting","68":"/GeometryOps.jl/previews/PR223/source/methods/clipping/cut#What-is-cut?","69":"/GeometryOps.jl/previews/PR223/source/methods/clipping/cut#implementation","70":"/GeometryOps.jl/previews/PR223/source/methods/clipping/difference#Difference-Polygon-Clipping","71":"/GeometryOps.jl/previews/PR223/source/methods/clipping/difference#Helper-functions-for-Differences-with-Greiner-and-Hormann-Polygon-Clipping","72":"/GeometryOps.jl/previews/PR223/source/methods/clipping/intersection#Geometry-Intersection","73":"/GeometryOps.jl/previews/PR223/source/methods/clipping/intersection#Helper-functions-for-Intersections-with-Greiner-and-Hormann-Polygon-Clipping","74":"/GeometryOps.jl/previews/PR223/source/methods/clipping/predicates#If-we-want-to-inject-adaptivity,-we-would-do-something-like:","75":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Convex-hull","76":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#example","77":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Simple-hull","78":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Convex-hull-of-the-USA","79":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Investigating-the-winding-order","80":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#implementation","81":"/GeometryOps.jl/previews/PR223/source/methods/clipping/union#Union-Polygon-Clipping","82":"/GeometryOps.jl/previews/PR223/source/methods/clipping/union#Helper-functions-for-Unions-with-Greiner-and-Hormann-Polygon-Clipping","83":"/GeometryOps.jl/previews/PR223/source/methods/distance#Distance-and-signed-distance","84":"/GeometryOps.jl/previews/PR223/source/methods/distance#What-is-distance?-What-is-signed-distance?","85":"/GeometryOps.jl/previews/PR223/source/methods/distance#implementation","86":"/GeometryOps.jl/previews/PR223/source/methods/equals#equals","87":"/GeometryOps.jl/previews/PR223/source/methods/equals#What-is-equals?","88":"/GeometryOps.jl/previews/PR223/source/methods/equals#implementation","89":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/contains#contains","90":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/contains#What-is-contains?","91":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/contains#implementation","92":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#coveredby","93":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#What-is-coveredby?","94":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#implementation","95":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#Convert-features-to-geometries","96":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#Points-coveredby-geometries","97":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#Lines-coveredby-geometries","98":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#Rings-covered-by-geometries","99":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#Polygons-covered-by-geometries","100":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#Geometries-coveredby-multi-geometry/geometry-collections","101":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#Multi-geometry/geometry-collections-coveredby-geometries","102":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/covers#covers","103":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/covers#What-is-covers?","104":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/covers#implementation","105":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/crosses#Crossing-checks","106":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#disjoint","107":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#What-is-disjoint?","108":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#implementation","109":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#Convert-features-to-geometries","110":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#Point-disjoint-geometries","111":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#Lines-disjoint-geometries","112":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#Rings-disjoint-geometries","113":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#Polygon-disjoint-geometries","114":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#Geometries-disjoint-multi-geometry/geometry-collections","115":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#Multi-geometry/geometry-collections-coveredby-geometries","116":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/geom_geom_processors#Line-curve-interaction","117":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/intersects#Intersection-checks","118":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/intersects#What-is-intersects?","119":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/intersects#implementation","120":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/overlaps#overlaps","121":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/overlaps#What-is-overlaps?","122":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/overlaps#implementation","123":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#touches","124":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#What-is-touches?","125":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#implementation","126":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Convert-features-to-geometries","127":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Point-touches-geometries","128":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Lines-touching-geometries","129":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Rings-touch-geometries","130":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Polygons-touch-geometries","131":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Geometries-touch-multi-geometry/geometry-collections","132":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Multi-geometry/geometry-collections-cross-geometries","133":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#within","134":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#What-is-within?","135":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#implementation","136":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#Convert-features-to-geometries","137":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#Points-within-geometries","138":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#Lines-within-geometries","139":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#Rings-covered-by-geometries","140":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#Polygons-within-geometries","141":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#Geometries-within-multi-geometry/geometry-collections","142":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#Multi-geometry/geometry-collections-within-geometries","143":"/GeometryOps.jl/previews/PR223/source/methods/orientation#orientation","144":"/GeometryOps.jl/previews/PR223/source/methods/orientation#isclockwise","145":"/GeometryOps.jl/previews/PR223/source/methods/orientation#isconcave","146":"/GeometryOps.jl/previews/PR223/source/methods/polygonize#Polygonizing-raster-data","147":"/GeometryOps.jl/previews/PR223/source/not_implemented_yet#Not-implemented-yet","148":"/GeometryOps.jl/previews/PR223/source/src/apply#apply","149":"/GeometryOps.jl/previews/PR223/source/src/apply#docstrings","150":"/GeometryOps.jl/previews/PR223/source/src/apply#functions","151":"/GeometryOps.jl/previews/PR223/source/src/apply#What-is-apply?","152":"/GeometryOps.jl/previews/PR223/source/src/apply#embedding","153":"/GeometryOps.jl/previews/PR223/source/src/apply#threading","154":"/GeometryOps.jl/previews/PR223/source/src/applyreduce#applyreduce","155":"/GeometryOps.jl/previews/PR223/source/src/keyword_docs#Keyword-docs","156":"/GeometryOps.jl/previews/PR223/source/src/other_primitives#Other-primitives-(unwrap,-flatten,-etc)","157":"/GeometryOps.jl/previews/PR223/source/src/types#types","158":"/GeometryOps.jl/previews/PR223/source/src/types#Manifold","159":"/GeometryOps.jl/previews/PR223/source/src/types#TraitTarget","160":"/GeometryOps.jl/previews/PR223/source/src/types#BoolsAsTypes","161":"/GeometryOps.jl/previews/PR223/source/transformations/correction/closed_ring#Closed-Rings","162":"/GeometryOps.jl/previews/PR223/source/transformations/correction/closed_ring#example","163":"/GeometryOps.jl/previews/PR223/source/transformations/correction/closed_ring#implementation","164":"/GeometryOps.jl/previews/PR223/source/transformations/correction/geometry_correction#Geometry-Corrections","165":"/GeometryOps.jl/previews/PR223/source/transformations/correction/geometry_correction#interface","166":"/GeometryOps.jl/previews/PR223/source/transformations/correction/geometry_correction#Available-corrections","167":"/GeometryOps.jl/previews/PR223/source/transformations/correction/intersecting_polygons#Intersecting-Polygons","168":"/GeometryOps.jl/previews/PR223/source/transformations/correction/intersecting_polygons#example","169":"/GeometryOps.jl/previews/PR223/source/transformations/correction/intersecting_polygons#implementation","170":"/GeometryOps.jl/previews/PR223/source/transformations/extent#Extent-embedding","171":"/GeometryOps.jl/previews/PR223/source/transformations/flip#Coordinate-flipping","172":"/GeometryOps.jl/previews/PR223/source/transformations/reproject#Geometry-reprojection","173":"/GeometryOps.jl/previews/PR223/source/transformations/reproject#Method-error-handling","174":"/GeometryOps.jl/previews/PR223/source/transformations/segmentize#segmentize","175":"/GeometryOps.jl/previews/PR223/source/transformations/segmentize#examples","176":"/GeometryOps.jl/previews/PR223/source/transformations/segmentize#benchmark","177":"/GeometryOps.jl/previews/PR223/source/transformations/segmentize#implementation","178":"/GeometryOps.jl/previews/PR223/source/transformations/simplify#Geometry-simplification","179":"/GeometryOps.jl/previews/PR223/source/transformations/simplify#examples","180":"/GeometryOps.jl/previews/PR223/source/transformations/simplify#benchmark","181":"/GeometryOps.jl/previews/PR223/source/transformations/simplify#Simplify-with-RadialDistance-Algorithm","182":"/GeometryOps.jl/previews/PR223/source/transformations/simplify#Simplify-with-DouglasPeucker-Algorithm","183":"/GeometryOps.jl/previews/PR223/source/transformations/simplify#Simplify-with-VisvalingamWhyatt-Algorithm","184":"/GeometryOps.jl/previews/PR223/source/transformations/simplify#Shared-utils","185":"/GeometryOps.jl/previews/PR223/source/transformations/transform#Pointwise-transformation","186":"/GeometryOps.jl/previews/PR223/source/transformations/tuples#Tuple-conversion","187":"/GeometryOps.jl/previews/PR223/source/types#types","188":"/GeometryOps.jl/previews/PR223/source/types#GEOS","189":"/GeometryOps.jl/previews/PR223/source/utils#Utility-functions","190":"/GeometryOps.jl/previews/PR223/tutorials/creating_geometry#Creating-Geometry","191":"/GeometryOps.jl/previews/PR223/tutorials/creating_geometry#creating-geometry","192":"/GeometryOps.jl/previews/PR223/tutorials/creating_geometry#plot-geometry","193":"/GeometryOps.jl/previews/PR223/tutorials/creating_geometry#geom-crs","194":"/GeometryOps.jl/previews/PR223/tutorials/creating_geometry#attributes","195":"/GeometryOps.jl/previews/PR223/tutorials/creating_geometry#save-geometry","196":"/GeometryOps.jl/previews/PR223/tutorials/geodesic_paths#Geodesic-paths","197":"/GeometryOps.jl/previews/PR223/tutorials/spatial_joins#Spatial-joins","198":"/GeometryOps.jl/previews/PR223/tutorials/spatial_joins#Simple-example","199":"/GeometryOps.jl/previews/PR223/tutorials/spatial_joins#Real-world-example","200":"/GeometryOps.jl/previews/PR223/tutorials/spatial_joins#Enabling-custom-predicates"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[4,1,87],"1":[4,4,246],"2":[3,4,1],"3":[2,7,205],"4":[3,7,255],"5":[2,4,81],"6":[2,4,1016],"7":[3,1,55],"8":[3,1,1],"9":[2,3,107],"10":[1,3,17],"11":[2,1,74],"12":[1,1,5],"13":[1,1,128],"14":[1,2,116],"15":[5,2,72],"16":[1,1,1],"17":[1,1,53],"18":[1,1,109],"19":[1,2,35],"20":[3,1,79],"21":[1,1,1],"22":[7,1,71],"23":[13,1,101],"24":[6,1,66],"25":[5,1,72],"26":[5,1,61],"27":[2,1,146],"28":[1,1,72],"29":[2,1,1],"30":[3,3,50],"31":[8,3,18],"32":[1,1,106],"33":[2,1,23],"34":[3,2,1],"35":[1,5,20],"36":[1,5,20],"37":[1,5,20],"38":[2,5,22],"39":[4,2,1],"40":[1,6,13],"41":[1,6,13],"42":[1,6,13],"43":[1,6,13],"44":[1,6,13],"45":[1,6,13],"46":[1,6,13],"47":[1,6,13],"48":[1,6,13],"49":[1,6,13],"50":[2,2,34],"51":[1,1,3],"52":[4,1,57],"53":[1,1,268],"54":[4,1,4],"55":[5,4,100],"56":[1,4,246],"57":[2,1,65],"58":[1,2,211],"59":[3,2,414],"60":[1,1,110],"61":[1,1,6],"62":[5,1,91],"63":[1,1,199],"64":[3,1,610],"65":[4,1,70],"66":[1,1,327],"67":[2,1,3],"68":[4,2,57],"69":[1,2,200],"70":[3,1,214],"71":[10,1,190],"72":[2,1,250],"73":[10,1,480],"74":[11,1,25],"75":[2,1,56],"76":[1,2,1],"77":[2,3,32],"78":[5,2,40],"79":[4,2,100],"80":[1,2,166],"81":[3,1,236],"82":[10,1,284],"83":[4,1,4],"84":[5,4,128],"85":[1,4,260],"86":[1,1,3],"87":[4,1,68],"88":[1,1,265],"89":[1,1,3],"90":[4,1,79],"91":[1,1,79],"92":[1,1,3],"93":[4,1,81],"94":[1,1,128],"95":[4,1,11],"96":[3,1,56],"97":[3,1,46],"98":[4,1,48],"99":[4,1,40],"100":[5,1,40],"101":[5,1,44],"102":[1,1,3],"103":[4,1,67],"104":[1,1,78],"105":[2,1,149],"106":[1,1,3],"107":[4,1,68],"108":[1,1,110],"109":[4,1,10],"110":[3,1,57],"111":[3,1,58],"112":[3,1,47],"113":[3,1,33],"114":[5,1,39],"115":[5,1,44],"116":[3,1,432],"117":[2,1,3],"118":[4,2,80],"119":[1,2,76],"120":[1,1,3],"121":[4,1,82],"122":[1,1,244],"123":[1,1,3],"124":[4,1,70],"125":[1,1,125],"126":[4,1,11],"127":[3,1,69],"128":[3,1,52],"129":[3,1,61],"130":[3,1,40],"131":[5,1,39],"132":[5,1,42],"133":[1,1,3],"134":[4,1,72],"135":[1,1,129],"136":[4,1,11],"137":[3,1,63],"138":[3,1,53],"139":[4,1,53],"140":[3,1,38],"141":[5,1,39],"142":[5,1,42],"143":[1,1,4],"144":[1,1,21],"145":[1,1,206],"146":[3,1,511],"147":[3,1,47],"148":[1,1,114],"149":[1,1,1],"150":[1,2,152],"151":[4,1,114],"152":[2,1,36],"153":[1,1,490],"154":[1,1,291],"155":[2,1,51],"156":[6,1,217],"157":[1,1,17],"158":[1,1,221],"159":[1,1,74],"160":[1,1,98],"161":[2,1,54],"162":[1,2,87],"163":[1,2,83],"164":[2,1,41],"165":[1,2,109],"166":[2,2,106],"167":[2,1,77],"168":[1,2,70],"169":[1,2,135],"170":[2,1,71],"171":[2,1,56],"172":[2,1,132],"173":[3,2,77],"174":[1,1,76],"175":[1,1,147],"176":[1,1,268],"177":[1,1,221],"178":[2,1,44],"179":[1,2,67],"180":[1,2,391],"181":[4,1,75],"182":[4,1,186],"183":[4,1,85],"184":[2,1,149],"185":[2,1,111],"186":[2,1,58],"187":[1,1,37],"188":[1,1,147],"189":[2,1,136],"190":[2,1,60],"191":[4,2,287],"192":[13,2,280],"193":[9,2,199],"194":[7,2,63],"195":[4,2,140],"196":[2,1,52],"197":[2,1,141],"198":[2,2,137],"199":[3,2,117],"200":[3,2,68]},"averageFieldLength":[2.7213930348258706,1.7263681592039801,101.92039800995022],"storedFields":{"0":{"title":"Full GeometryOps API documentation","titles":[]},"1":{"title":"apply and associated functions","titles":["Full GeometryOps API documentation"]},"2":{"title":"General geometry methods","titles":["Full GeometryOps API documentation"]},"3":{"title":"OGC methods","titles":["Full GeometryOps API documentation","General geometry methods"]},"4":{"title":"Other general methods","titles":["Full GeometryOps API documentation","General geometry methods"]},"5":{"title":"Barycentric coordinates","titles":["Full GeometryOps API documentation"]},"6":{"title":"Other methods","titles":["Full GeometryOps API documentation"]},"7":{"title":"20th April, 2024","titles":[]},"8":{"title":"29th Feb, 2024","titles":[]},"9":{"title":"To do","titles":["29th Feb, 2024"]},"10":{"title":"Done","titles":["29th Feb, 2024"]},"11":{"title":"Accurate accumulation","titles":[]},"12":{"title":"Predicates","titles":[]},"13":{"title":"Orient","titles":["Predicates"]},"14":{"title":"Dashboard","titles":["Predicates","Orient"]},"15":{"title":"Testing robust vs regular predicates","titles":["Predicates","Orient"]},"16":{"title":"Incircle","titles":["Predicates"]},"17":{"title":"Paradigms","titles":[]},"18":{"title":"apply","titles":["Paradigms"]},"19":{"title":"applyreduce","titles":["Paradigms","apply"]},"20":{"title":"fix and prepare","titles":["Paradigms"]},"21":{"title":"Peculiarities","titles":[]},"22":{"title":"What does apply return and why?","titles":["Peculiarities"]},"23":{"title":"Why do you want me to provide a target in set operations?","titles":["Peculiarities"]},"24":{"title":"_True and _False (or BoolsAsTypes)","titles":["Peculiarities"]},"25":{"title":"What is GeometryOps.jl?","titles":[]},"26":{"title":"How to navigate the docs","titles":[]},"27":{"title":"GeometryOps.jl","titles":[]},"28":{"title":"Introduction","titles":[]},"29":{"title":"Main concepts","titles":["Introduction"]},"30":{"title":"The apply paradigm","titles":["Introduction","Main concepts"]},"31":{"title":"What's this GeoInterface.Wrapper thing?","titles":["Introduction","Main concepts"]},"32":{"title":"Segmentize","titles":[]},"33":{"title":"Simple overrides","titles":[]},"34":{"title":"Polygon set operations","titles":["Simple overrides"]},"35":{"title":"Difference","titles":["Simple overrides","Polygon set operations"]},"36":{"title":"Union","titles":["Simple overrides","Polygon set operations"]},"37":{"title":"Intersection","titles":["Simple overrides","Polygon set operations"]},"38":{"title":"Symmetric difference","titles":["Simple overrides","Polygon set operations"]},"39":{"title":"DE-9IM boolean methods","titles":["Simple overrides"]},"40":{"title":"Equals","titles":["Simple overrides","DE-9IM boolean methods"]},"41":{"title":"Disjoint","titles":["Simple overrides","DE-9IM boolean methods"]},"42":{"title":"Touches","titles":["Simple overrides","DE-9IM boolean methods"]},"43":{"title":"Crosses","titles":["Simple overrides","DE-9IM boolean methods"]},"44":{"title":"Within","titles":["Simple overrides","DE-9IM boolean methods"]},"45":{"title":"Contains","titles":["Simple overrides","DE-9IM boolean methods"]},"46":{"title":"Overlaps","titles":["Simple overrides","DE-9IM boolean methods"]},"47":{"title":"Covers","titles":["Simple overrides","DE-9IM boolean methods"]},"48":{"title":"CoveredBy","titles":["Simple overrides","DE-9IM boolean methods"]},"49":{"title":"Intersects","titles":["Simple overrides","DE-9IM boolean methods"]},"50":{"title":"Convex hull","titles":["Simple overrides"]},"51":{"title":"Angles","titles":[]},"52":{"title":"What is angles?","titles":["Angles"]},"53":{"title":"Implementation","titles":["Angles"]},"54":{"title":"Area and signed area","titles":[]},"55":{"title":"What is area? What is signed area?","titles":["Area and signed area"]},"56":{"title":"Implementation","titles":["Area and signed area"]},"57":{"title":"Barycentric coordinates","titles":[]},"58":{"title":"Example","titles":["Barycentric coordinates"]},"59":{"title":"Barycentric-coordinate API","titles":["Barycentric coordinates"]},"60":{"title":"Buffer","titles":[]},"61":{"title":"Centroid","titles":[]},"62":{"title":"What is the centroid?","titles":["Centroid"]},"63":{"title":"Implementation","titles":["Centroid"]},"64":{"title":"Polygon clipping helpers","titles":[]},"65":{"title":"What is coverage?","titles":[]},"66":{"title":"Implementation","titles":[]},"67":{"title":"Polygon cutting","titles":[]},"68":{"title":"What is cut?","titles":["Polygon cutting"]},"69":{"title":"Implementation","titles":["Polygon cutting"]},"70":{"title":"Difference Polygon Clipping","titles":[]},"71":{"title":"Helper functions for Differences with Greiner and Hormann Polygon Clipping","titles":[]},"72":{"title":"Geometry Intersection","titles":[]},"73":{"title":"Helper functions for Intersections with Greiner and Hormann Polygon Clipping","titles":[]},"74":{"title":"If we want to inject adaptivity, we would do something like:","titles":[]},"75":{"title":"Convex hull","titles":[]},"76":{"title":"Example","titles":["Convex hull"]},"77":{"title":"Simple hull","titles":["Convex hull","Example"]},"78":{"title":"Convex hull of the USA","titles":["Convex hull"]},"79":{"title":"Investigating the winding order","titles":["Convex hull"]},"80":{"title":"Implementation","titles":["Convex hull"]},"81":{"title":"Union Polygon Clipping","titles":[]},"82":{"title":"Helper functions for Unions with Greiner and Hormann Polygon Clipping","titles":[]},"83":{"title":"Distance and signed distance","titles":[]},"84":{"title":"What is distance? What is signed distance?","titles":["Distance and signed distance"]},"85":{"title":"Implementation","titles":["Distance and signed distance"]},"86":{"title":"Equals","titles":[]},"87":{"title":"What is equals?","titles":["Equals"]},"88":{"title":"Implementation","titles":["Equals"]},"89":{"title":"Contains","titles":[]},"90":{"title":"What is contains?","titles":["Contains"]},"91":{"title":"Implementation","titles":["Contains"]},"92":{"title":"CoveredBy","titles":[]},"93":{"title":"What is coveredby?","titles":["CoveredBy"]},"94":{"title":"Implementation","titles":["CoveredBy"]},"95":{"title":"Convert features to geometries","titles":[]},"96":{"title":"Points coveredby geometries","titles":[]},"97":{"title":"Lines coveredby geometries","titles":[]},"98":{"title":"Rings covered by geometries","titles":[]},"99":{"title":"Polygons covered by geometries","titles":[]},"100":{"title":"Geometries coveredby multi-geometry/geometry collections","titles":[]},"101":{"title":"Multi-geometry/geometry collections coveredby geometries","titles":[]},"102":{"title":"Covers","titles":[]},"103":{"title":"What is covers?","titles":["Covers"]},"104":{"title":"Implementation","titles":["Covers"]},"105":{"title":"Crossing checks","titles":[]},"106":{"title":"Disjoint","titles":[]},"107":{"title":"What is disjoint?","titles":["Disjoint"]},"108":{"title":"Implementation","titles":["Disjoint"]},"109":{"title":"Convert features to geometries","titles":[]},"110":{"title":"Point disjoint geometries","titles":[]},"111":{"title":"Lines disjoint geometries","titles":[]},"112":{"title":"Rings disjoint geometries","titles":[]},"113":{"title":"Polygon disjoint geometries","titles":[]},"114":{"title":"Geometries disjoint multi-geometry/geometry collections","titles":[]},"115":{"title":"Multi-geometry/geometry collections coveredby geometries","titles":[]},"116":{"title":"Line-curve interaction","titles":[]},"117":{"title":"Intersection checks","titles":[]},"118":{"title":"What is intersects?","titles":["Intersection checks"]},"119":{"title":"Implementation","titles":["Intersection checks"]},"120":{"title":"Overlaps","titles":[]},"121":{"title":"What is overlaps?","titles":["Overlaps"]},"122":{"title":"Implementation","titles":["Overlaps"]},"123":{"title":"Touches","titles":[]},"124":{"title":"What is touches?","titles":["Touches"]},"125":{"title":"Implementation","titles":["Touches"]},"126":{"title":"Convert features to geometries","titles":[]},"127":{"title":"Point touches geometries","titles":[]},"128":{"title":"Lines touching geometries","titles":[]},"129":{"title":"Rings touch geometries","titles":[]},"130":{"title":"Polygons touch geometries","titles":[]},"131":{"title":"Geometries touch multi-geometry/geometry collections","titles":[]},"132":{"title":"Multi-geometry/geometry collections cross geometries","titles":[]},"133":{"title":"Within","titles":[]},"134":{"title":"What is within?","titles":["Within"]},"135":{"title":"Implementation","titles":["Within"]},"136":{"title":"Convert features to geometries","titles":[]},"137":{"title":"Points within geometries","titles":[]},"138":{"title":"Lines within geometries","titles":[]},"139":{"title":"Rings covered by geometries","titles":[]},"140":{"title":"Polygons within geometries","titles":[]},"141":{"title":"Geometries within multi-geometry/geometry collections","titles":[]},"142":{"title":"Multi-geometry/geometry collections within geometries","titles":[]},"143":{"title":"Orientation","titles":[]},"144":{"title":"isclockwise","titles":["Orientation"]},"145":{"title":"isconcave","titles":["Orientation"]},"146":{"title":"Polygonizing raster data","titles":[]},"147":{"title":"Not implemented yet","titles":[]},"148":{"title":"apply","titles":[]},"149":{"title":"Docstrings","titles":["apply"]},"150":{"title":"Functions","titles":["apply","Docstrings"]},"151":{"title":"What is apply?","titles":["apply"]},"152":{"title":"Embedding:","titles":["apply"]},"153":{"title":"Threading","titles":["apply"]},"154":{"title":"applyreduce","titles":[]},"155":{"title":"Keyword docs","titles":[]},"156":{"title":"Other primitives (unwrap, flatten, etc)","titles":[]},"157":{"title":"Types","titles":[]},"158":{"title":"Manifold","titles":["Types"]},"159":{"title":"TraitTarget","titles":["Types"]},"160":{"title":"BoolsAsTypes","titles":["Types"]},"161":{"title":"Closed Rings","titles":[]},"162":{"title":"Example","titles":["Closed Rings"]},"163":{"title":"Implementation","titles":["Closed Rings"]},"164":{"title":"Geometry Corrections","titles":[]},"165":{"title":"Interface","titles":["Geometry Corrections"]},"166":{"title":"Available corrections","titles":["Geometry Corrections"]},"167":{"title":"Intersecting Polygons","titles":[]},"168":{"title":"Example","titles":["Intersecting Polygons"]},"169":{"title":"Implementation","titles":["Intersecting Polygons"]},"170":{"title":"Extent embedding","titles":[]},"171":{"title":"Coordinate flipping","titles":[]},"172":{"title":"Geometry reprojection","titles":[]},"173":{"title":"Method error handling","titles":["Geometry reprojection"]},"174":{"title":"Segmentize","titles":[]},"175":{"title":"Examples","titles":["Segmentize"]},"176":{"title":"Benchmark","titles":["Segmentize"]},"177":{"title":"Implementation","titles":["Segmentize"]},"178":{"title":"Geometry simplification","titles":[]},"179":{"title":"Examples","titles":["Geometry simplification"]},"180":{"title":"Benchmark","titles":["Geometry simplification"]},"181":{"title":"Simplify with RadialDistance Algorithm","titles":[]},"182":{"title":"Simplify with DouglasPeucker Algorithm","titles":[]},"183":{"title":"Simplify with VisvalingamWhyatt Algorithm","titles":[]},"184":{"title":"Shared utils","titles":[]},"185":{"title":"Pointwise transformation","titles":[]},"186":{"title":"Tuple conversion","titles":[]},"187":{"title":"Types","titles":[]},"188":{"title":"GEOS","titles":["Types"]},"189":{"title":"Utility functions","titles":[]},"190":{"title":"Creating Geometry","titles":[]},"191":{"title":"Creating and plotting geometries","titles":["Creating Geometry"]},"192":{"title":"Plot geometries on a map using GeoMakie and coordinate reference system (CRS)","titles":["Creating Geometry"]},"193":{"title":"Create geospatial geometries with embedded coordinate reference system information","titles":["Creating Geometry"]},"194":{"title":"Creating a table with attributes and geometry","titles":["Creating Geometry"]},"195":{"title":"Saving your geospatial data","titles":["Creating Geometry"]},"196":{"title":"Geodesic paths","titles":[]},"197":{"title":"Spatial joins","titles":[]},"198":{"title":"Simple example","titles":["Spatial joins"]},"199":{"title":"Real-world example","titles":["Spatial joins"]},"200":{"title":"Enabling custom predicates","titles":["Spatial joins"]}},"dirtCount":0,"index":[["⋮",{"2":{"192":1}}],["θ",{"2":{"191":7,"192":3,"193":5}}],["☁",{"2":{"191":1}}],["✈",{"2":{"191":1}}],["÷",{"2":{"153":1,"154":1}}],["ϵ",{"2":{"73":5}}],["∘",{"2":{"73":1,"122":2,"146":2,"165":1,"180":2,"200":2}}],["⊻",{"2":{"64":1,"71":2}}],["≥",{"2":{"64":1,"116":2,"169":1,"182":1}}],["α≈1",{"2":{"73":1}}],["α≈0",{"2":{"73":1}}],["α2",{"2":{"64":4,"73":2}}],["α",{"2":{"64":3,"73":28,"116":7}}],["α1",{"2":{"64":4,"73":2}}],["β2",{"2":{"64":4,"73":2}}],["β",{"2":{"64":4,"73":28,"116":7}}],["β1",{"2":{"64":4,"73":2}}],["≤",{"2":{"64":5,"66":14,"116":6,"182":1,"184":1,"189":4}}],["^",{"2":{"192":1}}],["^3",{"2":{"192":1}}],["^n",{"2":{"145":1}}],["^2",{"2":{"63":2,"85":2}}],["^hormannpresentation",{"2":{"59":2}}],["∑λ",{"2":{"59":2}}],["∑i=2n",{"2":{"6":1}}],["`$",{"2":{"188":1}}],["`equatorial",{"2":{"176":2}}],["`extents",{"2":{"170":1}}],["`inf`",{"2":{"172":1}}],["`inv",{"2":{"158":1}}],["`intersects`",{"2":{"119":1}}],["`intersectingpolygons`",{"2":{"70":1,"72":1,"81":1}}],["`90`",{"2":{"158":1}}],["`libgeos",{"2":{"188":1}}],["`linearring`",{"2":{"177":1}}],["`linestring`",{"2":{"177":1}}],["`linestringtrait`",{"2":{"165":1}}],["`line2`",{"2":{"145":1}}],["`line1`",{"2":{"145":1}}],["`line",{"2":{"72":4}}],["`lat`",{"2":{"158":1}}],["`lon`",{"2":{"158":1}}],["`z`",{"2":{"158":1}}],["``1",{"2":{"158":1}}],["``a``",{"2":{"158":1}}],["``r",{"2":{"158":1}}],["```jldoctest",{"2":{"69":1,"70":1,"72":1,"73":1,"81":1,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"125":1,"135":1,"145":1,"180":1}}],["```julia",{"2":{"6":2,"59":1,"105":1,"145":1,"153":1,"159":1,"185":2}}],["```math",{"2":{"59":1,"145":1}}],["```",{"2":{"11":1,"59":3,"69":1,"70":1,"72":1,"81":1,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"125":1,"135":1,"145":3,"146":11,"153":1,"180":1,"185":2,"189":1}}],["`6371008",{"2":{"158":1}}],["`prefilter",{"2":{"180":1}}],["`proj",{"2":{"172":1,"176":2}}],["`planar`",{"2":{"158":1,"177":2}}],["`polgontrait`",{"2":{"153":1}}],["`polygontrait`",{"2":{"153":1,"165":1}}],["`polygonize`",{"2":{"146":2}}],["`polygon`",{"2":{"59":3,"177":1}}],["`polys`",{"2":{"71":1}}],["`poly",{"2":{"71":3,"73":1,"82":1}}],["`pointrait`",{"2":{"180":1}}],["`pointtrait`",{"2":{"156":3,"165":1}}],["`point",{"2":{"116":3}}],["`point`",{"2":{"59":4,"85":1}}],["`point2f`",{"2":{"58":1}}],["`obj`",{"2":{"156":1,"185":1,"186":1}}],["`op`",{"2":{"154":2}}],["`calc",{"2":{"155":1}}],["`crs`",{"2":{"155":1}}],["`components`",{"2":{"156":1}}],["`collect`",{"2":{"154":1}}],["`covers`",{"2":{"94":1,"104":1}}],["`coveredby`",{"2":{"94":1,"104":1}}],["`contains`",{"2":{"91":1,"135":1}}],["`convex",{"2":{"80":2}}],["`+`",{"2":{"154":1}}],["`alg",{"2":{"188":1}}],["`alg`",{"2":{"184":1}}],["`always",{"2":{"172":1}}],["`application",{"2":{"165":1}}],["`apply`",{"2":{"153":1,"159":1}}],["`abstractgeometrytrait`",{"2":{"156":1}}],["`abstractarray`",{"2":{"156":1}}],["`abstractmatrix`",{"2":{"146":1}}],["`union",{"2":{"146":2}}],["`unionintersectingpolygons`",{"2":{"169":1}}],["`unionintersectingpolygons",{"2":{"70":1,"71":2,"72":1,"73":2,"81":1,"82":2}}],["`ys`",{"2":{"146":1}}],["`flattening`",{"2":{"176":1}}],["`flattening",{"2":{"176":1}}],["`flatten`",{"2":{"156":1}}],["`f",{"2":{"153":1}}],["`featurecollectiontrait`",{"2":{"153":1,"156":1}}],["`featurecollection`",{"2":{"146":2}}],["`featuretrait`",{"2":{"153":2,"156":1}}],["`feature`s",{"2":{"146":1}}],["`f`",{"2":{"146":5,"153":3,"154":1,"156":2,"185":2,"188":1}}],["`false`",{"2":{"145":1,"146":1,"155":4,"160":1,"172":1}}],["`fix",{"2":{"70":2,"71":2,"72":2,"73":2,"81":2,"82":2}}],["`douglaspeucker`",{"2":{"180":1}}],["`d`",{"2":{"172":1}}],["`difference`",{"2":{"169":1}}],["`disjoint`",{"2":{"119":1}}],["`delaunaytriangulation",{"2":{"80":1}}],["`within`",{"2":{"91":1,"135":1}}],["`weight`",{"2":{"59":1}}],["`geos`",{"2":{"188":3}}],["`geodesicsegments`",{"2":{"175":1}}],["`geodesic`",{"2":{"158":1,"176":2,"177":2}}],["`geointerface`",{"2":{"165":1}}],["`geointerface",{"2":{"153":1,"156":2,"172":2}}],["`geom`",{"2":{"85":3,"156":1,"177":1}}],["`geometrycollection`",{"2":{"177":1}}],["`geometrycorrection`",{"2":{"163":1,"165":1,"169":2}}],["`geometry`",{"2":{"153":1,"172":2}}],["`geometrybasics",{"2":{"59":3}}],["`geometries`",{"2":{"80":1}}],["`g1`",{"2":{"85":1}}],["`gi",{"2":{"80":1,"146":1}}],["`tuple",{"2":{"189":1}}],["`tuple`s",{"2":{"186":1}}],["`tuple`",{"2":{"146":1,"186":1}}],["`time`",{"2":{"172":1}}],["`transform`",{"2":{"172":1}}],["`true`",{"2":{"94":1,"105":1,"108":2,"125":1,"135":1,"145":2,"146":1,"155":2,"160":1,"172":1}}],["`threaded`",{"2":{"155":1}}],["`threaded==true`",{"2":{"154":1}}],["`tol`",{"2":{"180":2,"181":3,"182":2,"183":3,"184":4}}],["`to",{"2":{"73":1}}],["`target",{"2":{"172":3}}],["`target`",{"2":{"72":1,"153":2,"154":1,"156":1,"159":1}}],["`tables",{"2":{"153":1}}],["`taget`",{"2":{"70":1,"81":1}}],["`method",{"2":{"177":1}}],["`method`",{"2":{"59":3}}],["`max",{"2":{"176":4,"177":3,"188":1}}],["`map`",{"2":{"153":1}}],["`makie",{"2":{"146":1}}],["`multipointtrait`",{"2":{"153":1,"180":1}}],["`multipolygontrait`",{"2":{"153":1}}],["`multipolygon`",{"2":{"146":3,"177":1}}],["`multipolygon",{"2":{"71":3,"73":3,"82":2}}],["`multipoly",{"2":{"71":7,"73":3,"82":3}}],["`minpoints`",{"2":{"146":2}}],["`number`",{"2":{"180":2,"184":3}}],["`namedtuple`",{"2":{"153":1}}],["`nothing`",{"2":{"64":1,"155":1}}],["`next",{"2":{"64":1}}],["`boolsastypes`",{"2":{"160":1}}],["`bool`",{"2":{"146":2}}],["`buffer`",{"2":{"60":1}}],["`barycentric",{"2":{"59":3}}],["`radialdistance`",{"2":{"180":1}}],["`ratio`",{"2":{"180":2,"184":3}}],["`reproject`",{"2":{"173":1}}],["`rebuild`",{"2":{"156":1}}],["`r`",{"2":{"59":1}}],["`rᵢ`",{"2":{"59":1}}],["`svector`",{"2":{"185":3}}],["`simplifyalg`",{"2":{"180":2}}],["`simplify",{"2":{"180":1}}],["`simplify`",{"2":{"180":2}}],["`segmentize`",{"2":{"188":1}}],["`segmentize",{"2":{"177":2}}],["`semimajor",{"2":{"158":1}}],["`source",{"2":{"172":3}}],["`spherical`",{"2":{"158":1,"177":1}}],["`s`",{"2":{"59":1}}],["`sᵢ`",{"2":{"59":2}}],["`s2`",{"2":{"59":1}}],["`s1`",{"2":{"59":1}}],["`hcat`",{"2":{"59":1}}],["`x`",{"2":{"153":1,"160":1}}],["`xs`",{"2":{"146":1}}],["`x1",{"2":{"59":1}}],["`x1`",{"2":{"59":2}}],["`x2`",{"2":{"59":1}}],["`visvalingamwhyatt`",{"2":{"180":1}}],["`vector",{"2":{"172":1}}],["`vector`",{"2":{"146":1,"153":1}}],["`vᵢ`",{"2":{"59":1}}],["`v`",{"2":{"59":1}}],["`values`",{"2":{"59":1,"146":1}}],["`λs`",{"2":{"59":2}}],["`",{"2":{"59":2,"70":1,"71":2,"72":1,"73":3,"81":1,"82":2,"146":3,"153":2,"154":1,"158":1,"165":2,"172":2,"177":1,"180":3,"188":2,"189":1}}],["λ₁",{"2":{"59":2}}],["λn",{"2":{"57":1}}],["λ3",{"2":{"57":1}}],["λ2",{"2":{"57":2}}],["λ1",{"2":{"57":2}}],["λs",{"2":{"5":3,"6":4,"59":27}}],["π",{"2":{"53":1,"180":1}}],["δbay",{"2":{"73":3}}],["δbax",{"2":{"73":3}}],["δby",{"2":{"73":5}}],["δbx",{"2":{"73":5}}],["δb",{"2":{"73":2}}],["δay",{"2":{"73":5}}],["δax",{"2":{"73":5}}],["δa",{"2":{"73":2}}],["δintrs",{"2":{"64":2}}],["δy2",{"2":{"145":2}}],["δy1",{"2":{"145":2}}],["δyl",{"2":{"122":4}}],["δy",{"2":{"53":8,"66":3,"116":7}}],["δys",{"2":{"53":1}}],["δx2",{"2":{"145":2}}],["δx1",{"2":{"145":2}}],["δxl",{"2":{"122":4}}],["δx",{"2":{"53":9,"66":3,"116":7}}],["∈",{"2":{"14":1}}],["~",{"2":{"14":3}}],["$ratio",{"2":{"184":1}}],["$rectangle",{"2":{"176":2}}],["$number",{"2":{"184":1}}],["$name",{"2":{"27":2}}],["$min",{"2":{"184":1}}],["$douglas",{"2":{"180":1,"182":1}}],["$simplify",{"2":{"180":1,"181":1,"183":1}}],["$lg",{"2":{"176":1}}],["$lin",{"2":{"176":2}}],["$geom",{"2":{"180":8}}],["$geo",{"2":{"176":1}}],["$calc",{"2":{"155":1}}],["$crs",{"2":{"155":1,"170":1}}],["$apply",{"2":{"153":1,"171":1,"172":1,"180":1}}],["$tol",{"2":{"184":1}}],["$threaded",{"2":{"155":1}}],["$t",{"2":{"88":1,"153":2,"154":2}}],["$target",{"2":{"71":1,"73":1,"82":1,"156":3}}],["$trait",{"2":{"69":1,"71":2,"73":2,"82":2}}],["$",{"2":{"13":4,"14":1,"59":4,"64":2,"146":3,"165":4,"177":4,"180":12,"188":1}}],["|=",{"2":{"116":4,"122":1}}],["||",{"2":{"53":2,"64":13,"66":8,"69":1,"72":1,"73":5,"81":1,"88":18,"105":2,"116":8,"122":1,"127":1,"146":7,"182":1,"184":3}}],["|",{"2":{"11":4,"116":1}}],["|>",{"2":{"11":8,"13":2,"156":3,"175":1,"176":1,"180":3,"199":2}}],["↩︎",{"2":{"6":1}}],["ᵢᵢᵢ₊₁ᵢᵢ₊₁ᵢᵢ₊₁tᵢ=det",{"2":{"6":1}}],["⋅",{"2":{"6":1,"59":1}}],["qy",{"2":{"13":2,"14":2}}],["qx",{"2":{"13":2,"14":2}}],["q",{"2":{"13":13,"14":12,"64":4}}],["qhull",{"2":{"6":1,"80":1}}],["queue",{"2":{"182":41}}],["questions",{"2":{"73":1}}],["quite",{"2":{"162":1,"199":1}}],["quickhull",{"2":{"6":1,"75":1,"80":2}}],["quick",{"2":{"4":1,"6":1,"59":1,"170":1,"179":1}}],["quality",{"2":{"6":1,"180":1}}],["quantity",{"2":{"6":1,"176":1}}],["quot",{"2":{"1":4,"6":6,"20":2,"64":8,"84":2,"85":2,"88":2,"103":4,"116":10,"150":4,"151":2,"153":2,"154":2,"156":4,"174":6,"191":2,"198":2}}],["zone",{"2":{"192":1}}],["zoom",{"2":{"14":1}}],["zs",{"2":{"146":5}}],["zip",{"2":{"13":1,"14":1,"191":4,"192":1,"193":1}}],["zeros",{"2":{"59":1,"66":1}}],["zero",{"2":{"4":6,"6":8,"56":11,"63":3,"64":4,"66":11,"73":22,"84":1,"85":3,"145":1,"153":1,"182":4}}],["z",{"2":{"4":1,"5":1,"6":2,"59":3,"88":3,"146":3,"158":1,"171":1,"185":1,"186":1}}],["0e6",{"2":{"192":6}}],["0example",{"2":{"6":1}}],["097075198097933",{"2":{"193":1}}],["09707519809793252",{"2":{"193":2}}],["091887951911644",{"2":{"193":3}}],["0999933334666654",{"2":{"191":1}}],["09801605542096",{"2":{"191":1}}],["098016055420953",{"2":{"191":3}}],["09297443860091348",{"2":{"191":4}}],["09",{"2":{"58":1}}],["08506974233813636",{"2":{"193":2}}],["08",{"2":{"58":1}}],["062749678615475",{"2":{"193":1}}],["06274967861547665",{"2":{"193":2}}],["06592462566760626",{"2":{"191":1}}],["0650624499034016",{"2":{"191":4}}],["06",{"2":{"58":1}}],["02017324484778",{"2":{"193":1}}],["020173244847778715",{"2":{"193":2}}],["027886421973952302",{"2":{"191":4}}],["02",{"2":{"58":3}}],["04500741774392",{"2":{"193":1}}],["045007417743918",{"2":{"193":2}}],["049999166670833324",{"2":{"191":1}}],["0438052480035",{"2":{"191":1}}],["043805248003498",{"2":{"191":3}}],["04",{"2":{"58":6}}],["07518688541961",{"2":{"193":1}}],["075186885419612",{"2":{"193":2}}],["071",{"2":{"175":2,"176":2}}],["07",{"2":{"58":6,"175":6,"176":6}}],["009176636029576",{"2":{"193":1}}],["0091766360295773",{"2":{"193":2}}],["003135308800957",{"2":{"193":1}}],["0031353088009582475",{"2":{"193":2}}],["0035114210915891397",{"2":{"191":4}}],["006784125578492062",{"2":{"193":2}}],["0020133807972559925",{"2":{"193":2}}],["00839489109211",{"2":{"193":3}}],["008696",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["005465967083412071",{"2":{"191":4}}],["00111595449914",{"2":{"191":1}}],["001115954499138",{"2":{"191":3}}],["0010075412835199304",{"2":{"191":4}}],["001",{"2":{"180":1}}],["00085222666982",{"2":{"193":3}}],["000577332369005",{"2":{"193":1}}],["0005773323690041465",{"2":{"193":2}}],["000510363870095e6",{"2":{"192":2}}],["00025191811248184703",{"2":{"193":2}}],["000215611503127e6",{"2":{"192":2}}],["0007260527263e6",{"2":{"192":2}}],["000342160541625e6",{"2":{"192":2}}],["000124843834609e6",{"2":{"192":2}}],["000063948817746e6",{"2":{"192":2}}],["000026987852369e6",{"2":{"192":2}}],["000008144045314",{"2":{"193":1}}],["000007998400139e6",{"2":{"192":2}}],["000000999950001e6",{"2":{"192":2}}],["00001e6",{"2":{"192":1}}],["0004397316773170068",{"2":{"191":4}}],["000",{"2":{"180":1,"196":1}}],["00",{"2":{"58":2}}],["053798628882221644",{"2":{"193":2}}],["05877989361332",{"2":{"191":1}}],["058779893613323",{"2":{"191":3}}],["05416726609360478",{"2":{"191":4}}],["05",{"2":{"58":1}}],["052704767595",{"2":{"15":1}}],["037564867762832",{"2":{"193":1}}],["03756486776283019",{"2":{"193":2}}],["031245035570328428",{"2":{"193":2}}],["033518309870985",{"2":{"193":3}}],["03503632062070827",{"2":{"191":4}}],["03",{"2":{"58":4}}],["01458815628695",{"2":{"193":3}}],["016044338630866517",{"2":{"193":2}}],["01592650896568995",{"2":{"191":1}}],["01597247419241532",{"2":{"191":4}}],["01908693278165",{"2":{"191":1}}],["019086932781654",{"2":{"191":3}}],["01098781325325",{"2":{"191":1}}],["010987813253244",{"2":{"191":3}}],["011814947665167774",{"2":{"191":4}}],["01362848005",{"2":{"15":1}}],["01",{"2":{"14":1,"58":1,"175":1,"176":1,"191":1,"192":1,"193":1}}],["0^",{"2":{"13":2,"14":2}}],["0+2",{"2":{"13":2,"14":2}}],["0",{"2":{"3":35,"4":12,"6":190,"11":1,"13":5,"14":8,"15":32,"52":20,"53":3,"55":9,"56":4,"58":155,"59":2,"62":6,"63":6,"64":49,"65":13,"66":5,"68":22,"69":49,"70":42,"72":2,"73":21,"78":1,"81":46,"82":2,"84":20,"85":2,"87":13,"88":18,"90":16,"93":6,"94":6,"103":6,"104":12,"105":9,"107":15,"116":37,"121":13,"122":9,"124":12,"125":11,"134":16,"145":21,"146":7,"158":1,"162":24,"168":64,"169":4,"175":16,"176":13,"177":2,"180":11,"182":7,"184":4,"189":2,"191":129,"192":2,"193":46,"198":13}}],[">=",{"2":{"59":6,"105":4,"122":1,"184":1}}],[">geometryops",{"2":{"6":2}}],[">",{"2":{"1":1,"6":6,"11":2,"13":1,"15":2,"50":1,"53":1,"59":1,"64":17,"66":3,"69":5,"70":1,"71":1,"73":2,"81":1,"82":3,"84":1,"88":1,"105":8,"116":10,"122":2,"145":4,"146":12,"156":6,"165":1,"169":3,"177":3,"180":1,"182":12,"184":3,"185":1,"189":1,"199":1}}],["914930257661865",{"2":{"193":1}}],["96875496442967",{"2":{"193":1}}],["961329",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["983955661369134",{"2":{"193":1}}],["9833",{"2":{"15":1}}],["9877550012664",{"2":{"191":1}}],["9840085315131",{"2":{"191":1}}],["98271048511609",{"2":{"191":1}}],["98661575256801",{"2":{"191":1}}],["99321587442151",{"2":{"193":1}}],["99375130197483",{"2":{"191":1}}],["997986619202745",{"2":{"193":1}}],["997750168744936",{"2":{"191":1}}],["997247091122496",{"2":{"191":1}}],["99600053330489",{"2":{"191":1}}],["991002699676024",{"2":{"191":1}}],["990022362600165",{"2":{"191":1}}],["99292997455441",{"2":{"191":1}}],["99533829767195",{"2":{"191":1}}],["99865616402829",{"2":{"191":1}}],["999999967681458e6",{"2":{"192":2}}],["999997707902938e6",{"2":{"192":2}}],["999987539891298e6",{"2":{"192":2}}],["999963474314044e6",{"2":{"192":2}}],["999919535736425e6",{"2":{"192":2}}],["999974634566875",{"2":{"191":1}}],["999849768598615e6",{"2":{"192":2}}],["999748081887518",{"2":{"193":1}}],["999748243174828e6",{"2":{"192":2}}],["999750002083324",{"2":{"191":1}}],["999609061508909e6",{"2":{"192":2}}],["999426363321033e6",{"2":{"192":2}}],["999194331880103e6",{"2":{"192":2}}],["99900003333289",{"2":{"191":1}}],["999565375483215",{"2":{"191":1}}],["97976366505997",{"2":{"191":1}}],["9783069507679",{"2":{"191":1}}],["97",{"2":{"58":1}}],["946201371117777",{"2":{"193":1}}],["94",{"2":{"58":1}}],["92",{"2":{"58":1}}],["9im",{"0":{"39":1},"1":{"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1},"2":{"116":2,"197":1}}],["95770326033",{"2":{"15":1}}],["95",{"2":{"13":1,"14":1,"196":1}}],["900",{"2":{"176":1}}],["90063612163",{"2":{"11":2}}],["90`",{"2":{"158":1}}],["90",{"2":{"52":9,"58":1}}],["909318372607",{"2":{"11":3}}],["9",{"2":{"1":1,"6":1,"116":2,"145":12,"175":1,"185":1}}],["897070",{"2":{"196":1}}],["873633668827033",{"2":{"193":1}}],["8135804051007",{"2":{"191":1}}],["813580405100698",{"2":{"191":3}}],["88",{"2":{"58":1}}],["86641841658641",{"2":{"191":1}}],["866418416586406",{"2":{"191":3}}],["86",{"2":{"58":1}}],["868447876892",{"2":{"15":2}}],["84",{"2":{"58":1}}],["821068835162155",{"2":{"193":1}}],["82",{"2":{"58":1}}],["800",{"2":{"58":1}}],["80000",{"2":{"15":5}}],["80",{"2":{"58":1}}],["80869813739",{"2":{"15":2}}],["856614689791036e",{"2":{"15":2}}],["83572303404496",{"2":{"6":2,"72":1,"73":1}}],["8",{"2":{"1":3,"6":9,"13":1,"14":1,"70":2,"81":4,"116":1,"146":3,"158":2,"175":1,"185":3,"193":2}}],["karnataka",{"2":{"199":1}}],["kbn",{"2":{"11":2}}],["kinds",{"2":{"23":1}}],["kind",{"2":{"9":1,"146":1,"197":1}}],["k",{"2":{"6":1,"14":6,"59":1,"64":5,"116":5,"191":5,"193":5}}],["kernel",{"2":{"177":4}}],["keepat",{"2":{"81":1,"169":2}}],["keep",{"2":{"64":3,"146":1,"169":14,"175":1,"198":1}}],["keeping",{"2":{"6":1,"153":1,"171":1}}],["keys",{"2":{"146":4,"153":1}}],["key",{"2":{"6":1,"146":4,"153":2,"188":5}}],["keyword",{"0":{"155":1},"2":{"6":8,"23":1,"27":3,"70":1,"72":1,"81":1,"153":1,"155":7,"170":2,"176":2,"188":4,"192":1,"193":1}}],["keywords",{"2":{"1":2,"4":1,"6":10,"27":1,"116":2,"146":1,"153":1,"155":1,"170":1,"171":2,"172":3,"180":8,"181":1,"182":1,"183":1,"184":1,"186":2}}],["known",{"2":{"66":2}}],["know",{"2":{"6":3,"53":2,"64":1,"66":1,"70":1,"72":1,"73":2,"81":1,"82":1,"153":1,"198":1}}],["kwargs",{"2":{"32":2,"60":3,"66":1,"69":1,"70":3,"71":3,"72":4,"73":5,"81":3,"82":5,"165":2,"173":1,"176":1}}],["kwdef",{"2":{"27":1,"64":1,"158":2,"176":1,"181":1,"182":1,"183":1}}],["kw",{"2":{"1":1,"6":10,"116":10,"146":20,"150":1,"153":18,"154":3,"156":2,"171":3,"180":15,"183":1,"185":3,"186":3,"188":6}}],["json",{"2":{"195":3}}],["jstep",{"2":{"88":3}}],["jstart",{"2":{"88":7}}],["joined",{"2":{"198":4}}],["joins",{"0":{"197":1},"1":{"198":1,"199":1,"200":1},"2":{"197":3}}],["joinpath",{"2":{"180":2}}],["join",{"2":{"153":1,"154":1,"197":4,"198":5,"200":1}}],["joining",{"2":{"6":2,"180":1,"197":1}}],["jpn",{"2":{"199":2}}],["jp",{"2":{"88":2}}],["jhole",{"2":{"88":2}}],["jh",{"2":{"82":5}}],["j+1",{"2":{"64":1,"146":1,"184":1}}],["j",{"2":{"64":24,"88":8,"105":9,"116":12,"145":2,"146":8,"184":2}}],["jet",{"2":{"58":1}}],["just",{"2":{"4":1,"6":1,"32":1,"63":1,"64":2,"73":4,"79":1,"82":1,"85":2,"146":1,"151":1,"153":2,"154":1,"157":1,"176":1,"177":1,"197":1}}],["julialand",{"2":{"192":2}}],["julialines",{"2":{"55":1}}],["julialinearsegments",{"2":{"6":1}}],["juliahole",{"2":{"191":1}}],["juliaplot",{"2":{"192":2}}],["juliap1",{"2":{"191":1}}],["juliapoly",{"2":{"192":1}}],["juliapolygon3",{"2":{"192":1}}],["juliapolygon1",{"2":{"191":1}}],["juliapolygonize",{"2":{"6":1}}],["juliapolygon",{"2":{"6":1}}],["juliapoints",{"2":{"198":1}}],["juliapoint",{"2":{"191":1}}],["juliaxoffset",{"2":{"191":3,"193":1}}],["juliax",{"2":{"191":2}}],["juliaxrange",{"2":{"84":1}}],["julia$apply",{"2":{"186":1}}],["julia$threaded",{"2":{"170":1}}],["julia6",{"2":{"180":1}}],["julia```jldoctest",{"2":{"189":1}}],["julia```julia",{"2":{"146":1}}],["julia```",{"2":{"105":1,"159":1}}],["julia1",{"2":{"70":1,"72":1,"73":1,"81":1}}],["julia2",{"2":{"69":1}}],["juliabase",{"2":{"59":1,"85":4,"153":1,"188":1}}],["juliabarycentric",{"2":{"5":3,"6":3}}],["juliafig",{"2":{"191":1,"192":1}}],["juliaflexijoins",{"2":{"200":1}}],["juliaflatten",{"2":{"156":1}}],["juliaflipped",{"2":{"148":1}}],["juliaflip",{"2":{"6":1}}],["juliafalse",{"2":{"145":1}}],["juliafunction",{"2":{"32":1,"35":1,"36":1,"37":1,"38":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"53":2,"59":3,"60":2,"63":1,"64":11,"66":2,"69":1,"71":1,"73":2,"80":1,"82":1,"85":8,"116":6,"122":2,"127":1,"147":1,"154":2,"156":4,"173":1,"176":1,"177":1,"184":2}}],["juliafor",{"2":{"27":1,"153":1,"154":1}}],["juliagi",{"2":{"11":2}}],["juliago",{"2":{"11":1,"52":1,"55":1,"65":1,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"124":1,"134":1,"197":1}}],["juliageopoly1",{"2":{"193":1}}],["juliageointerface",{"2":{"189":1}}],["juliageometry",{"2":{"80":1}}],["juliageo",{"2":{"6":2,"158":1}}],["juliageodesicsegments",{"2":{"6":1}}],["juliageos",{"2":{"6":1}}],["juliaweighted",{"2":{"6":1}}],["juliawithin",{"2":{"3":1,"6":1}}],["juliaunwrap",{"2":{"156":7}}],["juliaunion",{"2":{"6":1}}],["juliaunionintersectingpolygons",{"2":{"6":1,"166":1}}],["juliausing",{"2":{"6":1,"13":1,"14":1,"58":1,"175":2,"176":1,"179":1,"180":1,"194":1,"197":1}}],["juliascatter",{"2":{"198":1}}],["juliasource",{"2":{"192":2}}],["juliasimplify",{"2":{"6":1,"180":3}}],["juliasigned",{"2":{"4":2,"6":2}}],["juliasegmentize",{"2":{"6":1,"177":1}}],["julias1",{"2":{"6":1}}],["juliavisvalingamwhyatt",{"2":{"6":1}}],["juliaring3",{"2":{"192":1}}],["juliaring1",{"2":{"191":1}}],["juliar",{"2":{"191":2,"192":1,"193":1}}],["juliarebuild",{"2":{"156":1}}],["juliareconstruct",{"2":{"156":1}}],["juliareproject",{"2":{"1":1}}],["juliaradialdistance",{"2":{"6":1}}],["juliamy",{"2":{"200":1}}],["juliamultipoly",{"2":{"180":1}}],["juliamodule",{"2":{"27":1}}],["juliamonotonechainmethod",{"2":{"6":1}}],["juliameanvalue",{"2":{"6":1}}],["juliadf",{"2":{"194":1}}],["juliadestination",{"2":{"192":1}}],["juliadouglaspeucker",{"2":{"6":1}}],["juliadifference",{"2":{"6":1}}],["juliadiffintersectingpolygons",{"2":{"6":1,"166":1}}],["juliadistance",{"2":{"4":1,"6":1}}],["juliadisjoint",{"2":{"3":1,"6":1}}],["juliaexport",{"2":{"51":1,"54":1,"57":1,"61":1,"67":1,"70":1,"72":1,"81":1,"83":1,"86":1,"89":1,"92":1,"102":1,"106":1,"117":1,"120":1,"123":1,"133":1,"143":1,"146":1,"148":1,"154":1,"158":1,"161":1,"164":1,"167":1,"172":1,"174":1,"180":1,"187":1}}],["juliaend",{"2":{"85":1}}],["juliaenforce",{"2":{"6":1}}],["juliaenum",{"2":{"6":2}}],["juliaembed",{"2":{"4":1,"6":1}}],["juliaequals",{"2":{"4":15,"6":15,"64":1}}],["juliaaccuratearithmetic",{"2":{"11":2}}],["juliaabstract",{"2":{"6":3,"165":1,"166":1,"176":1}}],["juliaangles",{"2":{"4":1,"6":1}}],["juliaarea",{"2":{"4":1,"6":1}}],["juliaapplyreduce",{"2":{"1":1,"150":1}}],["juliaapply",{"2":{"1":1,"18":1,"150":1}}],["juliacent",{"2":{"62":1}}],["juliacentroid",{"2":{"4":1,"6":3}}],["juliacut",{"2":{"6":1}}],["juliaclosedring",{"2":{"6":1,"166":1}}],["juliaconst",{"2":{"53":1,"56":1,"59":1,"64":1,"66":2,"85":1,"94":1,"108":1,"125":1,"135":1,"155":1}}],["juliaconvex",{"2":{"6":1,"80":1}}],["juliacontains",{"2":{"3":1,"6":1}}],["juliacoverage",{"2":{"6":1}}],["juliacovers",{"2":{"3":1,"6":1}}],["juliacoveredby",{"2":{"3":1,"6":1}}],["juliatraittarget",{"2":{"159":1}}],["juliatransform",{"2":{"1":1,"6":1}}],["juliatrue",{"2":{"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"125":1,"135":1,"145":1}}],["juliatuples",{"2":{"6":1}}],["juliat",{"2":{"6":1}}],["juliatouches",{"2":{"3":1,"6":1}}],["juliaoverlaps",{"2":{"3":9,"6":9}}],["juliainnerjoin",{"2":{"199":1}}],["juliaintersection",{"2":{"6":2}}],["juliaintersects",{"2":{"3":1}}],["juliaisconcave",{"2":{"6":1}}],["juliaisclockwise",{"2":{"6":1}}],["juliaimport",{"2":{"1":1,"3":9,"4":1,"6":17,"11":1,"32":1,"52":1,"55":1,"62":1,"65":1,"68":1,"77":1,"78":1,"79":1,"84":1,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"124":1,"134":1,"150":1,"162":2,"168":2,"175":1,"195":4,"196":1,"198":1,"199":1}}],["julia",{"2":{"3":1,"6":5,"9":1,"15":1,"25":1,"27":1,"28":1,"32":2,"53":4,"56":10,"59":8,"63":19,"64":60,"66":18,"69":10,"70":6,"71":1,"72":5,"73":29,"75":1,"80":5,"81":6,"82":4,"84":1,"85":4,"88":15,"91":1,"95":1,"96":5,"97":1,"98":1,"99":2,"100":1,"101":1,"104":1,"105":3,"109":1,"110":3,"111":1,"112":1,"113":1,"114":1,"115":1,"116":50,"119":1,"122":7,"126":1,"127":3,"128":1,"129":1,"130":1,"131":1,"132":1,"136":1,"137":3,"138":1,"139":1,"140":2,"141":1,"142":1,"145":9,"146":40,"147":2,"153":44,"154":18,"156":11,"159":1,"160":1,"163":5,"165":1,"169":3,"170":1,"171":1,"172":1,"176":1,"177":2,"180":1,"181":2,"182":15,"183":3,"185":1,"186":1,"187":1,"188":4,"189":1,"190":2,"192":2,"195":2,"198":1}}],["julia>",{"2":{"1":5,"6":7,"145":3,"185":7}}],["juliajulia>",{"2":{"1":2,"6":3}}],["jl`",{"2":{"80":1,"172":1,"188":1}}],["jlmethod",{"2":{"6":2}}],["jlobjecttype",{"2":{"6":2}}],["jlbinding",{"2":{"6":2}}],["jldocstring",{"2":{"6":2}}],["jldoctest",{"2":{"6":1}}],["jl",{"0":{"25":1,"27":1},"2":{"1":10,"4":1,"6":15,"10":2,"11":1,"22":2,"25":2,"27":42,"28":2,"32":1,"50":1,"53":1,"56":1,"59":1,"60":3,"63":1,"64":1,"66":1,"69":1,"71":1,"73":1,"74":1,"75":3,"80":6,"82":1,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"122":1,"132":1,"142":1,"145":2,"146":1,"147":1,"153":2,"154":1,"155":1,"156":3,"158":1,"160":2,"163":1,"166":1,"169":1,"170":2,"171":1,"172":4,"173":3,"174":1,"176":3,"177":2,"180":2,"184":1,"185":6,"186":2,"188":2,"189":1,"192":1,"197":1}}],["+5000000",{"2":{"192":1}}],["+proj=natearth2",{"2":{"192":2}}],["+=",{"2":{"56":2,"59":11,"63":6,"64":17,"66":10,"69":1,"88":1,"105":1,"116":5,"145":1,"169":2,"182":4,"189":3}}],["+",{"2":{"1":1,"6":1,"13":1,"14":1,"53":4,"56":1,"59":20,"63":10,"64":15,"66":7,"69":1,"73":10,"85":3,"88":2,"105":2,"116":6,"145":6,"146":2,"150":1,"169":3,"177":2,"182":3,"183":2,"184":2,"191":6,"192":1,"193":4}}],["yticklabelsvisible",{"2":{"192":1}}],["york",{"2":{"199":1}}],["yoffset",{"2":{"191":7,"193":2}}],["your",{"0":{"195":1},"2":{"18":1,"60":1,"146":1,"148":1,"173":1,"176":1,"194":1,"195":1,"200":2}}],["you",{"0":{"23":1},"2":{"1":1,"4":1,"5":2,"6":9,"9":1,"11":1,"17":1,"18":5,"23":1,"30":2,"53":1,"56":1,"59":8,"60":1,"63":1,"70":1,"72":1,"79":1,"80":1,"81":1,"148":1,"153":1,"154":1,"159":1,"162":1,"168":1,"173":1,"175":1,"176":1,"185":1,"192":1,"194":2,"195":3,"198":2,"199":3,"200":4}}],["y=y",{"2":{"189":1}}],["yvec",{"2":{"146":4}}],["ybounds",{"2":{"146":4}}],["yhalf",{"2":{"146":2}}],["ylast",{"2":{"85":3}}],["yfirst",{"2":{"85":5}}],["y0",{"2":{"85":5}}],["yw",{"2":{"66":4}}],["ye",{"2":{"66":4}}],["yet",{"0":{"147":1},"2":{"27":1,"59":1,"69":1,"71":1,"73":1,"82":1,"88":1,"146":1,"147":1,"165":2,"199":1}}],["y2",{"2":{"63":2,"66":18,"85":7,"105":10,"116":5,"122":4,"146":5,"177":6,"189":2}}],["y1",{"2":{"63":2,"66":22,"85":7,"105":11,"116":6,"122":5,"146":5,"177":7,"189":2}}],["yind+1",{"2":{"146":1}}],["yind",{"2":{"146":2}}],["yinterior",{"2":{"63":2}}],["yield",{"2":{"73":1,"176":1}}],["yi+yi−1",{"2":{"6":1}}],["ycentroid",{"2":{"63":13}}],["yrange",{"2":{"58":3,"84":3}}],["yautolimits",{"2":{"58":2}}],["yp2",{"2":{"53":4}}],["ys",{"2":{"6":3,"146":30}}],["ymax",{"2":{"6":1,"65":2,"66":48}}],["ymin",{"2":{"6":1,"65":2,"66":49}}],["y",{"2":{"1":2,"4":1,"6":3,"13":9,"14":10,"53":8,"56":2,"58":8,"62":1,"63":10,"64":6,"65":1,"66":8,"71":6,"73":8,"84":2,"85":7,"88":3,"105":21,"116":16,"122":7,"145":10,"148":2,"150":1,"153":1,"171":4,"172":1,"177":2,"184":1,"185":2,"186":2,"189":7,"191":8,"192":2,"193":2,"197":1}}],["75",{"2":{"84":2,"90":1,"107":1,"134":1}}],["78",{"2":{"58":1}}],["749907",{"2":{"196":1}}],["74",{"2":{"58":1}}],["72",{"2":{"58":1}}],["726711609794",{"2":{"15":1}}],["76",{"2":{"58":1}}],["76085",{"2":{"15":1}}],["768946",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["70440582002419",{"2":{"191":1}}],["704405820024185",{"2":{"191":3}}],["704377648755",{"2":{"15":2}}],["700",{"2":{"14":1}}],["700454",{"2":{"6":1,"179":1,"180":1}}],["701141",{"2":{"6":1,"179":1,"180":1}}],["70",{"2":{"6":20,"58":1,"179":20,"180":20,"191":20}}],["738281",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["7",{"2":{"1":5,"6":4,"116":1,"150":1,"153":1,"175":4,"176":4,"185":4,"193":1}}],["65533525026046",{"2":{"191":1}}],["655335250260467",{"2":{"191":3}}],["659942",{"2":{"6":1,"179":1,"180":1}}],["6378137",{"2":{"158":1}}],["6371008",{"2":{"158":1}}],["639343",{"2":{"6":1,"179":1,"180":1}}],["6area",{"2":{"63":2}}],["66",{"2":{"58":1}}],["668869",{"2":{"6":1,"179":1,"180":1}}],["64744840486518",{"2":{"193":3}}],["64",{"2":{"58":1,"175":2,"176":2}}],["646209",{"2":{"6":1,"179":1,"180":1}}],["629",{"2":{"192":1}}],["62",{"2":{"58":1}}],["624923",{"2":{"6":1,"179":1,"180":1}}],["61366192682",{"2":{"15":1}}],["614624",{"2":{"6":1,"179":1,"180":1}}],["605000000000004",{"2":{"175":2}}],["60",{"2":{"58":1,"175":2}}],["60000",{"2":{"15":3}}],["609817",{"2":{"6":1,"179":1,"180":1}}],["603637",{"2":{"6":2,"179":2,"180":2}}],["68",{"2":{"58":1}}],["682601",{"2":{"6":1,"179":1,"180":1}}],["683975",{"2":{"6":1,"179":1,"180":1}}],["69159119078359",{"2":{"193":3}}],["694274",{"2":{"6":1,"179":1,"180":1}}],["697021",{"2":{"6":1,"179":1,"180":1}}],["6",{"2":{"1":12,"3":4,"6":20,"70":3,"81":3,"116":1,"122":4,"150":3,"153":3,"180":1,"185":9,"193":2}}],["51695367760999",{"2":{"193":1}}],["516953677609987",{"2":{"193":2}}],["51030066635026",{"2":{"191":4}}],["5e6",{"2":{"192":2}}],["5phj2",{"2":{"192":1}}],["55715336218991",{"2":{"193":1}}],["557153362189904",{"2":{"193":2}}],["55",{"2":{"191":3}}],["55494217175954",{"2":{"191":4}}],["57",{"2":{"175":4,"176":4}}],["57725",{"2":{"15":2}}],["5x",{"2":{"153":1}}],["563198",{"2":{"73":1}}],["56",{"2":{"58":1}}],["54",{"2":{"58":1,"191":19}}],["50",{"2":{"58":1,"175":4,"176":4,"191":3}}],["500000",{"2":{"192":1}}],["50000",{"2":{"15":1}}],["500",{"2":{"14":1,"192":1}}],["5d",{"2":{"25":1,"28":1,"158":1}}],["52",{"2":{"58":1,"196":1}}],["52521",{"2":{"15":1}}],["52709",{"2":{"15":2}}],["594711",{"2":{"6":1,"179":1,"180":1}}],["590591",{"2":{"6":1,"179":1,"180":1}}],["595397",{"2":{"6":1,"179":1,"180":1}}],["535",{"2":{"175":4}}],["5355",{"2":{"175":2}}],["53333",{"2":{"15":4}}],["53",{"2":{"6":10,"175":2,"189":10}}],["58",{"2":{"58":1}}],["58059",{"2":{"15":2}}],["587158",{"2":{"6":2,"179":2,"180":2}}],["58375366067548",{"2":{"6":2,"72":1,"73":1}}],["584961",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["5",{"2":{"1":29,"3":4,"4":8,"6":82,"13":1,"58":1,"68":5,"69":8,"70":16,"81":18,"84":8,"88":8,"116":1,"122":4,"146":1,"150":2,"153":2,"175":1,"176":1,"185":27,"191":32,"192":25,"200":1}}],["4983491639274692e6",{"2":{"192":2}}],["4986507085647392e6",{"2":{"192":2}}],["497205585568957e6",{"2":{"192":2}}],["4976022389592e6",{"2":{"192":2}}],["4957639801366436e6",{"2":{"192":2}}],["4940253560034204e6",{"2":{"192":2}}],["4946113281484335e6",{"2":{"192":2}}],["491990928929295e6",{"2":{"192":2}}],["4904357734399722e6",{"2":{"192":2}}],["4926709788709967e6",{"2":{"192":2}}],["4962554647802354e6",{"2":{"192":2}}],["499984780817334e6",{"2":{"192":2}}],["4997392479570867e6",{"2":{"192":2}}],["4991939151049731e6",{"2":{"192":2}}],["4994001399837343e6",{"2":{"192":2}}],["4998500087497458e6",{"2":{"192":2}}],["49",{"2":{"146":1}}],["43541888381864",{"2":{"193":3}}],["4326",{"2":{"192":2,"193":3}}],["43787",{"2":{"15":1}}],["439295815226",{"2":{"15":1}}],["434306",{"2":{"6":1,"179":1,"180":1}}],["4896621210021754e6",{"2":{"192":2}}],["489271",{"2":{"6":4,"189":4}}],["4870405593989636e6",{"2":{"192":2}}],["4879072738504685e6",{"2":{"192":2}}],["484003",{"2":{"145":4}}],["482551",{"2":{"145":4}}],["48268",{"2":{"15":1}}],["48",{"2":{"58":1}}],["48001",{"2":{"15":1}}],["45",{"2":{"58":2,"145":12,"191":2}}],["450",{"2":{"13":1}}],["458369",{"2":{"6":2,"179":2,"180":2}}],["42004014766201",{"2":{"191":1}}],["420040147662014",{"2":{"191":3}}],["4219350464667047e",{"2":{"191":4}}],["42",{"2":{"13":1,"14":1,"58":3}}],["426283",{"2":{"6":1,"179":1,"180":1}}],["400",{"2":{"58":3}}],["40000",{"2":{"15":1}}],["40",{"2":{"14":1,"58":3}}],["406224",{"2":{"6":1,"179":1,"180":1}}],["404504",{"2":{"6":1,"179":1,"180":1}}],["41544701408748197",{"2":{"191":1}}],["41",{"2":{"58":1,"193":20}}],["41878",{"2":{"15":1}}],["414248",{"2":{"6":1,"179":1,"180":1}}],["419406",{"2":{"6":1,"179":1,"180":1}}],["4493927459900552",{"2":{"191":1}}],["44121252392",{"2":{"15":1}}],["44",{"2":{"14":1,"58":2}}],["442901",{"2":{"6":1,"179":1,"180":1}}],["446339",{"2":{"6":1,"179":1,"180":1}}],["477985",{"2":{"145":4}}],["47",{"2":{"58":3}}],["473835",{"2":{"6":1,"179":1,"180":1}}],["472117",{"2":{"6":2,"179":2,"180":2}}],["46525251631344455",{"2":{"191":1}}],["465816",{"2":{"6":1,"179":1,"180":1}}],["46",{"2":{"58":3}}],["468107",{"2":{"6":1,"179":1,"180":1}}],["464547",{"2":{"6":6,"189":6}}],["4",{"2":{"1":11,"3":4,"6":12,"9":2,"13":2,"14":1,"52":1,"66":1,"91":1,"104":1,"108":1,"116":2,"135":1,"145":1,"150":3,"153":3,"175":1,"182":1,"185":8,"192":20,"195":2,"196":1}}],["358421",{"2":{"196":1}}],["3585",{"2":{"175":1}}],["35",{"2":{"58":3}}],["354492",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["38042741557976",{"2":{"191":1}}],["380427415579764",{"2":{"191":3}}],["38",{"2":{"58":3}}],["3655999675063154",{"2":{"191":1}}],["36",{"2":{"58":2}}],["360",{"2":{"53":1}}],["36022",{"2":{"15":1}}],["327284472232776",{"2":{"193":3}}],["32610",{"2":{"192":3}}],["32",{"2":{"58":3}}],["377956",{"2":{"196":1}}],["37",{"2":{"58":5}}],["3497142366876638",{"2":{"191":1}}],["34",{"2":{"58":3}}],["31571636123306385",{"2":{"191":1}}],["31",{"2":{"58":2}}],["30151010318639",{"2":{"191":4}}],["30527612515520186",{"2":{"191":4}}],["300",{"2":{"84":1}}],["30",{"2":{"14":2,"58":3,"191":2}}],["3376428491230612",{"2":{"191":4}}],["3390",{"2":{"116":1}}],["33333333333",{"2":{"15":1}}],["333333333336",{"2":{"15":3}}],["33",{"2":{"6":20,"179":20,"180":20}}],["3d",{"2":{"4":1,"6":1,"59":2,"88":1,"156":1,"174":1}}],["3",{"2":{"1":13,"3":4,"5":1,"6":26,"14":2,"59":13,"62":6,"64":1,"70":6,"81":5,"87":1,"91":1,"104":1,"108":1,"116":2,"121":1,"135":1,"146":7,"150":3,"153":3,"158":2,"168":16,"175":4,"180":3,"182":2,"184":1,"185":11,"192":1,"193":1,"198":1}}],["39945867303846",{"2":{"193":3}}],["3995734698458635",{"2":{"191":1}}],["399918",{"2":{"6":2,"179":2,"180":2}}],["394759",{"2":{"6":1,"179":1,"180":1}}],["394c197520791d08fed66738e9aa8522e795cf90",{"2":{"6":2}}],["392466",{"2":{"6":1,"179":1,"180":1}}],["395332",{"2":{"6":1,"179":1,"180":1}}],["39",{"0":{"31":1},"2":{"0":1,"3":1,"4":5,"6":22,"7":1,"9":2,"17":2,"18":1,"19":1,"23":1,"30":1,"32":1,"53":1,"55":1,"56":1,"57":1,"58":3,"59":2,"62":6,"63":3,"64":28,"66":1,"68":1,"69":1,"71":1,"72":4,"73":1,"79":2,"82":2,"85":4,"88":7,"93":1,"103":2,"110":2,"116":19,"122":1,"124":2,"127":2,"146":3,"148":2,"153":5,"154":4,"159":2,"160":3,"166":6,"167":1,"175":6,"176":1,"178":1,"180":2,"188":6,"190":1,"191":6,"192":6,"193":4,"194":4,"195":5,"197":1,"199":1,"200":2}}],["2pi",{"2":{"191":1,"192":1,"193":1}}],["2nd",{"2":{"73":6}}],["2335447787454",{"2":{"193":1}}],["233544778745394",{"2":{"193":2}}],["23",{"2":{"58":3,"116":1}}],["23699059147",{"2":{"15":1}}],["28",{"2":{"58":2}}],["28083",{"2":{"15":2}}],["2658011835867806",{"2":{"191":1}}],["26745668457025",{"2":{"191":1}}],["267456684570245",{"2":{"191":3}}],["26",{"2":{"58":5,"116":2}}],["24989584635339165",{"2":{"191":1}}],["24279488312757858",{"2":{"191":4}}],["24",{"2":{"58":7,"116":1,"193":9}}],["274364",{"2":{"70":1,"72":1,"81":1}}],["274363",{"2":{"70":1,"72":1,"81":1}}],["27",{"2":{"58":2}}],["275543",{"2":{"6":6,"189":6}}],["2d",{"2":{"25":1,"28":1,"158":4,"174":1}}],["2^",{"2":{"14":1}}],["2158594260436434",{"2":{"191":1}}],["215118",{"2":{"6":4,"189":4}}],["21664550952386064",{"2":{"191":4}}],["21",{"2":{"58":4,"116":2,"193":40}}],["21427",{"2":{"11":5}}],["25",{"2":{"58":3,"90":1,"116":1,"134":1,"193":12}}],["258",{"2":{"11":1}}],["257223563`",{"2":{"176":1}}],["257223563",{"2":{"6":2,"158":1,"176":1}}],["295828190107045",{"2":{"193":1}}],["29582819010705",{"2":{"193":2}}],["299820032397223",{"2":{"191":1}}],["29",{"2":{"58":3,"196":1}}],["29th",{"0":{"8":1},"1":{"9":1,"10":1}}],["298",{"2":{"6":2,"158":1,"176":2}}],["20340",{"2":{"195":1}}],["20682326747054",{"2":{"193":1}}],["206823267470536",{"2":{"193":2}}],["20093817218219",{"2":{"191":1}}],["200938172182195",{"2":{"191":3}}],["2018",{"2":{"116":1}}],["2017",{"2":{"6":1,"59":1}}],["20",{"2":{"58":3,"116":2,"191":60,"193":1}}],["2024",{"0":{"7":1,"8":1},"1":{"9":1,"10":1}}],["20th",{"0":{"7":1}}],["22",{"2":{"58":3,"116":1}}],["22168",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["224758",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["2",{"2":{"1":19,"3":9,"5":1,"6":48,"13":1,"14":1,"15":3,"25":2,"28":2,"32":1,"53":3,"56":1,"58":6,"59":32,"62":2,"63":4,"64":10,"65":6,"66":7,"68":1,"69":2,"73":2,"77":1,"78":1,"79":3,"80":1,"81":1,"84":1,"85":3,"88":4,"91":2,"104":2,"105":2,"107":2,"108":3,"116":11,"135":2,"145":2,"146":23,"150":2,"153":4,"154":1,"158":2,"169":1,"177":1,"180":5,"182":7,"183":7,"184":5,"185":18,"189":11,"191":7,"192":6,"193":10,"194":1,"196":1}}],["1st",{"2":{"73":6}}],["198232937815632",{"2":{"193":1}}],["19823293781563178",{"2":{"193":2}}],["1999466709331708",{"2":{"191":1}}],["1998",{"2":{"70":1,"72":1,"81":1}}],["19",{"2":{"58":2,"116":2}}],["11591614996189725",{"2":{"191":1}}],["11966707868197",{"2":{"191":1}}],["119667078681967",{"2":{"191":3}}],["110m",{"2":{"192":2}}],["110",{"2":{"78":1,"192":1}}],["11",{"2":{"15":2,"58":2,"116":1}}],["1145",{"2":{"70":1,"72":1,"81":1}}],["114",{"2":{"7":1}}],["16589608273778408",{"2":{"191":1}}],["165644",{"2":{"145":2}}],["16692537029320365",{"2":{"191":4}}],["166644",{"2":{"145":2}}],["163434",{"2":{"145":2}}],["169356",{"2":{"145":2}}],["164434",{"2":{"145":2}}],["16111",{"2":{"15":1}}],["16",{"2":{"13":1,"14":1,"58":2,"116":2}}],["180",{"2":{"53":1,"145":1,"158":2}}],["18593721105",{"2":{"15":1}}],["18",{"2":{"13":1,"14":1,"58":3,"116":2}}],["13309630561615",{"2":{"193":3}}],["13401805979",{"2":{"15":2}}],["13",{"2":{"6":3,"58":1,"70":1,"81":2,"116":1}}],["10n",{"2":{"192":1}}],["10832215707812454",{"2":{"191":4}}],["10^9",{"2":{"13":1}}],["1000000",{"2":{"192":1}}],["1000",{"2":{"13":2,"175":2,"192":1,"198":2}}],["100",{"2":{"6":2,"14":3,"77":1,"79":1,"146":2,"196":1}}],["10",{"2":{"6":12,"11":1,"55":1,"58":5,"68":4,"69":10,"70":2,"72":1,"81":2,"87":2,"116":3,"121":2,"176":1,"180":4,"191":1}}],["14182952335953",{"2":{"193":1}}],["14182952335952814",{"2":{"193":2}}],["14404531208901e",{"2":{"193":2}}],["1499775010124783",{"2":{"191":1}}],["1464721641710074",{"2":{"191":4}}],["14",{"2":{"3":1,"6":5,"58":2,"72":2,"73":2,"116":1,"118":1,"119":1,"175":2,"176":2}}],["15488729606723",{"2":{"193":3}}],["15",{"2":{"3":1,"6":4,"58":1,"68":1,"69":1,"72":1,"73":1,"116":1,"118":1,"119":1}}],["17893116483784577",{"2":{"193":2}}],["17289902010158",{"2":{"191":1}}],["172899020101585",{"2":{"191":3}}],["170356",{"2":{"145":2}}],["17",{"2":{"3":1,"6":3,"58":3,"72":1,"73":1,"116":2,"118":1,"119":1}}],["125",{"2":{"6":2,"72":1,"73":1}}],["127",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1,"192":1}}],["123",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["12636633117296836",{"2":{"193":2}}],["126",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["12",{"2":{"3":1,"6":3,"58":2,"72":1,"73":1,"116":1,"118":1,"119":1,"199":1}}],["124",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["1",{"2":{"1":8,"3":38,"6":59,"13":1,"14":4,"15":1,"52":4,"53":15,"55":7,"57":2,"58":11,"59":16,"62":4,"63":7,"64":72,"65":9,"66":15,"68":1,"69":10,"71":3,"73":9,"79":6,"81":4,"82":11,"84":7,"85":6,"88":16,"90":2,"91":6,"93":2,"94":2,"103":2,"104":8,"105":12,"107":2,"108":5,"116":38,"122":6,"124":4,"125":5,"127":1,"134":2,"135":6,"145":16,"146":27,"150":2,"153":6,"154":3,"156":1,"162":12,"163":2,"169":9,"176":1,"177":4,"180":8,"182":15,"183":3,"184":15,"185":6,"189":9,"191":8,"192":44,"193":12,"194":1,"198":8,"199":3}}],["nselected",{"2":{"184":3}}],["nmax",{"2":{"184":2}}],["nice",{"2":{"182":1}}],["n+1",{"2":{"162":1}}],["nfeature",{"2":{"153":1,"154":1}}],["nkeys",{"2":{"146":8}}],["nc",{"2":{"116":13}}],["ncoord",{"2":{"88":2}}],["nl",{"2":{"116":11}}],["nhole",{"2":{"64":2,"70":2,"72":2,"81":2,"82":1,"88":2}}],["nbpts",{"2":{"64":2}}],["ngeom",{"2":{"63":1,"153":2,"154":1,"189":1}}],["nt",{"2":{"188":2}}],["ntasks",{"2":{"153":3,"154":3}}],["nthreads",{"2":{"153":2,"154":2}}],["nthe",{"2":{"60":1,"173":1,"176":1}}],["ntuple",{"2":{"59":3,"177":1}}],["n2",{"2":{"59":8,"88":10}}],["n1",{"2":{"59":8,"88":9}}],["np2",{"2":{"105":4}}],["npolygon",{"2":{"71":1,"88":3,"169":2}}],["npoints",{"2":{"53":6,"64":5,"116":3,"176":6,"182":7}}],["npoint",{"2":{"6":1,"53":2,"55":1,"56":1,"66":2,"79":2,"85":1,"88":6,"105":6,"116":6,"127":1,"145":2,"163":1,"176":3,"177":1,"180":14,"184":1,"189":13}}],["npts",{"2":{"64":6,"182":3}}],["np",{"2":{"56":2,"85":5}}],["null",{"2":{"32":1,"176":1}}],["numeric",{"2":{"11":1}}],["numbers",{"2":{"6":1,"7":1,"57":2,"59":1,"176":1}}],["number=6",{"2":{"6":1,"179":1,"180":1}}],["number",{"2":{"6":11,"59":1,"64":2,"69":1,"75":1,"79":1,"84":1,"88":2,"116":2,"174":1,"175":1,"177":1,"180":2,"181":4,"182":7,"183":4,"184":12}}],["n",{"2":{"6":1,"9":1,"57":2,"59":36,"60":2,"64":51,"69":10,"81":4,"82":4,"116":11,"127":2,"145":6,"146":5,"162":1,"169":25,"173":2,"176":2,"177":3,"180":2,"184":7,"189":32}}],["naive",{"2":{"74":1}}],["napts",{"2":{"64":3}}],["navigate",{"0":{"26":1}}],["natearth2",{"2":{"192":1}}],["natural",{"2":{"180":1,"192":2,"197":1}}],["naturalearth",{"2":{"11":2,"78":2,"180":3,"192":1}}],["nature",{"2":{"146":1}}],["native",{"2":{"6":1,"147":1,"188":4,"195":1}}],["nan",{"2":{"9":1}}],["named",{"2":{"153":1}}],["namedtuple",{"2":{"22":2,"153":2,"188":2}}],["name",{"2":{"6":1,"27":2,"180":1,"188":1,"194":1,"195":2,"199":1}}],["namespaced",{"2":{"153":1}}],["names",{"2":{"6":1,"27":3,"153":3,"154":3,"188":1}}],["nodestatus",{"2":{"146":6}}],["nodes",{"2":{"64":1,"146":4}}],["node",{"2":{"64":26,"146":17}}],["north",{"2":{"66":12,"158":1}}],["nor",{"2":{"60":1,"173":1,"176":1}}],["normalized",{"2":{"59":1}}],["normalize",{"2":{"59":1}}],["norm",{"2":{"6":1,"59":22}}],["now",{"2":{"6":1,"13":1,"25":1,"28":1,"55":1,"58":2,"59":4,"60":1,"64":1,"69":1,"75":1,"82":1,"85":1,"145":1,"146":2,"168":1,"174":1,"175":3,"176":1,"180":1,"191":5,"192":6,"193":2,"194":1,"195":3,"198":2}}],["no",{"2":{"6":6,"53":1,"59":2,"64":4,"70":1,"71":1,"72":1,"73":14,"81":1,"88":2,"94":3,"108":3,"116":2,"125":2,"127":1,"129":1,"130":2,"135":2,"137":1,"138":3,"139":3,"140":1,"146":2,"147":1,"148":1,"153":3,"174":1,"176":2,"177":1,"180":1,"188":1,"195":1}}],["nonzero",{"2":{"177":2}}],["none",{"2":{"6":4,"64":1,"69":1,"70":1,"72":1,"81":1,"82":1,"105":4,"107":1}}],["nondimensional",{"2":{"6":1,"176":1}}],["nonintersecting",{"2":{"6":1,"23":1,"166":1,"169":1}}],["non",{"2":{"3":2,"6":2,"22":1,"57":2,"64":15,"70":2,"71":1,"72":1,"73":4,"81":1,"82":2,"84":1,"122":2,"129":1,"151":1,"160":1}}],["note",{"2":{"4":4,"6":11,"19":1,"30":1,"53":1,"56":2,"59":1,"62":2,"63":2,"64":3,"66":1,"69":2,"71":3,"73":5,"80":1,"82":3,"85":1,"88":5,"116":1,"121":1,"122":1,"158":1,"160":1,"172":1,"177":1,"181":1,"182":2,"183":1,"192":2,"193":1}}],["not",{"0":{"147":1},"2":{"1":2,"3":8,"4":1,"6":16,"18":1,"19":1,"22":1,"24":1,"27":1,"53":4,"56":1,"59":4,"60":1,"62":1,"64":18,"69":1,"72":1,"73":7,"79":1,"82":3,"87":2,"88":4,"90":2,"91":1,"93":2,"94":2,"103":1,"104":2,"108":3,"110":5,"111":3,"112":2,"113":2,"116":5,"121":1,"122":2,"125":1,"134":2,"135":2,"137":1,"145":4,"146":2,"147":1,"150":1,"151":1,"152":1,"153":7,"154":4,"156":3,"158":2,"159":1,"160":1,"162":2,"165":2,"168":3,"171":1,"172":1,"173":1,"174":1,"176":2,"177":1,"187":1,"188":2,"192":1,"193":1,"197":1}}],["nothing`",{"2":{"71":2,"73":2,"82":2}}],["nothing",{"2":{"1":34,"4":1,"6":41,"15":3,"64":4,"69":1,"71":2,"72":1,"73":2,"82":2,"88":1,"116":1,"145":9,"146":3,"150":1,"153":3,"154":2,"156":3,"162":24,"165":1,"168":60,"173":1,"177":1,"180":2,"181":6,"182":6,"183":6,"184":1,"185":32,"189":7,"191":252,"192":16,"193":20}}],["ne",{"2":{"192":2}}],["net",{"2":{"165":2}}],["ness",{"2":{"156":1}}],["nesting",{"2":{"151":2}}],["nestedloopfast",{"2":{"200":1}}],["nested",{"2":{"1":2,"4":1,"6":3,"18":1,"53":1,"150":2,"151":2,"153":2,"154":2,"180":1,"186":1}}],["never",{"2":{"151":1,"181":1}}],["neumann",{"2":{"146":1}}],["neither",{"2":{"82":1}}],["neighborhood",{"2":{"146":2}}],["neighbor",{"2":{"64":27}}],["neighboring",{"2":{"6":6,"64":1,"180":1,"181":1,"182":1,"183":2}}],["nearly",{"2":{"195":1}}],["nearest",{"2":{"64":1,"73":2}}],["neatly",{"2":{"17":1}}],["nedge",{"2":{"64":2,"189":13}}],["nextnode",{"2":{"146":27}}],["nextnodes",{"2":{"146":6}}],["next",{"2":{"63":1,"64":81,"66":3,"69":4,"116":14,"146":3,"169":13,"182":5}}],["necessarily",{"2":{"6":1,"145":1,"171":1}}],["necessary",{"2":{"6":1,"151":1,"180":1}}],["newfeature",{"2":{"156":2}}],["newnodes",{"2":{"146":2}}],["new",{"2":{"6":1,"60":1,"64":58,"66":9,"70":3,"71":1,"82":16,"116":2,"146":4,"152":1,"153":21,"154":1,"165":2,"166":1,"167":1,"169":19,"177":10,"181":1,"182":2,"183":1,"193":1,"194":1,"199":1}}],["negative",{"2":{"4":3,"6":3,"55":2,"56":1,"57":2,"84":2,"85":3}}],["needs",{"2":{"63":1}}],["needing",{"2":{"4":1,"6":1,"17":1,"170":1}}],["need",{"2":{"1":1,"3":1,"4":2,"5":1,"6":5,"32":1,"59":2,"62":1,"64":2,"71":1,"79":1,"88":4,"103":1,"104":1,"116":1,"146":2,"148":1,"153":3,"154":1,"170":1,"184":1,"185":1,"192":1,"193":2,"200":2}}],["needed",{"2":{"1":2,"6":4,"53":1,"59":1,"64":4,"66":1,"70":1,"72":1,"81":1,"85":2,"116":5,"146":1,"153":1,"154":1,"165":1,"172":3,"193":1}}],["bx",{"2":{"145":2}}],["b2y",{"2":{"73":4}}],["b2x",{"2":{"73":4}}],["b2",{"2":{"73":47,"85":3,"122":6}}],["b``",{"2":{"71":1}}],["b`",{"2":{"71":3,"73":4,"82":4}}],["bigger",{"2":{"64":1}}],["bit",{"2":{"25":1,"28":1,"184":8,"191":2}}],["b1y",{"2":{"73":7}}],["b1x",{"2":{"73":7}}],["b1",{"2":{"64":8,"73":63,"122":6}}],["breaks",{"2":{"169":1}}],["break",{"2":{"64":3,"66":1,"71":2,"88":4,"116":11,"122":1,"146":6,"169":2}}],["brevity",{"2":{"59":1}}],["broadcasting",{"2":{"6":1,"59":1}}],["broken",{"2":{"3":1,"6":1,"105":1}}],["building",{"2":{"191":1}}],["build",{"2":{"64":13,"69":1,"70":1,"72":1,"81":1,"175":2,"183":1,"184":1}}],["built",{"2":{"17":1,"20":1}}],["buffers",{"2":{"146":1}}],["buffered",{"2":{"60":2}}],["buffering",{"2":{"59":1,"60":1}}],["buffer",{"0":{"60":1},"2":{"27":2,"60":5,"63":2,"64":1,"147":1}}],["but",{"2":{"1":2,"3":5,"4":3,"6":12,"18":1,"22":1,"25":1,"28":1,"32":1,"53":1,"55":1,"56":1,"66":1,"73":2,"79":2,"80":2,"82":2,"88":4,"93":2,"116":1,"121":1,"122":5,"124":1,"125":1,"128":2,"129":1,"134":1,"145":1,"146":1,"147":1,"150":2,"151":1,"153":10,"154":3,"156":5,"158":5,"159":1,"171":1,"172":1,"177":2,"180":1,"188":2,"192":2,"193":2,"195":1,"197":1,"198":1,"199":2}}],["black",{"2":{"68":1,"192":1}}],["blue",{"2":{"14":1,"68":1,"87":2,"90":2,"107":2,"121":2,"134":2,"198":2}}],["bloat",{"2":{"193":1}}],["block",{"2":{"6":2,"191":1}}],["blob",{"2":{"6":2,"180":1}}],["balancing",{"2":{"153":1,"154":1}}],["barrier",{"2":{"153":1}}],["barycentric",{"0":{"5":1,"57":1,"59":1},"1":{"58":1,"59":1},"2":{"0":6,"5":10,"6":17,"9":1,"27":1,"57":9,"58":4,"59":52}}],["basic",{"2":{"146":1}}],["base",{"2":{"27":4,"32":1,"59":15,"60":1,"64":2,"146":6,"153":3,"154":3,"158":2,"159":1,"173":1,"176":2,"188":3}}],["based",{"2":{"4":2,"6":2,"19":1,"53":2,"56":2,"58":2,"63":1,"66":1,"85":2,"88":1,"94":1,"108":1,"116":2,"122":1,"125":1,"135":1,"159":1,"195":1,"197":1,"198":1}}],["badge",{"2":{"6":2}}],["backs",{"2":{"69":4}}],["backwards",{"2":{"64":1,"71":1,"73":1,"82":1}}],["backing",{"2":{"64":1}}],["backend",{"2":{"60":2,"188":1}}],["back",{"2":{"6":1,"18":1,"22":1,"23":1,"69":4,"188":1}}],["b",{"2":{"3":2,"4":7,"6":13,"35":2,"36":2,"37":2,"38":2,"40":2,"41":2,"42":2,"43":2,"44":2,"45":2,"46":2,"47":2,"48":2,"49":2,"64":206,"66":9,"70":26,"71":18,"72":26,"73":77,"74":3,"81":27,"82":39,"88":29,"116":2,"122":22,"194":1}}],["box",{"2":{"65":2,"66":3,"198":1}}],["bounce",{"2":{"64":8,"70":1,"71":1,"72":1,"73":1,"81":1,"82":1}}],["bouncings",{"2":{"64":1}}],["bouncing",{"2":{"64":13,"71":3,"73":4,"82":4}}],["bound",{"2":{"74":1}}],["bounding",{"2":{"64":1,"65":2,"66":3}}],["boundscheck",{"2":{"59":14}}],["bounds",{"2":{"6":1,"146":4}}],["boundaries",{"2":{"3":2,"6":2,"103":2,"107":1,"108":1,"116":2,"118":1,"119":1,"146":1}}],["boundary",{"2":{"3":7,"6":7,"84":1,"90":1,"91":1,"93":1,"94":3,"97":4,"104":2,"105":9,"108":2,"110":1,"111":6,"112":3,"116":18,"124":2,"125":4,"127":3,"128":5,"129":3,"130":3,"134":1,"135":3}}],["bold",{"2":{"60":1,"173":1,"176":1}}],["both",{"2":{"3":5,"6":6,"64":2,"73":4,"79":2,"81":1,"82":1,"84":1,"88":3,"91":1,"105":4,"108":1,"116":2,"122":1,"129":1,"135":1,"175":1,"177":1}}],["booltype",{"2":{"27":1,"153":2,"154":1,"158":1,"160":5,"177":1}}],["booleans",{"2":{"64":1,"116":2}}],["boolean",{"0":{"39":1},"1":{"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1},"2":{"24":2,"64":1,"71":1,"73":1,"82":1,"156":1,"160":2,"197":1}}],["boolsastypes",{"0":{"24":1,"160":1},"2":{"27":1,"32":1,"158":1,"160":10,"177":3}}],["bools",{"2":{"10":1}}],["bool",{"2":{"3":17,"4":14,"6":40,"32":1,"64":3,"88":17,"91":1,"94":1,"104":2,"105":13,"108":1,"116":2,"119":1,"122":10,"125":2,"135":1,"145":7,"146":6,"160":2,"177":3,"189":5}}],["bypred",{"2":{"200":1}}],["by",{"0":{"98":1,"99":1,"139":1},"2":{"1":3,"3":2,"4":8,"6":29,"7":1,"17":1,"18":2,"19":1,"22":1,"24":1,"25":1,"26":1,"28":1,"52":1,"53":6,"55":1,"56":1,"59":4,"60":1,"62":5,"63":4,"64":14,"65":1,"66":6,"68":1,"69":6,"70":1,"72":1,"73":5,"80":2,"81":4,"82":3,"85":5,"88":8,"91":1,"93":1,"94":1,"98":2,"99":2,"100":1,"101":2,"103":1,"115":2,"116":10,"145":2,"146":4,"153":2,"156":7,"158":7,"166":2,"167":1,"169":3,"171":1,"172":2,"173":1,"174":1,"176":3,"177":1,"178":1,"180":1,"181":1,"182":3,"183":1,"185":1,"191":1,"192":1,"193":1,"195":1,"197":5,"198":1,"199":2,"200":1}}],["berlin",{"2":{"199":1}}],["bearing",{"2":{"145":4}}],["beauty",{"2":{"9":1}}],["better",{"2":{"105":1,"153":1,"154":1,"180":1}}],["between",{"2":{"4":4,"6":18,"23":1,"53":2,"59":13,"64":1,"66":18,"70":1,"71":4,"72":1,"73":11,"81":2,"82":4,"85":8,"88":1,"116":4,"122":4,"146":1,"158":2,"176":3,"177":1,"181":2,"182":2,"183":1,"192":1,"197":2,"198":1}}],["been",{"2":{"71":1,"146":1,"148":2,"154":1,"160":1}}],["because",{"2":{"64":1,"80":1,"148":1,"154":1,"187":1}}],["becomes",{"2":{"158":1}}],["become",{"2":{"22":1}}],["being",{"2":{"53":1,"73":1,"116":1,"122":1,"167":1}}],["behind",{"2":{"25":1,"26":1,"28":1,"58":1,"148":1,"154":1}}],["behaviours",{"2":{"32":1}}],["behaviour",{"2":{"6":1,"18":1,"23":1,"180":1}}],["best",{"2":{"19":1,"153":2,"180":1}}],["benchmarking",{"2":{"176":1,"180":1}}],["benchmarkgroup",{"2":{"176":2,"180":3}}],["benchmark",{"0":{"176":1,"180":1},"2":{"176":1,"180":1}}],["benchmarktools",{"2":{"13":1,"176":1,"180":1}}],["benchmarks",{"2":{"9":2}}],["beginning",{"2":{"66":1,"191":1}}],["begin+1",{"2":{"59":5}}],["begin",{"2":{"9":1,"59":7,"153":1,"154":1,"181":1,"195":1}}],["beware",{"2":{"6":1,"18":1,"177":1}}],["before",{"2":{"6":4,"33":1,"59":1,"70":1,"72":1,"73":1,"81":1,"180":1,"192":1}}],["below",{"2":{"6":2,"17":1,"60":1,"165":1,"182":1,"183":1,"184":1,"195":1}}],["be",{"2":{"1":7,"3":3,"4":11,"5":4,"6":59,"7":1,"9":1,"13":2,"20":3,"23":2,"24":1,"25":3,"26":1,"28":3,"32":1,"53":8,"56":7,"57":2,"58":1,"59":10,"60":2,"62":1,"63":3,"64":14,"65":1,"66":2,"69":1,"70":7,"71":4,"72":7,"73":12,"80":6,"81":6,"82":5,"84":2,"85":4,"88":15,"94":6,"103":2,"104":1,"108":6,"116":21,"122":2,"125":6,"135":6,"137":1,"138":1,"139":1,"140":1,"145":2,"146":1,"150":4,"151":2,"152":2,"153":9,"154":1,"155":1,"156":6,"158":4,"160":1,"162":1,"163":1,"164":1,"165":3,"166":4,"167":2,"169":2,"170":1,"172":3,"173":1,"174":1,"176":8,"177":3,"180":10,"182":1,"184":3,"185":1,"188":2,"191":2,"193":1,"197":4}}],["human",{"2":{"195":1}}],["hull`",{"2":{"80":2}}],["hulls",{"2":{"6":1,"75":1,"80":1}}],["hull",{"0":{"50":1,"75":1,"77":1,"78":1},"1":{"76":1,"77":1,"78":1,"79":1,"80":1},"2":{"0":1,"6":8,"27":2,"50":1,"75":2,"77":4,"78":1,"79":10,"80":15}}],["hypot",{"2":{"177":1}}],["h2",{"2":{"116":6}}],["h1",{"2":{"116":11}}],["hm",{"2":{"58":2}}],["h",{"2":{"53":2,"64":2,"82":8}}],["href=",{"2":{"6":2}}],["https",{"2":{"6":2,"70":1,"72":1,"73":1,"80":1,"81":1,"116":2,"158":1,"182":1}}],["high",{"2":{"195":1}}],["highest",{"2":{"193":1}}],["higher",{"2":{"6":1,"80":1}}],["hit",{"2":{"64":1,"153":1,"154":1,"156":3}}],["hits",{"2":{"18":1}}],["hidedecorations",{"2":{"58":2}}],["hinter",{"2":{"27":3,"60":1,"173":1,"176":1}}],["hint",{"2":{"27":3,"60":1,"176":1}}],["hinge=2",{"2":{"72":1}}],["hinge`",{"2":{"72":1}}],["hinge",{"2":{"6":1,"64":1,"73":13,"116":15}}],["hist",{"2":{"13":1}}],["histogram",{"2":{"13":1}}],["hcat",{"2":{"6":1}}],["heavily",{"2":{"153":1}}],["heatmap",{"2":{"13":5,"14":6,"58":2,"84":2,"146":1}}],["help",{"2":{"158":1,"160":1}}],["helpers",{"0":{"64":1},"2":{"105":1,"122":1}}],["helper",{"0":{"71":1,"73":1,"82":1},"2":{"63":1,"64":1,"69":1}}],["helps",{"2":{"31":1}}],["held",{"2":{"1":1,"150":1,"153":1}}],["here",{"2":{"6":2,"9":1,"13":1,"14":1,"20":1,"59":1,"73":1,"80":2,"105":1,"146":2,"153":2,"156":4,"158":1,"162":1,"176":1,"192":2,"197":5,"198":3}}],["hours",{"2":{"199":1}}],["hood",{"2":{"195":1}}],["hook",{"2":{"6":1,"180":1}}],["home",{"2":{"192":1}}],["horizontal",{"2":{"66":1,"73":1,"146":1,"180":1}}],["hormann",{"0":{"71":1,"73":1,"82":1},"2":{"6":2,"59":2,"64":3,"69":2,"70":1,"72":1,"81":1}}],["how",{"0":{"26":1},"2":{"6":1,"26":2,"55":1,"59":1,"64":1,"73":1,"88":1,"146":2,"156":2,"171":1,"180":1,"192":1,"195":1,"197":2,"198":2,"199":1,"200":1}}],["however",{"2":{"3":1,"6":2,"53":1,"59":1,"63":1,"64":1,"73":1,"79":1,"84":1,"88":1,"90":1,"104":1,"167":1}}],["hole",{"2":{"53":1,"56":3,"58":2,"59":9,"63":4,"64":60,"66":3,"70":6,"72":2,"82":15,"85":3,"97":1,"98":1,"99":1,"116":33,"146":5,"163":2,"191":1}}],["holes=",{"2":{"64":1}}],["holes",{"2":{"4":3,"5":1,"6":4,"9":2,"53":2,"55":1,"59":2,"63":1,"64":19,"69":4,"70":2,"72":2,"81":6,"82":29,"85":3,"88":3,"113":1,"116":11,"137":1,"146":17,"163":2,"191":4}}],["holds",{"2":{"64":1,"159":2,"178":1}}],["holding",{"2":{"6":1,"146":1,"153":2}}],["hold",{"2":{"6":1,"146":1,"160":1,"180":1,"195":1}}],["halign",{"2":{"180":1}}],["half",{"2":{"65":2}}],["hail",{"2":{"163":1}}],["handling",{"0":{"173":1},"2":{"148":1}}],["handler",{"2":{"60":1,"173":1}}],["handle",{"2":{"27":1,"145":1,"151":2,"153":1,"192":1}}],["handled",{"2":{"18":1}}],["hao",{"2":{"116":1}}],["had",{"2":{"70":1,"72":1,"88":1,"160":1,"175":1}}],["happens",{"2":{"64":1}}],["happen",{"2":{"24":1,"153":1}}],["have",{"2":{"3":3,"4":9,"6":15,"19":1,"23":1,"33":1,"53":2,"56":3,"59":6,"60":1,"64":4,"73":1,"80":2,"84":1,"85":2,"88":10,"116":5,"121":1,"122":3,"124":1,"125":1,"146":1,"147":1,"148":2,"152":1,"153":1,"154":2,"156":4,"158":2,"160":1,"180":1,"182":1,"188":1,"191":1,"192":1,"197":1,"198":1,"199":3}}],["haskey",{"2":{"153":1,"188":1}}],["hash",{"2":{"146":1}}],["hasn",{"2":{"146":1}}],["hassle",{"2":{"1":1,"6":1,"185":1}}],["has",{"2":{"1":4,"52":1,"55":2,"59":2,"64":2,"71":2,"73":1,"82":1,"84":1,"85":1,"88":11,"127":1,"145":1,"150":4,"153":6,"161":1,"175":2,"184":1,"192":1}}],["xticklabelsvisible",{"2":{"192":1}}],["xticklabelrotation",{"2":{"13":2}}],["xoffset",{"2":{"191":4,"193":1}}],["x=x",{"2":{"189":1}}],["x`",{"2":{"153":1}}],["xvec",{"2":{"146":4}}],["xbounds",{"2":{"146":4}}],["xhalf",{"2":{"146":2}}],["xlast",{"2":{"85":3}}],["xfirst",{"2":{"85":5}}],["x0",{"2":{"85":5}}],["xn",{"2":{"66":4}}],["xind+1",{"2":{"146":1}}],["xind",{"2":{"146":2}}],["xinterior",{"2":{"63":2}}],["xi−xi−1",{"2":{"6":1}}],["xcentroid",{"2":{"63":13}}],["xrange",{"2":{"58":3,"84":2}}],["xautolimits",{"2":{"58":2}}],["xp2",{"2":{"53":5}}],["x26",{"2":{"53":2,"56":6,"59":1,"60":4,"64":58,"66":36,"70":4,"71":4,"73":24,"82":2,"85":3,"88":14,"100":2,"101":2,"105":48,"114":2,"115":2,"116":170,"122":22,"127":2,"131":2,"132":2,"141":2,"142":2,"145":4,"146":12,"153":2,"165":2,"169":6,"173":2,"176":2,"182":10,"183":2,"189":4,"197":4}}],["x2",{"2":{"6":3,"59":4,"63":2,"66":18,"85":8,"105":10,"116":5,"122":4,"146":5,"177":6,"189":2}}],["x1",{"2":{"6":4,"59":3,"63":2,"66":22,"85":8,"105":11,"116":6,"122":5,"146":5,"177":7,"189":2}}],["xs",{"2":{"6":3,"66":4,"146":30,"189":4}}],["xmax",{"2":{"6":1,"65":2,"66":48}}],["xmin",{"2":{"6":1,"65":2,"66":49}}],["x3c",{"2":{"5":1,"6":28,"27":1,"53":4,"56":2,"59":66,"64":17,"66":11,"69":3,"70":1,"72":1,"73":6,"81":1,"84":1,"85":13,"88":2,"105":33,"116":13,"122":10,"145":1,"146":4,"153":3,"154":2,"156":19,"158":3,"159":4,"160":4,"163":2,"166":3,"169":5,"176":2,"181":2,"182":6,"183":3,"184":9,"200":1}}],["xy`",{"2":{"172":1}}],["xy",{"2":{"1":4,"59":1,"172":3}}],["x",{"2":{"1":4,"4":1,"6":3,"7":1,"9":5,"11":6,"13":11,"14":10,"15":4,"50":2,"53":9,"56":2,"58":8,"62":1,"63":10,"64":21,"65":1,"66":8,"69":6,"71":9,"73":18,"82":9,"84":2,"85":7,"88":3,"105":21,"116":16,"122":7,"145":11,"146":2,"148":2,"150":3,"153":5,"154":4,"156":10,"160":5,"165":2,"170":2,"171":4,"172":1,"177":2,"180":2,"182":2,"184":1,"185":2,"186":2,"189":33,"191":6,"192":2,"193":2,"197":1,"199":2}}],["=>",{"2":{"153":2}}],["=float64",{"2":{"63":3,"72":1,"81":1}}],["=false",{"2":{"53":1}}],["===",{"2":{"105":8,"145":4}}],["==",{"2":{"9":1,"19":1,"32":1,"53":4,"56":2,"59":9,"60":2,"63":1,"64":34,"66":30,"71":1,"73":20,"78":1,"81":2,"82":1,"84":1,"88":16,"116":44,"122":2,"145":3,"146":18,"153":2,"163":1,"165":1,"169":1,"173":1,"176":2,"180":1,"184":3}}],["=",{"2":{"1":5,"3":17,"4":7,"5":2,"6":59,"11":1,"13":19,"14":33,"15":18,"27":4,"32":7,"35":2,"36":2,"37":2,"38":2,"50":3,"52":4,"53":56,"55":6,"56":25,"58":35,"59":110,"60":3,"62":6,"63":36,"64":324,"65":6,"66":96,"68":7,"69":29,"70":21,"71":30,"72":18,"73":143,"77":6,"78":4,"79":14,"80":4,"81":21,"82":78,"84":15,"85":52,"87":7,"88":40,"90":7,"91":3,"93":4,"94":23,"95":3,"96":7,"97":14,"98":14,"99":4,"100":2,"101":2,"103":5,"104":3,"105":57,"107":7,"108":18,"109":3,"110":11,"111":17,"112":9,"113":3,"114":2,"115":2,"116":189,"118":3,"119":3,"121":7,"122":40,"124":3,"125":22,"126":3,"127":9,"128":14,"129":10,"130":6,"131":2,"132":2,"134":7,"135":22,"136":3,"137":11,"138":14,"139":14,"140":4,"141":2,"142":2,"145":32,"146":110,"148":1,"150":3,"153":40,"154":20,"155":4,"156":39,"158":3,"159":6,"160":2,"162":2,"163":4,"165":9,"168":3,"169":30,"170":1,"173":2,"175":16,"176":21,"177":25,"178":2,"179":5,"180":60,"181":11,"182":49,"183":7,"184":43,"185":2,"186":1,"188":3,"189":42,"191":45,"192":19,"193":13,"194":3,"195":4,"196":7,"198":12,"199":6,"200":2}}],["utm",{"2":{"192":1}}],["utility",{"0":{"189":1},"2":{"59":1,"153":1,"154":1}}],["utils",{"0":{"184":1},"2":{"27":1}}],["u2",{"2":{"116":4}}],["u1",{"2":{"116":4}}],["update",{"2":{"64":6,"146":10}}],["updated",{"2":{"64":6,"156":3}}],["updates",{"2":{"59":1}}],["up",{"2":{"64":2,"73":1,"116":1,"129":1,"151":1,"168":1,"182":2,"191":2}}],["upper",{"2":{"6":1,"146":1,"198":1}}],["uv",{"2":{"59":1}}],["usage",{"2":{"199":1}}],["usable",{"2":{"157":1}}],["usa",{"0":{"78":1},"2":{"78":4,"180":15,"199":3}}],["us",{"2":{"56":1,"80":1,"192":1,"199":1}}],["usually",{"2":{"26":2,"75":1,"153":1,"156":2,"158":1,"195":1}}],["usual",{"2":{"6":1,"163":1,"166":1}}],["usecases",{"2":{"25":1,"28":1}}],["uses",{"2":{"6":3,"75":1,"80":1,"116":1,"157":1,"158":1,"172":1,"176":1,"177":1,"180":1,"195":1}}],["users",{"2":{"27":1,"148":1,"167":1}}],["user",{"2":{"6":12,"23":1,"63":1,"70":3,"72":3,"81":3,"153":1,"181":1,"182":1,"183":1,"197":1}}],["useful",{"2":{"6":10,"59":1,"146":1,"174":1,"177":1,"180":2,"188":1}}],["used",{"2":{"1":1,"5":1,"6":4,"53":1,"56":1,"57":1,"59":1,"63":2,"64":7,"66":1,"69":1,"73":1,"84":1,"85":1,"88":1,"122":1,"146":2,"150":1,"153":1,"154":1,"156":2,"158":1,"159":1,"161":1,"180":1,"182":2,"187":2,"192":1,"195":1,"197":2,"198":1}}],["use",{"2":{"1":2,"4":1,"5":1,"6":9,"11":1,"20":1,"23":1,"26":1,"59":1,"64":1,"80":2,"82":1,"105":2,"122":1,"146":1,"147":1,"150":1,"153":4,"154":3,"155":1,"158":2,"163":1,"171":1,"175":1,"177":2,"180":1,"182":2,"188":3,"191":1,"195":1,"197":2,"200":2}}],["using",{"0":{"192":1},"2":{"1":4,"4":1,"5":3,"6":11,"11":4,"13":4,"14":1,"15":1,"27":6,"32":1,"50":1,"52":1,"53":1,"55":2,"56":2,"58":4,"59":7,"60":3,"62":2,"63":1,"64":5,"65":2,"66":1,"68":2,"69":1,"71":3,"73":4,"74":1,"77":1,"78":2,"79":1,"80":2,"82":3,"84":2,"85":2,"87":2,"88":1,"90":2,"91":1,"93":2,"94":1,"101":1,"103":2,"104":1,"105":1,"107":2,"108":1,"115":1,"116":1,"118":2,"119":1,"121":2,"122":1,"124":2,"125":1,"132":1,"134":2,"135":1,"142":1,"145":1,"146":5,"147":1,"148":2,"150":1,"151":1,"153":4,"154":2,"155":1,"156":1,"160":1,"163":1,"166":1,"169":1,"170":2,"171":1,"172":1,"173":3,"175":1,"176":5,"177":1,"180":3,"182":1,"184":1,"185":4,"186":2,"188":2,"189":1,"190":4,"191":1,"193":1,"194":2,"196":1,"197":1,"198":4,"199":2}}],["until",{"2":{"146":3,"151":1,"182":1,"188":1}}],["unprocessed",{"2":{"64":1}}],["unknown",{"2":{"64":4,"66":15}}],["unknown=3",{"2":{"64":1}}],["unmatched",{"2":{"64":9,"66":26}}],["understand",{"2":{"187":1}}],["under",{"2":{"56":2,"195":1}}],["undergrad",{"2":{"9":1}}],["undef",{"2":{"53":2,"64":1,"181":1,"182":1,"184":2,"189":2}}],["unwrap",{"0":{"156":1},"2":{"27":2,"156":19}}],["unless",{"2":{"22":1,"64":1,"71":2,"73":2,"82":2,"153":1}}],["unlike",{"2":{"18":1,"187":1}}],["unstable",{"2":{"13":1,"153":1,"160":1}}],["unneeded",{"2":{"6":3,"64":1,"70":2,"72":2,"81":2}}],["unnecessary",{"2":{"6":3,"146":1,"181":1,"182":1,"183":1}}],["universal",{"2":{"192":1}}],["united",{"2":{"180":1}}],["unit",{"2":{"158":1}}],["units",{"2":{"6":2,"177":2}}],["unify",{"2":{"25":1,"28":1}}],["unique",{"2":{"6":2,"73":3,"166":2,"169":2}}],["unioning",{"2":{"82":1}}],["unionintersectingpolygons",{"2":{"0":1,"6":8,"70":1,"71":2,"72":1,"73":2,"81":1,"82":2,"166":2,"167":2,"168":1,"169":4}}],["unions",{"0":{"82":1},"2":{"18":1,"159":1}}],["union",{"0":{"36":1,"81":1},"2":{"0":1,"1":2,"3":2,"4":4,"6":18,"11":3,"23":2,"27":1,"32":1,"36":2,"53":2,"56":1,"59":1,"63":4,"64":7,"66":1,"72":2,"81":18,"82":30,"85":1,"88":8,"96":2,"97":4,"98":1,"100":2,"101":1,"110":2,"111":6,"114":2,"115":1,"122":4,"127":2,"128":4,"129":1,"131":2,"132":1,"137":2,"138":4,"139":1,"141":2,"142":1,"145":1,"146":5,"148":1,"150":2,"151":3,"153":3,"154":3,"159":4,"166":1,"167":1,"169":9,"177":5,"180":2,"181":3,"182":3,"183":3,"189":1}}],["unchanged",{"2":{"1":1,"6":1,"150":1,"153":1,"180":1}}],["gdal",{"2":{"195":1}}],["gml",{"2":{"195":1}}],["gpkg",{"2":{"195":3}}],["gadm",{"2":{"199":4}}],["ga",{"2":{"192":3,"196":2}}],["gaps",{"2":{"146":1}}],["global",{"2":{"192":1}}],["globally",{"2":{"154":1,"158":1}}],["gft",{"2":{"190":1,"192":2}}],["gc",{"2":{"165":6}}],["g",{"2":{"53":3,"56":3,"60":1,"63":3,"66":3,"85":6,"151":1,"153":2,"156":4,"158":1,"180":2,"189":2,"195":1}}],["gb",{"2":{"27":1}}],["guarantee",{"2":{"19":1,"31":1}}],["guaranteed",{"2":{"1":1,"53":1,"150":1,"154":1}}],["grows",{"2":{"158":1}}],["grouped",{"2":{"191":1}}],["groups",{"2":{"6":1,"146":1}}],["grouping",{"2":{"1":1,"150":1,"154":3}}],["grand",{"2":{"199":1}}],["grained",{"2":{"175":1}}],["grahamscanmethod",{"2":{"80":1}}],["graphics",{"2":{"6":1,"59":1}}],["great",{"2":{"191":1,"193":1,"195":1}}],["greater",{"2":{"145":1}}],["greiner",{"0":{"71":1,"73":1,"82":1},"2":{"64":3,"69":2,"70":1,"72":1,"81":1}}],["green",{"2":{"14":1,"192":1}}],["grid",{"2":{"6":1,"58":1,"66":4}}],["g2",{"2":{"3":5,"6":5,"91":4,"94":12,"95":6,"96":9,"97":6,"98":6,"99":3,"100":4,"101":2,"104":3,"105":21,"108":10,"109":6,"110":10,"111":8,"112":4,"113":2,"114":4,"115":2,"125":10,"126":6,"127":10,"128":6,"129":5,"130":4,"131":4,"132":2,"135":10,"136":6,"137":9,"138":6,"139":6,"140":3,"141":4,"142":2}}],["g1",{"2":{"3":5,"4":1,"6":6,"91":4,"94":12,"95":6,"96":9,"97":6,"98":6,"99":3,"100":2,"101":4,"104":3,"105":21,"108":9,"109":6,"110":10,"111":8,"112":4,"113":2,"114":2,"115":4,"125":10,"126":6,"127":9,"128":6,"129":5,"130":4,"131":2,"132":4,"135":10,"136":6,"137":9,"138":6,"139":6,"140":3,"141":2,"142":4}}],["generic",{"2":{"22":1,"177":1}}],["generation",{"2":{"180":2}}],["generated",{"2":{"27":1,"32":1,"50":1,"53":1,"56":1,"59":1,"60":1,"63":1,"64":1,"66":1,"69":1,"71":1,"73":1,"74":1,"80":1,"82":1,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"122":1,"132":1,"142":1,"145":1,"146":1,"147":1,"153":1,"154":1,"155":1,"156":1,"160":1,"163":1,"166":1,"169":1,"170":1,"171":1,"173":1,"177":1,"180":1,"184":1,"185":1,"186":1,"188":1,"189":1,"198":1}}],["generate",{"2":{"7":1,"13":2,"180":1,"198":2}}],["generalization",{"2":{"57":1}}],["generalized",{"2":{"6":1,"57":3,"59":1}}],["generalise",{"2":{"6":4,"180":1}}],["generally",{"2":{"6":2,"158":2,"188":3}}],["general",{"0":{"2":1,"4":1},"1":{"3":1,"4":1},"2":{"18":1,"20":1,"25":1,"28":1,"148":1,"154":1,"173":1}}],["getfeature",{"2":{"153":1,"154":1,"156":3,"189":5}}],["getcolumn",{"2":{"153":2,"154":2,"156":1}}],["getgeom",{"2":{"100":1,"101":1,"114":1,"115":1,"122":2,"131":1,"132":1,"141":1,"142":1,"153":3,"154":2,"156":3,"180":3,"189":6}}],["getring",{"2":{"64":1}}],["getindex",{"2":{"59":2}}],["gethole",{"2":{"53":1,"56":1,"63":1,"64":4,"66":1,"69":1,"70":2,"72":2,"82":6,"85":1,"88":2,"116":5,"163":1,"191":1}}],["getexterior",{"2":{"53":1,"56":1,"59":1,"63":1,"64":3,"66":1,"69":1,"70":2,"72":2,"81":3,"82":6,"85":1,"88":2,"116":5,"145":1,"146":1,"163":1,"191":1}}],["getpolygon",{"2":{"71":3,"73":2,"82":2,"88":3}}],["getpoint",{"2":{"52":1,"53":5,"55":2,"56":1,"59":1,"62":1,"63":6,"64":3,"65":2,"66":3,"68":3,"84":1,"85":6,"87":4,"88":13,"90":4,"93":1,"103":1,"105":7,"107":4,"116":28,"118":2,"121":4,"122":2,"124":2,"127":2,"134":4,"145":5,"163":3,"175":4,"177":2,"184":1,"189":3,"191":2}}],["getproperty",{"2":{"13":2,"14":1}}],["get",{"2":{"6":1,"13":1,"32":1,"55":1,"60":1,"64":9,"70":1,"71":1,"72":1,"73":2,"80":2,"81":2,"146":4,"153":3,"154":1,"173":1,"176":3,"180":1,"181":1,"183":1,"184":2,"188":5,"189":1,"191":2,"199":2}}],["geoparquet",{"2":{"195":4}}],["geopoly1",{"2":{"193":1,"194":1}}],["geopoly2",{"2":{"193":1,"194":1}}],["geoaxis",{"2":{"192":4,"196":1}}],["geographic",{"2":{"158":1,"192":1,"195":1}}],["geographiclib",{"2":{"6":1,"176":1}}],["geointeface",{"2":{"151":1}}],["geointerace",{"2":{"22":1}}],["geointerfacemakie",{"2":{"179":1,"198":1,"199":1}}],["geointerface",{"0":{"31":1},"2":{"1":20,"3":9,"4":2,"6":35,"11":1,"13":1,"14":1,"15":1,"22":3,"25":1,"27":7,"28":1,"31":1,"52":1,"53":1,"55":1,"56":1,"59":23,"62":1,"63":1,"64":1,"65":1,"66":1,"68":1,"69":1,"70":1,"72":1,"73":1,"77":1,"78":1,"79":1,"81":1,"84":1,"85":11,"87":1,"88":2,"90":1,"91":2,"93":1,"94":2,"103":1,"104":2,"105":1,"107":1,"108":3,"118":1,"119":2,"121":1,"122":2,"124":1,"125":2,"134":1,"135":2,"145":5,"146":1,"150":3,"151":3,"153":11,"156":5,"162":9,"165":1,"166":1,"168":23,"170":1,"172":2,"175":1,"176":1,"179":1,"180":2,"185":13,"186":1,"189":1,"190":1,"191":122,"192":5,"193":9,"196":1,"198":1,"199":1}}],["geo",{"2":{"146":1,"176":4,"192":2}}],["geotable",{"2":{"30":1}}],["geojson",{"2":{"11":1,"180":2,"190":1,"192":4,"195":3}}],["geodataframes",{"2":{"195":3}}],["geodesy",{"2":{"158":1}}],["geodesic`",{"2":{"176":2}}],["geodesic",{"0":{"196":1},"2":{"6":7,"27":3,"158":6,"175":6,"176":8,"177":3,"196":1}}],["geodesicsegments",{"2":{"0":1,"6":1,"174":1,"175":3,"176":6,"177":1,"196":1}}],["geod",{"2":{"6":2,"176":3}}],["geoformattypes",{"2":{"1":2,"172":2,"190":1,"192":2,"193":8}}],["geomakie",{"0":{"192":1},"2":{"190":2,"192":5,"196":2}}],["geomtype",{"2":{"153":2,"156":1}}],["geoms",{"2":{"50":3,"80":1,"116":1,"153":12,"156":9}}],["geomfromgeos",{"2":{"32":1,"176":1}}],["geom2",{"2":{"3":8,"4":1,"6":9,"85":6,"88":1,"105":6,"108":1,"119":3,"122":6,"125":1,"135":2}}],["geom1",{"2":{"3":8,"4":1,"6":9,"85":6,"88":1,"105":4,"108":1,"119":3,"122":6,"125":1,"135":2}}],["geometrical",{"2":{"197":1}}],["geometric",{"2":{"25":2,"28":2,"62":1,"158":1}}],["geometries",{"0":{"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"191":1,"192":1,"193":1},"2":{"1":6,"3":8,"4":14,"6":55,"18":3,"20":1,"22":3,"25":2,"28":2,"30":4,"52":1,"53":3,"56":4,"63":1,"66":2,"69":1,"70":5,"72":5,"73":4,"80":6,"81":5,"84":1,"85":4,"87":1,"88":7,"91":1,"93":1,"94":1,"105":2,"108":2,"116":1,"118":1,"119":1,"121":2,"122":3,"124":2,"125":2,"135":2,"137":1,"148":1,"150":3,"152":2,"153":6,"154":3,"155":1,"156":10,"170":1,"172":2,"174":3,"175":1,"176":4,"177":1,"178":1,"181":1,"182":1,"183":1,"186":1,"189":1,"190":5,"192":1,"193":2,"194":2,"195":1,"197":5,"198":1,"200":1}}],["geometry=",{"2":{"194":1}}],["geometrybasics",{"2":{"27":3,"58":2,"59":10,"80":1,"84":1,"94":1,"125":1,"135":1}}],["geometrycolumns",{"2":{"153":5,"154":2,"156":1}}],["geometrycollections",{"2":{"197":1}}],["geometrycollectiontrait",{"2":{"23":1,"32":1,"100":1,"101":1,"114":1,"115":1,"131":1,"132":1,"141":1,"142":1}}],["geometrycollection",{"2":{"6":1,"23":1,"199":1}}],["geometrycorrections",{"2":{"165":1}}],["geometrycorrection",{"2":{"0":1,"6":11,"163":2,"164":2,"165":13,"166":11,"169":4}}],["geometry",{"0":{"2":1,"72":1,"100":2,"101":2,"114":2,"115":2,"131":2,"132":2,"141":2,"142":2,"164":1,"172":1,"178":1,"190":1,"194":1},"1":{"3":1,"4":1,"165":1,"166":1,"173":1,"179":1,"180":1,"191":1,"192":1,"193":1,"194":1,"195":1},"2":{"1":10,"3":24,"4":12,"6":67,"9":1,"11":2,"18":4,"20":1,"23":3,"27":1,"30":1,"53":7,"56":4,"60":4,"63":3,"65":1,"66":4,"69":4,"78":1,"84":4,"85":6,"88":8,"90":5,"91":2,"93":4,"94":5,"95":4,"96":1,"100":3,"101":4,"103":4,"104":4,"105":3,"107":2,"108":5,"109":4,"110":2,"111":2,"114":3,"115":4,"116":2,"118":2,"122":3,"124":3,"125":4,"126":4,"127":2,"131":3,"132":4,"134":4,"135":5,"136":4,"141":3,"142":4,"144":1,"148":4,"150":3,"151":2,"153":28,"154":12,"156":10,"158":5,"162":1,"163":1,"164":2,"165":23,"166":6,"170":1,"171":1,"172":6,"174":3,"175":1,"176":5,"177":10,"180":6,"189":6,"191":1,"192":1,"193":4,"194":2,"195":2,"197":1,"198":7,"199":4,"200":2}}],["geometryopsprojext",{"2":{"172":1,"173":1,"176":1,"177":1}}],["geometryopslibgeosext",{"2":{"60":1}}],["geometryopscore",{"2":{"0":2,"1":2,"27":2,"150":2,"156":4}}],["geometryops",{"0":{"0":1,"25":1,"27":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1},"2":{"0":105,"1":4,"3":18,"4":9,"5":3,"6":106,"7":2,"11":1,"13":1,"14":1,"15":1,"17":2,"25":1,"26":4,"27":1,"28":1,"32":2,"52":1,"55":1,"58":5,"60":1,"62":1,"65":1,"68":1,"69":1,"70":1,"72":1,"73":1,"75":1,"77":1,"78":1,"79":3,"81":1,"84":1,"87":1,"88":1,"90":1,"91":2,"93":1,"94":2,"103":1,"104":2,"105":2,"107":1,"108":2,"118":1,"119":1,"121":1,"122":1,"124":1,"125":2,"134":1,"135":2,"145":3,"146":2,"150":1,"153":1,"157":2,"158":1,"162":1,"165":1,"166":4,"168":1,"173":1,"175":1,"176":2,"179":1,"180":2,"185":1,"187":1,"188":2,"189":1,"190":1,"191":3,"196":1,"197":1,"198":2,"199":2}}],["geom",{"2":{"1":7,"4":21,"6":41,"18":3,"27":12,"32":10,"35":5,"36":5,"37":5,"38":5,"40":4,"41":4,"42":4,"43":4,"44":4,"45":4,"46":4,"47":4,"48":4,"49":4,"53":25,"56":17,"63":28,"64":16,"66":6,"69":15,"70":8,"71":2,"72":12,"73":10,"81":9,"82":9,"85":28,"88":45,"94":4,"105":1,"108":4,"116":3,"122":1,"125":4,"135":4,"145":3,"146":1,"148":2,"150":4,"153":34,"154":13,"156":52,"169":11,"171":4,"177":24,"180":36,"184":3,"185":7,"186":4,"189":13,"199":6}}],["geospatial",{"0":{"193":1,"195":1},"2":{"190":5,"192":1,"193":3,"195":5}}],["geoscontext",{"2":{"176":1}}],["geosdensify",{"2":{"32":2,"176":3}}],["geos",{"0":{"188":1},"2":{"0":1,"6":6,"32":8,"33":1,"35":1,"36":1,"37":1,"38":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"60":4,"75":1,"79":4,"80":1,"158":1,"178":5,"180":2,"187":1,"188":12}}],["got",{"2":{"184":3}}],["goes",{"2":{"6":2,"145":2}}],["good",{"2":{"6":1,"59":1,"188":2,"193":1}}],["going",{"2":{"4":4,"6":5,"66":2,"79":1,"88":5,"145":1,"146":1,"190":1}}],["go",{"2":{"1":5,"3":17,"4":2,"6":40,"11":9,"13":1,"14":1,"15":6,"18":1,"27":2,"32":5,"35":1,"36":1,"37":1,"38":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":2,"52":1,"55":1,"59":1,"62":2,"65":1,"68":2,"69":2,"70":2,"72":2,"73":2,"77":3,"78":2,"79":8,"80":2,"81":2,"84":6,"87":1,"88":2,"90":2,"91":2,"93":1,"94":2,"103":2,"104":2,"105":1,"107":1,"108":2,"118":1,"119":2,"121":1,"122":2,"124":1,"125":2,"134":2,"135":2,"145":6,"146":2,"148":1,"150":2,"153":2,"156":2,"162":3,"168":3,"175":7,"176":8,"179":2,"180":49,"185":3,"188":1,"189":2,"190":1,"191":3,"193":1,"195":1,"196":3,"197":9,"198":2,"199":5,"200":1}}],["gtrait",{"2":{"85":2}}],["gt",{"2":{"1":1,"6":1,"9":2,"10":1,"11":5,"64":3,"145":3,"150":1}}],["gif",{"2":{"182":1}}],["gives",{"2":{"199":1}}],["give",{"2":{"116":1,"195":1}}],["given",{"2":{"4":7,"6":21,"18":2,"30":1,"52":1,"53":1,"56":2,"63":3,"64":8,"66":3,"69":5,"70":1,"71":2,"72":1,"73":2,"81":1,"82":2,"85":8,"88":4,"90":1,"91":1,"94":1,"103":1,"104":1,"108":1,"116":7,"118":1,"119":1,"125":1,"127":1,"135":1,"148":1,"154":1,"165":4,"166":1,"168":1,"174":2,"176":2,"177":2,"183":1}}],["github",{"2":{"6":2,"80":1,"158":1}}],["gis",{"2":{"5":1,"6":1,"25":1,"28":1,"59":1}}],["gi",{"2":{"1":13,"3":42,"4":31,"6":108,"11":8,"13":15,"14":15,"15":8,"18":2,"27":1,"32":12,"35":3,"36":3,"37":3,"38":3,"40":2,"41":2,"42":2,"43":2,"44":2,"45":2,"46":2,"47":2,"48":2,"49":2,"50":3,"52":3,"53":30,"55":5,"56":21,"58":1,"62":5,"63":38,"64":34,"65":5,"66":17,"68":6,"69":13,"70":19,"71":16,"72":25,"73":24,"77":1,"78":1,"79":3,"80":4,"81":17,"82":36,"84":8,"85":42,"87":7,"88":99,"90":7,"91":3,"93":3,"94":4,"95":6,"96":12,"97":10,"98":7,"99":4,"100":8,"101":6,"103":3,"104":3,"105":21,"107":7,"108":2,"109":3,"110":12,"111":14,"112":4,"113":2,"114":8,"115":6,"116":59,"118":5,"119":3,"121":7,"122":51,"124":5,"125":3,"126":6,"127":15,"128":10,"129":7,"130":4,"131":8,"132":6,"134":7,"135":2,"136":6,"137":12,"138":10,"139":7,"140":4,"141":8,"142":6,"145":32,"146":15,"148":4,"150":9,"153":42,"154":25,"156":54,"159":9,"162":2,"163":10,"165":9,"168":3,"169":8,"170":1,"171":5,"175":6,"176":6,"177":13,"179":2,"180":34,"184":4,"185":9,"186":5,"189":55,"190":1,"191":21,"192":2,"193":2,"196":2,"198":5,"199":2}}],["ty",{"2":{"146":3}}],["typing",{"2":{"60":1,"173":1,"176":1}}],["typically",{"2":{"57":1,"194":1}}],["typemax",{"2":{"85":1,"146":9}}],["typeof",{"2":{"19":1,"59":3,"153":2,"156":1,"159":1,"177":1,"200":1}}],["type=",{"2":{"6":2}}],["type2",{"2":{"6":2,"88":4}}],["type1",{"2":{"6":2,"88":5}}],["types",{"0":{"157":1,"187":1},"1":{"158":1,"159":1,"160":1,"188":1},"2":{"6":4,"23":1,"24":1,"27":1,"59":3,"66":1,"69":1,"116":3,"157":1,"160":1,"180":1,"187":3,"197":1}}],["type",{"2":{"4":11,"5":1,"6":40,"11":1,"22":2,"23":1,"24":2,"31":2,"53":9,"56":11,"58":1,"59":8,"63":8,"64":21,"66":8,"69":6,"70":7,"71":6,"72":8,"73":19,"81":7,"82":5,"85":28,"88":2,"153":5,"156":42,"158":2,"159":3,"160":6,"164":1,"165":5,"166":2,"171":1,"176":1,"177":1,"180":3,"186":1,"188":1,"189":3,"196":1}}],["tx",{"2":{"146":3}}],["tᵢ",{"2":{"59":1}}],["tutorial",{"2":{"190":1,"197":1}}],["tutorials",{"2":{"26":2}}],["tups",{"2":{"163":4}}],["tuplepoint",{"2":{"27":3,"189":1}}],["tuple",{"0":{"186":1},"2":{"4":1,"6":19,"27":2,"59":2,"63":3,"64":5,"66":3,"69":1,"73":31,"116":17,"145":2,"146":5,"153":2,"162":6,"168":13,"175":1,"180":2,"182":1,"184":2,"189":6,"191":99,"198":2}}],["tuples",{"2":{"0":1,"6":2,"27":1,"60":1,"63":1,"64":1,"69":1,"70":3,"71":1,"72":2,"73":1,"80":2,"81":4,"82":5,"163":2,"169":2,"180":2,"186":2,"199":2}}],["turf",{"2":{"145":1}}],["turned",{"2":{"146":1,"153":1}}],["turning",{"2":{"146":8}}],["turn",{"2":{"6":1,"146":1}}],["temporary",{"2":{"64":1}}],["term",{"2":{"56":1}}],["terms",{"2":{"6":1,"59":1}}],["teach",{"2":{"26":1}}],["technically",{"2":{"23":1,"161":1}}],["technique",{"2":{"11":1}}],["tell",{"2":{"18":1,"116":1,"160":1,"200":1}}],["test",{"2":{"64":1,"180":2,"188":1}}],["testing",{"0":{"15":1}}],["tests",{"2":{"9":2}}],["text=",{"2":{"6":2}}],["t2",{"2":{"6":5,"59":47,"95":1,"105":2,"126":1,"136":1}}],["t1",{"2":{"6":6,"59":51,"105":2}}],["t=float64",{"2":{"4":1,"6":3,"63":3}}],["two",{"2":{"3":5,"4":10,"6":23,"23":2,"53":2,"55":1,"59":1,"63":1,"64":6,"66":3,"70":2,"72":1,"73":14,"81":4,"82":3,"85":5,"87":3,"88":12,"90":2,"91":1,"93":1,"103":1,"104":1,"105":1,"107":1,"116":2,"118":2,"119":2,"121":4,"122":5,"124":3,"125":1,"134":2,"146":3,"165":2,"166":1,"168":2,"169":2,"175":1,"188":1,"191":1,"197":3,"198":3}}],["task",{"2":{"153":3,"154":3}}],["tasks",{"2":{"153":5,"154":5}}],["taskrange",{"2":{"153":5,"154":5}}],["tags",{"2":{"64":4}}],["taget",{"2":{"6":2}}],["taylor",{"2":{"6":1,"59":1}}],["table2",{"2":{"197":4}}],["table1",{"2":{"197":12}}],["tables",{"2":{"22":4,"27":1,"153":6,"154":5,"156":2}}],["table",{"0":{"194":1},"2":{"6":2,"18":1,"30":2,"153":13,"154":4,"177":1,"180":1,"194":1,"195":1,"197":2}}],["taking",{"2":{"6":3,"63":1,"70":1,"71":1,"72":1,"73":1,"81":1,"82":1,"167":1}}],["takes",{"2":{"64":3,"197":1}}],["taken",{"2":{"20":1,"58":1}}],["take",{"2":{"1":1,"6":2,"30":1,"64":3,"70":1,"71":1,"72":1,"73":1,"82":1,"145":2,"146":2,"148":1,"154":1,"172":1}}],["target=gi",{"2":{"64":1}}],["target=nothing",{"2":{"35":1,"36":1,"37":1,"38":1,"70":1,"72":1,"81":1}}],["targets",{"2":{"23":1,"53":2,"56":3,"66":3,"85":3}}],["target",{"0":{"23":1},"2":{"1":14,"6":11,"15":3,"22":2,"23":2,"32":1,"59":1,"63":2,"64":1,"70":5,"71":11,"72":6,"73":10,"81":4,"82":13,"146":1,"148":1,"150":8,"151":5,"152":1,"153":34,"154":33,"156":87,"159":3,"169":2,"172":3,"180":2}}],["tilted",{"2":{"66":1}}],["tie",{"2":{"53":1}}],["timings",{"2":{"13":5}}],["timing",{"2":{"13":2}}],["times",{"2":{"4":1,"6":1,"170":1}}],["time",{"2":{"1":5,"13":3,"24":1,"58":1,"146":1,"158":1,"172":4,"188":1,"191":1,"192":1,"193":2,"198":1,"199":1}}],["title",{"2":{"13":2,"58":2,"79":2,"146":1,"176":1,"180":2}}],["tip",{"2":{"1":1,"5":1,"6":1,"59":1,"172":1,"197":1}}],["tree",{"2":{"197":1}}],["treating",{"2":{"180":1}}],["treated",{"2":{"116":5,"191":1}}],["treats",{"2":{"56":1,"85":1}}],["trials",{"2":{"176":2,"180":2}}],["triangles",{"2":{"57":1}}],["triangle",{"2":{"6":1,"57":4,"183":4,"198":1}}],["triangulation",{"2":{"6":1,"27":1,"80":1}}],["trivially",{"2":{"148":1}}],["try",{"2":{"74":3,"146":1,"151":1,"153":3,"154":3,"156":3,"199":1}}],["tr",{"2":{"56":3}}],["trues",{"2":{"169":3}}],["true",{"0":{"24":1},"2":{"1":5,"3":25,"4":3,"6":40,"27":1,"53":7,"56":1,"58":2,"60":1,"64":30,"66":6,"69":1,"70":1,"71":2,"72":1,"73":1,"81":2,"82":3,"85":4,"88":21,"90":1,"91":1,"93":2,"94":6,"96":1,"97":1,"98":4,"100":1,"101":1,"103":2,"104":1,"105":9,"107":2,"108":2,"110":1,"111":1,"112":3,"114":1,"115":1,"116":78,"118":3,"119":1,"121":2,"122":18,"124":2,"125":6,"128":1,"129":1,"131":1,"132":1,"134":2,"135":7,"137":1,"138":1,"139":4,"141":1,"142":1,"145":4,"146":5,"150":2,"153":6,"154":2,"156":1,"158":1,"160":3,"169":1,"173":1,"176":1,"180":1,"197":1,"200":1}}],["traditional",{"2":{"146":1,"158":1}}],["traverse",{"2":{"64":1}}],["traced",{"2":{"64":1}}],["traces",{"2":{"64":1}}],["trace",{"2":{"64":2,"70":1,"72":1,"81":1}}],["track",{"2":{"64":3,"169":2}}],["tracing",{"2":{"6":1,"64":4,"66":1,"71":5,"73":2,"82":2}}],["transverse",{"2":{"192":1}}],["translate",{"2":{"58":2}}],["translation",{"2":{"1":2,"6":2,"180":2,"185":2,"191":3,"193":1}}],["transformations",{"2":{"27":10}}],["transformation",{"0":{"185":1},"2":{"6":1,"146":1,"153":1,"164":1,"172":1,"190":1}}],["transform",{"2":{"0":2,"1":6,"6":3,"15":2,"27":1,"148":1,"172":2,"180":1,"185":4,"191":4,"193":1}}],["trait`",{"2":{"156":1}}],["trait2",{"2":{"85":10,"88":2,"110":2,"111":2,"122":2,"127":2,"129":2,"130":2}}],["trait1",{"2":{"85":12,"88":2,"110":2,"111":2,"122":2,"127":2,"129":2,"130":2}}],["traits",{"2":{"6":1,"18":1,"122":1,"151":2,"159":3,"165":2,"180":2}}],["trait",{"2":{"1":5,"3":2,"4":2,"6":6,"18":7,"20":1,"22":1,"27":1,"32":1,"53":2,"56":5,"59":6,"63":7,"66":2,"69":3,"70":2,"71":2,"72":6,"73":4,"81":2,"82":2,"85":7,"88":11,"94":3,"105":2,"108":3,"116":4,"122":10,"125":3,"135":3,"145":1,"148":1,"150":5,"151":3,"153":19,"154":9,"156":27,"159":8,"165":9,"166":1,"177":2,"180":2,"189":7,"191":1}}],["traittarget",{"0":{"159":1},"2":{"1":2,"27":2,"32":1,"53":1,"56":1,"63":1,"66":1,"70":2,"71":4,"72":3,"73":4,"81":2,"82":4,"85":1,"148":1,"150":2,"153":6,"154":6,"158":1,"159":20,"177":1,"180":1}}],["thus",{"2":{"53":1,"56":1,"64":3,"71":1,"73":1,"82":1}}],["though",{"2":{"20":1,"162":1}}],["those",{"2":{"6":1,"33":1,"53":1,"64":1,"73":1,"96":1,"137":1,"158":1,"177":1}}],["thing",{"0":{"31":1}}],["things",{"2":{"9":1}}],["this",{"0":{"31":1},"2":{"0":1,"1":1,"3":1,"4":6,"5":1,"6":30,"7":1,"18":1,"23":3,"24":2,"25":2,"27":1,"28":2,"30":1,"32":3,"33":1,"50":1,"52":2,"53":6,"55":2,"56":9,"58":3,"59":11,"60":2,"62":1,"63":4,"64":26,"65":1,"66":4,"68":1,"69":5,"71":1,"73":5,"74":1,"80":5,"81":1,"82":2,"84":4,"85":6,"88":4,"90":1,"91":2,"93":3,"94":3,"101":1,"103":1,"104":2,"105":1,"108":3,"115":1,"116":3,"119":2,"121":1,"122":4,"125":3,"132":1,"134":1,"135":3,"142":1,"144":1,"145":3,"146":8,"147":2,"148":2,"151":2,"153":15,"154":7,"155":2,"156":2,"157":1,"158":4,"159":2,"160":4,"161":3,"163":3,"164":1,"165":6,"166":7,"167":4,"169":3,"170":2,"171":2,"172":4,"173":3,"174":3,"175":5,"176":5,"177":5,"178":2,"180":3,"184":9,"185":1,"186":1,"187":3,"188":2,"189":1,"190":1,"191":2,"192":4,"193":3,"194":3,"195":1,"197":3,"198":3,"199":3,"200":1}}],["three",{"2":{"26":1,"57":1,"73":1,"158":1,"177":1}}],["thread",{"2":{"153":3,"154":3}}],["threading",{"0":{"153":1},"2":{"153":5,"154":2,"160":1}}],["threads",{"2":{"1":1,"150":1,"153":5,"154":7}}],["threaded=",{"2":{"153":4,"154":5}}],["threaded=true",{"2":{"153":1}}],["threaded=false",{"2":{"56":1,"63":4,"66":2,"85":8,"153":1,"154":1,"170":1,"180":1}}],["threaded==true",{"2":{"1":1,"150":1,"153":1}}],["threaded",{"2":{"1":3,"4":1,"6":5,"24":1,"27":1,"32":2,"53":2,"56":1,"63":3,"66":3,"85":5,"150":2,"153":25,"154":27,"155":1,"160":2,"170":1,"177":13,"180":1}}],["through",{"2":{"6":4,"53":1,"59":1,"64":3,"66":1,"68":1,"69":2,"80":1,"94":1,"116":5,"135":1,"146":1,"151":1,"153":1,"166":2,"169":2,"182":1,"188":1,"191":1}}],["thrown",{"2":{"151":1}}],["throws",{"2":{"6":1,"188":1}}],["throw",{"2":{"4":1,"6":1,"82":1,"88":1,"146":1,"153":1,"154":1,"156":3}}],["than",{"2":{"1":1,"3":1,"6":10,"11":1,"64":2,"96":1,"105":1,"122":1,"137":1,"145":1,"146":2,"150":1,"152":1,"153":1,"157":1,"166":2,"167":1,"168":1,"169":2,"174":1,"176":2,"177":1,"181":1,"188":2}}],["that",{"2":{"1":1,"3":3,"4":8,"6":40,"9":1,"17":1,"18":4,"19":3,"20":1,"22":3,"25":1,"26":1,"28":1,"53":4,"55":2,"56":4,"59":4,"60":2,"62":2,"63":3,"64":17,"65":3,"66":5,"70":4,"71":5,"72":4,"73":14,"75":1,"79":3,"80":4,"81":3,"82":5,"85":2,"87":1,"88":11,"90":4,"91":1,"93":2,"94":1,"104":1,"107":1,"108":1,"116":3,"118":1,"119":1,"121":2,"122":10,"124":2,"125":2,"127":2,"134":3,"135":1,"137":3,"145":1,"146":4,"148":1,"150":1,"153":5,"154":1,"155":1,"156":4,"157":2,"158":6,"159":1,"160":3,"161":3,"162":2,"163":1,"164":3,"165":2,"166":4,"167":2,"168":3,"169":4,"172":1,"174":2,"175":2,"176":3,"177":2,"180":2,"182":1,"184":1,"188":1,"192":4,"193":1,"194":2,"195":3,"197":1,"198":2}}],["theta",{"2":{"158":1}}],["theorem",{"2":{"85":1}}],["themselves",{"2":{"59":1}}],["them",{"2":{"25":1,"28":1,"64":1,"146":2,"147":2,"153":3,"156":2,"162":2,"167":1,"168":1,"180":1,"191":1,"193":1,"195":3}}],["thereof",{"2":{"148":1,"154":1}}],["therefore",{"2":{"84":1,"161":1}}],["there",{"2":{"6":2,"22":1,"53":1,"59":2,"60":1,"64":3,"66":1,"69":2,"71":1,"73":6,"74":1,"82":1,"116":1,"122":2,"146":3,"147":1,"148":1,"153":4,"158":1,"159":1,"162":1,"175":1,"184":1,"188":1,"192":2,"195":3}}],["then",{"2":{"6":5,"18":1,"22":1,"30":1,"53":3,"59":2,"64":6,"66":1,"70":1,"72":2,"73":6,"74":2,"80":1,"81":2,"82":2,"116":1,"146":2,"148":1,"151":1,"153":2,"154":3,"167":1,"176":2,"180":1,"192":1,"197":1,"198":1}}],["their",{"2":{"3":1,"4":1,"6":2,"59":1,"62":2,"82":1,"85":2,"113":1,"122":1,"124":1,"128":1,"129":1,"138":3,"139":3,"148":1,"154":1,"162":1,"168":1,"170":1}}],["they",{"2":{"3":3,"4":11,"6":24,"20":2,"22":1,"23":1,"24":1,"57":1,"63":2,"64":8,"66":2,"70":2,"72":1,"73":6,"79":1,"81":2,"82":3,"87":3,"88":16,"94":1,"107":1,"111":2,"112":1,"113":1,"116":2,"118":1,"121":2,"122":4,"127":1,"129":1,"130":1,"138":1,"139":1,"146":6,"153":2,"156":2,"161":1,"166":2,"169":2,"175":1,"184":1,"187":1,"198":1}}],["these",{"2":{"1":2,"6":4,"24":1,"53":1,"59":5,"64":3,"82":1,"87":1,"88":1,"90":1,"94":1,"103":1,"105":2,"107":1,"108":1,"118":1,"121":1,"122":1,"124":2,"125":1,"134":1,"135":1,"145":1,"146":3,"150":1,"151":1,"153":2,"172":1,"176":1,"180":2,"188":1,"195":1,"197":1}}],["the",{"0":{"26":1,"30":1,"62":1,"78":1,"79":1},"2":{"1":28,"3":64,"4":112,"5":12,"6":386,"7":5,"9":3,"10":1,"11":3,"17":5,"18":10,"19":2,"20":4,"22":4,"23":5,"24":3,"25":3,"26":4,"28":3,"30":3,"32":3,"52":1,"53":63,"55":12,"56":43,"57":15,"58":12,"59":71,"60":6,"62":6,"63":25,"64":116,"65":7,"66":47,"68":2,"69":7,"70":27,"71":23,"72":27,"73":82,"74":1,"75":6,"79":11,"80":16,"81":29,"82":70,"84":11,"85":81,"87":5,"88":47,"90":9,"91":11,"93":8,"94":25,"97":8,"98":9,"99":3,"100":3,"101":2,"103":4,"104":11,"105":5,"107":2,"108":21,"110":8,"111":6,"112":4,"114":3,"115":2,"116":123,"118":5,"119":6,"121":5,"122":26,"124":5,"125":21,"127":6,"128":10,"129":7,"130":3,"131":3,"132":2,"134":7,"135":24,"137":2,"138":9,"139":9,"140":6,"141":2,"142":2,"144":1,"145":8,"146":47,"147":1,"148":9,"150":14,"151":11,"153":69,"154":23,"155":2,"156":19,"157":1,"158":24,"160":5,"161":5,"162":5,"163":4,"164":2,"165":13,"166":10,"167":4,"168":8,"169":6,"170":1,"171":5,"172":14,"173":2,"174":3,"175":5,"176":26,"177":21,"178":3,"180":18,"181":3,"182":6,"183":3,"184":2,"185":3,"186":1,"187":2,"188":21,"191":10,"192":11,"193":10,"194":2,"195":4,"197":10,"198":17,"199":3}}],["t",{"2":{"0":1,"4":28,"6":54,"9":1,"23":1,"27":8,"32":1,"53":32,"56":41,"59":26,"63":38,"64":74,"66":44,"69":18,"70":12,"71":12,"72":12,"73":156,"81":10,"82":20,"85":87,"88":17,"93":1,"111":1,"116":24,"122":1,"124":1,"128":2,"129":1,"146":14,"153":5,"154":4,"156":3,"158":5,"159":14,"160":2,"166":2,"169":2,"176":3,"177":4,"180":1,"186":7,"188":3,"189":10,"191":4,"199":1}}],["tokyo",{"2":{"199":1}}],["toy",{"2":{"197":1}}],["together",{"2":{"73":1,"82":1,"191":1,"198":1}}],["touching",{"0":{"128":1},"2":{"73":1,"82":1}}],["touch",{"0":{"129":1,"130":1,"131":1},"2":{"64":1,"124":1,"127":2,"129":1,"131":1}}],["touches",{"0":{"42":1,"123":1,"124":1,"127":1},"1":{"124":1,"125":1},"2":{"0":2,"3":3,"6":3,"27":1,"42":2,"123":1,"124":3,"125":11,"126":6,"127":11,"128":15,"129":9,"130":8,"131":3,"132":4,"197":1}}],["totally",{"2":{"81":1}}],["total",{"2":{"56":1,"59":2,"64":2,"66":1}}],["towards",{"2":{"25":1,"28":1}}],["topright",{"2":{"180":1}}],["topologypreserve",{"2":{"178":1}}],["topology",{"2":{"178":1}}],["topological",{"2":{"158":2}}],["top",{"2":{"20":1,"26":1,"64":1,"146":1}}],["took",{"2":{"199":1}}],["tools",{"2":{"17":1}}],["too",{"2":{"6":1,"73":1,"174":1,"177":1}}],["tol^2",{"2":{"181":1,"182":1}}],["tolerances",{"2":{"183":1,"184":29}}],["tolerance",{"2":{"181":1,"182":1,"183":1,"184":17}}],["tol",{"2":{"6":12,"176":2,"180":18,"181":7,"182":15,"183":8,"184":18}}],["todo",{"2":{"3":2,"6":2,"32":1,"64":1,"73":1,"80":2,"105":4,"122":1,"146":1,"153":1,"160":1,"163":1,"180":1}}],["to",{"0":{"9":1,"23":1,"26":1,"74":1,"95":1,"109":1,"126":1,"136":1},"2":{"0":2,"1":22,"3":1,"4":33,"5":4,"6":125,"7":2,"9":3,"10":2,"11":2,"13":1,"17":2,"18":9,"19":1,"20":2,"22":3,"23":4,"24":2,"25":3,"26":2,"28":3,"30":4,"31":1,"52":1,"53":8,"55":1,"56":4,"57":4,"58":1,"59":26,"60":2,"62":2,"63":5,"64":32,"65":1,"66":12,"68":1,"69":3,"70":8,"71":4,"72":8,"73":27,"75":1,"77":1,"78":1,"79":4,"80":6,"81":7,"82":11,"84":6,"85":32,"87":2,"88":17,"90":1,"91":1,"93":2,"94":7,"103":3,"104":1,"105":2,"107":1,"108":7,"116":21,"118":2,"119":1,"121":3,"122":7,"124":1,"125":7,"127":1,"134":1,"135":7,"145":4,"146":16,"148":4,"150":9,"151":6,"152":1,"153":33,"154":11,"155":7,"156":23,"158":7,"159":2,"160":6,"161":2,"162":3,"164":4,"165":8,"166":5,"167":3,"168":1,"169":4,"170":3,"171":1,"172":4,"173":1,"174":3,"175":3,"176":9,"177":7,"178":1,"180":4,"181":1,"182":15,"183":1,"184":2,"185":4,"186":1,"187":2,"188":9,"189":28,"190":4,"191":6,"192":10,"193":6,"194":7,"195":5,"196":1,"197":7,"198":5,"199":2,"200":8}}],["o",{"2":{"154":24}}],["odd",{"2":{"116":1}}],["own",{"2":{"82":1,"148":2}}],["occur",{"2":{"73":1}}],["occurs",{"2":{"73":1}}],["occupied",{"2":{"55":1}}],["old",{"2":{"64":8,"153":3}}],["ourselves",{"2":{"176":1}}],["our",{"2":{"24":1,"176":1,"191":4,"192":3,"198":1}}],["out=3",{"2":{"116":1}}],["out=4",{"2":{"72":1}}],["out`",{"2":{"72":1,"116":1}}],["out",{"2":{"6":3,"64":12,"66":23,"73":6,"80":1,"82":4,"84":5,"94":4,"105":1,"108":3,"116":102,"122":2,"125":4,"135":4,"145":1,"153":1,"177":1,"188":2}}],["outside",{"2":{"3":2,"4":1,"6":3,"64":3,"66":1,"71":2,"73":4,"82":3,"84":2,"85":1,"93":1,"104":1,"107":1,"116":12,"122":3,"140":1}}],["outputs",{"2":{"64":1}}],["output",{"2":{"3":8,"4":1,"6":18,"18":1,"23":1,"69":2,"70":1,"72":1,"73":1,"81":1,"82":2,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"125":1,"135":1,"145":2,"180":1,"184":1,"189":1}}],["outerjoin",{"2":{"197":1}}],["outermost",{"2":{"153":1}}],["outer",{"2":{"1":1,"150":1,"151":1,"153":2,"198":1}}],["omit",{"2":{"6":1,"176":1}}],["obtain",{"2":{"153":1}}],["obtained",{"2":{"23":1}}],["observable",{"2":{"14":2}}],["obs",{"2":{"14":10}}],["obviously",{"2":{"4":1,"6":1,"170":1}}],["objects",{"2":{"1":4,"4":1,"6":10,"150":4,"151":5,"153":4,"154":1,"156":6,"170":1,"174":1,"180":2,"186":1}}],["object",{"2":{"1":4,"4":1,"5":1,"6":5,"20":1,"59":1,"84":1,"116":4,"150":1,"151":5,"153":1,"156":4,"170":1,"172":3,"176":1,"180":1,"186":1}}],["obj",{"2":{"1":4,"4":1,"6":10,"150":2,"153":1,"154":1,"156":13,"170":1,"171":2,"176":3,"180":3,"185":1,"186":1}}],["others",{"2":{"60":1,"169":1}}],["otherwise",{"2":{"4":2,"6":3,"60":1,"64":1,"71":1,"73":1,"85":2,"146":1,"171":1,"173":1,"176":1,"189":1}}],["other",{"0":{"4":1,"6":1,"156":1},"2":{"3":4,"6":10,"53":1,"64":5,"70":1,"72":1,"73":1,"75":2,"81":2,"82":3,"85":2,"88":2,"90":1,"96":1,"116":8,"118":1,"121":1,"122":4,"124":2,"125":2,"128":1,"137":1,"146":1,"151":1,"153":1,"156":2,"159":1,"166":2,"167":1,"169":2,"180":2,"182":2,"187":1,"188":1,"192":1,"197":4,"200":1}}],["ogc",{"0":{"3":1}}],["over=3",{"2":{"72":1}}],["over`",{"2":{"72":1}}],["overflow",{"2":{"69":1}}],["overhead",{"2":{"22":1,"153":1,"154":1}}],["overrides",{"0":{"33":1},"1":{"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1},"2":{"33":1}}],["override",{"2":{"6":1,"59":1}}],["overlapping",{"2":{"64":11,"73":4,"82":6}}],["overlap",{"2":{"3":4,"6":4,"9":1,"64":2,"73":8,"82":2,"94":1,"103":1,"116":2,"121":5,"122":6,"135":1,"167":1}}],["overlaps",{"0":{"46":1,"120":1,"121":1},"1":{"121":1,"122":1},"2":{"0":10,"3":5,"6":13,"27":1,"46":2,"73":1,"120":1,"121":3,"122":30,"146":1,"197":1}}],["over",{"2":{"1":1,"6":2,"55":2,"56":1,"63":3,"64":5,"66":1,"72":1,"73":11,"79":1,"82":1,"94":1,"105":1,"108":1,"116":15,"122":2,"125":1,"135":1,"150":1,"153":9,"154":11,"156":3,"191":3}}],["opposed",{"2":{"196":1}}],["opposite",{"2":{"3":5,"6":5,"64":2,"71":1,"73":2,"82":1,"91":2,"94":1,"104":2,"119":2,"135":1}}],["ops",{"2":{"154":1}}],["operable",{"2":{"158":1}}],["operates",{"2":{"153":1,"154":1,"161":1,"167":1}}],["operate",{"2":{"18":1,"30":1,"154":1}}],["operations",{"0":{"23":1,"34":1},"1":{"35":1,"36":1,"37":1,"38":1},"2":{"23":1,"26":1,"73":1,"82":1,"148":1}}],["operation",{"2":{"6":3,"64":1,"148":1,"154":1,"158":1,"166":2,"169":2,"188":2,"197":1}}],["open",{"2":{"64":1,"162":1,"192":1}}],["open>",{"2":{"6":2}}],["optimisation",{"2":{"116":1}}],["optimise",{"2":{"105":1}}],["optimal",{"2":{"6":1,"80":1}}],["options",{"2":{"14":1,"64":1}}],["optional",{"2":{"4":5,"6":6,"53":1,"56":2,"66":1,"85":2}}],["op",{"2":{"1":3,"19":2,"63":1,"150":3,"154":35}}],["on=2",{"2":{"116":1}}],["on`",{"2":{"116":1}}],["once",{"2":{"105":1,"122":1,"146":1}}],["onto",{"2":{"85":1}}],["ones",{"2":{"168":1}}],["oneunit",{"2":{"59":1}}],["one",{"2":{"1":1,"3":9,"6":14,"23":1,"53":4,"56":2,"58":1,"59":1,"63":1,"64":5,"66":3,"70":1,"71":1,"72":1,"73":32,"75":1,"81":2,"82":2,"84":2,"93":1,"100":1,"105":1,"107":1,"116":18,"121":1,"122":18,"124":2,"125":2,"128":3,"129":2,"130":2,"131":1,"132":1,"134":1,"135":1,"141":1,"145":1,"146":5,"153":1,"158":2,"168":1,"172":1,"176":1,"184":1,"185":1,"192":1,"197":1}}],["on",{"0":{"192":1},"2":{"1":2,"4":3,"6":9,"9":1,"18":1,"20":1,"23":2,"25":3,"28":3,"30":2,"32":1,"53":5,"56":3,"58":1,"59":2,"63":3,"64":28,"66":8,"69":1,"70":1,"71":5,"72":1,"73":4,"80":1,"81":1,"82":2,"84":1,"85":3,"88":2,"93":1,"94":7,"96":2,"97":3,"98":3,"99":1,"105":4,"108":6,"110":4,"111":1,"112":1,"116":125,"122":9,"125":7,"127":2,"135":7,"137":2,"138":1,"139":1,"146":3,"148":1,"150":2,"153":12,"154":4,"156":2,"158":4,"160":2,"161":1,"163":1,"166":1,"167":1,"174":1,"176":1,"177":1,"182":1,"190":1,"192":3,"193":1,"195":1,"196":1,"197":4,"198":1,"199":2,"200":2}}],["only",{"2":{"0":1,"5":1,"6":10,"23":1,"33":2,"56":2,"58":2,"59":1,"60":1,"63":2,"64":4,"66":3,"69":1,"70":1,"72":1,"73":1,"80":3,"81":1,"85":2,"88":3,"121":3,"122":1,"124":1,"146":2,"153":1,"154":2,"158":2,"168":1,"174":1,"175":1,"177":1,"187":1,"188":2,"193":1,"199":1,"200":1}}],["often",{"2":{"192":1}}],["offers",{"2":{"191":1}}],["offer",{"2":{"176":1}}],["offset",{"2":{"53":8,"88":1}}],["off",{"2":{"4":1,"6":1,"64":4,"88":1,"116":6,"154":1}}],["of",{"0":{"78":1},"2":{"1":7,"3":29,"4":66,"5":5,"6":190,"7":2,"9":4,"17":3,"18":5,"19":1,"20":2,"22":1,"23":2,"24":2,"25":1,"26":1,"28":1,"30":3,"32":2,"52":1,"53":38,"55":5,"56":28,"57":9,"58":1,"59":13,"60":1,"62":3,"63":12,"64":84,"65":5,"66":31,"69":5,"70":12,"71":13,"72":10,"73":48,"75":5,"79":3,"80":3,"81":9,"82":20,"84":6,"85":18,"87":2,"88":19,"90":4,"91":5,"93":6,"94":18,"96":1,"97":5,"98":5,"99":1,"100":2,"101":1,"104":5,"105":1,"107":3,"108":14,"110":1,"111":1,"112":1,"114":2,"115":1,"116":85,"118":1,"119":3,"121":1,"122":13,"124":2,"125":15,"127":3,"128":7,"129":5,"130":1,"131":2,"132":1,"134":4,"135":18,"137":3,"138":6,"139":6,"140":4,"141":1,"142":1,"144":2,"145":3,"146":19,"147":2,"148":3,"150":6,"151":5,"152":2,"153":21,"154":7,"156":2,"158":5,"159":2,"161":1,"162":1,"166":2,"167":4,"169":4,"171":3,"172":1,"174":2,"175":2,"176":5,"177":6,"180":8,"182":4,"183":2,"184":1,"186":1,"188":4,"189":2,"191":6,"192":4,"193":2,"194":1,"195":4,"197":4,"198":4,"199":2}}],["org",{"2":{"70":1,"72":1,"81":1,"116":2,"182":1}}],["organise",{"2":{"10":1}}],["orange",{"2":{"68":1,"84":1,"87":2,"90":2,"107":2,"121":2,"134":2}}],["oro",{"2":{"11":2}}],["originate",{"2":{"82":1}}],["originals",{"2":{"22":1}}],["original",{"2":{"6":4,"18":1,"22":1,"64":10,"69":5,"70":1,"72":1,"82":4,"151":1,"153":7,"165":1,"171":2,"177":1,"179":4,"180":1}}],["orient",{"0":{"13":1},"1":{"14":1,"15":1},"2":{"13":7,"14":12,"64":15,"73":53}}],["orientation",{"0":{"143":1},"1":{"144":1,"145":1},"2":{"6":2,"10":1,"27":1,"56":1,"64":10,"66":2,"70":1,"72":2,"73":2,"81":1,"116":16,"144":1,"180":1}}],["ordered",{"2":{"55":1}}],["order",{"0":{"79":1},"2":{"1":4,"3":1,"4":2,"6":5,"53":1,"55":1,"56":2,"59":1,"64":4,"73":1,"79":4,"80":1,"82":1,"85":2,"88":3,"91":1,"94":1,"104":1,"119":1,"150":2,"153":1,"154":1,"172":2,"180":1,"197":1}}],["or",{"0":{"24":1},"2":{"1":11,"3":3,"4":10,"6":46,"18":1,"20":1,"22":1,"23":1,"25":1,"27":1,"28":1,"30":2,"32":1,"53":4,"56":1,"59":1,"60":1,"62":2,"63":4,"64":24,"65":1,"69":1,"70":1,"71":3,"72":2,"73":9,"75":1,"80":1,"81":1,"82":2,"84":2,"85":4,"88":3,"90":1,"94":1,"96":2,"97":1,"98":1,"99":1,"100":1,"101":1,"107":2,"110":2,"111":3,"112":2,"113":1,"114":1,"115":1,"116":26,"118":2,"119":1,"121":1,"122":2,"124":1,"125":1,"131":1,"132":1,"135":1,"137":2,"141":1,"142":1,"144":2,"145":3,"146":7,"148":4,"150":7,"152":1,"153":8,"154":3,"155":2,"156":2,"158":2,"159":3,"160":1,"161":1,"163":1,"165":5,"166":2,"172":2,"173":1,"174":2,"176":2,"177":4,"178":1,"180":3,"182":2,"184":2,"186":1,"189":2,"197":1,"199":2}}],["ecosystem",{"2":{"157":1}}],["effects",{"2":{"153":2,"154":1}}],["efficiently",{"2":{"20":1}}],["efficient",{"2":{"6":1,"59":1,"70":2,"72":2,"80":1,"81":2,"163":1}}],["e2",{"2":{"116":4}}],["e1",{"2":{"116":8}}],["euclid",{"2":{"66":2,"85":11,"116":1,"181":1}}],["euclidean",{"2":{"4":1,"6":1,"59":13,"85":6,"158":6,"177":1}}],["everything",{"2":{"180":1}}],["everywhere",{"2":{"158":1}}],["every",{"2":{"64":1,"88":2,"151":1,"188":1}}],["evenly",{"2":{"198":1}}],["eventually",{"2":{"64":1}}],["even",{"2":{"56":2,"66":1,"73":1,"85":1,"88":1,"148":1,"162":1,"167":1}}],["evaluated",{"2":{"197":1}}],["eval",{"2":{"27":2,"153":1,"154":1}}],["epsg",{"2":{"192":5,"193":8}}],["eps",{"2":{"53":2,"73":14}}],["eponymous",{"2":{"6":1,"176":1}}],["est",{"2":{"199":1}}],["essentially",{"2":{"33":1,"159":1}}],["especially",{"2":{"6":1,"18":1,"23":1,"146":1}}],["eg",{"2":{"32":1}}],["etc",{"0":{"156":1},"2":{"20":2,"55":1,"80":1,"159":1,"195":1}}],["e",{"2":{"9":1,"22":1,"60":1,"146":1,"151":1,"153":2,"158":1,"191":2,"192":1,"195":1}}],["ellipsoid",{"2":{"158":2,"196":1}}],["ellipsoidal",{"2":{"6":1,"177":1}}],["eltype",{"2":{"146":4}}],["elements",{"2":{"100":1,"101":1,"114":1,"115":1,"122":1,"131":1,"132":1,"141":1,"142":1}}],["element",{"2":{"6":6,"52":1,"64":4,"69":2,"70":1,"72":1,"73":1,"81":3,"175":1,"192":1}}],["elsewhere",{"2":{"69":1}}],["elseif",{"2":{"64":5,"66":7,"70":1,"72":1,"73":14,"81":2,"82":1,"105":3,"116":10,"145":1,"146":2,"169":1,"182":2,"184":2}}],["else",{"2":{"3":6,"6":6,"53":1,"59":2,"64":19,"66":9,"69":1,"71":2,"73":9,"81":1,"82":9,"105":2,"116":17,"122":8,"146":20,"153":6,"154":2,"156":2,"163":1,"171":1,"173":1,"180":2,"182":4,"184":2,"185":1,"186":1,"188":1}}],["empty",{"2":{"4":2,"6":6,"53":2,"64":2,"70":1,"72":1,"73":2,"81":1,"146":2}}],["embedding",{"0":{"152":1,"170":1}}],["embedded",{"0":{"193":1},"2":{"146":1,"152":3,"190":1,"193":1}}],["embed",{"2":{"0":2,"4":1,"6":1,"152":1,"170":2}}],["errors",{"2":{"27":1,"73":1,"177":1}}],["error",{"0":{"173":1},"2":{"4":1,"6":4,"7":1,"18":1,"27":6,"32":2,"59":1,"60":4,"64":2,"73":2,"74":1,"88":2,"146":1,"151":1,"165":2,"173":3,"176":5,"184":4,"188":3,"189":1}}],["edgekeys",{"2":{"146":3}}],["edge",{"2":{"3":1,"4":3,"6":4,"20":1,"27":1,"56":1,"62":1,"64":25,"66":13,"70":1,"72":1,"73":6,"81":1,"85":4,"88":1,"96":2,"111":2,"112":1,"116":7,"122":21,"137":2,"138":1,"139":1,"146":7,"189":2}}],["edges`",{"2":{"73":1}}],["edges",{"2":{"0":1,"4":2,"6":9,"64":12,"66":8,"71":3,"73":10,"82":3,"85":3,"87":2,"88":1,"90":1,"96":1,"97":3,"98":7,"99":3,"107":1,"110":3,"113":1,"116":3,"122":20,"134":1,"137":1,"146":22,"189":29}}],["earlier",{"2":{"191":3}}],["earth",{"2":{"6":3,"25":1,"28":1,"158":3,"176":2,"177":1,"180":1,"192":2,"197":1}}],["easiest",{"2":{"194":1}}],["easier",{"2":{"160":1,"187":1}}],["easily",{"2":{"148":1}}],["east",{"2":{"66":9}}],["easy",{"2":{"1":1,"6":1,"167":1,"185":1}}],["eachindex",{"2":{"53":1,"145":1,"146":3,"153":1,"154":1,"181":1,"184":1}}],["each",{"2":{"3":2,"4":3,"6":6,"9":1,"18":2,"20":1,"53":4,"56":2,"57":4,"59":1,"64":5,"66":1,"73":3,"85":1,"88":2,"94":1,"108":1,"116":6,"121":1,"122":3,"125":1,"135":1,"145":1,"146":1,"153":1,"167":2,"180":1,"194":1,"195":1,"198":2,"199":2,"200":1}}],["equator",{"2":{"158":1}}],["equatorial",{"2":{"6":6,"176":4}}],["equality",{"2":{"64":1,"73":1,"197":1}}],["equal",{"2":{"3":2,"4":16,"6":19,"53":6,"73":1,"84":1,"85":4,"87":3,"88":22,"96":1,"110":1,"116":15,"121":1,"122":2,"127":2,"137":1,"162":1}}],["equals",{"0":{"40":1,"86":1,"87":1},"1":{"87":1,"88":1},"2":{"0":17,"4":3,"6":19,"27":1,"40":2,"53":2,"64":4,"69":2,"73":8,"85":1,"86":1,"87":2,"88":50,"96":1,"110":1,"116":10,"122":2,"127":3,"137":1,"197":1}}],["equivalent",{"2":{"3":1,"4":4,"6":6,"56":1,"64":1,"73":1,"82":1,"88":5,"94":1,"116":1}}],["enable",{"2":{"200":1}}],["enabled",{"2":{"197":1}}],["enabling",{"0":{"200":1}}],["enclosed",{"2":{"116":1}}],["encode",{"2":{"24":1}}],["encompasses",{"2":{"18":1,"116":1}}],["encounters",{"2":{"18":1}}],["en",{"2":{"116":1,"182":1}}],["envelope",{"2":{"73":2}}],["envelopes",{"2":{"73":2}}],["enough",{"2":{"64":1}}],["entirely",{"2":{"116":1}}],["entire",{"2":{"66":1,"116":4}}],["entry",{"2":{"64":11,"71":3,"73":4,"82":3,"146":1}}],["ent",{"2":{"64":19,"69":2}}],["enter",{"2":{"64":4}}],["ensuring",{"2":{"6":1,"174":1,"177":1}}],["ensure",{"2":{"6":3,"59":1,"70":1,"72":1,"81":1,"153":2,"161":2,"164":1}}],["ensures",{"2":{"6":3,"163":1,"166":3,"169":2}}],["enumerate",{"2":{"13":2,"53":1,"64":10,"66":1,"69":1,"71":1,"82":2,"116":1,"146":2,"169":2,"184":1}}],["enum",{"2":{"6":2,"64":3,"72":3,"116":3}}],["endpt",{"2":{"182":3}}],["endpoints",{"2":{"64":3,"66":1,"71":1,"73":6,"82":1,"85":2,"116":11,"122":2,"124":1}}],["endpoint=3",{"2":{"64":1}}],["endpointtype",{"2":{"64":2}}],["endpoint",{"2":{"3":1,"6":2,"64":27,"72":1,"73":16,"85":2,"93":1,"116":3,"122":2,"180":4,"182":4,"191":1}}],["ending",{"2":{"64":1,"66":1}}],["end",{"2":{"1":1,"9":1,"13":4,"14":3,"27":4,"32":4,"35":1,"36":1,"37":1,"38":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"53":18,"56":8,"59":35,"60":3,"63":10,"64":130,"66":43,"69":9,"70":8,"71":12,"72":5,"73":31,"74":1,"80":3,"81":6,"82":24,"85":19,"88":20,"100":2,"101":2,"105":20,"114":2,"115":2,"116":104,"122":21,"127":1,"131":2,"132":2,"137":1,"141":2,"142":2,"145":9,"146":44,"147":4,"148":1,"150":1,"153":27,"154":17,"156":15,"158":4,"159":1,"160":4,"161":1,"163":5,"165":3,"169":18,"171":4,"172":1,"173":2,"176":8,"177":9,"180":7,"181":6,"182":30,"183":3,"184":27,"185":4,"186":4,"188":4,"189":19}}],["enforce",{"2":{"0":1,"6":2,"32":3,"188":3}}],["exits",{"2":{"64":1}}],["exit",{"2":{"64":32,"69":2,"71":3,"73":3,"82":2}}],["existingnodes",{"2":{"146":3}}],["existing",{"2":{"64":3,"81":1,"146":1,"192":2,"194":1}}],["exists",{"2":{"64":1,"66":1,"73":1}}],["exist",{"2":{"6":1,"64":1,"73":3,"188":1}}],["excluding",{"2":{"113":1,"116":1,"137":2}}],["exclude",{"2":{"105":9}}],["exclusively",{"2":{"129":1}}],["exclusive",{"2":{"66":1,"73":2}}],["exc",{"2":{"60":2,"173":2,"176":2}}],["excellent",{"2":{"23":1}}],["except",{"2":{"18":1,"19":1}}],["excess",{"2":{"5":1,"6":1,"59":1}}],["exp10",{"2":{"176":1,"180":2}}],["expressed",{"2":{"57":2}}],["express",{"2":{"57":1}}],["experimental",{"2":{"27":3}}],["expect",{"2":{"1":1,"118":1,"172":1}}],["explain",{"2":{"26":1}}],["explanations",{"2":{"26":3}}],["explicitly",{"2":{"18":1,"24":1,"53":2,"56":1,"59":1,"60":1,"85":2,"88":1,"173":1,"176":1}}],["expose",{"2":{"75":1}}],["exposes",{"2":{"17":1}}],["export",{"2":{"27":1,"57":1,"158":2,"174":1,"193":1,"195":1}}],["exponential",{"2":{"9":1}}],["ext2",{"2":{"116":3}}],["ext1",{"2":{"116":3}}],["ext",{"2":{"58":15,"64":10,"66":2,"69":3,"70":8,"72":8,"73":18,"81":8,"82":14,"105":7,"116":7}}],["extrema",{"2":{"146":1,"189":1}}],["extreem",{"2":{"53":10}}],["extracts",{"2":{"80":1}}],["extract",{"2":{"80":1,"146":1,"153":1,"154":2,"180":1}}],["extra",{"2":{"6":3,"64":1,"81":1,"174":1,"176":2,"177":1}}],["external",{"2":{"56":1,"116":2}}],["exteriors",{"2":{"9":1,"72":2,"81":2,"146":1}}],["exterior",{"2":{"3":4,"4":2,"6":10,"53":1,"55":1,"56":1,"58":1,"59":36,"63":2,"64":4,"70":2,"81":3,"82":14,"85":1,"88":2,"90":1,"91":1,"94":3,"104":1,"108":2,"116":9,"125":2,"134":1,"135":3,"138":3,"139":3,"145":6,"146":6,"163":3,"164":1,"166":1,"170":1,"191":2}}],["extending",{"2":{"122":1}}],["extended",{"2":{"85":1,"158":2}}],["extensions",{"2":{"75":1,"195":1}}],["extension",{"2":{"1":1,"6":1,"59":1,"60":1,"80":1,"93":1,"147":1,"172":3,"173":2,"176":1,"177":1,"178":1,"195":1}}],["extent`",{"2":{"155":1,"170":1}}],["extent=true",{"2":{"170":1}}],["extent=nothing",{"2":{"156":1}}],["extent=",{"2":{"153":4}}],["extent=false",{"2":{"153":1,"180":1}}],["extent=gi",{"2":{"146":3}}],["extents",{"2":{"4":3,"6":3,"27":5,"66":1,"73":3,"116":5,"122":1,"146":3,"153":2,"170":2,"189":2}}],["extent",{"0":{"170":1},"2":{"0":2,"1":4,"4":3,"6":9,"24":1,"27":3,"32":1,"35":2,"36":2,"37":2,"38":2,"50":1,"58":1,"65":1,"66":1,"73":10,"116":4,"122":2,"146":12,"150":2,"152":4,"153":29,"155":3,"156":2,"160":1,"170":2,"180":1,"189":7}}],["exactly",{"2":{"184":1}}],["exactpredicates",{"2":{"7":1,"13":2,"14":2,"27":1}}],["exact",{"2":{"3":5,"6":5,"7":2,"12":1,"13":1,"64":36,"66":6,"69":7,"70":5,"72":5,"73":7,"74":1,"81":5,"82":7,"91":2,"94":3,"96":1,"97":3,"98":3,"99":1,"104":2,"105":1,"108":2,"110":1,"111":3,"112":2,"113":1,"116":24,"119":2,"122":3,"125":2,"127":1,"128":3,"129":1,"130":1,"135":3,"137":1,"138":3,"139":3,"140":1,"146":1,"168":1}}],["examples",{"0":{"175":1,"179":1},"2":{"3":8,"4":1,"6":11,"26":2,"88":1,"91":1,"94":1,"104":1,"105":1,"108":1,"122":1,"125":1,"135":1,"145":2,"189":1}}],["example",{"0":{"58":1,"76":1,"162":1,"168":1,"198":1,"199":1},"1":{"77":1},"2":{"1":3,"3":2,"6":11,"11":1,"20":1,"23":2,"52":1,"55":1,"58":1,"62":1,"63":1,"65":1,"68":1,"69":1,"70":1,"72":1,"73":1,"81":1,"84":1,"87":1,"88":1,"90":1,"93":1,"103":1,"105":1,"107":1,"116":1,"118":1,"119":1,"121":1,"124":1,"134":1,"145":1,"146":8,"148":1,"150":2,"153":2,"162":1,"164":1,"167":1,"168":1,"171":1,"179":1,"180":2,"185":1,"188":1,"198":1,"200":1}}],["either",{"2":{"1":2,"3":1,"6":2,"22":1,"25":1,"28":1,"64":9,"70":1,"72":1,"73":2,"81":1,"82":1,"84":1,"94":1,"116":5,"118":1,"124":1,"125":1,"135":1,"146":1,"150":2,"153":3,"165":1,"197":1}}],["lj",{"2":{"146":2}}],["lrs",{"2":{"180":2}}],["lr",{"2":{"146":3,"153":3}}],["lp",{"2":{"116":2}}],["lstart",{"2":{"116":2}}],["ls",{"2":{"116":12}}],["ll",{"2":{"17":1,"58":1,"175":2,"180":1,"192":1,"194":1}}],["l",{"2":{"14":4,"59":6,"105":2,"116":32}}],["lgeos",{"2":{"180":1}}],["lg",{"2":{"13":1,"14":1,"15":2,"32":5,"33":1,"35":3,"36":3,"37":3,"38":3,"40":3,"41":3,"42":3,"43":3,"44":3,"45":3,"46":3,"47":3,"48":3,"49":3,"50":3,"79":4,"176":9,"180":17}}],["l305",{"2":{"6":1}}],["log10",{"2":{"176":2,"180":4}}],["log",{"2":{"175":2}}],["loudly",{"2":{"153":1}}],["location",{"2":{"64":1,"116":6}}],["locally",{"2":{"158":2}}],["local",{"2":{"53":3,"56":1,"64":4,"71":1,"82":1,"146":1}}],["loose",{"2":{"161":1}}],["lookup",{"2":{"146":1,"153":1}}],["looks",{"2":{"62":1}}],["look",{"2":{"55":2,"146":2,"162":1,"175":1}}],["looping",{"2":{"146":1}}],["loop",{"2":{"53":1,"59":2,"63":3,"64":8,"66":1,"73":1,"82":1,"116":5,"146":3,"182":1}}],["lower",{"2":{"6":1,"7":1,"146":1,"198":1}}],["lon",{"2":{"6":2,"175":1,"176":2}}],["longitude",{"2":{"158":3,"192":2}}],["long",{"2":{"6":1,"73":1,"176":1,"199":1}}],["longer",{"2":{"6":3,"174":1,"176":2,"177":1}}],["lots",{"2":{"192":1}}],["lot",{"2":{"6":1,"23":1,"53":1,"56":1,"63":1,"66":1,"85":1,"88":1,"122":1,"148":1,"175":1,"188":2}}],["load",{"2":{"153":1,"154":1,"180":1,"190":2}}],["loading",{"2":{"60":1,"173":1,"176":1}}],["loads",{"2":{"5":1,"6":1,"59":1}}],["loaded",{"2":{"1":1,"60":3,"172":1,"173":2,"176":2}}],["laptop",{"2":{"199":1}}],["land",{"2":{"192":8}}],["lazily",{"2":{"156":2}}],["layers",{"2":{"151":1}}],["label",{"2":{"14":4,"15":2,"77":2,"79":1,"84":1,"146":3,"175":2,"179":2,"180":2}}],["labels",{"2":{"13":2,"146":1}}],["latitude",{"2":{"158":3,"192":2}}],["later",{"2":{"56":1,"79":1,"146":1}}],["lat",{"2":{"6":3,"175":1,"176":3}}],["larger",{"2":{"64":1,"81":1,"184":1}}],["large",{"2":{"6":8,"59":1,"180":2,"195":1,"199":1}}],["lastindex",{"2":{"184":1}}],["last",{"2":{"4":3,"6":3,"9":1,"53":11,"56":2,"58":2,"64":9,"66":4,"85":7,"88":5,"116":20,"127":1,"146":6,"162":1,"169":2,"182":1}}],["lt",{"2":{"6":6,"73":4,"175":1}}],["len",{"2":{"182":7}}],["length",{"2":{"0":1,"5":1,"6":5,"9":1,"18":1,"59":32,"61":1,"62":1,"63":22,"64":11,"66":1,"69":2,"70":2,"72":1,"73":1,"81":1,"82":1,"116":1,"146":16,"153":2,"154":1,"169":2,"175":1,"181":1,"182":1,"183":1,"184":7}}],["legend",{"2":{"180":4}}],["le",{"2":{"116":10}}],["leaving",{"2":{"162":1}}],["leaf",{"2":{"153":1,"156":3}}],["leading",{"2":{"191":1}}],["lead",{"2":{"73":1,"162":1}}],["least",{"2":{"3":4,"6":4,"64":1,"73":1,"82":2,"116":14,"122":6,"125":1,"128":3,"129":2,"130":2,"131":1,"132":1,"135":1,"141":1,"145":1}}],["leftjoin",{"2":{"197":1}}],["leftover",{"2":{"64":1}}],["left=1",{"2":{"64":1}}],["left",{"2":{"59":1,"64":5,"145":1,"146":2,"182":17,"184":5}}],["lets",{"2":{"56":1}}],["let",{"2":{"55":1,"62":1,"116":1,"146":3,"175":1,"191":6,"192":4,"193":3,"194":2,"195":2,"200":1}}],["levels",{"2":{"146":1,"151":1,"159":1}}],["level",{"2":{"6":1,"7":1,"9":1,"18":2,"20":1,"30":1,"151":1,"153":2,"161":1,"163":1,"165":4,"166":1,"167":1,"169":2,"193":2}}],["less",{"2":{"3":1,"6":7,"53":1,"56":1,"59":1,"63":1,"66":1,"85":1,"88":1,"105":1,"122":1,"146":1,"180":1,"181":1}}],["l289",{"2":{"6":1}}],["l2",{"2":{"3":4,"4":4,"6":8,"87":4,"88":12,"90":8,"104":2,"107":5,"121":4,"124":3,"125":2,"134":8}}],["l195",{"2":{"6":1}}],["l177",{"2":{"6":1}}],["l1",{"2":{"3":6,"4":4,"6":10,"87":4,"88":12,"90":8,"93":4,"94":2,"103":4,"104":2,"107":5,"121":4,"124":3,"125":2,"134":8}}],["li",{"2":{"146":2}}],["lie",{"2":{"73":1}}],["lies",{"2":{"64":3,"158":1,"198":1}}],["limitations",{"2":{"73":1}}],["limits",{"2":{"58":1}}],["limited",{"2":{"6":1,"174":1,"177":1}}],["library",{"2":{"69":1,"195":1}}],["libraries",{"2":{"56":1,"167":1,"195":1}}],["libgeos",{"2":{"6":2,"13":1,"14":1,"15":1,"23":1,"32":2,"56":1,"60":5,"79":1,"147":1,"176":7,"180":4,"188":2}}],["little",{"2":{"26":1}}],["literate",{"2":{"26":1,"27":1,"32":1,"50":1,"53":1,"56":1,"59":1,"60":1,"63":1,"64":1,"66":1,"69":1,"71":1,"73":1,"74":1,"80":1,"82":1,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"122":1,"132":1,"142":1,"145":1,"146":1,"147":1,"153":1,"154":1,"155":1,"156":1,"160":1,"163":1,"166":1,"169":1,"170":1,"171":1,"173":1,"177":1,"184":1,"185":1,"186":1,"188":1,"189":1}}],["lift",{"2":{"14":2}}],["lin",{"2":{"176":5}}],["linked",{"2":{"75":1}}],["linrange",{"2":{"13":2,"14":5,"58":2,"84":1,"146":2,"176":1,"180":2}}],["linering",{"2":{"192":1}}],["linewidth",{"2":{"55":1,"191":1}}],["linesegment",{"2":{"145":2,"177":1}}],["lines",{"0":{"97":1,"111":1,"128":1,"138":1},"2":{"3":1,"4":4,"6":5,"64":3,"68":1,"73":9,"77":1,"78":2,"79":2,"84":1,"87":4,"88":4,"90":3,"93":1,"94":1,"103":2,"105":1,"107":3,"116":2,"118":3,"121":4,"122":2,"124":4,"134":3,"135":1,"146":3,"178":1,"191":4,"196":2}}],["linestrings",{"2":{"4":2,"6":2,"9":1,"88":2,"144":1,"161":1,"191":1}}],["linestringtrait",{"2":{"3":2,"4":4,"6":7,"11":3,"32":1,"53":1,"63":4,"72":2,"85":2,"88":8,"96":1,"97":4,"98":1,"105":6,"110":1,"111":5,"122":4,"127":1,"128":4,"129":1,"137":1,"138":4,"139":1,"151":1,"159":2,"165":2,"166":1,"177":2}}],["linestring",{"2":{"3":5,"4":6,"6":15,"18":1,"20":1,"53":2,"63":2,"85":4,"87":2,"88":2,"90":2,"91":1,"96":1,"97":3,"104":2,"107":2,"108":1,"110":1,"111":4,"116":2,"121":2,"127":1,"128":3,"129":1,"134":2,"135":1,"137":1,"138":4,"139":1,"145":7,"153":2,"154":2,"189":3,"191":5,"196":1}}],["linetrait",{"2":{"3":2,"4":4,"6":6,"53":1,"64":2,"69":2,"72":2,"85":2,"88":8,"96":1,"97":4,"98":1,"110":1,"111":5,"122":4,"127":1,"128":4,"129":1,"137":1,"138":4,"139":1}}],["line2",{"2":{"3":3,"6":7,"72":2,"73":2,"105":5,"118":3,"119":2,"122":3,"145":5}}],["line1",{"2":{"3":4,"6":8,"72":2,"73":2,"105":5,"118":3,"119":2,"122":5,"145":5}}],["linea",{"2":{"1":1,"6":1,"185":1}}],["linearmap",{"2":{"180":1}}],["linearalgebra",{"2":{"27":1}}],["linear",{"2":{"4":7,"6":10,"9":1,"56":2,"59":1,"62":1,"63":3,"66":1,"73":1,"85":5,"88":8,"98":1,"116":2,"128":1,"129":2,"138":1,"144":1,"153":1,"154":1,"158":1,"163":3,"175":5,"176":3,"177":4}}],["linearr",{"2":{"1":1,"6":1,"185":1}}],["linearrings",{"2":{"9":1,"112":1,"146":6,"161":1,"191":1}}],["linearringtrait",{"2":{"4":4,"6":4,"11":3,"32":1,"53":3,"56":2,"63":4,"64":4,"72":2,"85":2,"88":8,"96":1,"97":1,"98":4,"110":1,"111":2,"112":3,"127":1,"128":1,"129":4,"137":1,"138":1,"139":4,"159":2,"165":1,"177":2,"180":1}}],["linearring",{"2":{"1":10,"3":2,"4":1,"6":13,"27":1,"53":2,"63":2,"64":2,"80":1,"81":2,"82":1,"85":1,"96":1,"98":3,"110":1,"111":1,"112":2,"116":2,"122":4,"127":1,"128":1,"129":3,"137":1,"139":4,"145":1,"146":3,"150":2,"153":5,"154":2,"161":1,"162":6,"163":1,"168":13,"180":1,"185":8,"191":24,"192":6,"193":8,"198":2}}],["linearsegments",{"2":{"0":1,"6":1,"174":1,"175":1,"176":3,"177":2}}],["line",{"0":{"116":1},"2":{"0":1,"3":13,"4":9,"6":52,"23":1,"52":2,"53":7,"62":3,"63":10,"64":12,"66":8,"68":6,"69":18,"72":8,"73":67,"82":6,"85":11,"88":5,"91":2,"93":2,"94":1,"96":2,"97":11,"98":8,"103":1,"105":11,"108":2,"110":1,"111":9,"112":4,"116":141,"118":2,"119":2,"121":3,"122":12,"124":2,"125":2,"127":1,"128":10,"129":3,"135":2,"137":2,"138":10,"139":7,"145":6,"146":2,"177":1,"180":1,"181":1,"182":4,"183":1,"189":3,"191":3}}],["lineorientation",{"2":{"0":1,"6":2,"72":2}}],["lists",{"2":{"20":1,"64":3,"122":1}}],["listed",{"2":{"6":1,"53":1,"180":1}}],["list",{"2":{"6":16,"9":1,"53":20,"64":233,"69":20,"70":14,"71":8,"72":13,"73":5,"81":13,"82":1,"199":2}}],["likely",{"2":{"151":1}}],["like",{"0":{"74":1},"2":{"1":2,"6":5,"17":1,"18":2,"19":1,"20":1,"23":1,"24":1,"30":1,"56":1,"58":1,"59":1,"62":1,"66":1,"70":1,"72":1,"80":1,"81":1,"84":1,"85":1,"88":1,"148":2,"150":2,"153":1,"154":2,"159":2,"165":2,"166":1,"174":1,"175":1,"192":2}}],["iah",{"2":{"196":2}}],["image",{"2":{"146":1}}],["impossible",{"2":{"69":1,"121":1}}],["important",{"2":{"175":1}}],["import",{"2":{"1":3,"6":4,"13":2,"14":2,"15":1,"27":9,"52":1,"55":1,"60":1,"62":1,"65":1,"69":1,"70":1,"72":1,"73":1,"81":1,"84":1,"87":1,"88":1,"90":1,"91":1,"93":1,"94":1,"103":1,"104":1,"105":1,"107":1,"108":1,"118":1,"119":1,"121":1,"122":1,"124":1,"125":1,"134":1,"135":1,"145":3,"150":1,"153":2,"154":1,"173":1,"176":2,"179":2,"180":3,"185":2,"189":1,"190":5}}],["implements",{"2":{"32":1,"188":1}}],["implementing",{"2":{"6":1,"180":1}}],["implement",{"2":{"6":1,"17":1,"23":1,"53":1,"56":1,"59":1,"63":1,"66":1,"80":1,"85":1,"88":1,"94":1,"108":1,"122":1,"125":1,"135":1,"148":1,"164":1,"165":3,"166":1}}],["implementation",{"0":{"53":1,"56":1,"63":1,"66":1,"69":1,"80":1,"85":1,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"125":1,"135":1,"163":1,"169":1,"177":1},"2":{"6":1,"53":3,"56":3,"59":1,"63":3,"66":3,"81":1,"85":3,"88":3,"91":1,"94":2,"104":1,"108":2,"119":1,"122":3,"125":2,"135":2,"146":2,"147":1,"153":1,"154":1,"172":1,"177":1,"180":1,"188":1}}],["implementations",{"2":{"6":1,"94":1,"108":1,"125":1,"135":1,"147":1,"178":1,"188":3}}],["implemented",{"0":{"147":1},"2":{"1":1,"6":2,"27":1,"56":1,"59":3,"69":2,"71":2,"73":2,"80":1,"82":2,"85":2,"147":1,"148":2,"154":1,"165":2,"172":1,"178":1}}],["improvements",{"2":{"9":2,"10":1}}],["improve",{"2":{"4":1,"6":1,"170":1}}],["i=2",{"2":{"145":1}}],["ipoints",{"2":{"116":4}}],["ip",{"2":{"88":2}}],["ipt",{"2":{"64":8}}],["ihole",{"2":{"88":2}}],["ih",{"2":{"82":22}}],["i2",{"2":{"66":2}}],["i1",{"2":{"66":2}}],["ii",{"2":{"64":8}}],["io",{"2":{"60":5,"173":5,"176":5}}],["i+1",{"2":{"59":8,"146":1,"182":2,"184":1}}],["i",{"2":{"9":1,"13":4,"22":1,"53":14,"56":1,"59":16,"64":28,"66":4,"71":2,"81":2,"82":4,"85":2,"88":8,"105":7,"116":28,"145":14,"146":17,"153":8,"154":8,"177":2,"181":3,"182":12,"184":28,"189":2,"191":2,"192":1,"199":3}}],["id",{"2":{"194":1}}],["identical",{"2":{"153":1,"168":1}}],["identity",{"2":{"146":4,"156":2,"170":1}}],["ideal",{"2":{"146":1}}],["idea",{"2":{"6":1,"20":1,"25":1,"28":1,"59":1,"148":1,"154":1}}],["idx`",{"2":{"64":1}}],["idx",{"2":{"53":6,"64":167,"66":9,"69":23,"70":5,"72":5,"81":2,"169":34,"182":51}}],["id=",{"2":{"6":2}}],["ignored",{"2":{"6":1,"146":1}}],["ignore",{"2":{"6":1,"146":2}}],["innerjoin",{"2":{"197":1,"198":1,"199":1}}],["inner",{"2":{"116":6,"153":5}}],["in=1",{"2":{"116":1}}],["in`",{"2":{"116":1}}],["inject",{"0":{"74":1},"2":{"173":1}}],["inaccuracies",{"2":{"73":1}}],["ind",{"2":{"199":2}}],["individual",{"2":{"193":1}}],["indicate",{"2":{"156":1}}],["indicates",{"2":{"20":1}}],["indices",{"2":{"64":4,"153":2,"154":2,"184":16}}],["indeed",{"2":{"162":1}}],["index",{"2":{"59":8,"64":11,"116":1,"153":1,"182":1}}],["inds",{"2":{"146":3}}],["inplace",{"2":{"59":1}}],["inputs",{"2":{"6":1,"64":1,"88":1,"91":1,"104":1,"119":1,"184":1}}],["input",{"2":{"6":11,"53":1,"69":1,"70":1,"72":1,"73":1,"81":1,"146":1,"148":1,"154":1,"176":3,"177":1,"181":1,"182":1,"183":1,"192":1}}],["inbounds",{"2":{"59":16,"85":5,"116":1}}],["inspiration",{"2":{"69":1}}],["inspired",{"2":{"68":1,"69":2}}],["inside",{"2":{"53":3,"62":1,"64":3,"66":1,"70":1,"71":1,"72":1,"73":1,"81":1,"82":2,"84":3,"85":1,"96":1,"116":1,"134":1,"137":1,"146":2}}],["insertion",{"2":{"64":1}}],["insert",{"2":{"53":1,"182":1}}],["instability",{"2":{"24":2}}],["instantiating",{"2":{"20":1}}],["instead",{"2":{"18":1,"24":1,"154":1,"177":1}}],["instructs",{"2":{"6":1,"188":2}}],["inline",{"2":{"32":1,"116":4,"145":1,"153":12,"154":10,"160":2}}],["init=nothing",{"2":{"154":1}}],["init=typemax",{"2":{"85":2}}],["init=zero",{"2":{"56":1,"66":1}}],["initial",{"2":{"73":2,"176":1}}],["initially",{"2":{"64":1}}],["initialize",{"2":{"59":3,"63":2,"64":1,"73":1}}],["init",{"2":{"19":1,"27":1,"53":1,"63":2,"154":30,"176":4}}],["incorrect",{"2":{"161":1,"162":1}}],["increase",{"2":{"64":1,"116":1}}],["increasing",{"2":{"6":1,"180":1}}],["increment",{"2":{"59":5}}],["including",{"2":{"53":1,"64":2,"73":1,"85":1,"96":1,"97":1,"98":1,"99":1,"116":2}}],["include",{"2":{"27":41,"53":1,"64":1,"75":1,"85":2,"160":1,"180":2,"193":2,"194":1}}],["included",{"2":{"6":2,"82":2,"166":2,"169":2,"193":1}}],["includes",{"2":{"4":2,"6":2,"82":1,"85":2,"88":1,"116":1}}],["incircle",{"0":{"16":1}}],["inv",{"2":{"158":3}}],["investigate",{"2":{"146":1}}],["investigating",{"0":{"79":1}}],["inverted",{"2":{"6":1,"80":1}}],["invalid",{"2":{"20":1,"71":2,"162":1,"167":1,"168":1}}],["invoke",{"2":{"20":1}}],["involved",{"2":{"148":1}}],["involve",{"2":{"20":1}}],["involving",{"2":{"6":3,"70":1,"72":1,"81":1}}],["invocation",{"2":{"18":1}}],["ing",{"2":{"1":1,"6":2,"59":1,"185":1}}],["intr",{"2":{"64":28,"66":9,"69":16,"73":8}}],["intr2",{"2":{"64":2,"73":14}}],["intr1",{"2":{"64":3,"73":21,"116":2}}],["intrs",{"2":{"64":10,"73":5}}],["introduction",{"0":{"28":1},"1":{"29":1,"30":1,"31":1}}],["introducing",{"2":{"24":1}}],["introduces",{"2":{"24":1}}],["int",{"2":{"64":6,"82":7,"105":7,"177":1,"180":1,"182":5,"183":1,"184":1}}],["integrate",{"2":{"56":1}}],["integrating",{"2":{"56":1}}],["integrals",{"2":{"55":1}}],["integral",{"2":{"55":1}}],["intended",{"2":{"6":1,"165":2,"166":1}}],["intermediate",{"2":{"66":1}}],["inter2",{"2":{"66":15}}],["inter1",{"2":{"66":23}}],["interpreted",{"2":{"59":1}}],["interpolation",{"2":{"5":1,"6":1,"58":1,"59":2,"174":1}}],["interpolated",{"2":{"5":3,"6":3,"59":17,"174":1}}],["interpolate",{"2":{"0":2,"5":2,"6":4,"57":1,"58":2,"59":25}}],["interest",{"2":{"59":1,"85":1}}],["internal",{"2":{"58":1}}],["internals",{"2":{"24":1}}],["inter",{"2":{"6":3,"64":21,"69":1,"70":1,"72":5,"73":4}}],["interface",{"0":{"165":1},"2":{"6":3,"20":1,"75":1,"80":1,"153":1,"164":1,"165":4,"166":1,"180":1,"192":1}}],["interacted",{"2":{"116":1}}],["interaction",{"0":{"116":1},"2":{"116":2}}],["interactions",{"2":{"64":1,"82":3,"116":15}}],["interactive",{"2":{"13":1,"14":1}}],["interacting",{"2":{"6":1,"72":1,"116":2}}],["interacts",{"2":{"3":1,"6":1,"116":3,"124":1,"125":1,"128":3,"129":1,"130":1}}],["interact",{"2":{"3":2,"6":2,"81":1,"82":1,"107":1,"116":5,"119":1,"124":1,"125":1,"127":1,"128":2,"129":2,"130":1}}],["interior",{"2":{"3":6,"6":7,"53":9,"55":1,"59":7,"63":5,"64":1,"82":18,"90":1,"91":1,"93":1,"94":3,"97":5,"98":1,"99":2,"103":2,"104":1,"105":1,"108":2,"110":2,"111":6,"112":3,"116":15,"124":1,"125":3,"128":1,"129":2,"130":2,"134":1,"135":3,"140":2,"145":2,"163":1,"166":1}}],["interiors",{"2":{"3":6,"6":7,"59":20,"90":1,"91":1,"93":1,"103":1,"104":1,"107":1,"108":1,"113":1,"116":5,"118":1,"119":1,"124":1,"125":1,"127":1,"128":2,"129":1,"134":1,"135":1,"138":3,"139":3}}],["intersectingpolygons",{"2":{"6":3}}],["intersecting",{"0":{"167":1},"1":{"168":1,"169":1},"2":{"6":4,"27":1,"64":2,"82":2,"166":4,"167":1,"169":4}}],["intersections",{"0":{"73":1},"2":{"64":2,"66":2,"71":1,"72":2,"73":1,"82":1,"116":2}}],["intersection",{"0":{"37":1,"72":1,"117":1},"1":{"118":1,"119":1},"2":{"0":2,"3":3,"6":19,"9":1,"15":4,"23":1,"27":1,"37":2,"64":38,"66":6,"69":3,"70":4,"71":4,"72":15,"73":73,"81":2,"82":2,"105":2,"116":6,"118":1,"122":5}}],["intersect",{"2":{"3":8,"6":11,"64":4,"66":3,"70":2,"72":1,"73":1,"81":1,"82":5,"90":1,"91":2,"93":1,"94":1,"104":1,"108":1,"111":1,"113":1,"116":4,"118":2,"122":1,"134":1,"135":2,"138":3,"139":3,"168":1,"169":4}}],["intersects",{"0":{"49":1,"118":1},"2":{"0":2,"3":3,"6":6,"27":1,"49":2,"64":1,"73":2,"82":2,"105":2,"117":1,"118":4,"119":4,"122":5,"140":1,"169":2,"197":1}}],["into",{"2":{"5":1,"6":5,"17":1,"26":1,"53":1,"56":1,"59":1,"63":4,"64":2,"69":1,"70":1,"72":1,"116":1,"146":4,"153":3,"154":2,"155":1,"156":2,"159":1,"169":1,"180":1,"189":2,"191":2,"197":1}}],["int64",{"2":{"1":6,"6":6,"162":6,"181":1,"182":1,"184":1,"185":6,"191":14}}],["influence",{"2":{"158":1}}],["infinity",{"2":{"116":1,"122":1}}],["info",{"2":{"6":2,"174":1}}],["information",{"0":{"193":1},"2":{"6":1,"30":1,"59":1,"64":2,"65":1,"73":1,"80":1,"116":1,"190":1,"193":3,"195":2}}],["inf",{"2":{"1":1,"9":1,"69":2,"181":1,"184":3}}],["in",{"0":{"23":1},"2":{"1":6,"3":3,"4":1,"5":4,"6":45,"7":1,"9":2,"13":6,"14":2,"17":2,"18":4,"20":1,"23":3,"24":2,"25":1,"26":3,"27":2,"28":1,"30":1,"31":1,"32":1,"33":1,"53":7,"55":1,"56":3,"57":2,"59":22,"60":1,"62":2,"63":5,"64":72,"66":31,"69":6,"70":9,"71":3,"72":5,"73":29,"79":1,"80":3,"81":11,"82":28,"84":6,"85":6,"87":1,"88":17,"90":2,"91":1,"94":10,"97":1,"98":1,"99":1,"100":1,"101":1,"104":1,"105":7,"108":9,"110":1,"111":1,"112":1,"114":1,"115":1,"116":135,"118":2,"119":1,"121":1,"122":11,"124":1,"125":11,"129":1,"131":1,"132":1,"134":1,"135":10,"138":3,"139":3,"141":1,"142":1,"145":4,"146":10,"147":3,"148":1,"150":2,"151":2,"152":1,"153":8,"154":4,"156":8,"157":1,"158":5,"159":1,"160":1,"164":1,"165":1,"166":2,"167":1,"169":7,"170":1,"171":2,"172":3,"173":1,"174":2,"175":2,"176":14,"177":8,"178":1,"180":5,"181":2,"182":4,"183":1,"184":5,"185":2,"186":1,"187":4,"188":4,"189":8,"190":1,"191":2,"192":6,"195":2,"197":4,"198":3,"199":1,"200":1}}],["itererable",{"2":{"189":1}}],["iter",{"2":{"156":31}}],["iterator",{"2":{"64":4,"72":2,"156":4}}],["iterators",{"2":{"13":1,"59":1,"64":5,"66":3,"72":1,"82":2,"146":1,"153":2,"154":3,"156":8,"169":6,"177":1}}],["iterate",{"2":{"59":2,"151":1,"153":1,"156":4}}],["iteration",{"2":{"56":1}}],["iterabletype",{"2":{"153":5,"154":6}}],["iterable",{"2":{"4":1,"6":2,"18":1,"56":1,"66":1,"80":1,"153":17,"154":15,"156":11,"191":1}}],["iterables",{"2":{"1":2,"22":1,"150":2,"153":1,"154":2,"156":3}}],["ith",{"2":{"64":3,"82":7}}],["itself",{"2":{"66":1,"145":1,"151":1}}],["its",{"2":{"5":1,"6":9,"18":1,"55":1,"59":1,"64":2,"66":4,"82":1,"97":1,"156":2,"164":1,"180":1,"181":1,"182":1,"183":3,"197":1}}],["it",{"2":{"1":4,"4":1,"6":14,"9":1,"18":11,"19":2,"20":1,"22":1,"30":3,"31":1,"52":1,"53":1,"55":2,"56":3,"58":1,"60":1,"63":2,"64":2,"65":1,"66":2,"70":1,"71":1,"72":1,"73":4,"79":2,"80":2,"81":1,"82":3,"85":3,"88":1,"93":2,"96":3,"110":3,"116":14,"121":1,"122":1,"127":2,"137":3,"144":1,"145":2,"146":4,"148":3,"150":1,"151":3,"152":1,"153":8,"154":5,"156":8,"158":1,"159":2,"160":2,"162":1,"163":1,"164":1,"166":1,"167":1,"172":5,"175":2,"176":1,"177":1,"180":1,"182":1,"187":1,"188":7,"192":3,"193":3,"195":3,"199":2,"200":2}}],["iff",{"2":{"153":1}}],["if",{"0":{"74":1},"2":{"1":5,"3":17,"4":19,"5":1,"6":68,"18":1,"22":2,"32":1,"52":1,"53":15,"55":1,"56":6,"59":5,"60":3,"63":1,"64":95,"66":36,"69":8,"70":13,"71":12,"72":9,"73":44,"80":3,"81":10,"82":22,"84":2,"85":8,"87":2,"88":35,"90":1,"91":1,"93":1,"94":2,"96":4,"97":3,"98":3,"99":2,"100":1,"101":1,"103":1,"104":1,"105":9,"107":1,"108":3,"110":5,"111":4,"112":2,"113":2,"114":1,"115":1,"116":132,"118":1,"119":1,"121":4,"122":16,"124":1,"125":2,"127":4,"128":3,"129":2,"130":2,"131":1,"132":1,"134":1,"135":2,"137":5,"138":3,"139":3,"140":1,"141":1,"142":1,"145":5,"146":35,"150":3,"151":1,"153":19,"154":6,"156":9,"160":1,"163":1,"165":1,"166":2,"167":1,"169":12,"170":1,"171":1,"172":3,"173":2,"176":6,"177":1,"180":1,"182":12,"184":12,"185":1,"186":1,"188":2,"192":1,"195":1,"198":2,"199":1}}],["isolate",{"2":{"180":1}}],["isodd",{"2":{"69":1}}],["istable",{"2":{"153":1,"154":1,"156":1}}],["isequal",{"2":{"146":1}}],["iseven",{"2":{"116":1}}],["isempty",{"2":{"56":1,"59":4,"66":1,"70":1,"71":2,"72":1,"146":1,"165":1,"182":1}}],["isparallel",{"2":{"116":1,"145":8}}],["is3d",{"2":{"88":1,"156":1,"171":1,"185":1,"186":1,"189":10}}],["issue",{"2":{"64":1}}],["issues",{"2":{"25":1,"28":1}}],["isa",{"2":{"18":1,"59":9,"153":3,"154":1,"177":2,"189":1}}],["isnothing",{"2":{"60":1,"64":9,"69":1,"71":2,"73":2,"82":2,"88":1,"146":1,"173":1,"176":1,"180":1,"181":1,"182":5,"183":1,"184":6}}],["isn",{"2":{"6":1,"56":1,"64":4,"66":1,"69":1,"71":1,"73":3,"82":2,"85":3,"88":1,"93":1,"116":9,"122":1,"180":1,"188":1}}],["isconcave",{"0":{"145":1},"2":{"0":1,"6":2,"79":1,"143":1,"145":3}}],["isclockwise",{"0":{"144":1},"2":{"0":1,"6":2,"66":1,"143":1,"145":5,"146":2}}],["is",{"0":{"25":1,"52":1,"55":2,"62":1,"65":1,"68":1,"84":2,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"124":1,"134":1,"151":1},"2":{"0":1,"1":10,"3":8,"4":43,"5":1,"6":103,"9":3,"11":1,"13":1,"14":1,"18":3,"19":1,"20":1,"22":3,"23":2,"25":2,"28":2,"52":1,"53":19,"55":7,"56":19,"57":2,"58":2,"59":15,"60":3,"62":2,"63":5,"64":82,"65":3,"66":22,"68":1,"69":2,"70":4,"71":13,"72":4,"73":40,"75":1,"79":5,"80":4,"81":7,"82":20,"84":8,"85":23,"88":13,"90":2,"91":3,"93":4,"94":4,"96":7,"97":3,"98":3,"99":1,"100":1,"101":1,"104":3,"105":3,"107":1,"108":5,"110":9,"111":4,"112":2,"113":1,"114":1,"115":1,"116":91,"119":2,"121":3,"122":12,"125":4,"127":2,"134":4,"135":5,"137":8,"138":3,"139":3,"140":1,"141":2,"142":1,"144":2,"145":7,"146":11,"147":1,"148":3,"150":3,"151":3,"152":1,"153":18,"154":4,"156":7,"158":11,"159":1,"160":1,"161":7,"162":2,"163":1,"164":3,"165":2,"166":1,"167":4,"168":1,"169":2,"171":1,"172":7,"173":2,"174":3,"175":3,"176":9,"177":8,"179":1,"180":4,"181":1,"182":2,"183":1,"185":2,"187":1,"188":3,"191":4,"192":5,"193":3,"194":1,"195":3,"197":2,"198":5,"199":2}}],["cpu",{"2":{"199":1}}],["cp",{"2":{"196":1}}],["circumstances",{"2":{"158":2}}],["cy",{"2":{"145":2}}],["cyan",{"2":{"60":1,"173":1,"176":1}}],["cx",{"2":{"145":2}}],["cdot",{"2":{"145":1}}],["cs",{"2":{"116":9}}],["cshape",{"2":{"62":3}}],["cw",{"2":{"66":2}}],["cb",{"2":{"58":1,"79":1,"146":1}}],["cgrad",{"2":{"58":1}}],["cgal",{"2":{"58":1}}],["c",{"2":{"32":1,"56":1,"62":1,"66":4,"69":5,"74":3,"116":24,"176":1}}],["cleaner",{"2":{"80":1}}],["cleanest",{"2":{"80":1}}],["clear",{"2":{"65":1}}],["clearly",{"2":{"52":1,"55":1,"84":1}}],["clamped",{"2":{"73":18}}],["clamp",{"2":{"53":1,"73":1}}],["classified",{"2":{"64":1}}],["classify",{"2":{"64":4}}],["class",{"2":{"6":1,"146":1}}],["class=",{"2":{"6":6}}],["clipping",{"0":{"64":1,"70":1,"71":1,"73":1,"81":1,"82":1},"2":{"6":1,"9":1,"27":8,"64":9,"69":3,"70":1,"72":1,"81":1,"167":1}}],["closure",{"2":{"153":2}}],["closing",{"2":{"53":1}}],["closer",{"2":{"158":1}}],["close",{"2":{"53":5,"64":2,"66":1,"69":1,"73":1,"85":9,"146":1,"162":1,"163":4}}],["closest",{"2":{"4":3,"6":3,"73":2,"84":1,"85":6,"158":1}}],["closed2",{"2":{"88":2}}],["closed1",{"2":{"88":2}}],["closed",{"0":{"161":1},"1":{"162":1,"163":1},"2":{"4":4,"6":11,"9":1,"27":1,"53":6,"56":3,"63":3,"64":1,"66":1,"73":1,"82":3,"88":21,"96":2,"97":5,"98":5,"110":2,"111":5,"112":3,"116":52,"128":5,"129":1,"137":3,"138":5,"139":5,"145":1,"146":1,"161":1,"162":1,"163":2,"164":1,"166":1,"191":1}}],["closedring",{"2":{"0":1,"6":1,"161":1,"162":1,"163":4,"164":1,"165":1,"166":1}}],["clockwise",{"2":{"4":1,"6":4,"9":1,"55":1,"56":1,"66":7,"79":1,"144":2,"145":3,"146":1}}],["ceil",{"2":{"177":1}}],["ce",{"2":{"116":11}}],["certainly",{"2":{"73":1}}],["certain",{"2":{"17":1,"18":1,"26":1,"30":1}}],["central",{"2":{"64":1}}],["centroids",{"2":{"62":1,"63":1}}],["centroid",{"0":{"61":1,"62":1},"1":{"62":1,"63":1},"2":{"0":4,"4":2,"6":6,"27":1,"61":3,"62":4,"63":38,"148":1,"154":1,"180":4}}],["cent",{"2":{"62":2}}],["centered",{"2":{"64":1}}],["center",{"2":{"6":1,"62":1,"146":1}}],["cells",{"2":{"146":1}}],["cell",{"2":{"6":4,"65":3,"66":28,"146":2}}],["children",{"2":{"180":1}}],["child",{"2":{"156":9}}],["chunks",{"2":{"153":4,"154":5}}],["chunk",{"2":{"153":6,"154":7}}],["chull",{"2":{"50":2}}],["chose",{"2":{"24":1,"146":1}}],["choose",{"2":{"6":1,"80":1,"146":2}}],["changes",{"2":{"64":1}}],["changed",{"2":{"64":1}}],["change",{"2":{"24":1,"64":1,"79":1}}],["chain=2",{"2":{"64":1}}],["chain=1",{"2":{"64":1}}],["chain",{"2":{"64":66,"71":3,"73":4,"79":2,"82":4}}],["chains",{"2":{"20":1,"64":1}}],["chairmarks",{"2":{"13":1,"176":1,"180":1}}],["checkargs",{"2":{"181":1,"182":1,"183":1,"184":1}}],["checking",{"2":{"88":1,"182":1}}],["checks",{"0":{"105":1,"117":1},"1":{"118":1,"119":1},"2":{"60":1,"64":1,"73":1,"87":1,"90":1,"93":1,"103":1,"107":1,"116":5,"118":1,"121":1,"122":1,"124":1,"134":1,"198":1}}],["check",{"2":{"4":1,"6":1,"7":1,"63":1,"64":8,"66":3,"69":1,"70":1,"73":4,"74":1,"81":1,"88":8,"116":11,"146":5,"153":1,"168":1,"170":1,"175":2,"182":1,"184":1}}],["checked",{"2":{"4":1,"6":1,"64":1,"73":1,"79":1,"116":1,"170":1}}],["c2",{"2":{"6":3,"15":2,"85":3,"88":14,"146":21}}],["c1",{"2":{"6":3,"15":2,"85":4,"88":13,"146":26}}],["ctor",{"2":{"1":1,"6":1,"185":1}}],["categorize",{"2":{"69":1}}],["categorical",{"2":{"58":1}}],["came",{"2":{"69":1}}],["case",{"2":{"53":1,"57":2,"63":1,"64":1,"70":1,"73":2,"82":1,"116":16,"154":1,"177":1,"200":1}}],["cases",{"2":{"6":1,"59":1,"69":2,"116":3,"151":1,"153":1,"154":1,"156":3}}],["cause",{"2":{"18":1,"23":1,"182":1}}],["careful",{"2":{"59":1,"151":1}}],["care",{"2":{"17":1,"153":1,"158":1}}],["carried",{"2":{"6":1,"188":1}}],["cairomakie",{"2":{"13":1,"52":1,"55":1,"58":2,"62":1,"65":1,"68":1,"77":1,"78":1,"79":1,"84":1,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"124":1,"134":1,"175":1,"176":1,"180":1,"190":1,"196":1,"198":1,"199":1}}],["california",{"2":{"199":1}}],["callable",{"2":{"146":4,"165":1}}],["calls",{"2":{"64":1,"73":1,"82":1,"85":1,"94":1,"108":1,"125":1,"135":1,"151":1,"153":1,"177":1}}],["calling",{"2":{"33":1,"64":2,"153":1}}],["call",{"2":{"18":1,"24":1,"56":1,"63":1,"153":4,"178":1}}],["called",{"2":{"6":2,"63":3,"64":1,"153":1,"163":1,"165":1,"166":1,"188":1,"192":1}}],["calculation",{"2":{"73":1}}],["calculations",{"2":{"6":1,"25":2,"28":2,"73":1,"158":2,"176":1}}],["calculating",{"2":{"4":1,"6":1,"18":1,"64":1,"170":1}}],["calculated",{"2":{"6":1,"62":2,"66":1,"73":2,"85":1,"153":4}}],["calculates",{"2":{"4":2,"6":6,"56":1,"59":2,"66":1,"73":2,"81":1,"85":2,"176":1,"183":1}}],["calculate",{"2":{"1":2,"5":1,"6":5,"11":1,"53":3,"59":3,"63":1,"66":1,"73":1,"116":1,"146":1,"150":1,"153":3,"155":1}}],["calc",{"2":{"1":2,"6":3,"24":1,"27":1,"32":1,"35":2,"36":2,"37":2,"38":2,"50":1,"53":4,"150":1,"152":1,"153":19,"155":1,"160":1,"170":1,"180":2}}],["cache",{"2":{"6":1,"59":1}}],["cant",{"2":{"88":1,"146":1,"189":1}}],["cannot",{"2":{"3":3,"4":2,"6":5,"56":1,"88":1,"96":1,"99":1,"122":2,"125":1,"127":2,"129":1,"140":1}}],["can",{"2":{"1":1,"4":2,"6":14,"7":2,"9":1,"13":1,"14":1,"24":1,"26":1,"27":1,"53":1,"56":1,"57":2,"58":1,"59":3,"60":1,"63":1,"64":3,"66":1,"70":3,"72":3,"73":1,"79":1,"80":2,"81":3,"82":1,"87":1,"88":3,"90":1,"93":1,"105":1,"107":1,"116":23,"118":2,"121":2,"122":3,"124":1,"128":1,"129":1,"134":1,"137":1,"138":1,"139":1,"146":1,"147":1,"148":1,"150":1,"152":1,"153":8,"155":1,"156":2,"158":1,"162":2,"163":1,"166":1,"167":2,"168":1,"170":1,"173":1,"175":1,"176":2,"180":2,"188":1,"191":6,"192":1,"193":3,"195":3,"197":3,"198":3}}],["creation",{"2":{"191":1,"193":1}}],["creating",{"0":{"190":1,"191":1,"194":1},"1":{"191":1,"192":1,"193":1,"194":1,"195":1},"2":{"116":1}}],["creates",{"2":{"7":1,"64":3}}],["create",{"0":{"193":1},"2":{"6":2,"13":2,"14":1,"64":1,"69":1,"73":2,"80":1,"146":2,"153":1,"166":2,"167":3,"169":2,"190":2,"191":4,"192":5,"193":3,"194":1,"195":1,"198":1}}],["created",{"2":{"4":2,"6":2,"64":1,"85":3}}],["criteria",{"2":{"94":2,"108":2,"125":2,"135":2,"182":3}}],["cropping",{"2":{"58":2}}],["cross=1",{"2":{"72":1}}],["cross`",{"2":{"72":1}}],["crossings",{"2":{"64":3,"116":1}}],["crossing",{"0":{"105":1},"2":{"6":2,"64":81,"70":1,"71":7,"72":3,"73":7,"81":1,"82":6,"94":1,"105":1,"116":1,"135":1}}],["cross",{"0":{"132":1},"2":{"6":1,"9":1,"53":3,"64":13,"69":14,"70":2,"71":1,"72":2,"73":10,"74":4,"81":2,"82":1,"94":1,"105":2,"108":1,"116":17,"122":2,"125":1,"135":1,"145":3}}],["crosses",{"0":{"43":1},"2":{"0":2,"3":2,"6":3,"27":1,"43":2,"64":1,"69":1,"105":26,"116":2,"197":1}}],["crc",{"2":{"6":1,"59":1}}],["crs2",{"2":{"192":2}}],["crs1",{"2":{"192":2,"193":1}}],["crs=nothing",{"2":{"153":1,"170":1,"180":1}}],["crs=gi",{"2":{"153":5,"156":3}}],["crs`",{"2":{"153":1,"172":6}}],["crs",{"0":{"192":1},"2":{"1":16,"4":2,"6":8,"27":1,"32":2,"35":2,"36":2,"37":2,"38":2,"50":2,"80":1,"146":10,"150":2,"152":3,"153":36,"155":2,"156":5,"170":1,"172":7,"180":1,"190":1,"192":13,"193":7,"195":1}}],["customize",{"2":{"153":1,"154":1}}],["custom",{"0":{"200":1},"2":{"6":3,"59":1,"200":2}}],["curr^2",{"2":{"53":2}}],["curr",{"2":{"53":8,"64":116,"69":9,"82":3,"169":26}}],["currentnode",{"2":{"146":8}}],["current",{"2":{"53":1,"59":8,"64":3,"69":2,"71":1,"73":1,"82":6,"146":2,"169":3}}],["currently",{"2":{"5":1,"6":3,"23":1,"59":1,"64":1,"69":1,"71":2,"146":1,"153":1,"158":2}}],["curve",{"0":{"116":1},"2":{"3":1,"4":7,"6":18,"53":6,"56":7,"64":5,"66":3,"72":7,"84":1,"85":22,"88":6,"94":2,"96":4,"97":9,"98":9,"108":1,"110":4,"111":6,"112":3,"116":152,"122":1,"125":1,"128":6,"130":3,"135":1,"137":4,"138":6,"139":6}}],["curves",{"2":{"0":1,"3":1,"6":5,"56":3,"66":3,"73":1,"84":1,"85":1,"88":13,"99":1,"116":1,"122":1,"140":1,"180":2}}],["cutpolygon",{"2":{"68":1}}],["cuts",{"2":{"68":1}}],["cutting",{"0":{"67":1},"1":{"68":1,"69":1},"2":{"64":1,"69":2}}],["cut",{"0":{"68":1},"2":{"0":1,"6":6,"27":1,"59":1,"67":1,"68":5,"69":22,"116":1}}],["coastlines",{"2":{"196":1}}],["coarse",{"2":{"6":1,"174":1,"177":1}}],["cos",{"2":{"191":3,"192":1,"193":2}}],["copy",{"2":{"153":1,"165":1,"184":1}}],["coors1",{"2":{"145":2}}],["coors2",{"2":{"145":3}}],["coord",{"2":{"177":6}}],["coords",{"2":{"69":9,"177":8}}],["coordinatetransformations",{"2":{"1":2,"6":2,"180":1,"185":2,"190":1,"191":5,"193":2}}],["coordinate",{"0":{"59":1,"171":1,"192":1,"193":1},"2":{"1":4,"5":5,"6":7,"25":1,"28":1,"58":2,"59":10,"156":1,"172":4,"177":1,"190":3,"192":1}}],["coordinates",{"0":{"5":1,"57":1},"1":{"58":1,"59":1},"2":{"0":4,"1":1,"4":2,"5":7,"6":20,"56":2,"57":8,"59":25,"64":2,"65":1,"69":2,"70":1,"72":1,"81":1,"85":1,"88":2,"148":1,"158":2,"171":2,"172":1,"175":1,"176":3,"192":2}}],["co",{"2":{"116":2}}],["core",{"2":{"157":1}}],["corner",{"2":{"66":4,"146":1}}],["corners",{"2":{"66":1}}],["correspondent",{"2":{"145":1}}],["correspond",{"2":{"64":1}}],["corresponding",{"2":{"53":3,"71":2}}],["corrected",{"2":{"165":1}}],["correctness",{"2":{"161":1,"188":1}}],["correctly",{"2":{"153":1,"175":1}}],["correcting",{"2":{"20":1,"165":1}}],["corrections",{"0":{"164":1,"166":1},"1":{"165":1,"166":1},"2":{"162":1,"165":6,"168":1}}],["correction",{"2":{"6":10,"27":4,"70":1,"71":2,"72":1,"73":2,"81":1,"82":2,"161":1,"163":2,"164":2,"165":8,"166":7,"167":1,"169":2}}],["correct",{"2":{"6":3,"24":1,"53":1,"56":1,"63":1,"64":1,"66":1,"70":1,"72":1,"81":1,"85":1,"88":1,"94":1,"108":1,"122":1,"125":1,"135":1,"161":1,"162":2,"164":1}}],["cov",{"2":{"66":16}}],["cover",{"2":{"96":1,"100":1}}],["covering",{"2":{"6":2,"103":1,"166":2,"169":2}}],["covered",{"0":{"98":1,"99":1,"139":1},"2":{"3":1,"6":1,"71":1,"82":1,"93":1,"94":1,"98":2,"99":2,"100":1,"101":2,"103":1,"115":2,"116":3,"169":1}}],["coveredby",{"0":{"48":1,"92":1,"93":1,"96":1,"97":1,"100":1,"101":1,"115":1},"1":{"93":1,"94":1},"2":{"0":2,"3":4,"6":4,"27":1,"48":2,"64":1,"92":1,"93":3,"94":10,"95":6,"96":13,"97":15,"98":13,"99":5,"100":2,"101":2,"104":3,"197":1}}],["covers",{"0":{"47":1,"102":1,"103":1},"1":{"103":1,"104":1},"2":{"0":2,"3":5,"6":5,"27":1,"47":2,"102":1,"103":4,"104":5,"146":1,"197":1}}],["coverages",{"2":{"6":1,"66":1}}],["coverage",{"0":{"65":1},"2":{"0":1,"6":2,"27":1,"65":3,"66":16}}],["code",{"2":{"7":1,"10":1,"26":5,"59":1,"94":1,"108":1,"116":1,"125":1,"135":1,"145":1,"160":1,"187":1,"199":1}}],["colatitude",{"2":{"158":1}}],["colname",{"2":{"153":3}}],["col",{"2":{"153":2,"154":1}}],["columns",{"2":{"153":2}}],["column",{"2":{"22":1,"153":9,"154":8,"156":2,"194":2,"197":8}}],["colored",{"2":{"198":1}}],["color=",{"2":{"192":2}}],["colors",{"2":{"77":1,"78":1,"196":1,"198":2}}],["colorrange",{"2":{"58":2,"84":1}}],["colorbar",{"2":{"58":1,"79":1,"84":1,"146":1}}],["colormap",{"2":{"14":1,"58":3,"84":1}}],["color",{"2":{"6":1,"55":1,"58":2,"59":1,"60":1,"62":1,"68":3,"77":1,"78":1,"79":2,"84":2,"87":4,"90":4,"93":1,"103":1,"107":4,"121":4,"134":4,"173":1,"176":1,"191":1,"192":1,"196":1,"198":5}}],["collect",{"2":{"11":3,"13":1,"50":1,"52":1,"55":2,"59":1,"62":1,"65":2,"68":2,"80":2,"84":1,"146":3,"153":2,"154":1,"175":4,"189":2}}],["collections",{"0":{"100":1,"101":1,"114":1,"115":1,"131":1,"132":1,"141":1,"142":1},"2":{"1":2,"6":8,"22":1,"150":2,"152":1,"153":2,"154":2,"156":3,"180":2,"195":1}}],["collection",{"2":{"1":1,"4":7,"6":12,"18":2,"30":2,"53":2,"56":3,"66":2,"85":2,"100":2,"101":2,"114":2,"115":2,"131":2,"132":2,"141":2,"142":2,"148":1,"150":1,"153":3,"154":1,"180":1,"186":1,"189":1}}],["collinear",{"2":{"3":1,"6":2,"64":5,"70":2,"72":3,"73":12,"81":2,"121":1,"122":2}}],["come",{"2":{"158":1}}],["commonly",{"2":{"195":1}}],["common",{"2":{"87":1,"155":1,"177":1,"190":1,"192":1,"193":1}}],["commented",{"2":{"145":1}}],["comments",{"2":{"116":1}}],["comment",{"2":{"31":1}}],["combos",{"2":{"71":1,"73":1,"82":1}}],["combination",{"2":{"64":1,"156":2}}],["combines",{"2":{"63":1}}],["combine",{"2":{"63":2,"64":5,"169":1}}],["combined",{"2":{"6":1,"64":4,"82":1,"166":1,"169":2,"191":1}}],["coming",{"2":{"66":1}}],["com",{"2":{"6":2,"73":1,"80":1,"158":1}}],["compilation",{"2":{"160":1}}],["compiled",{"2":{"24":1}}],["compiler",{"2":{"24":1,"153":2,"160":2}}],["complex",{"2":{"148":1,"180":1,"197":1}}],["complexity",{"2":{"148":1}}],["complete",{"2":{"56":1}}],["completely",{"2":{"1":1,"3":4,"6":4,"64":2,"71":1,"82":1,"90":2,"91":1,"94":1,"103":1,"104":1,"116":1,"135":1,"150":1,"153":1,"158":1}}],["components",{"2":{"62":1,"63":2,"154":1,"156":25}}],["component",{"2":{"56":3,"63":11,"66":8,"73":1,"153":2,"156":2}}],["composed",{"2":{"4":4,"6":5,"88":5,"191":2}}],["comprised",{"2":{"6":3,"70":1,"72":1,"81":1}}],["computing",{"2":{"60":1,"75":1}}],["computational",{"2":{"6":1,"59":1}}],["computation",{"2":{"6":6,"59":1,"63":1,"70":1,"72":1,"81":1,"181":2,"182":2,"183":2}}],["computer",{"2":{"6":1,"59":1}}],["computes",{"2":{"6":1,"80":1}}],["compute",{"2":{"4":1,"6":3,"56":1,"59":1,"80":3,"177":1}}],["computed",{"2":{"4":4,"6":5,"53":1,"56":3,"59":3,"66":1,"196":1}}],["compact",{"2":{"199":3}}],["comparisons",{"2":{"197":1}}],["comparing",{"2":{"82":1,"88":1}}],["compares",{"2":{"146":1}}],["compared",{"2":{"88":1}}],["compare",{"2":{"3":1,"4":1,"6":2,"53":1,"82":1,"88":2,"122":1}}],["compatibility",{"2":{"56":1}}],["compatible",{"2":{"1":3,"22":1,"25":1,"28":1,"53":1,"56":1,"59":2,"63":1,"66":1,"85":1,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"125":1,"135":1,"150":1,"151":1,"153":1,"172":2}}],["couple",{"2":{"194":1}}],["course",{"2":{"152":1}}],["country",{"2":{"199":8}}],["countries",{"2":{"11":1,"78":1,"180":1}}],["counted",{"2":{"73":2}}],["counters",{"2":{"59":8}}],["counterparts",{"2":{"33":1}}],["counter",{"2":{"6":1,"64":7,"116":1,"144":1,"145":1}}],["counterclockwise",{"2":{"4":1,"6":2,"9":1,"55":2,"56":1,"79":1,"80":1}}],["count",{"2":{"64":16,"146":1,"184":1}}],["couldn",{"2":{"9":1,"160":1}}],["could",{"2":{"4":1,"6":1,"56":3,"73":4,"75":1,"82":1,"85":1,"116":2,"158":1,"172":1}}],["conditions",{"2":{"197":4}}],["connected",{"2":{"116":5}}],["connect",{"2":{"66":11}}],["connecting",{"2":{"53":1,"182":1,"191":2}}],["connections",{"2":{"6":2,"166":2,"169":2}}],["contents",{"2":{"153":1,"161":1}}],["context",{"2":{"32":4,"176":4,"192":2}}],["contours",{"2":{"146":1}}],["contour",{"2":{"146":4}}],["continue",{"2":{"56":1,"64":7,"66":1,"71":2,"73":1,"116":1,"153":1,"165":1,"169":3,"184":1,"199":1}}],["contributions",{"2":{"25":1,"28":1}}],["controlled",{"2":{"24":1}}],["control",{"2":{"23":1}}],["containing",{"2":{"65":1,"198":1}}],["contain",{"2":{"3":1,"6":1,"26":1,"82":1,"90":1,"122":1,"191":1}}],["contained",{"2":{"3":1,"6":1,"9":1,"82":4,"91":1,"103":1,"121":1,"122":1,"153":1,"198":1}}],["contains",{"0":{"45":1,"89":1,"90":1},"1":{"90":1,"91":1},"2":{"0":2,"3":4,"6":4,"26":1,"27":1,"33":1,"45":2,"64":1,"75":1,"82":1,"89":1,"90":5,"91":4,"151":1,"168":1,"197":1,"198":1}}],["consistent",{"2":{"64":1,"148":1}}],["consistency",{"2":{"22":1}}],["considered",{"2":{"53":1,"59":1}}],["consider",{"2":{"52":1,"55":1,"62":1,"65":1,"66":3,"68":1,"84":2,"87":1,"90":1,"93":1,"103":1,"107":1,"116":3,"118":1,"121":1,"124":1,"134":1}}],["constprop",{"2":{"105":1}}],["constants",{"2":{"64":1}}],["const",{"2":{"27":4,"64":1,"94":4,"108":3,"125":4,"135":4,"155":3,"180":4}}],["constructing",{"2":{"193":1}}],["constructors",{"2":{"159":2}}],["construct",{"2":{"159":1}}],["constructed",{"2":{"1":1,"20":1,"172":1}}],["constrained",{"2":{"6":3,"70":1,"72":1,"81":1}}],["concepts",{"0":{"29":1},"1":{"30":1,"31":1},"2":{"26":1}}],["concieve",{"2":{"9":1}}],["concavehull",{"2":{"147":1}}],["concave",{"2":{"6":1,"53":2,"62":2,"145":2}}],["convention",{"2":{"62":1}}],["convenience",{"2":{"59":1,"188":1}}],["conversely",{"2":{"64":1}}],["conversion",{"0":{"186":1},"2":{"22":1,"33":1}}],["converted",{"2":{"22":1,"59":3}}],["converts",{"2":{"6":1,"189":1}}],["convert",{"0":{"95":1,"109":1,"126":1,"136":1},"2":{"6":3,"32":1,"35":2,"36":2,"37":2,"38":2,"40":2,"41":2,"42":2,"43":2,"44":2,"45":2,"46":2,"47":2,"48":2,"49":2,"50":1,"59":6,"80":1,"84":1,"146":2,"176":1,"180":3,"186":1,"188":1,"189":1}}],["convexity",{"2":{"79":2}}],["convexhull",{"2":{"50":1,"147":1}}],["convex",{"0":{"50":1,"75":1,"78":1},"1":{"76":1,"77":1,"78":1,"79":1,"80":1},"2":{"0":1,"6":7,"27":2,"50":1,"53":3,"75":4,"77":2,"78":1,"79":4,"80":11,"145":1}}],["vw",{"2":{"180":3}}],["von",{"2":{"146":1}}],["v2",{"2":{"116":9}}],["v1",{"2":{"116":9}}],["v`",{"2":{"59":2}}],["vcat",{"2":{"53":1,"59":1,"153":1}}],["vararg",{"2":{"59":1}}],["varying",{"2":{"158":1}}],["vary",{"2":{"53":1}}],["variables",{"2":{"24":1,"59":8,"91":1,"104":1,"119":1}}],["variable",{"2":{"24":1,"71":2}}],["vals",{"2":{"182":9}}],["valign",{"2":{"180":1}}],["validated",{"2":{"71":2,"73":2,"82":2}}],["validate",{"2":{"9":1}}],["valid",{"2":{"1":1,"6":8,"63":1,"70":2,"72":2,"73":3,"81":2,"146":1,"161":3,"162":1,"167":1,"168":1,"184":1,"185":1}}],["val",{"2":{"53":2,"64":2,"73":8,"116":30,"122":4}}],["values=",{"2":{"146":2}}],["values=sort",{"2":{"146":1}}],["values",{"2":{"1":1,"5":3,"6":15,"53":2,"58":3,"59":40,"63":2,"64":5,"66":5,"73":1,"85":2,"116":4,"146":19,"150":1,"153":2,"160":1,"182":2,"184":1}}],["value",{"2":{"0":1,"4":7,"5":2,"6":15,"14":1,"24":1,"32":2,"53":1,"55":2,"56":4,"59":45,"64":5,"66":2,"73":7,"84":1,"85":3,"146":6,"153":2,"182":11,"188":2,"197":1}}],["vs",{"0":{"15":1},"2":{"12":1,"73":2}}],["vᵢ",{"2":{"6":1}}],["v",{"2":{"5":2,"6":6,"14":4,"59":23,"85":8}}],["visvalingam",{"2":{"178":1}}],["visvalingamwhyatt",{"0":{"183":1},"2":{"0":1,"6":3,"180":4,"183":5}}],["visualized",{"2":{"162":1}}],["visualize",{"2":{"118":1,"192":1}}],["visa",{"2":{"64":1}}],["visited",{"2":{"64":4}}],["view",{"2":{"64":2,"80":1,"146":1,"169":1,"182":3,"199":1}}],["viewport",{"2":{"14":1}}],["views",{"2":{"1":1,"64":1,"81":1,"172":1}}],["vincenty",{"2":{"6":1,"177":1}}],["via",{"2":{"6":1,"60":1,"75":1,"147":1,"173":1,"176":1,"188":2}}],["vec",{"2":{"80":2}}],["vect",{"2":{"156":2}}],["vectypes",{"2":{"59":5}}],["vector",{"2":{"1":12,"4":6,"5":1,"6":46,"18":1,"23":1,"30":1,"52":1,"53":10,"59":14,"64":7,"69":6,"70":4,"71":1,"72":2,"73":3,"81":4,"116":1,"122":2,"145":3,"146":4,"148":1,"150":1,"153":4,"154":3,"162":8,"163":1,"168":22,"174":1,"175":1,"177":2,"181":1,"182":4,"183":1,"184":2,"185":10,"189":15,"191":18,"192":6,"193":9}}],["vectors",{"2":{"1":1,"4":2,"6":3,"22":1,"53":4,"59":3,"64":1,"80":1,"85":1,"144":1,"146":1,"150":1,"153":1,"156":2,"180":1}}],["ve",{"2":{"17":1,"177":1}}],["vein",{"2":{"7":1}}],["version",{"2":{"188":1}}],["versa",{"2":{"64":1}}],["vert",{"2":{"184":21}}],["verts",{"2":{"180":2}}],["vertical",{"2":{"58":1,"66":1,"73":1,"146":1}}],["vertices",{"2":{"6":7,"9":1,"57":4,"59":5,"64":1,"69":2,"80":1,"96":1,"98":5,"107":1,"110":3,"113":1,"116":1,"137":1,"162":1,"174":2,"175":1,"176":3,"177":3,"180":1,"183":1}}],["vertex",{"2":{"5":1,"6":2,"53":1,"57":2,"59":2,"64":19,"73":12,"79":1,"96":2,"111":2,"112":1,"116":1,"137":3}}],["very",{"2":{"0":1,"175":1,"199":2}}],["rd",{"2":{"180":3}}],["rdbu",{"2":{"84":1}}],["rhumb",{"2":{"145":2}}],["runner",{"2":{"192":1}}],["running",{"2":{"153":1,"156":2}}],["run",{"2":{"153":5,"154":3,"199":1}}],["runs",{"2":{"73":2,"144":1}}],["rule",{"2":{"64":1}}],["rules",{"2":{"64":1}}],["rightjoin",{"2":{"197":1}}],["right=2",{"2":{"64":1}}],["right",{"2":{"59":1,"64":4,"69":1,"85":1,"145":1,"182":19,"184":5,"191":1}}],["ring4",{"2":{"193":2}}],["ring3",{"2":{"192":1}}],["ring2",{"2":{"191":2}}],["ring1",{"2":{"191":2}}],["rings",{"0":{"98":1,"112":1,"129":1,"139":1,"161":1},"1":{"162":1,"163":1},"2":{"4":4,"6":6,"9":2,"56":1,"63":1,"64":3,"73":1,"88":7,"144":1,"146":5,"163":1,"166":1,"180":1}}],["ring",{"2":{"4":7,"6":13,"9":1,"27":1,"53":3,"56":2,"59":1,"62":1,"63":4,"64":12,"66":13,"82":3,"85":5,"88":4,"96":1,"97":2,"98":5,"110":1,"112":1,"116":2,"127":1,"128":1,"129":3,"137":1,"138":2,"139":4,"145":3,"146":11,"161":2,"162":1,"163":14,"164":1,"191":1}}],["rtrees",{"2":{"20":1}}],["r+y",{"2":{"13":2,"14":1}}],["r+x",{"2":{"13":2,"14":1}}],["ry",{"2":{"13":3,"14":3}}],["rx",{"2":{"13":3,"14":3}}],["round",{"2":{"180":1,"182":1,"184":1}}],["routines",{"2":{"11":1}}],["row",{"2":{"154":3}}],["rows",{"2":{"154":2}}],["robust",{"0":{"15":1},"2":{"79":1}}],["rotate",{"2":{"66":1}}],["rotation",{"2":{"1":1,"6":1,"185":1}}],["rotations",{"2":{"1":3,"6":3,"185":3}}],["rotmatrix2d",{"2":{"180":1}}],["rotmatrix",{"2":{"1":1,"6":1,"185":1}}],["r",{"2":{"6":1,"9":1,"13":11,"14":12,"32":1,"176":1,"184":2,"191":6,"192":2,"193":4}}],["rᵢ₋₁",{"2":{"59":20}}],["rᵢ∗rᵢ₊₁+sᵢ⋅sᵢ₊₁",{"2":{"6":1}}],["rᵢ₊₁",{"2":{"6":1,"59":29}}],["rᵢ",{"2":{"6":2,"59":49}}],["ramer",{"2":{"182":1}}],["raster",{"0":{"146":1},"2":{"146":4}}],["ray",{"2":{"116":4}}],["raw",{"2":{"18":1}}],["range",{"2":{"13":8,"14":4,"146":3,"153":2,"154":2}}],["ranges",{"2":{"6":1,"146":2}}],["randomly",{"2":{"198":2}}],["random",{"2":{"180":2}}],["randn",{"2":{"77":1}}],["rand",{"2":{"6":1,"79":1,"146":1,"198":2}}],["rather",{"2":{"6":1,"146":1,"168":1}}],["ratio",{"2":{"6":7,"73":1,"176":1,"180":1,"181":4,"182":6,"183":4,"184":11}}],["radii",{"2":{"6":1,"176":1}}],["radius`",{"2":{"176":1}}],["radius",{"2":{"6":6,"59":13,"158":5,"176":4,"177":1}}],["radialdistance",{"0":{"181":1},"2":{"0":1,"6":2,"178":1,"180":4,"181":4}}],["rrayscore",{"2":{"1":1,"6":1,"185":1}}],["rring",{"2":{"1":1,"6":1,"185":1}}],["rewrap",{"2":{"153":2,"156":1}}],["req",{"2":{"116":44}}],["requirement",{"2":{"161":1,"167":1}}],["requirements",{"2":{"116":5}}],["required",{"2":{"80":1,"94":3,"108":3,"125":3,"135":3,"175":1,"190":1}}],["requires",{"2":{"60":1,"88":1,"90":1,"94":2,"97":3,"98":3,"99":1,"108":1,"111":3,"112":2,"113":1,"125":1,"128":3,"129":1,"130":1,"134":1,"135":1,"138":3,"139":3,"140":1,"173":1,"176":1,"188":1}}],["require",{"2":{"33":1,"80":1,"93":2,"94":6,"108":3,"116":32,"125":3,"135":3}}],["requests",{"2":{"25":1,"28":1}}],["reflected",{"2":{"180":3}}],["ref",{"2":{"84":1}}],["refers",{"2":{"158":1}}],["referring",{"2":{"116":1}}],["refer",{"2":{"6":1,"146":1}}],["references",{"2":{"6":1,"59":1}}],["reference",{"0":{"192":1,"193":1},"2":{"0":1,"1":2,"172":2,"190":2,"192":1}}],["reveal",{"2":{"82":1}}],["reveals",{"2":{"82":1}}],["reverse",{"2":{"55":1,"58":1,"59":1,"64":2,"191":2}}],["rev",{"2":{"81":1}}],["render",{"2":{"58":1}}],["rendering",{"2":{"58":3,"59":1}}],["rename",{"2":{"10":1}}],["regardless",{"2":{"73":1,"116":1}}],["regions",{"2":{"71":3,"73":5,"81":1,"82":3,"116":2,"199":1}}],["region",{"2":{"60":2,"73":3,"82":2,"199":1}}],["register",{"2":{"27":3,"59":3}}],["regular",{"0":{"15":1}}],["rebuilding",{"2":{"153":1,"154":1}}],["rebuild",{"2":{"27":2,"151":1,"153":3,"156":11,"177":1,"180":2}}],["rebuilt",{"2":{"1":1,"148":1,"150":1,"153":1,"156":2}}],["readable",{"2":{"195":1}}],["readability",{"2":{"64":1}}],["read",{"2":{"153":1,"192":2}}],["reading",{"2":{"153":1}}],["reads",{"2":{"153":1}}],["reached",{"2":{"153":1,"156":3}}],["reaches",{"2":{"151":1}}],["reach",{"2":{"151":1}}],["reasons",{"2":{"188":1}}],["reason",{"2":{"24":1,"160":1,"161":1,"167":1}}],["real`",{"2":{"176":1,"177":1}}],["reality",{"2":{"79":1}}],["really",{"2":{"56":1,"116":1,"146":1,"160":1}}],["real=1",{"2":{"6":2,"176":2}}],["real=6378137`",{"2":{"176":1}}],["real=6378137",{"2":{"6":2,"176":1}}],["real",{"0":{"199":1},"2":{"5":1,"6":13,"53":1,"59":45,"63":2,"73":1,"176":3,"177":3,"184":5,"197":1}}],["relation",{"2":{"64":2}}],["relations",{"2":{"27":10,"105":1,"122":1}}],["relationship",{"2":{"23":1,"197":2}}],["relative",{"2":{"59":3}}],["relevant",{"2":{"6":1,"10":1,"80":1,"158":2}}],["reducing",{"2":{"154":2}}],["reduced",{"2":{"181":1,"182":1,"183":1}}],["reduces",{"2":{"19":1,"82":1,"154":1}}],["reduce",{"2":{"1":1,"146":1,"150":1,"154":2,"165":1}}],["redundant",{"2":{"64":1}}],["red",{"2":{"14":1,"62":2,"84":1,"93":1,"103":1,"118":1,"191":1,"192":1,"198":2}}],["removal",{"2":{"64":1}}],["removes",{"2":{"64":1,"148":1}}],["removed",{"2":{"64":3,"71":5,"146":1}}],["remove",{"2":{"56":1,"64":33,"66":1,"69":2,"70":5,"72":5,"81":2,"169":2,"181":1,"182":3,"184":4}}],["removing",{"2":{"6":3,"64":1,"71":1,"181":1,"182":1,"183":1}}],["remainingnode",{"2":{"146":3}}],["remaining",{"2":{"64":1,"88":1,"116":2,"182":1}}],["remain",{"2":{"1":1,"6":8,"150":1,"153":1,"180":2}}],["resolution",{"2":{"192":1}}],["resolved",{"2":{"146":1}}],["resembles",{"2":{"158":2}}],["reset",{"2":{"64":1,"153":1}}],["resize",{"2":{"13":1,"14":1,"64":2}}],["resampled",{"2":{"6":1,"177":1}}],["respectively",{"2":{"64":1,"122":1,"156":1,"191":1}}],["respect",{"2":{"6":2,"72":1,"73":1,"80":1,"116":6}}],["rest",{"2":{"6":1,"59":2,"81":1}}],["resulting",{"2":{"69":1,"82":1,"146":1,"198":1}}],["results",{"2":{"3":2,"6":2,"73":1,"105":1,"122":1,"153":1,"154":1,"162":1,"182":25,"191":3}}],["result",{"2":{"1":2,"3":5,"4":5,"6":11,"19":1,"32":3,"53":1,"56":2,"66":1,"73":15,"80":1,"85":2,"91":1,"94":1,"104":1,"119":1,"135":1,"150":2,"153":9,"154":2,"176":3,"184":6}}],["receives",{"2":{"153":1,"154":1}}],["recent",{"2":{"64":1,"71":1,"73":1,"82":1}}],["recalculate",{"2":{"152":1}}],["recursive",{"2":{"151":1}}],["recursively",{"2":{"4":1,"6":1,"151":1,"170":1}}],["rect",{"2":{"52":3,"55":5,"65":3,"84":7}}],["rectangle",{"2":{"52":2,"55":2,"58":2,"65":2,"66":1,"84":2,"175":5,"176":8,"198":2}}],["rectangletrait",{"2":{"32":1}}],["recommended",{"2":{"22":1}}],["reconstructing",{"2":{"180":1}}],["reconstructed",{"2":{"18":1}}],["reconstruct",{"2":{"1":1,"18":1,"27":2,"150":1,"153":2,"154":1,"156":28}}],["replace",{"2":{"64":1,"146":2,"182":1}}],["replaced",{"2":{"22":1}}],["repl",{"2":{"60":1,"173":1,"176":1}}],["repeat",{"2":{"63":1,"64":3,"88":6}}],["repeating",{"2":{"56":1,"82":1}}],["repeated",{"2":{"4":3,"6":3,"9":1,"53":2,"59":1,"64":2,"82":2,"85":2,"88":4,"116":1}}],["represented",{"2":{"158":1,"198":1}}],["represent",{"2":{"17":1,"59":1,"64":4,"88":1,"158":1}}],["representing",{"2":{"6":2,"71":1,"73":1,"80":1,"82":1,"84":1,"88":1,"158":1,"199":1}}],["represents",{"2":{"6":1,"165":2,"166":1}}],["reprojects",{"2":{"172":1}}],["reprojection",{"0":{"172":1},"1":{"173":1}}],["reproject",{"2":{"0":1,"1":4,"27":2,"148":1,"172":6,"173":2}}],["re",{"2":{"1":1,"6":1,"17":1,"80":1,"185":1,"190":1,"192":1}}],["retrievable",{"2":{"1":1,"172":1}}],["returnval",{"2":{"116":9}}],["returntype",{"2":{"19":1}}],["returning",{"2":{"18":1,"60":1,"71":2}}],["return",{"0":{"22":1},"2":{"1":1,"3":18,"4":2,"6":37,"13":3,"14":3,"23":2,"31":1,"32":3,"35":1,"36":1,"37":1,"38":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"53":5,"56":5,"59":20,"60":1,"63":4,"64":36,"66":12,"69":12,"70":5,"71":4,"72":4,"73":18,"80":2,"81":6,"82":9,"85":8,"88":30,"91":1,"94":1,"100":2,"101":2,"104":1,"105":18,"108":2,"114":2,"115":2,"116":71,"118":1,"119":1,"122":28,"125":1,"127":2,"131":2,"132":2,"135":1,"141":2,"142":2,"145":10,"146":12,"153":17,"154":3,"156":7,"161":1,"163":4,"165":6,"166":2,"169":2,"171":2,"172":1,"177":4,"180":3,"181":1,"182":5,"183":3,"184":7,"185":2,"186":2,"188":3,"189":8}}],["returned",{"2":{"1":1,"6":10,"22":2,"23":1,"64":3,"69":1,"70":2,"72":2,"73":2,"79":1,"80":1,"81":2,"146":1,"153":1,"156":2,"160":1,"172":1,"180":1}}],["returns",{"2":{"1":1,"3":5,"4":4,"5":3,"6":23,"18":1,"22":2,"53":1,"56":2,"59":6,"63":3,"64":4,"66":6,"69":1,"70":1,"73":1,"80":1,"81":1,"85":8,"87":1,"90":2,"91":1,"94":1,"103":2,"104":1,"107":1,"116":4,"119":1,"122":2,"135":1,"146":2,"150":1,"153":2,"160":1,"177":1,"186":1,"197":1}}],["phi``",{"2":{"158":1}}],["physics",{"2":{"158":1}}],["psa",{"2":{"153":1,"154":1}}],["pb",{"2":{"105":2}}],["p0",{"2":{"85":9}}],["p3",{"2":{"64":8,"183":4}}],["ptm",{"2":{"145":3}}],["ptj",{"2":{"145":5}}],["pti",{"2":{"145":3}}],["ptrait",{"2":{"85":2}}],["pts",{"2":{"64":22,"69":7}}],["pt",{"2":{"64":114,"69":2,"73":26,"116":8,"182":4}}],["pt2",{"2":{"64":14,"73":2}}],["pt1",{"2":{"64":18,"73":2}}],["pn",{"2":{"127":3}}],["pn2",{"2":{"64":4}}],["pn1",{"2":{"64":4}}],["pfirst",{"2":{"56":3}}],["pu",{"2":{"198":2}}],["purpose",{"2":{"153":1}}],["pure",{"2":{"6":1,"80":1,"146":1}}],["purely",{"2":{"6":1,"18":1,"158":1,"176":1}}],["push",{"2":{"64":15,"69":5,"70":2,"72":2,"73":2,"81":4,"82":5,"146":3,"163":1,"177":3,"182":3}}],["pulling",{"2":{"80":1}}],["pull",{"2":{"25":1,"28":1}}],["public",{"2":{"24":1}}],["pick",{"2":{"192":2}}],["piece",{"2":{"64":6,"169":6}}],["pieces",{"2":{"64":12,"69":1,"71":2,"81":4,"116":1,"169":9}}],["pi",{"2":{"13":2}}],["pixels",{"2":{"146":1}}],["pixel",{"2":{"6":2,"146":7}}],["pythagorean",{"2":{"85":1}}],["py",{"2":{"13":2,"14":2}}],["px",{"2":{"13":2,"14":2}}],["peucker",{"2":{"178":2,"180":3,"182":2}}],["peaks",{"2":{"146":2}}],["peculiarities",{"0":{"21":1},"1":{"22":1,"23":1,"24":1}}],["people",{"2":{"9":1}}],["persist",{"2":{"153":1}}],["performed",{"2":{"158":1,"198":1}}],["performs",{"2":{"59":1,"154":1,"177":1}}],["perform",{"2":{"26":1,"58":1,"59":2,"64":1,"148":1,"154":1,"197":3,"198":2,"200":1}}],["performing",{"2":{"6":3,"23":1,"59":1,"70":1,"72":1,"81":1,"198":1}}],["performance",{"2":{"4":1,"6":2,"22":1,"146":1,"167":1,"170":1,"180":1,"195":1}}],["per",{"2":{"5":2,"6":2,"58":1,"59":2,"64":5,"146":1,"153":2,"154":2,"177":1}}],["pl",{"2":{"198":2}}],["plt",{"2":{"191":1}}],["please",{"2":{"64":1}}],["place",{"2":{"73":1,"197":1}}],["placement",{"2":{"64":1}}],["plan",{"2":{"174":1}}],["plane",{"2":{"6":1,"59":1,"158":3,"177":1,"196":1}}],["planar",{"2":{"6":4,"27":2,"158":5,"177":9}}],["plottable",{"2":{"146":1}}],["plotted",{"2":{"62":1}}],["plotting",{"0":{"191":1},"2":{"6":1,"146":1,"174":1,"177":1,"190":1,"191":4,"192":1}}],["plots",{"2":{"58":2}}],["plot",{"0":{"192":1},"2":{"13":1,"58":3,"77":2,"78":1,"79":1,"87":1,"121":1,"146":1,"176":2,"180":4,"190":2,"191":9,"192":5,"193":1,"195":1,"198":1}}],["plus",{"2":{"5":1,"6":1,"59":1}}],["p2y",{"2":{"189":3}}],["p2x",{"2":{"189":3}}],["p2box",{"2":{"58":1}}],["p2",{"2":{"3":2,"4":2,"6":6,"15":12,"53":12,"56":9,"64":18,"66":19,"79":1,"81":2,"85":15,"88":11,"94":2,"103":2,"116":12,"122":2,"145":3,"175":1,"183":4,"189":3,"191":2}}],["p1y",{"2":{"189":3}}],["p1x",{"2":{"189":3}}],["p1",{"2":{"3":3,"4":2,"6":7,"15":12,"53":21,"56":8,"58":4,"64":9,"66":25,"68":1,"79":2,"81":2,"85":15,"88":14,"93":5,"94":3,"103":5,"116":4,"122":2,"127":3,"145":3,"183":4,"189":3,"191":1}}],["practice",{"2":{"193":1}}],["pred",{"2":{"197":5,"198":1,"199":2,"200":1}}],["predicate",{"2":{"7":1,"105":1,"197":6,"198":1,"200":5}}],["predicates",{"0":{"12":1,"15":1,"200":1},"1":{"13":1,"14":1,"15":1,"16":1},"2":{"7":4,"12":1,"27":1,"64":5,"73":4,"74":3,"116":1,"197":1,"199":1}}],["pretty",{"2":{"172":1}}],["prettytime",{"2":{"13":2}}],["prevent",{"2":{"71":2,"73":2,"82":2}}],["prev^2",{"2":{"53":2}}],["prev",{"2":{"53":14,"64":69,"145":4}}],["previously",{"2":{"175":1}}],["previous",{"2":{"19":1,"53":1,"153":1,"181":3}}],["preparations",{"2":{"20":1}}],["prepared",{"2":{"20":1,"146":2}}],["prepare",{"0":{"20":1},"2":{"17":1,"20":1}}],["precision",{"2":{"11":1}}],["preserve",{"2":{"180":4,"182":3}}],["preserved",{"2":{"153":2}}],["preserving",{"2":{"178":1}}],["presentation",{"2":{"6":1,"59":1}}],["present",{"2":{"6":1,"153":1,"188":1}}],["presence",{"2":{"6":1,"32":1,"188":1}}],["prescribes",{"2":{"20":1}}],["press",{"2":{"6":1,"59":1}}],["pre",{"2":{"6":1,"81":1,"180":1,"182":2}}],["prefilter",{"2":{"6":1,"180":7}}],["protters",{"2":{"153":1,"154":1}}],["progressively",{"2":{"151":1}}],["program",{"2":{"17":1}}],["programming",{"2":{"17":1,"26":1}}],["promote",{"2":{"59":5}}],["property",{"2":{"154":2}}],["properties=gi",{"2":{"156":1}}],["properties=namedtuple",{"2":{"154":1}}],["properties=",{"2":{"146":1}}],["properties",{"2":{"6":1,"153":8,"156":1,"180":1,"184":1}}],["propagated",{"2":{"153":1}}],["propagate",{"2":{"59":16,"85":4}}],["probably",{"2":{"56":1,"153":1}}],["prod",{"2":{"53":4}}],["product",{"2":{"53":1}}],["process",{"2":{"96":3,"97":3,"98":3,"99":1,"105":1,"110":3,"111":3,"112":2,"113":1,"116":11,"127":1,"128":3,"129":1,"130":1,"137":3,"138":3,"139":3,"140":1,"153":1,"154":1,"182":1}}],["processed",{"2":{"64":6}}],["processors",{"2":{"27":1,"94":2,"108":2,"125":2,"135":2}}],["processor",{"2":{"27":1}}],["processing",{"2":{"23":1}}],["profile",{"2":{"9":1}}],["providers",{"2":{"162":1,"168":1}}],["provide",{"0":{"23":1},"2":{"6":6,"52":1,"55":1,"57":1,"62":1,"65":1,"68":1,"70":2,"72":2,"81":2,"84":1,"87":1,"90":1,"93":1,"103":1,"107":1,"116":2,"118":1,"121":1,"124":1,"134":1,"146":1,"184":1}}],["provides",{"2":{"6":1,"75":1,"80":1,"192":1}}],["provided",{"2":{"4":1,"6":3,"11":1,"64":1,"85":1,"88":1,"168":1,"176":2,"188":1}}],["projecting",{"2":{"192":1}}],["projections",{"2":{"158":1}}],["projection",{"2":{"85":2,"190":1,"192":1}}],["project",{"2":{"9":1}}],["projects",{"2":{"9":1}}],["proj",{"2":{"1":2,"6":3,"172":2,"173":4,"175":1,"176":6,"190":1}}],["prints",{"2":{"173":1}}],["printstyled",{"2":{"60":1,"173":1,"176":1}}],["println",{"2":{"60":1,"173":1,"176":1,"180":2}}],["print",{"2":{"60":2,"173":2,"176":2}}],["primitive",{"2":{"30":1}}],["primitives",{"0":{"156":1},"2":{"27":1,"156":1}}],["primarily",{"2":{"25":2,"28":2,"159":1}}],["primary",{"2":{"3":2,"6":3,"94":1,"135":1,"180":1}}],["priority",{"2":{"1":1,"172":1}}],["pay",{"2":{"154":1}}],["paper",{"2":{"116":2}}],["pa",{"2":{"105":2}}],["pathof",{"2":{"180":2}}],["paths",{"0":{"196":1},"2":{"160":1,"196":2}}],["path",{"2":{"55":3,"192":2}}],["parquet",{"2":{"195":3}}],["parent",{"2":{"160":1}}],["parse",{"2":{"116":1,"122":1}}],["part",{"2":{"66":2,"82":2,"116":3,"152":1}}],["partition",{"2":{"153":2,"154":2}}],["partialsort",{"2":{"184":1}}],["partial",{"2":{"66":4}}],["partially",{"2":{"64":2,"82":2}}],["particularly",{"2":{"59":1}}],["particular",{"2":{"31":1,"53":1,"146":1,"192":2}}],["parameter",{"2":{"159":3}}],["parameterized",{"2":{"158":1}}],["parameters",{"2":{"156":1,"159":2}}],["parametrized",{"2":{"158":1}}],["params",{"2":{"6":2,"188":10}}],["parallel",{"2":{"116":1,"145":1}}],["paradigm",{"0":{"30":1}}],["paradigms",{"0":{"17":1},"1":{"18":1,"19":1,"20":1},"2":{"17":2,"20":1}}],["parlance",{"2":{"5":1,"6":1,"59":1,"158":1}}],["passes",{"2":{"66":2,"116":1}}],["passed",{"2":{"1":2,"6":5,"80":1,"146":1,"156":4,"172":1,"176":2,"185":1,"188":2,"200":1}}],["passable",{"2":{"59":18}}],["passing",{"2":{"18":1,"153":1,"178":1}}],["pass",{"2":{"5":1,"6":3,"18":1,"59":1,"91":1,"104":1,"116":2,"119":1,"153":1,"160":1,"176":1,"180":1}}],["pairs",{"2":{"73":1,"191":1}}],["pair",{"2":{"3":2,"6":2,"66":1,"122":2,"153":2,"154":1}}],["packages",{"2":{"25":1,"28":1,"75":1,"156":2,"161":1,"187":1,"190":3,"192":1,"195":1}}],["package",{"2":{"1":2,"6":1,"22":1,"25":2,"28":2,"60":1,"75":2,"80":1,"146":1,"172":3,"173":1,"176":1,"192":1,"195":2}}],["page",{"2":{"0":1,"9":1,"26":1,"27":1,"30":1,"32":1,"50":1,"53":1,"56":1,"58":1,"59":1,"60":1,"63":1,"64":1,"66":1,"69":1,"71":1,"73":1,"74":1,"80":1,"82":1,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"122":1,"132":1,"142":1,"145":1,"146":1,"147":1,"153":1,"154":1,"155":1,"156":1,"160":1,"163":1,"166":1,"169":1,"170":1,"171":1,"173":1,"177":1,"184":1,"185":1,"186":1,"188":1,"189":1}}],["p",{"2":{"1":5,"6":2,"13":13,"14":12,"15":2,"52":1,"55":1,"62":1,"64":5,"65":1,"66":5,"71":2,"77":1,"78":1,"81":2,"84":3,"87":1,"90":1,"93":1,"103":1,"105":4,"107":1,"116":20,"118":1,"121":1,"124":1,"134":1,"145":4,"146":3,"148":3,"150":3,"153":5,"171":7,"175":1,"179":1,"180":1,"184":3,"185":9,"186":7,"189":11,"197":1,"198":1}}],["poylgon",{"2":{"116":1}}],["potential",{"2":{"66":1}}],["potentially",{"2":{"6":2,"64":1,"166":2,"169":2}}],["post",{"2":{"182":2}}],["possibly",{"2":{"153":1}}],["possiblenodes",{"2":{"146":2}}],["possible",{"2":{"6":3,"70":1,"72":1,"81":1,"146":1,"153":1,"154":1}}],["possibility",{"2":{"151":1}}],["possibilities",{"2":{"73":1}}],["position=",{"2":{"180":1}}],["position",{"2":{"6":1,"145":1,"175":1}}],["positive",{"2":{"4":4,"6":4,"55":3,"56":1,"84":3,"85":3,"177":2,"184":1}}],["poles",{"2":{"158":1}}],["pole",{"2":{"158":2}}],["polgons",{"2":{"146":1}}],["polgontrait",{"2":{"1":1,"150":1}}],["polar",{"2":{"6":1,"176":1}}],["polynodes",{"2":{"64":7,"70":1,"72":1,"81":1}}],["polynode",{"2":{"64":36}}],["polypoints",{"2":{"59":46}}],["polys",{"2":{"6":2,"64":39,"68":3,"69":10,"70":14,"71":14,"72":9,"73":6,"81":14,"82":28,"169":26}}],["polys1",{"2":{"3":2,"6":2,"122":6}}],["polys2",{"2":{"3":2,"6":2,"122":6}}],["poly",{"2":{"3":2,"6":16,"15":2,"52":1,"55":1,"56":6,"58":2,"59":3,"62":1,"64":107,"65":2,"66":4,"68":4,"69":20,"70":22,"71":12,"72":15,"73":10,"77":2,"81":19,"82":79,"84":1,"85":3,"88":4,"105":10,"116":21,"122":8,"145":5,"146":5,"169":18,"175":2,"179":2,"180":8,"189":8,"191":2,"198":5}}],["poly2",{"2":{"3":3,"4":2,"6":7,"70":2,"88":2,"116":19,"122":7}}],["poly1",{"2":{"3":3,"4":2,"6":7,"70":2,"88":2,"116":14,"122":7}}],["polygon3",{"2":{"191":2,"192":1}}],["polygon2",{"2":{"191":6}}],["polygon1",{"2":{"191":4}}],["polygonization",{"2":{"146":1}}],["polygonizing",{"0":{"146":1}}],["polygonized",{"2":{"146":1}}],["polygonize",{"2":{"0":1,"6":6,"9":1,"27":1,"146":31}}],["polygon`",{"2":{"59":3,"80":1}}],["polygons",{"0":{"99":1,"130":1,"140":1,"167":1},"1":{"168":1,"169":1},"2":{"3":4,"4":3,"5":1,"6":18,"9":1,"23":5,"27":1,"56":5,"57":1,"59":2,"62":1,"63":1,"64":14,"66":1,"69":2,"70":9,"71":5,"72":3,"73":8,"81":6,"82":19,"84":1,"85":1,"88":5,"99":1,"122":5,"140":1,"145":1,"146":19,"151":1,"162":2,"166":3,"167":2,"168":2,"169":10,"178":1,"180":1,"191":3,"192":1,"198":5,"199":3}}],["polygontrait",{"2":{"1":1,"3":4,"4":6,"6":13,"15":3,"23":1,"32":1,"53":2,"56":3,"59":3,"63":2,"64":2,"66":2,"69":1,"70":5,"71":5,"72":3,"73":5,"81":4,"82":8,"85":2,"88":10,"96":2,"97":1,"98":1,"99":3,"100":1,"105":4,"110":2,"111":2,"112":1,"113":2,"114":1,"122":8,"127":2,"128":1,"129":1,"130":3,"131":1,"137":2,"138":1,"139":1,"140":3,"141":1,"148":1,"150":1,"151":2,"153":2,"154":1,"163":2,"165":2,"166":1,"169":2,"180":2,"189":1}}],["polygon",{"0":{"34":1,"64":1,"67":1,"70":1,"71":1,"73":1,"81":1,"82":1,"113":1},"1":{"35":1,"36":1,"37":1,"38":1,"68":1,"69":1},"2":{"0":1,"1":4,"3":4,"4":21,"5":9,"6":65,"9":2,"11":3,"15":4,"20":1,"23":1,"52":1,"53":5,"55":2,"56":5,"57":5,"58":16,"59":57,"62":2,"63":4,"64":39,"65":3,"66":4,"68":3,"69":10,"70":5,"71":7,"72":5,"73":6,"75":1,"79":1,"80":3,"81":6,"82":34,"84":3,"85":14,"88":12,"94":1,"96":3,"97":3,"98":4,"99":8,"105":1,"110":3,"111":4,"112":4,"113":4,"116":66,"122":4,"125":1,"127":3,"128":4,"129":5,"130":7,"135":1,"137":3,"138":4,"139":4,"140":8,"145":5,"146":4,"150":1,"153":1,"161":4,"162":8,"163":5,"164":1,"166":4,"167":3,"168":12,"169":7,"175":1,"176":4,"179":1,"180":9,"185":3,"189":6,"191":12,"192":5,"193":7,"194":2,"198":6}}],["pointwise",{"0":{"185":1},"2":{"172":1}}],["point1",{"2":{"85":4}}],["point`",{"2":{"73":1}}],["pointedgeside",{"2":{"64":1}}],["point₂",{"2":{"63":13}}],["point₁",{"2":{"63":13}}],["point3s",{"2":{"59":10}}],["point3f",{"2":{"58":1}}],["pointrait",{"2":{"6":1}}],["point2f",{"2":{"58":4,"59":2,"77":1,"84":1}}],["point2d",{"2":{"58":1}}],["point2",{"2":{"6":2,"59":5,"79":1,"85":4}}],["pointtrait",{"2":{"1":1,"4":4,"6":6,"18":1,"32":1,"50":1,"53":2,"56":1,"59":3,"66":1,"72":2,"80":1,"85":17,"88":8,"96":6,"100":1,"110":6,"114":1,"127":6,"131":1,"137":6,"141":1,"148":2,"150":1,"151":1,"153":7,"154":4,"156":12,"159":2,"165":2,"166":1,"170":1,"171":2,"180":2,"185":2,"186":2,"189":1}}],["point",{"0":{"110":1,"127":1},"2":{"1":4,"3":10,"4":37,"5":7,"6":82,"9":2,"20":1,"50":1,"53":12,"56":3,"57":3,"58":1,"59":126,"63":6,"64":97,"66":50,"69":13,"71":9,"72":1,"73":71,"80":3,"82":9,"84":17,"85":73,"88":27,"91":3,"93":1,"94":2,"96":8,"105":21,"108":2,"110":10,"116":138,"118":1,"121":2,"122":21,"124":1,"125":3,"127":10,"128":1,"130":1,"135":4,"137":11,"145":1,"146":3,"150":1,"153":1,"161":1,"162":2,"166":2,"167":1,"169":2,"172":1,"174":1,"180":2,"181":3,"182":9,"183":1,"185":2,"189":4,"191":111,"192":7,"193":8,"198":2}}],["points2",{"2":{"3":1,"6":1,"122":3}}],["points1",{"2":{"3":1,"6":1,"122":3}}],["points",{"0":{"96":1,"137":1},"2":{"0":1,"1":3,"3":1,"4":11,"5":1,"6":53,"9":3,"13":1,"53":2,"55":3,"56":3,"58":8,"59":32,"63":1,"64":55,"66":5,"69":3,"70":5,"71":1,"72":8,"73":28,"75":3,"77":4,"79":4,"80":6,"81":4,"82":1,"84":2,"85":8,"87":2,"88":13,"90":1,"94":6,"96":3,"97":4,"108":6,"110":1,"111":7,"112":3,"116":10,"122":5,"125":5,"127":1,"128":2,"129":4,"130":3,"134":1,"135":5,"137":3,"138":3,"139":3,"140":1,"144":1,"146":3,"153":2,"154":1,"170":2,"172":1,"175":2,"176":2,"180":11,"181":11,"182":26,"183":10,"184":33,"185":2,"186":2,"189":25,"191":8,"192":1,"197":1,"198":11}}],["pointorientation",{"2":{"0":1,"6":2,"116":2}}],["my",{"2":{"199":1,"200":2}}],["m`",{"2":{"158":1}}],["mdk",{"2":{"153":2}}],["moore",{"2":{"146":1}}],["moved",{"2":{"64":1,"172":1}}],["move",{"2":{"63":1,"116":1}}],["mode",{"2":{"200":3}}],["model",{"2":{"158":1,"197":1}}],["modify",{"2":{"191":1}}],["modified",{"2":{"153":1,"154":1}}],["module",{"2":{"172":1,"177":1}}],["modules",{"2":{"6":1,"59":1}}],["mod1",{"2":{"59":5}}],["mod",{"2":{"59":1,"64":1}}],["most",{"2":{"25":1,"28":1,"64":1,"71":1,"73":1,"79":1,"82":1,"116":1,"180":1,"195":2}}],["monotone",{"2":{"20":1,"79":2}}],["monotonechainmethod",{"2":{"0":1,"6":1,"75":1,"79":2,"80":4}}],["moment",{"2":{"6":1,"175":1,"177":1}}],["more",{"2":{"6":3,"7":1,"9":1,"10":1,"11":1,"23":1,"26":1,"30":1,"64":1,"70":1,"72":1,"80":1,"81":1,"116":1,"122":1,"153":2,"154":2,"157":1,"158":2,"163":1,"173":1,"175":1,"177":1,"191":2,"197":1}}],["missing",{"2":{"175":4}}],["missed",{"2":{"146":1}}],["mistakenly",{"2":{"167":1}}],["mid",{"2":{"66":2,"116":3}}],["midpoint",{"2":{"64":2}}],["middle",{"2":{"64":2}}],["mining",{"2":{"199":1}}],["minimal",{"2":{"199":1}}],["minimize",{"2":{"73":1}}],["minimum",{"2":{"4":7,"6":12,"65":1,"66":2,"85":12,"180":1,"181":1,"183":1}}],["mind",{"2":{"175":1,"198":1}}],["minmax",{"2":{"73":4}}],["min",{"2":{"66":1,"73":16,"85":15,"180":1,"182":3,"183":1,"184":28}}],["minus",{"2":{"55":1}}],["minpoints=0",{"2":{"146":1}}],["minpoints",{"2":{"6":2}}],["might",{"2":{"6":3,"25":1,"28":1,"56":1,"70":1,"72":1,"73":1,"81":1,"164":1,"182":1}}],["mixed",{"2":{"6":4,"180":1}}],["m",{"2":{"5":1,"6":1,"15":10,"59":2,"66":6,"145":2,"192":1}}],["mp",{"2":{"105":2}}],["mp1",{"2":{"4":2,"6":2,"88":7}}],["mp2",{"2":{"4":2,"6":2,"88":8}}],["mason",{"2":{"153":1,"154":1}}],["markersize",{"2":{"191":2}}],["marker",{"2":{"191":2}}],["marked",{"2":{"64":6,"71":1,"73":1,"82":1}}],["marking",{"2":{"71":2,"73":2,"82":2}}],["mark",{"2":{"64":2}}],["marks",{"2":{"64":1}}],["mag",{"2":{"53":4}}],["making",{"2":{"64":1,"146":1,"151":1,"168":1,"191":1,"193":2}}],["makie",{"2":{"13":1,"14":1,"52":1,"55":1,"58":3,"62":1,"65":1,"68":4,"77":1,"78":1,"84":1,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"124":1,"134":1,"146":3,"179":1,"180":1,"196":1}}],["makevalid",{"2":{"180":2}}],["makes",{"2":{"56":1,"64":1,"85":1,"153":1,"162":1,"167":1,"168":1}}],["make",{"2":{"9":1,"25":1,"28":1,"53":1,"64":3,"73":1,"85":1,"122":1,"146":2,"151":1,"163":1,"175":1,"184":1,"187":1,"191":2,"193":1}}],["mainly",{"2":{"59":1,"84":1,"148":1,"154":1}}],["maintain",{"2":{"56":1}}],["main",{"0":{"29":1},"1":{"30":1,"31":1},"2":{"7":1,"26":1,"64":1,"146":1,"153":1,"176":1}}],["manner",{"2":{"197":1}}],["manipulate",{"2":{"195":1}}],["manifolds",{"2":{"158":2}}],["manifold",{"0":{"158":1},"2":{"6":1,"27":2,"158":12,"177":3}}],["manually",{"2":{"161":1}}],["many",{"2":{"4":1,"5":1,"6":2,"23":1,"26":1,"59":1,"64":1,"69":1,"71":1,"73":2,"82":1,"88":1,"162":1,"170":1}}],["mapped",{"2":{"195":1}}],["maptasks`",{"2":{"153":1}}],["maptasks",{"2":{"153":7}}],["mapreducetasks`",{"2":{"154":1}}],["mapreducetasks",{"2":{"154":5}}],["mapreduce",{"2":{"71":1,"146":2,"153":3,"154":7}}],["map",{"0":{"192":1},"2":{"6":1,"13":1,"18":3,"19":1,"30":1,"59":1,"64":1,"73":1,"122":2,"146":17,"153":11,"154":5,"156":10,"158":1,"159":1,"163":1,"180":1,"190":1,"192":1,"193":1,"195":1}}],["matches",{"2":{"88":1,"146":1}}],["match",{"2":{"88":12,"122":3,"146":1,"153":1,"156":2}}],["matching",{"2":{"3":1,"6":1,"22":1,"88":3,"122":1,"151":2}}],["matlab",{"2":{"68":1}}],["materializer`",{"2":{"153":1}}],["materializer",{"2":{"22":1,"153":1}}],["mathematical",{"2":{"158":1}}],["mathematically",{"2":{"6":1,"145":1,"158":2}}],["mathematics",{"2":{"158":1}}],["mathrm",{"2":{"59":1}}],["math",{"2":{"7":1}}],["matrix",{"2":{"6":1,"14":2,"59":1}}],["maxlog=3",{"2":{"177":1}}],["maximal",{"2":{"73":1}}],["maximum",{"2":{"3":1,"6":4,"14":1,"65":1,"66":4,"105":1,"146":1,"176":1,"177":1,"182":4}}],["max",{"2":{"6":9,"32":9,"53":2,"66":1,"146":1,"153":1,"154":1,"175":5,"176":8,"177":21,"182":36,"184":1,"196":1}}],["made",{"2":{"6":2,"63":1,"64":1,"73":1,"129":1,"151":1,"166":1,"169":1,"183":1}}],["maybe",{"2":{"32":1,"116":4,"153":2,"154":3,"156":2}}],["may",{"2":{"1":1,"6":3,"23":2,"24":1,"59":2,"64":1,"73":1,"79":1,"145":1,"147":1,"150":1,"151":1,"153":4,"158":1,"159":1,"167":1,"168":1,"176":1}}],["mercator",{"2":{"192":1}}],["merge",{"2":{"153":1}}],["measures",{"2":{"158":1}}],["measure",{"2":{"156":1,"174":1}}],["meant",{"2":{"26":1}}],["meaning",{"2":{"3":3,"4":1,"6":4,"24":1,"56":1,"60":1,"122":4,"145":1,"158":1}}],["means",{"2":{"3":1,"6":2,"55":1,"56":1,"60":1,"93":1,"116":3,"121":1,"122":1,"145":1,"151":1,"158":2,"160":2}}],["mean",{"2":{"0":1,"6":5,"17":1,"58":2,"59":5,"154":1,"158":1}}],["meanvalue",{"2":{"0":1,"5":2,"6":3,"57":1,"58":2,"59":15}}],["meets",{"2":{"116":9,"122":1,"182":1}}],["meet",{"2":{"73":3,"93":1,"94":1,"108":1,"116":7,"125":1,"135":1}}],["memory",{"2":{"59":1,"193":1}}],["mesh",{"2":{"58":1}}],["message",{"2":{"6":1,"188":1}}],["me",{"0":{"23":1}}],["mentioned",{"2":{"19":1}}],["mentions",{"2":{"6":1,"188":1}}],["menu",{"2":{"14":3}}],["median",{"2":{"13":4,"154":1}}],["mechanics",{"2":{"6":1,"59":1}}],["metadatakeys",{"2":{"153":1}}],["metadatasupport",{"2":{"153":2}}],["metadata",{"2":{"153":11}}],["met",{"2":{"116":44}}],["meters",{"2":{"6":4,"175":1,"176":4,"192":1}}],["methoderror",{"2":{"27":3}}],["methods",{"0":{"2":1,"3":1,"4":1,"6":1,"39":1},"1":{"3":1,"4":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1},"2":{"1":1,"6":7,"9":1,"25":1,"27":27,"28":1,"59":3,"75":1,"94":1,"108":1,"125":1,"135":1,"146":1,"151":1,"153":1,"156":2,"159":1,"175":1,"180":2,"185":1,"191":1}}],["method",{"0":{"173":1},"2":{"1":1,"4":1,"5":10,"6":30,"24":1,"32":1,"53":1,"56":1,"59":37,"60":2,"63":1,"66":1,"73":1,"79":3,"80":2,"82":1,"85":4,"88":1,"94":2,"108":2,"122":1,"125":2,"135":2,"146":1,"153":1,"154":1,"156":3,"160":1,"172":1,"173":2,"175":2,"176":9,"177":22,"178":2,"188":3,"197":1,"200":1}}],["mutation",{"2":{"194":1}}],["mutlipolygon",{"2":{"4":1,"6":1,"63":1}}],["muladd",{"2":{"59":2}}],["multifloats",{"2":{"13":1,"14":1,"15":1}}],["multifloat",{"2":{"7":1}}],["multilinestringtrait",{"2":{"32":1,"165":1}}],["multilinestring",{"2":{"6":1,"189":2}}],["multi",{"0":{"100":1,"101":1,"114":1,"115":1,"131":1,"132":1,"141":1,"142":1},"2":{"4":2,"6":3,"53":1,"56":1,"66":1,"88":2,"100":1,"101":1,"114":1,"115":1,"131":1,"132":1,"141":1,"142":1}}],["multicurves",{"2":{"56":1,"66":1}}],["multicurve",{"2":{"4":1,"6":1,"56":1}}],["multigeometry",{"2":{"4":2,"6":2,"85":2}}],["multiplication",{"2":{"177":1}}],["multiplied",{"2":{"59":3,"158":1}}],["multiple",{"2":{"4":1,"6":1,"59":1,"116":1,"170":1,"184":1,"191":1,"195":1}}],["multiply",{"2":{"1":1,"6":1,"185":1}}],["multipolys",{"2":{"82":3}}],["multipoly`",{"2":{"70":2,"72":2,"81":2}}],["multipoly",{"2":{"6":9,"15":3,"70":1,"71":27,"72":1,"73":26,"81":1,"82":24,"169":21,"180":9}}],["multipolygon`",{"2":{"146":1}}],["multipolygons",{"2":{"3":1,"4":1,"6":11,"63":1,"70":3,"72":3,"73":3,"81":3,"84":1,"88":1,"122":2,"168":1,"191":1,"192":1}}],["multipolygon",{"2":{"3":2,"4":5,"6":17,"56":2,"62":1,"70":1,"71":7,"72":1,"73":5,"81":1,"82":6,"88":4,"122":2,"146":7,"166":2,"167":7,"168":8,"169":2,"180":3,"191":8,"192":1}}],["multipolygontrait",{"2":{"1":1,"3":4,"4":2,"6":6,"23":1,"32":1,"71":4,"73":4,"82":4,"88":6,"100":1,"101":1,"114":1,"115":1,"122":8,"131":1,"132":1,"141":1,"142":1,"150":1,"153":1,"165":1,"169":4}}],["multipoint",{"2":{"4":5,"6":5,"50":1,"56":1,"88":5,"105":6,"153":1,"154":2,"180":1,"191":5}}],["multipoints",{"2":{"3":2,"4":1,"6":3,"56":1,"66":1,"88":2,"122":2,"180":1,"191":1}}],["multipointtrait",{"2":{"1":1,"3":2,"4":4,"6":7,"32":1,"53":2,"56":1,"66":1,"88":8,"100":1,"101":1,"105":4,"114":1,"115":1,"122":4,"131":1,"132":1,"141":1,"142":1,"150":1,"151":1,"165":1,"180":2,"189":1}}],["multithreading",{"2":{"1":2,"4":1,"6":4,"150":1,"155":1}}],["must",{"2":{"1":1,"3":8,"4":2,"5":1,"6":22,"9":1,"53":1,"59":5,"60":1,"64":2,"66":3,"69":1,"73":2,"88":5,"91":2,"94":1,"103":1,"104":1,"108":1,"116":13,"122":1,"124":1,"125":1,"135":2,"146":1,"153":1,"156":2,"164":1,"165":3,"166":1,"172":1,"176":1,"177":1,"180":1,"184":4,"188":1}}],["much",{"2":{"0":1,"6":3,"70":1,"72":1,"81":1}}],["df",{"2":{"194":3,"195":4,"198":10,"199":12}}],["dp",{"2":{"180":3}}],["dy",{"2":{"145":2,"177":3}}],["dy2",{"2":{"145":2}}],["dy1",{"2":{"105":10,"145":2}}],["dyc",{"2":{"105":2}}],["dx",{"2":{"145":2,"177":3}}],["dx2",{"2":{"145":2}}],["dx1",{"2":{"105":10,"145":2}}],["dxc",{"2":{"105":2}}],["drop",{"2":{"82":1,"169":1,"177":1}}],["driven",{"2":{"25":1,"28":1}}],["driving",{"2":{"25":1,"28":1}}],["duplicated",{"2":{"73":2}}],["during",{"2":{"64":1}}],["due",{"2":{"63":1,"64":1,"73":3}}],["date",{"2":{"79":1}}],["datas",{"2":{"200":1}}],["datasets",{"2":{"192":1,"197":1,"198":1}}],["dataset",{"2":{"192":1,"197":1}}],["datainterpolations",{"2":{"174":1}}],["dataframes",{"2":{"194":3,"198":2,"199":1}}],["dataframe",{"2":{"30":1,"194":1,"197":1,"198":5,"199":2}}],["dataapi",{"2":{"27":1,"153":7}}],["dataaspect",{"2":{"13":1,"14":1,"52":1,"55":1,"58":2,"62":1,"65":1,"84":2,"146":2,"175":1,"180":1}}],["data",{"0":{"146":1,"195":1},"2":{"23":1,"25":1,"28":1,"78":1,"146":2,"153":1,"180":10,"190":1,"192":2,"193":2,"194":2,"195":6,"198":1}}],["dashboard",{"0":{"14":1},"2":{"13":1,"14":1}}],["d",{"2":{"1":2,"5":1,"6":1,"59":1,"158":1,"172":1,"182":3}}],["deu",{"2":{"199":2}}],["demonstrates",{"2":{"198":1}}],["densify",{"2":{"176":3}}],["densifying",{"2":{"176":1}}],["densifies",{"2":{"174":1}}],["denoted",{"2":{"116":1}}],["denotes",{"2":{"64":1}}],["debug",{"2":{"165":1}}],["debugging",{"2":{"59":1,"64":1}}],["derivation",{"2":{"73":1}}],["dealing",{"2":{"66":1}}],["delete",{"2":{"105":1,"122":1,"146":1,"182":1}}],["deleteat",{"2":{"64":6,"182":1,"184":2}}],["deltri",{"2":{"80":1}}],["delayed",{"2":{"64":10,"71":2,"73":2,"82":2}}],["delay",{"2":{"64":14,"70":2,"71":2,"72":2,"73":2,"81":2,"82":2}}],["delaunay",{"2":{"6":1,"80":1}}],["delaunaytriangulation",{"2":{"6":1,"27":1,"75":1,"80":6}}],["deprecated",{"2":{"177":1}}],["depend",{"2":{"64":2}}],["depends",{"2":{"64":1,"69":1}}],["depending",{"2":{"1":1,"23":1,"73":1,"150":1,"153":1}}],["depth",{"2":{"59":2}}],["desktop",{"2":{"195":1}}],["dest",{"2":{"192":2}}],["destination",{"2":{"192":5}}],["desired",{"2":{"81":1,"195":1}}],["despite",{"2":{"53":1}}],["describe",{"2":{"17":1}}],["described",{"2":{"6":1,"59":1,"63":1,"64":1}}],["de",{"0":{"39":1},"1":{"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1},"2":{"116":2,"197":1}}],["deconstruct",{"2":{"148":1,"154":1}}],["decomposition",{"2":{"18":1,"148":1}}],["decomposing",{"2":{"18":1}}],["decompose",{"2":{"18":2,"30":1,"59":4,"154":1,"161":1}}],["decrementing",{"2":{"146":1}}],["decrease",{"2":{"63":1}}],["decreasing",{"2":{"6":1,"180":1}}],["decide",{"2":{"79":1,"146":1}}],["decision",{"2":{"24":1}}],["degeneracies",{"2":{"9":1}}],["degenerate",{"2":{"6":1,"59":1,"69":2}}],["degrees",{"2":{"6":1,"52":1,"145":1,"158":1,"176":1}}],["defines",{"2":{"64":1,"148":1,"154":1,"155":1,"156":1,"157":1,"164":1,"187":1}}],["define",{"2":{"58":1,"73":2,"87":1,"146":2,"148":1,"151":1,"153":1,"158":1,"187":1,"200":2}}],["defined",{"2":{"4":1,"5":1,"6":3,"7":1,"22":1,"53":2,"59":1,"65":1,"66":4,"73":4,"85":2,"144":1,"153":1,"158":3,"177":1,"187":1}}],["definitions",{"2":{"188":1}}],["definition",{"2":{"4":4,"6":6,"88":8,"93":1,"158":3,"177":1}}],["default",{"2":{"1":2,"4":5,"6":13,"32":1,"53":1,"56":2,"66":1,"70":1,"71":2,"72":1,"73":5,"80":1,"81":1,"82":2,"85":2,"146":5,"153":5,"156":2,"158":1,"172":2,"180":2}}],["defaults",{"2":{"1":6,"4":2,"6":11,"150":3,"153":1,"155":3}}],["deeper",{"2":{"1":1,"150":1,"152":1,"153":2}}],["detrimental",{"2":{"167":1}}],["detector",{"2":{"79":1}}],["detection",{"2":{"79":1,"146":1}}],["determined",{"2":{"64":1,"66":1}}],["determine",{"2":{"64":10,"66":3,"70":2,"72":2,"73":9,"81":2,"94":1,"108":1,"116":9,"122":1,"125":1,"135":1,"182":3,"197":1}}],["determines",{"2":{"56":1,"64":3,"73":1,"116":10}}],["determinant",{"2":{"6":1,"59":1}}],["detail",{"2":{"26":1}}],["details",{"2":{"6":2,"175":2}}],["details>",{"2":{"6":2}}],["det",{"2":{"0":1,"6":2,"59":4}}],["dirname",{"2":{"180":4}}],["dirty",{"2":{"179":1}}],["directive",{"2":{"153":1}}],["direction",{"2":{"6":1,"64":1,"88":5,"146":3}}],["direct",{"2":{"33":1}}],["directly",{"2":{"6":1,"80":3,"146":1,"176":1}}],["dig",{"2":{"153":1}}],["dict",{"2":{"146":5}}],["didn",{"2":{"82":1,"116":1,"160":1}}],["division",{"2":{"58":1}}],["divided",{"2":{"26":1}}],["ditance",{"2":{"4":1,"6":1,"85":1}}],["dimensional",{"2":{"5":1,"6":3,"55":1,"59":1,"80":2,"158":1}}],["dimensions",{"2":{"3":1,"6":1,"122":2}}],["dimension",{"2":{"1":1,"3":4,"6":4,"105":2,"121":1,"122":4,"172":1}}],["discouraged",{"2":{"193":1}}],["discussion",{"2":{"25":1,"28":1,"69":1}}],["distributed",{"2":{"198":2}}],["distinct",{"2":{"73":1,"146":1}}],["dist",{"2":{"73":40,"85":19,"116":2,"176":8,"182":40}}],["distance`",{"2":{"176":3,"177":2,"188":1}}],["distances",{"2":{"73":1,"84":1,"176":1,"181":5}}],["distance",{"0":{"83":2,"84":2},"1":{"84":2,"85":2},"2":{"0":4,"4":26,"6":47,"27":1,"32":9,"59":13,"60":3,"66":3,"73":32,"83":2,"84":17,"85":92,"116":1,"148":1,"154":1,"174":1,"175":5,"176":13,"177":28,"180":1,"181":3,"182":6,"183":1,"196":1,"200":2}}],["disagree",{"2":{"56":1}}],["displacement",{"2":{"158":1}}],["displaying",{"2":{"192":1}}],["display",{"2":{"13":1,"58":1,"192":1}}],["disparate",{"2":{"25":1,"28":1}}],["dispatches",{"2":{"6":1,"53":1,"56":1,"59":1,"63":1,"66":1,"85":1,"88":1,"94":1,"108":1,"122":1,"125":1,"135":1}}],["dispatch",{"2":{"4":1,"6":3,"24":1,"59":1,"88":1,"156":3,"159":1,"188":1}}],["disjoint",{"0":{"41":1,"106":1,"107":1,"110":1,"111":1,"112":1,"113":1,"114":1},"1":{"107":1,"108":1},"2":{"0":2,"3":5,"6":7,"23":1,"27":1,"41":2,"82":2,"106":1,"107":3,"108":11,"109":6,"110":15,"111":18,"112":10,"113":5,"114":4,"115":2,"116":16,"119":3,"166":2,"167":2,"169":7,"197":1}}],["diffs",{"2":{"53":4}}],["diff",{"2":{"6":2,"53":17,"70":5,"71":3,"122":3,"169":8}}],["differs",{"2":{"192":1}}],["differ",{"2":{"4":1,"6":1,"85":1}}],["differently",{"2":{"4":3,"6":4,"53":1,"56":2,"66":1}}],["different",{"2":{"3":1,"4":4,"6":6,"20":1,"23":1,"53":1,"56":4,"64":3,"66":1,"73":2,"79":1,"122":3,"146":1,"151":1,"153":1,"167":2,"192":2,"195":1}}],["differences",{"0":{"71":1},"2":{"73":1,"182":1}}],["difference",{"0":{"35":1,"38":1,"70":1},"2":{"0":1,"6":7,"11":1,"23":1,"27":1,"35":2,"38":1,"64":3,"70":12,"71":14,"73":1,"81":1,"82":3,"166":1,"169":1,"176":1}}],["diffintersectingpolygons",{"2":{"0":1,"6":1,"166":1,"169":4}}],["doi",{"2":{"70":2,"72":2,"81":2,"116":1}}],["doing",{"2":{"17":1,"22":1,"153":1,"193":1}}],["dot",{"2":{"53":2,"59":1}}],["download",{"2":{"192":1}}],["down",{"2":{"18":1,"30":1,"59":1,"156":2}}],["doable",{"2":{"9":1}}],["documenter",{"2":{"175":2}}],["documentation",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1},"2":{"0":1,"26":1,"58":1,"155":1}}],["docstring",{"2":{"175":4}}],["docstrings",{"0":{"149":1},"1":{"150":1},"2":{"7":1,"155":1}}],["docs",{"0":{"26":1,"155":1},"2":{"26":1,"146":1}}],["doc",{"2":{"9":1,"10":1}}],["does",{"0":{"22":1},"2":{"7":1,"19":1,"62":1,"73":2,"90":1,"93":3,"116":1}}],["doesn",{"2":{"4":1,"6":2,"32":1,"56":1,"69":1,"88":1,"176":1,"188":1,"199":1}}],["doublets",{"2":{"199":2}}],["double",{"2":{"183":4}}],["doubled",{"2":{"6":1,"183":1}}],["douglas",{"2":{"178":2,"180":2,"182":1}}],["douglaspeucker",{"0":{"182":1},"2":{"0":1,"6":5,"178":1,"180":5,"182":6}}],["done",{"0":{"10":1},"2":{"13":1,"14":1,"116":2,"146":1,"148":1,"158":1,"167":1,"191":1,"197":1}}],["don",{"2":{"4":2,"6":2,"64":4,"70":1,"82":1,"88":6,"111":1,"116":1,"124":1,"128":1,"146":2,"153":3,"154":2,"188":1}}],["do",{"0":{"9":1,"23":1,"74":1},"2":{"1":1,"6":1,"14":1,"23":1,"27":1,"53":1,"56":2,"59":2,"60":1,"63":1,"66":1,"69":1,"82":3,"85":2,"87":1,"88":1,"103":1,"111":2,"112":1,"113":2,"116":1,"146":4,"148":1,"150":1,"153":5,"154":2,"156":4,"162":1,"163":1,"168":1,"171":2,"173":1,"176":1,"180":1,"185":2,"186":2,"192":2,"193":2,"194":3,"198":1,"199":1}}],["aim",{"2":{"158":1}}],["ay",{"2":{"145":2}}],["azimuth",{"2":{"145":2}}],["automatically",{"2":{"122":1,"153":1,"192":1}}],["a3",{"2":{"78":1}}],["against",{"2":{"88":1,"116":2,"176":1,"180":1}}],["again",{"2":{"73":1,"153":1}}],["a``",{"2":{"71":2}}],["a`",{"2":{"71":7,"73":3,"82":2}}],["away",{"2":{"60":1,"105":1,"200":1}}],["a2y",{"2":{"73":4}}],["a2x",{"2":{"73":4}}],["a2",{"2":{"58":4,"73":54,"79":1,"122":6}}],["a1y",{"2":{"73":7}}],["a1x",{"2":{"73":7}}],["a1",{"2":{"58":2,"64":9,"73":66,"79":1,"122":6}}],["ams",{"2":{"196":2}}],["america",{"2":{"180":1}}],["am",{"2":{"116":1}}],["ambiguity",{"2":{"85":2,"153":1,"154":1,"156":3}}],["amounts",{"2":{"195":1}}],["amount",{"2":{"55":1,"65":1}}],["amp",{"2":{"6":1,"9":1}}],["axes",{"2":{"146":6}}],["ax",{"2":{"13":3,"14":3,"145":2,"191":5}}],["axis`",{"2":{"158":1}}],["axislegend",{"2":{"77":1,"175":1,"179":1}}],["axis",{"2":{"13":2,"14":1,"52":1,"55":1,"58":4,"62":1,"65":1,"79":2,"84":1,"146":2,"158":4,"175":1,"180":1,"196":1}}],["axs",{"2":{"13":2}}],["advised",{"2":{"159":1}}],["advance",{"2":{"63":2}}],["adjust",{"2":{"73":1}}],["adjacent",{"2":{"64":1,"71":1,"73":1,"82":1}}],["adaptivity",{"0":{"74":1}}],["adaptive",{"2":{"7":1,"13":3,"14":2,"74":1}}],["adapted",{"2":{"70":1,"72":1,"81":1,"145":1}}],["administrative",{"2":{"199":1}}],["admin",{"2":{"11":1,"78":1,"180":2}}],["adm0",{"2":{"11":7,"78":4}}],["additional",{"2":{"195":1}}],["additionally",{"2":{"64":3,"88":1}}],["addition",{"2":{"58":1,"82":1}}],["adding",{"2":{"4":1,"6":4,"7":1,"82":2,"146":1,"170":1,"174":1,"176":2,"177":1}}],["added",{"2":{"53":1,"64":6,"66":1,"82":2,"156":2,"169":2,"182":1}}],["add",{"2":{"3":1,"6":1,"7":2,"59":1,"60":1,"64":16,"66":1,"69":4,"70":3,"72":1,"73":2,"80":1,"81":2,"82":9,"105":1,"146":4,"156":1,"160":1,"174":1,"176":1,"182":10,"192":1,"194":2,"197":4}}],["average",{"2":{"57":3,"63":4,"73":1}}],["available",{"0":{"166":1},"2":{"6":2,"27":1,"63":1,"159":1,"165":3,"174":1,"175":1,"177":1,"180":1,"184":1}}],["avoid",{"2":{"5":1,"6":7,"59":1,"70":1,"72":1,"73":1,"81":1,"82":1,"146":2,"153":1,"154":1,"156":3,"177":1,"181":1,"182":1,"183":1,"191":3}}],["a>",{"2":{"6":2}}],["achieve",{"2":{"167":1}}],["across",{"2":{"151":1}}],["acos",{"2":{"53":1}}],["activate",{"2":{"175":1}}],["action",{"2":{"20":2}}],["actions",{"2":{"20":2}}],["actual",{"2":{"10":1,"59":1,"145":1,"163":1,"172":1,"176":1}}],["actually",{"2":{"1":1,"6":1,"9":1,"59":4,"73":1,"82":3,"116":1,"146":1,"185":1,"195":1}}],["access",{"2":{"192":1}}],["accessed",{"2":{"188":1}}],["accepted",{"2":{"158":1}}],["acceptable",{"2":{"116":1}}],["accepts",{"2":{"80":1}}],["accept",{"2":{"6":1,"188":1}}],["according",{"2":{"162":1,"167":1,"168":1,"198":1}}],["accordingly",{"2":{"64":1}}],["account",{"2":{"70":1,"72":1}}],["accurary",{"2":{"73":1}}],["accuratearithmetic",{"2":{"11":2}}],["accurate",{"0":{"11":1},"2":{"11":3,"175":1}}],["accumulators",{"2":{"59":1}}],["accumulator",{"2":{"59":1}}],["accumulate",{"2":{"56":1,"63":3}}],["accumulation",{"0":{"11":1},"2":{"59":1}}],["after",{"2":{"6":8,"53":1,"64":3,"153":1,"154":1,"180":2}}],["ab",{"2":{"64":3,"70":1,"72":1,"73":5,"81":1}}],["able",{"2":{"20":1,"73":1}}],["ability",{"2":{"17":1}}],["about",{"2":{"6":1,"24":2,"31":1,"59":2,"116":1,"153":1,"158":1,"161":1}}],["above",{"2":{"4":1,"6":1,"53":1,"63":1,"64":1,"73":1,"82":1,"165":1}}],["abs",{"2":{"53":1,"56":4,"63":1,"66":2,"105":8,"122":2,"146":1,"183":1,"200":1}}],["absolutely",{"2":{"154":1}}],["absolute",{"2":{"4":1,"6":1,"55":1,"56":2}}],["abstractarray",{"2":{"153":4,"154":2,"156":1,"189":2}}],["abstractarrays",{"2":{"151":1}}],["abstractrange",{"2":{"146":6}}],["abstractmulticurvetrait",{"2":{"100":1,"101":1,"114":1,"115":1,"131":1,"132":1,"141":1,"142":1}}],["abstractmatrix",{"2":{"6":5,"146":13}}],["abstractpolygontrait",{"2":{"85":1}}],["abstractcurvetrait",{"2":{"53":1,"56":1,"66":1,"96":1,"99":1,"100":1,"105":1,"110":1,"114":1,"127":1,"130":1,"131":1,"137":1,"140":1,"141":1,"145":1,"180":2,"189":3}}],["abstractwkbgeomtrait",{"2":{"32":1}}],["abstractfloat",{"2":{"27":1,"53":1,"56":2,"64":1,"66":2,"69":1,"70":1,"72":1,"73":1,"81":1,"85":8}}],["abstract",{"2":{"6":3,"32":1,"59":3,"158":2,"160":3,"164":1,"165":4,"166":1,"180":3}}],["abstractvector",{"2":{"5":1,"6":1,"59":26,"146":8}}],["abstractgeometrytrait`",{"2":{"165":1}}],["abstractgeometrytrait",{"2":{"6":2,"32":1,"56":2,"66":1,"85":1,"101":1,"115":1,"132":1,"142":1,"151":1,"156":1,"165":4,"166":2,"189":5}}],["abstractgeometry",{"2":{"3":4,"6":4,"32":1,"91":2,"104":2}}],["abstracttrait",{"2":{"1":2,"3":2,"6":2,"69":1,"71":2,"73":4,"82":2,"122":4,"148":1,"150":2,"153":1,"154":2,"156":11,"159":3}}],["abstractbarycentriccoordinatemethod",{"2":{"0":1,"5":1,"6":7,"59":18}}],["attribute",{"2":{"195":1}}],["attributed",{"2":{"194":1}}],["attributes",{"0":{"194":1},"2":{"190":1,"194":3}}],["attempt",{"2":{"158":1}}],["attempts",{"2":{"116":1}}],["attach",{"2":{"1":2,"4":1,"6":4,"150":1,"155":1}}],["atomic",{"2":{"7":1}}],["at",{"2":{"3":4,"5":1,"6":6,"9":1,"18":1,"20":1,"24":1,"26":1,"53":2,"55":1,"56":1,"58":1,"59":2,"64":4,"66":2,"73":8,"79":1,"82":2,"116":17,"122":6,"124":1,"125":1,"128":3,"129":2,"130":2,"131":1,"132":1,"135":1,"141":1,"145":1,"151":1,"153":1,"175":1,"177":1,"182":1,"184":1,"192":1,"193":2}}],["arbitrarily",{"2":{"151":1}}],["arbitrary",{"2":{"57":1,"148":1,"154":1,"191":1}}],["around",{"2":{"58":1,"59":2,"69":1,"84":1,"88":1,"146":1,"180":1,"198":1}}],["argmin",{"2":{"184":1}}],["arg",{"2":{"177":1}}],["argtypes",{"2":{"60":2,"173":1,"176":1}}],["args",{"2":{"13":2}}],["argumenterror",{"2":{"82":1,"146":1,"153":1,"154":1,"156":3}}],["argument",{"2":{"4":5,"6":10,"53":1,"56":2,"63":1,"66":1,"70":1,"72":1,"81":1,"85":2,"153":1,"156":1,"188":2,"192":1,"193":1}}],["arguments",{"2":{"1":1,"3":1,"6":5,"64":1,"94":2,"108":1,"125":1,"135":1,"172":1,"176":2,"177":1,"188":1}}],["arithmetic",{"2":{"11":1}}],["archgdal",{"2":{"23":1}}],["arc",{"2":{"6":1,"176":1}}],["array",{"2":{"4":1,"6":2,"56":1,"66":1,"146":5,"153":5,"154":2,"181":1,"184":1}}],["arrays",{"2":{"1":1,"6":1,"22":1,"146":1,"150":1,"154":2}}],["aren",{"2":{"4":3,"6":5,"69":1,"71":1,"73":2,"82":4,"88":3,"166":2,"169":2}}],["are",{"2":{"1":1,"3":4,"4":18,"5":2,"6":46,"9":2,"20":2,"22":3,"24":1,"25":1,"26":2,"28":1,"52":1,"53":8,"55":1,"56":2,"57":6,"59":11,"62":1,"63":3,"64":31,"66":6,"69":3,"70":3,"71":15,"72":2,"73":16,"79":3,"81":5,"82":9,"84":1,"85":1,"87":3,"88":26,"90":1,"94":7,"96":1,"97":3,"98":3,"99":1,"101":1,"107":1,"108":5,"110":1,"111":1,"112":1,"114":1,"115":1,"116":12,"122":7,"125":5,"127":1,"129":2,"134":1,"135":5,"137":1,"138":3,"139":3,"140":1,"142":1,"145":1,"146":14,"147":1,"150":1,"151":1,"153":6,"156":4,"157":1,"158":4,"159":1,"161":1,"162":1,"163":1,"165":1,"166":3,"167":1,"168":1,"169":2,"170":1,"175":1,"176":1,"177":1,"180":4,"182":1,"184":2,"186":1,"187":2,"188":1,"191":1,"194":2,"195":2,"196":1,"197":3,"198":6,"199":1,"200":1}}],["area2",{"2":{"63":4}}],["area1",{"2":{"63":4}}],["areas",{"2":{"4":2,"6":2,"56":3,"158":1,"183":2}}],["area",{"0":{"54":2,"55":2},"1":{"55":2,"56":2},"2":{"0":5,"4":15,"6":25,"11":6,"27":1,"54":2,"55":9,"56":61,"61":1,"62":3,"63":49,"65":2,"66":44,"81":2,"82":1,"122":1,"148":1,"154":1,"158":2,"166":2,"169":2,"180":2,"183":4,"192":1}}],["asked",{"2":{"153":1}}],["ask",{"2":{"23":1}}],["aspect",{"2":{"13":1,"14":1,"52":1,"55":1,"58":2,"62":1,"65":1,"84":2,"146":2,"175":1,"180":1}}],["assign",{"2":{"190":1}}],["assigned",{"2":{"64":1,"146":7,"198":1}}],["assets",{"2":{"192":1}}],["assetpath",{"2":{"192":1}}],["assemble",{"2":{"163":1}}],["assert",{"2":{"59":23,"63":1,"64":1,"69":1,"71":1,"73":1,"177":2,"189":1}}],["assume",{"2":{"122":2,"153":3,"154":1,"162":1,"169":1}}],["assumed",{"2":{"56":1,"88":1,"116":1}}],["assumes",{"2":{"6":3,"64":1,"85":1,"176":1,"177":2,"184":1}}],["associativity",{"2":{"19":1}}],["associated",{"0":{"1":1},"2":{"57":2}}],["as",{"2":{"1":8,"3":18,"4":6,"5":1,"6":74,"7":1,"11":2,"13":3,"14":3,"15":3,"17":2,"18":2,"20":1,"22":1,"23":2,"24":1,"25":1,"28":1,"52":2,"53":4,"55":2,"56":3,"57":4,"58":1,"59":4,"60":3,"62":2,"63":1,"64":15,"65":2,"66":5,"68":3,"69":5,"70":8,"71":2,"72":7,"73":8,"75":1,"77":2,"78":2,"79":3,"80":3,"81":7,"82":5,"84":3,"85":1,"87":2,"88":2,"90":2,"91":2,"93":3,"94":3,"103":2,"104":2,"105":2,"107":2,"108":3,"116":7,"118":2,"119":2,"121":2,"122":2,"124":2,"125":3,"127":1,"134":2,"135":3,"145":8,"146":3,"148":3,"150":2,"151":2,"152":2,"153":10,"154":4,"156":4,"158":4,"159":2,"160":2,"162":2,"163":2,"165":1,"166":1,"168":2,"170":1,"172":3,"174":2,"175":2,"176":3,"177":1,"178":2,"179":2,"180":7,"182":2,"185":3,"188":2,"189":2,"190":3,"191":2,"192":1,"193":1,"195":3,"196":3,"197":2,"198":3,"199":2}}],["alone",{"2":{"153":1}}],["along",{"2":{"4":4,"6":5,"64":3,"66":2,"73":4,"88":4,"116":1}}],["although",{"2":{"138":1,"139":1}}],["alternate",{"2":{"64":1}}],["alternative",{"2":{"64":1}}],["already",{"2":{"88":1,"116":2,"153":1,"182":1}}],["almost",{"2":{"73":1}}],["alg=nothing",{"2":{"180":1}}],["alg`",{"2":{"180":1}}],["alg",{"2":{"6":4,"32":2,"180":21,"181":3,"182":8,"183":3,"184":7,"188":9}}],["algorithms",{"2":{"6":3,"75":1,"79":1,"162":1,"177":1,"178":1,"180":4,"182":1,"184":1}}],["algorithm",{"0":{"181":1,"182":1,"183":1},"2":{"6":12,"58":1,"64":2,"66":1,"69":3,"70":1,"72":1,"75":1,"80":4,"81":1,"116":1,"178":1,"180":8,"181":1,"182":3,"183":1,"188":4}}],["allocating",{"2":{"80":1}}],["allocations",{"2":{"5":1,"6":1,"59":1}}],["allocate",{"2":{"80":1}}],["allow=",{"2":{"116":1}}],["allows",{"2":{"11":1,"18":1,"23":1,"24":1,"30":1,"94":2,"96":3,"97":3,"98":3,"99":1,"108":2,"110":3,"111":3,"112":2,"113":1,"125":1,"128":1,"129":1,"130":1,"135":3,"137":3,"138":3,"139":3,"140":1,"148":1,"178":1,"192":1,"194":1,"197":1}}],["allowed",{"2":{"6":1,"94":3,"108":3,"116":6,"125":5,"127":1,"128":2,"135":3,"180":1}}],["allow",{"2":{"1":1,"6":1,"23":1,"73":1,"94":7,"105":3,"108":7,"116":73,"125":10,"135":10,"177":1,"185":1}}],["all",{"2":{"1":3,"3":2,"4":3,"6":12,"9":1,"11":7,"22":1,"25":1,"27":2,"28":1,"53":5,"56":3,"59":1,"64":13,"66":3,"70":1,"71":3,"73":3,"75":1,"78":3,"80":1,"82":5,"84":1,"88":2,"90":1,"97":3,"98":3,"101":1,"114":1,"115":1,"116":7,"122":4,"134":1,"142":1,"145":1,"146":3,"147":1,"150":1,"151":2,"152":1,"153":7,"154":1,"156":2,"158":1,"163":1,"165":1,"167":1,"170":1,"171":1,"180":1,"185":2,"186":1,"187":1,"191":1,"193":1,"195":1,"197":1}}],["always",{"2":{"1":7,"4":6,"6":8,"25":1,"28":1,"55":1,"56":4,"66":2,"79":1,"84":1,"85":1,"88":1,"150":2,"153":3,"154":1,"172":4,"197":1}}],["also",{"2":{"1":2,"6":9,"23":1,"53":1,"56":2,"63":2,"64":3,"66":1,"70":1,"72":1,"73":2,"75":1,"79":1,"80":1,"81":1,"84":1,"85":2,"88":3,"122":1,"146":1,"150":1,"151":1,"153":1,"159":1,"163":1,"166":3,"169":2,"173":1,"174":1,"175":1,"176":1,"178":1,"185":1,"191":2,"194":1}}],["a",{"0":{"23":1,"192":1,"194":1},"2":{"1":13,"3":5,"4":79,"5":1,"6":187,"7":3,"9":1,"11":1,"15":2,"17":1,"18":6,"20":3,"22":3,"23":4,"24":2,"25":2,"28":2,"30":2,"31":2,"32":4,"35":3,"36":3,"37":3,"38":3,"40":2,"41":2,"42":2,"43":2,"44":2,"45":2,"46":2,"47":2,"48":2,"49":2,"52":3,"53":22,"55":11,"56":20,"57":13,"58":4,"59":11,"60":2,"62":5,"63":8,"64":281,"65":2,"66":17,"68":3,"69":4,"70":39,"71":30,"72":38,"73":91,"74":3,"75":3,"77":3,"78":2,"79":1,"80":4,"81":36,"82":45,"84":15,"85":27,"87":2,"88":54,"90":2,"93":1,"94":3,"96":5,"97":3,"98":2,"100":2,"101":2,"103":2,"105":1,"107":1,"108":3,"110":4,"111":3,"112":1,"114":2,"115":2,"116":52,"118":2,"121":5,"122":27,"124":2,"125":4,"127":4,"128":2,"129":2,"130":1,"131":2,"132":2,"134":1,"135":3,"137":5,"138":2,"139":2,"141":2,"142":2,"144":1,"145":4,"146":79,"148":4,"150":4,"151":4,"153":27,"154":6,"156":7,"158":11,"159":6,"160":6,"161":6,"162":2,"163":2,"164":5,"165":5,"166":9,"167":8,"169":6,"170":2,"171":3,"172":8,"173":3,"174":5,"175":4,"176":8,"177":10,"179":3,"180":5,"183":3,"184":1,"185":2,"186":1,"188":12,"189":2,"190":1,"191":21,"192":12,"193":5,"194":5,"195":11,"196":1,"197":5,"198":8,"199":3,"200":3}}],["apart",{"2":{"169":1}}],["april",{"0":{"7":1}}],["appears",{"2":{"162":1}}],["append",{"2":{"53":1,"64":5,"70":1,"71":2,"73":2,"81":1,"82":5,"169":2}}],["approximately",{"2":{"64":1,"175":1}}],["approach",{"2":{"19":1}}],["appropriately",{"2":{"198":1}}],["appropriate",{"2":{"6":1,"188":2}}],["applies",{"2":{"151":2}}],["applied",{"2":{"6":1,"20":1,"156":4,"164":2,"165":2,"166":1}}],["application",{"2":{"1":1,"6":2,"150":1,"154":1,"163":1,"165":3,"166":1,"169":2,"174":1,"177":1}}],["apply`",{"2":{"153":1}}],["applys",{"2":{"56":1,"66":1}}],["applyreduce",{"0":{"19":1,"154":1},"2":{"0":1,"1":1,"17":1,"19":2,"27":2,"30":1,"53":1,"56":1,"63":2,"66":1,"85":2,"148":1,"150":1,"154":42,"160":1}}],["apply",{"0":{"1":1,"18":1,"22":1,"30":1,"148":1,"151":1},"1":{"19":1,"149":1,"150":1,"151":1,"152":1,"153":1},"2":{"0":1,"1":4,"6":3,"17":1,"18":5,"20":1,"22":1,"24":1,"27":3,"30":3,"32":2,"148":5,"150":3,"151":4,"152":1,"153":55,"154":5,"155":1,"156":3,"158":1,"160":1,"165":4,"166":1,"170":1,"171":3,"172":1,"176":1,"177":1,"180":2,"185":3,"186":2}}],["apis",{"2":{"17":1}}],["api",{"0":{"0":1,"59":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1},"2":{"0":1,"6":3,"24":1,"59":1,"176":1,"180":1,"188":1}}],["annotation",{"2":{"160":1}}],["annotated",{"2":{"26":1}}],["angular",{"2":{"158":1}}],["angels",{"2":{"53":1}}],["angle",{"2":{"53":35,"145":1}}],["angles",{"0":{"51":1,"52":1},"1":{"52":1,"53":1},"2":{"0":2,"4":10,"6":10,"27":1,"51":1,"52":4,"53":42}}],["answers",{"2":{"167":1}}],["answer",{"2":{"6":3,"70":1,"72":1,"73":1,"81":1}}],["another",{"2":{"3":1,"6":1,"64":2,"73":1,"80":1,"84":1,"90":1,"93":1,"96":1,"98":1,"99":1,"103":1,"107":1,"110":1,"111":1,"112":1,"113":1,"116":1,"118":1,"121":1,"122":1,"124":1,"127":1,"128":1,"129":1,"130":1,"134":1,"137":1,"138":1,"139":1,"140":1,"146":1,"172":1}}],["anonymous",{"2":{"1":1,"6":1,"185":1}}],["an",{"2":{"1":3,"4":11,"5":1,"6":27,"9":1,"13":1,"14":1,"18":1,"20":1,"23":2,"32":1,"52":1,"53":4,"55":1,"56":2,"58":1,"59":3,"60":2,"62":1,"64":15,"65":2,"66":2,"68":1,"69":1,"70":2,"71":5,"72":2,"73":9,"80":3,"81":2,"82":2,"84":2,"85":5,"87":1,"88":1,"90":1,"93":2,"96":2,"103":1,"107":1,"116":13,"118":1,"121":1,"122":1,"124":1,"134":1,"137":2,"138":1,"139":1,"146":3,"147":1,"150":1,"151":1,"152":1,"153":5,"154":2,"156":2,"158":1,"163":1,"170":1,"172":1,"176":1,"185":2,"188":3,"189":1,"191":2,"192":2,"194":1,"196":1,"198":1}}],["anything",{"2":{"58":1,"116":1}}],["any",{"2":{"1":3,"3":1,"4":2,"6":17,"18":1,"24":1,"25":1,"28":1,"30":1,"57":2,"63":1,"64":7,"66":1,"69":1,"71":1,"73":4,"82":1,"85":2,"95":2,"96":1,"99":1,"107":1,"109":2,"110":1,"111":2,"112":1,"113":2,"116":8,"122":2,"126":2,"136":2,"140":1,"146":2,"148":2,"150":1,"153":2,"154":2,"156":2,"163":1,"164":1,"165":3,"166":4,"169":4,"172":2,"174":1,"176":1,"177":1,"182":1,"189":1,"197":3,"198":2}}],["and",{"0":{"1":1,"20":1,"22":1,"24":1,"54":1,"71":1,"73":1,"82":1,"83":1,"191":1,"192":1,"194":1},"1":{"55":1,"56":1,"84":1,"85":1},"2":{"0":2,"1":8,"3":11,"4":18,"6":79,"7":1,"9":2,"17":4,"18":4,"20":2,"22":1,"23":2,"24":3,"25":2,"26":5,"27":2,"28":2,"30":2,"31":1,"32":2,"33":1,"53":13,"55":1,"56":7,"57":2,"58":2,"59":20,"60":1,"61":2,"62":1,"63":29,"64":71,"65":2,"66":18,"68":1,"69":4,"70":4,"71":16,"72":4,"73":38,"79":1,"80":2,"81":6,"82":15,"84":2,"85":13,"87":2,"88":13,"90":3,"91":2,"93":2,"94":3,"97":3,"98":4,"99":1,"103":2,"104":2,"105":1,"108":3,"111":3,"112":1,"113":1,"116":36,"118":1,"121":2,"122":3,"125":2,"129":2,"130":2,"134":3,"135":4,"137":2,"138":3,"139":3,"140":1,"145":2,"146":16,"148":6,"150":5,"151":2,"152":3,"153":16,"154":10,"156":3,"157":1,"158":14,"159":1,"160":3,"161":1,"162":2,"163":1,"164":1,"165":4,"166":2,"167":1,"170":2,"171":2,"172":2,"175":1,"176":5,"177":7,"178":2,"179":1,"180":8,"182":8,"183":1,"184":1,"185":1,"188":4,"190":3,"191":9,"192":7,"193":2,"195":5,"197":2,"198":4,"199":2}}],["snapped",{"2":{"146":1}}],["s3",{"2":{"64":3}}],["scratch",{"2":{"195":1}}],["sciences",{"2":{"192":1}}],["scalefactor",{"2":{"176":3}}],["scattered",{"2":{"198":1}}],["scatter",{"2":{"62":1,"84":2,"87":2,"90":2,"93":1,"103":1,"107":2,"121":2,"134":2,"198":1}}],["schema",{"2":{"153":5,"154":1}}],["scheme",{"2":{"63":1}}],["scenario",{"2":{"116":2}}],["scene",{"2":{"14":1}}],["skipmissing",{"2":{"146":1}}],["skipped",{"2":{"146":1}}],["skip",{"2":{"56":1,"116":14,"146":1,"153":1,"184":4}}],["skygering",{"2":{"7":1}}],["square",{"2":{"85":1,"181":1,"182":1}}],["squared",{"2":{"6":2,"66":2,"85":12,"181":2,"182":7}}],["sqrt",{"2":{"53":2,"63":1,"85":3}}],["sgn",{"2":{"53":5}}],["smallest",{"2":{"53":2,"73":1,"75":1}}],["sᵢ₋₁",{"2":{"59":25}}],["sᵢ₊₁",{"2":{"6":2,"59":41}}],["sᵢ",{"2":{"6":4,"59":46}}],["src",{"2":{"6":2}}],["syntax",{"2":{"194":1}}],["sym10100477",{"2":{"116":1}}],["symdifference",{"2":{"38":1,"147":1}}],["symmetric",{"0":{"38":1},"2":{"38":1}}],["symbol=",{"2":{"105":1}}],["symbol",{"2":{"6":1,"188":2}}],["system",{"0":{"192":1,"193":1},"2":{"1":2,"172":2,"190":2,"192":1}}],["switches",{"2":{"73":1,"82":1}}],["switch",{"2":{"64":1,"82":1,"160":1}}],["switching",{"2":{"6":1,"66":1}}],["swap",{"2":{"6":1,"82":1,"85":2,"171":1}}],["swapped",{"2":{"3":1,"6":1,"91":1,"94":1,"104":1,"105":1,"119":1,"122":1}}],["swapping",{"2":{"1":1,"150":1,"153":1}}],["s2",{"2":{"6":4,"59":6,"64":3}}],["s1",{"2":{"6":3,"59":6,"64":3}}],["saving",{"0":{"195":1}}],["saved",{"2":{"88":1}}],["save",{"2":{"53":1,"190":1,"195":3}}],["samples",{"2":{"13":1}}],["sample",{"2":{"13":1}}],["same",{"2":{"3":2,"4":12,"6":22,"18":1,"53":3,"56":1,"64":15,"66":1,"69":1,"70":3,"72":1,"73":1,"79":1,"81":1,"82":1,"84":1,"87":2,"88":30,"116":2,"121":1,"122":8,"151":1,"153":5,"156":2,"161":1,"166":2,"168":1,"169":2,"175":1,"191":1,"192":1,"195":1}}],["says",{"2":{"79":1}}],["say",{"2":{"6":1,"59":1,"176":1}}],["spliced",{"2":{"155":1}}],["split",{"2":{"69":1}}],["sp",{"2":{"116":2}}],["specify",{"2":{"156":2,"192":1,"193":1,"197":1}}],["specification",{"2":{"162":1,"165":1,"167":1,"168":1}}],["specifically",{"2":{"6":2,"59":3,"178":1,"197":1}}],["specific",{"2":{"64":1,"94":1,"108":1,"125":1,"135":1,"153":1,"154":1,"156":3,"158":1}}],["specified",{"2":{"3":1,"6":2,"64":1,"71":2,"73":2,"82":2,"122":1,"151":1,"180":1}}],["specialized",{"2":{"25":1,"28":1,"80":1,"153":1}}],["sphere",{"2":{"6":1,"158":3,"177":1}}],["sphericalgeodesics",{"2":{"158":1}}],["spherical",{"2":{"6":1,"27":2,"158":7,"177":1}}],["spatial",{"0":{"197":1},"1":{"198":1,"199":1,"200":1},"2":{"197":6,"198":3,"200":1}}],["spawn",{"2":{"153":3,"154":3}}],["span>",{"2":{"6":2}}],["span",{"2":{"6":2,"198":1}}],["space",{"2":{"6":1,"25":1,"28":1,"53":1,"55":1,"116":1,"158":5,"176":1}}],["slow",{"2":{"199":1}}],["slower",{"2":{"6":1,"188":2}}],["slope2",{"2":{"145":2}}],["slope1",{"2":{"145":2}}],["slidergrid",{"2":{"14":1}}],["sliders",{"2":{"14":3}}],["slightly",{"2":{"4":2,"6":2,"56":2}}],["suite",{"2":{"176":5,"180":13}}],["suggestion",{"2":{"173":1}}],["success",{"2":{"158":1}}],["such",{"2":{"4":1,"6":1,"55":1,"68":1,"75":1,"151":1,"170":1}}],["sun",{"2":{"116":1}}],["surrounds",{"2":{"116":1}}],["sure",{"2":{"9":1,"53":1,"64":2,"85":1,"122":1,"184":1}}],["suppose",{"2":{"199":1,"200":1}}],["supports",{"2":{"58":1,"59":1,"75":1,"153":3,"195":1,"200":2}}],["support",{"2":{"32":1,"60":1,"174":1,"200":1}}],["supported",{"2":{"23":1,"195":1}}],["supertype",{"2":{"6":1,"59":1}}],["sukumar",{"2":{"6":1,"59":1}}],["sum=1",{"2":{"59":1}}],["summary>",{"2":{"6":4}}],["sum",{"2":{"4":2,"6":3,"11":6,"55":1,"56":2,"57":2,"59":8,"66":1,"85":2,"145":5,"184":1,"189":4}}],["sublevel",{"2":{"199":1}}],["subsequent",{"2":{"191":1}}],["substituted",{"2":{"1":1,"150":1,"153":1}}],["subgeom1",{"2":{"156":2}}],["subgeom",{"2":{"156":3}}],["subject",{"2":{"64":1}}],["subtype",{"2":{"153":1}}],["subtypes",{"2":{"6":2,"59":2}}],["subtracted",{"2":{"145":1}}],["subtitle",{"2":{"13":1,"58":2,"176":1,"180":2}}],["sub",{"2":{"4":6,"6":7,"53":1,"56":3,"66":1,"71":6,"73":3,"82":4,"85":2,"100":2,"101":2,"114":2,"115":2,"131":2,"132":2,"141":2,"142":2,"153":3,"167":4,"168":2,"169":4}}],["series",{"2":{"191":1}}],["serve",{"2":{"6":1,"59":1}}],["searchsortedfirst",{"2":{"182":1}}],["semimajor",{"2":{"158":3}}],["seg2",{"2":{"145":2}}],["seg1",{"2":{"145":3}}],["seg",{"2":{"116":23,"122":9}}],["segmentation",{"2":{"175":1}}],["segments",{"2":{"23":1,"27":1,"52":2,"53":1,"62":1,"63":2,"64":3,"66":1,"73":6,"116":18,"176":1,"177":3}}],["segmentization",{"2":{"32":1,"158":1,"174":1}}],["segmentizing",{"2":{"6":3,"175":1,"176":2,"177":1}}],["segmentizemethod",{"2":{"176":3,"177":1}}],["segmentized",{"2":{"175":1}}],["segmentizes",{"2":{"174":1}}],["segmentize",{"0":{"32":1,"174":1},"1":{"175":1,"176":1,"177":1},"2":{"0":1,"6":4,"27":1,"32":9,"60":1,"148":1,"158":1,"174":1,"175":5,"176":11,"177":18,"196":1}}],["segment",{"2":{"4":4,"6":7,"53":1,"63":5,"64":6,"66":3,"68":1,"73":17,"85":2,"105":3,"116":43,"122":3,"145":2,"174":1,"176":2,"177":1}}],["seperate",{"2":{"73":1}}],["separates",{"2":{"116":1}}],["separate",{"2":{"64":1,"146":1,"153":1,"160":1,"195":1,"198":1}}],["separately",{"2":{"59":1,"146":1}}],["sense",{"2":{"56":1,"85":1}}],["several",{"2":{"20":2,"56":1,"161":1,"169":1}}],["select",{"2":{"159":1}}],["selected",{"2":{"146":1}}],["selectednode",{"2":{"146":3}}],["selection",{"2":{"14":1}}],["self",{"2":{"9":2}}],["section",{"2":{"26":1,"116":3,"121":1}}],["sections",{"2":{"10":1,"26":1}}],["seconds=1",{"2":{"176":3,"180":8}}],["secondisleft",{"2":{"146":4}}],["secondisstraight",{"2":{"146":7}}],["secondary",{"2":{"3":3,"6":3,"91":1,"94":1,"135":1}}],["second",{"2":{"3":8,"6":9,"64":1,"73":4,"88":1,"90":2,"91":1,"93":1,"94":1,"97":1,"98":1,"99":1,"104":2,"108":2,"116":2,"125":1,"134":1,"135":1,"138":1,"139":1,"140":2,"182":1,"193":1,"197":1}}],["seem",{"2":{"25":1,"28":1}}],["see",{"2":{"6":4,"7":1,"30":1,"62":1,"80":1,"85":1,"87":1,"90":1,"93":1,"107":1,"116":5,"118":1,"121":1,"124":1,"134":1,"146":2,"162":1,"163":1,"165":1,"166":3,"168":1,"169":2,"175":2,"182":1,"198":2}}],["setup=",{"2":{"94":1,"108":1,"125":1,"135":1}}],["sets",{"2":{"64":1,"79":1}}],["setting",{"2":{"23":1}}],["set",{"0":{"23":1,"34":1},"1":{"35":1,"36":1,"37":1,"38":1},"2":{"3":2,"4":7,"6":19,"23":1,"53":1,"57":2,"59":8,"64":3,"70":2,"72":2,"73":7,"75":2,"81":2,"87":2,"88":10,"94":1,"105":1,"108":1,"116":2,"122":1,"125":1,"135":1,"145":1,"146":1,"153":5,"166":2,"169":2,"182":2,"191":1,"195":1,"198":3}}],["sve",{"2":{"1":1,"6":1,"185":1}}],["svector",{"2":{"1":14,"6":14,"64":5,"70":1,"73":2,"82":6,"116":1,"146":1,"185":13,"191":6,"193":4}}],["solution",{"2":{"116":1}}],["south",{"2":{"66":7,"158":1}}],["source",{"2":{"1":10,"3":19,"4":22,"5":3,"6":84,"26":4,"105":2,"150":2,"156":4,"165":1,"166":4,"172":3,"192":13,"193":1}}],["sort",{"2":{"64":4,"69":2,"73":2,"81":2,"116":1,"122":2,"146":1,"182":1}}],["sorted",{"2":{"20":1,"64":1,"182":7,"197":1}}],["someone",{"2":{"80":1,"188":1}}],["something",{"0":{"74":1},"2":{"10":1}}],["some",{"2":{"3":1,"6":4,"9":1,"17":1,"59":4,"88":1,"116":3,"122":1,"146":1,"147":1,"148":1,"151":2,"153":2,"154":1,"164":1,"165":2,"166":1,"177":1,"184":1,"187":2,"190":2,"197":1,"200":1}}],["so",{"2":{"1":1,"4":4,"6":9,"9":1,"17":1,"19":1,"25":1,"27":1,"28":1,"58":1,"59":1,"64":1,"65":1,"73":1,"81":2,"82":2,"84":1,"85":1,"87":1,"88":4,"90":1,"107":1,"116":2,"118":1,"134":1,"146":3,"153":8,"156":2,"174":1,"175":1,"176":3,"177":1,"184":1,"185":1,"188":2,"192":1,"193":1}}],["styles",{"2":{"153":1}}],["style",{"2":{"153":7}}],["step",{"2":{"64":7,"70":1,"71":3,"72":1,"73":3,"81":1,"82":3,"146":6,"189":1}}],["storing",{"2":{"195":1}}],["stored",{"2":{"64":2,"198":1}}],["stores",{"2":{"64":1}}],["store",{"2":{"59":1,"195":1}}],["stopping",{"2":{"182":2}}],["stops",{"2":{"151":1}}],["stop",{"2":{"18":2,"105":3,"116":4,"122":3}}],["stay",{"2":{"82":1}}],["stackoverflow",{"2":{"73":1}}],["stack",{"2":{"69":1}}],["states",{"2":{"180":1}}],["state",{"2":{"81":1,"199":9}}],["status",{"2":{"64":31,"71":4,"73":5,"82":4,"146":1}}],["static",{"2":{"160":1}}],["staticarray",{"2":{"59":1}}],["staticarrays",{"2":{"27":1,"64":5,"70":1,"73":2,"82":6,"116":1,"146":1,"185":2}}],["staticarraysco",{"2":{"1":1,"6":1,"185":1}}],["staticarrayscore",{"2":{"1":10,"6":10,"59":1,"185":10,"191":6,"193":4}}],["statica",{"2":{"1":1,"6":1,"185":1}}],["statistics",{"2":{"13":2,"27":1}}],["stability",{"2":{"23":1,"31":1}}],["stable",{"2":{"13":1,"24":1,"177":1}}],["stage",{"2":{"7":1}}],["standardized",{"2":{"116":1}}],["standards",{"2":{"116":1}}],["standard",{"2":{"6":1,"80":1,"158":1}}],["started",{"2":{"64":1}}],["starting",{"2":{"63":2,"64":1,"66":1,"73":1,"169":4}}],["startvalue",{"2":{"14":4}}],["start",{"2":{"6":1,"18":1,"53":7,"59":1,"64":76,"66":17,"71":4,"73":4,"82":5,"88":1,"105":4,"116":44,"122":3,"137":1,"146":2,"161":1,"182":16,"191":1}}],["straightline",{"2":{"146":3}}],["straight",{"2":{"146":6,"154":1}}],["strait",{"2":{"146":1}}],["structs",{"2":{"20":1,"165":1}}],["structures",{"2":{"148":1}}],["structure",{"2":{"6":1,"148":1,"156":2,"171":1}}],["struct",{"2":{"6":2,"59":2,"64":2,"80":1,"158":3,"159":3,"160":6,"163":1,"169":2,"176":2,"181":1,"182":1,"183":1,"188":4}}],["strings",{"2":{"6":1,"63":1,"73":1}}],["string",{"2":{"1":2,"14":1,"62":1,"63":1,"172":2}}],["still",{"2":{"0":1,"56":1,"63":1,"64":3,"93":1,"182":1}}],["shp",{"2":{"195":1}}],["ships",{"2":{"192":1}}],["shifting",{"2":{"193":1}}],["shift",{"2":{"191":3}}],["shewchuck",{"2":{"7":1}}],["short",{"2":{"153":1}}],["shorthand",{"2":{"80":1}}],["show",{"2":{"9":1,"11":1,"13":1,"14":1,"58":1,"192":1,"195":1,"197":2}}],["shoelace",{"2":{"4":1,"6":1,"56":2,"66":1}}],["shouldn",{"2":{"73":1}}],["should",{"2":{"1":1,"4":1,"6":12,"17":1,"18":1,"20":2,"25":1,"28":1,"32":1,"53":3,"56":1,"63":1,"64":3,"65":1,"88":1,"116":4,"146":2,"150":1,"153":2,"156":2,"158":1,"160":1,"162":1,"165":4,"166":2,"177":2,"180":2}}],["sharing",{"2":{"107":1}}],["shares",{"2":{"73":1}}],["share",{"2":{"4":7,"6":8,"87":2,"88":8,"111":2,"112":1,"113":1,"122":1,"130":1}}],["shared",{"0":{"184":1},"2":{"3":1,"6":1,"64":2,"73":2,"122":3}}],["shapes",{"2":{"85":1,"195":7}}],["shape",{"2":{"62":1,"71":1,"73":1,"87":1,"158":1,"168":1,"191":1}}],["shaped",{"2":{"58":1}}],["shapefiles",{"2":{"195":1}}],["shapefile",{"2":{"30":1,"195":4}}],["shallower",{"2":{"1":1,"150":1,"153":1}}],["sites",{"2":{"199":1}}],["sides",{"2":{"64":3,"162":1}}],["side",{"2":{"53":4,"64":26}}],["signals",{"2":{"152":1}}],["sign",{"2":{"13":2,"14":2,"53":7,"56":2,"145":3}}],["signed",{"0":{"54":1,"55":1,"83":1,"84":1},"1":{"55":1,"56":1,"84":1,"85":1},"2":{"0":4,"4":15,"6":18,"11":3,"54":1,"55":5,"56":23,"66":3,"83":1,"84":7,"85":19}}],["six",{"2":{"6":1,"180":1}}],["size=",{"2":{"192":1}}],["sizehint",{"2":{"64":2,"71":1,"177":1}}],["size",{"2":{"6":4,"13":2,"14":5,"58":1,"82":1,"146":2,"153":2,"154":2,"180":1}}],["sin",{"2":{"191":3,"192":1,"193":2}}],["singed",{"2":{"85":1}}],["singular",{"2":{"73":1}}],["singlepoly",{"2":{"180":6}}],["single",{"2":{"4":6,"6":10,"23":1,"53":2,"56":1,"66":1,"88":5,"121":2,"146":2,"154":1,"166":2,"167":1,"169":2,"191":3,"195":1}}],["since",{"2":{"1":1,"6":2,"26":1,"53":1,"56":1,"63":1,"66":2,"81":1,"85":1,"88":1,"116":1,"122":2,"129":1,"153":1,"160":1,"172":1,"188":2,"199":1}}],["simulation",{"2":{"23":1}}],["simultaneously",{"2":{"20":1}}],["simply",{"2":{"7":1,"55":1,"60":1,"64":1,"73":1,"82":1,"91":1,"104":1,"119":1,"146":1,"164":1,"172":1,"173":1,"176":1,"191":1,"194":1}}],["simpler",{"2":{"6":1,"146":1}}],["simple",{"0":{"33":1,"77":1,"198":1},"1":{"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1},"2":{"6":3,"33":1,"59":1,"80":1,"148":3,"158":1,"160":1,"171":1,"172":1,"179":2,"180":2}}],["simplifier",{"2":{"180":4}}],["simplified",{"2":{"23":1,"179":1}}],["simplifies",{"2":{"6":3,"181":1,"182":1,"183":1}}],["simplification",{"0":{"178":1},"1":{"179":1,"180":1},"2":{"6":2,"178":2,"180":3}}],["simplifying",{"2":{"178":1}}],["simplify",{"0":{"181":1,"182":1,"183":1},"2":{"0":1,"6":15,"9":1,"27":1,"64":1,"148":1,"179":1,"180":41,"181":1,"182":2,"183":1}}],["simplifyalgs",{"2":{"184":1}}],["simplifyalg",{"2":{"0":1,"6":8,"180":5,"181":2,"182":2,"183":2}}],["similarly",{"2":{"148":1}}],["similar",{"2":{"1":1,"6":3,"18":1,"25":1,"28":1,"30":1,"60":1,"75":1,"80":1,"146":2,"150":1,"153":1,"176":2,"177":1,"186":1}}],["s",{"0":{"31":1},"2":{"0":1,"3":1,"6":11,"7":1,"9":1,"18":1,"19":1,"30":1,"53":1,"55":1,"56":4,"57":1,"58":2,"59":5,"62":3,"63":3,"64":3,"66":1,"68":1,"71":1,"73":2,"79":1,"82":3,"85":1,"88":1,"103":2,"110":3,"111":4,"112":2,"116":9,"122":1,"124":1,"125":1,"130":1,"146":5,"148":2,"153":2,"154":1,"159":2,"160":2,"163":1,"166":4,"167":1,"169":3,"175":4,"176":1,"177":2,"178":1,"180":2,"184":4,"188":6,"191":6,"192":4,"193":4,"194":2,"195":5,"200":2}}],["fn",{"2":{"195":8}}],["f``",{"2":{"158":1}}],["fc",{"2":{"153":4,"154":5,"156":13,"180":3,"189":14}}],["fj",{"2":{"146":2}}],["f2",{"2":{"64":2}}],["f1",{"2":{"64":2}}],["f64",{"2":{"13":2,"14":2}}],["few",{"2":{"162":1}}],["fetched",{"2":{"146":1}}],["fetch",{"2":{"32":2,"153":1,"154":1}}],["feb",{"0":{"8":1},"1":{"9":1,"10":1}}],["featurecollection",{"2":{"6":2,"11":1,"18":1,"146":4,"153":6,"156":1,"192":2}}],["featurecollectiontrait",{"2":{"1":1,"150":1,"151":1,"153":3,"154":2,"156":10,"189":5}}],["features",{"0":{"95":1,"109":1,"126":1,"136":1},"2":{"1":1,"6":2,"11":1,"22":1,"80":1,"146":3,"150":1,"152":1,"153":11,"154":6,"156":2,"192":1}}],["featuretrait",{"2":{"1":2,"95":4,"105":2,"109":4,"126":4,"136":4,"150":2,"151":3,"153":3,"154":3,"156":10,"189":5}}],["feature",{"2":{"1":6,"4":1,"6":4,"18":2,"22":1,"56":1,"66":1,"146":2,"148":1,"150":6,"152":1,"153":22,"154":6,"156":22,"180":2,"189":2,"195":1}}],["fra",{"2":{"199":2}}],["frame",{"2":{"194":1}}],["framework",{"2":{"148":4,"154":2}}],["fracs",{"2":{"64":20,"69":1}}],["frac",{"2":{"59":1,"64":2,"73":17,"180":2}}],["fractional",{"2":{"64":1,"73":3}}],["fractions",{"2":{"64":1,"73":4}}],["fraction",{"2":{"6":4,"73":2,"85":1,"180":1}}],["front",{"2":{"53":1}}],["from",{"2":{"1":3,"3":4,"4":16,"6":26,"7":1,"11":1,"20":1,"22":1,"26":1,"27":1,"56":2,"58":1,"59":4,"60":1,"63":1,"64":6,"66":11,"69":1,"70":1,"71":3,"72":1,"73":11,"80":1,"81":1,"82":6,"85":25,"108":2,"110":5,"111":4,"112":2,"113":1,"114":2,"116":6,"122":2,"145":2,"146":7,"153":1,"156":6,"158":1,"160":1,"169":1,"172":4,"174":1,"180":1,"181":1,"182":3,"183":1,"189":1,"190":1,"192":5,"195":1,"197":1,"198":1,"200":1}}],["footprint",{"2":{"193":1}}],["foldable",{"2":{"153":2,"154":1}}],["follows",{"2":{"64":2,"94":1,"108":1,"125":1,"135":1,"146":1}}],["followed",{"2":{"26":1}}],["following",{"2":{"6":1,"59":1,"68":1,"156":1,"162":1,"168":1,"180":1,"197":1}}],["focusing",{"2":{"25":1,"28":1}}],["foundational",{"2":{"17":1}}],["found",{"2":{"6":7,"26":1,"66":1,"69":1,"70":2,"72":2,"73":1,"81":2,"88":1,"146":5,"151":3,"153":2,"154":1,"156":5,"177":2}}],["forward",{"2":{"73":1}}],["forwards",{"2":{"64":1,"71":1,"82":1}}],["formats",{"2":{"190":1,"193":1,"195":3}}],["format",{"2":{"69":1,"195":3}}],["form",{"2":{"18":1,"64":3,"73":8,"82":3,"153":1}}],["formed",{"2":{"4":2,"6":3,"52":1,"53":4,"59":1,"64":8,"81":1,"82":1,"182":1}}],["formulae",{"2":{"6":1,"177":1}}],["formula",{"2":{"4":1,"6":1,"56":2,"66":1}}],["force",{"2":{"1":1,"153":3,"172":1,"180":1}}],["for",{"0":{"71":1,"73":1,"82":1},"2":{"0":2,"1":3,"3":1,"4":4,"5":3,"6":46,"7":4,"9":2,"13":5,"14":1,"18":1,"20":1,"22":1,"23":5,"25":3,"26":1,"27":2,"28":3,"30":1,"32":1,"33":1,"53":5,"56":8,"57":1,"58":1,"59":19,"60":3,"63":7,"64":35,"66":11,"69":5,"70":2,"71":3,"72":1,"73":7,"75":2,"78":1,"80":3,"81":1,"82":9,"84":2,"85":7,"88":13,"94":3,"100":1,"101":1,"103":1,"105":6,"108":2,"114":1,"115":1,"116":22,"121":1,"122":11,"125":2,"131":1,"132":1,"135":3,"141":1,"142":1,"144":1,"145":5,"146":13,"147":1,"148":3,"150":1,"153":7,"154":1,"156":1,"158":1,"159":1,"160":2,"161":3,"162":2,"164":1,"165":5,"167":3,"168":1,"169":5,"170":1,"172":3,"174":4,"175":7,"176":6,"177":10,"178":4,"180":12,"181":2,"182":2,"183":1,"184":6,"188":5,"189":7,"190":1,"192":4,"193":1,"195":3,"197":2,"199":2,"200":1}}],["fi",{"2":{"146":2}}],["fine",{"2":{"175":1}}],["final",{"2":{"82":1,"165":4,"176":1}}],["finally",{"2":{"58":2,"73":1,"146":1,"153":3,"154":1,"195":1}}],["findmin",{"2":{"184":1}}],["findmax",{"2":{"180":1,"182":1}}],["findall",{"2":{"165":1}}],["finding",{"2":{"73":1}}],["findfirst",{"2":{"64":6,"69":2,"78":1,"180":1}}],["findnext",{"2":{"64":3}}],["findlast",{"2":{"64":2}}],["findprev",{"2":{"64":2}}],["finds",{"2":{"64":1,"66":1}}],["find",{"2":{"53":6,"56":1,"64":12,"66":3,"69":2,"70":4,"72":2,"73":8,"81":1,"85":3,"88":1,"116":7,"146":2,"182":5,"199":1}}],["finish",{"2":{"9":1}}],["fill",{"2":{"64":1,"146":1,"177":3}}],["filled",{"2":{"64":5,"66":3,"84":1,"85":2,"116":16}}],["files",{"2":{"187":1,"195":2}}],["file",{"2":{"26":1,"32":1,"33":1,"64":1,"94":3,"108":3,"125":3,"135":3,"146":1,"147":1,"148":1,"154":1,"155":1,"156":1,"164":1,"172":1,"177":1,"178":1,"187":2,"190":1,"195":2}}],["filters",{"2":{"64":1}}],["filtering",{"2":{"6":1,"180":1}}],["filter",{"2":{"4":1,"6":2,"64":2,"153":2,"154":1,"169":2,"170":1,"180":1}}],["fit",{"2":{"17":1}}],["field",{"2":{"13":2,"64":2}}],["figure",{"2":{"13":1,"14":1,"55":1,"58":2,"79":1,"192":3}}],["fig",{"2":{"13":6,"14":6,"79":5,"191":7,"192":4,"196":2}}],["fix1",{"2":{"153":1,"154":1}}],["fixme",{"2":{"145":1}}],["fix2",{"2":{"32":1,"64":2}}],["fixed",{"2":{"6":3,"70":1,"72":1,"81":1}}],["fix",{"0":{"20":1},"2":{"6":9,"9":3,"15":3,"17":1,"20":1,"70":1,"71":11,"72":1,"73":11,"79":2,"81":1,"82":10,"162":1,"164":1,"165":1,"168":1}}],["firstisright",{"2":{"146":2}}],["firstisleft",{"2":{"146":4}}],["firstisstraight",{"2":{"146":4}}],["firstnode",{"2":{"146":9}}],["first",{"2":{"3":9,"6":10,"53":14,"56":7,"58":1,"59":9,"60":1,"63":1,"64":17,"66":2,"69":1,"70":2,"72":1,"73":5,"81":3,"85":8,"88":4,"90":2,"91":2,"93":1,"94":2,"97":1,"98":1,"99":1,"104":2,"108":3,"116":22,"122":1,"125":2,"127":1,"134":1,"135":2,"138":1,"139":1,"140":2,"145":1,"146":16,"153":3,"154":2,"156":2,"162":1,"177":3,"181":1,"182":2,"189":2,"190":1,"191":1,"192":1,"193":1,"197":1,"198":1}}],["flexijoins",{"2":{"197":2,"198":3,"199":1,"200":5}}],["flexible",{"2":{"153":1,"154":1}}],["flags",{"2":{"64":5}}],["flag",{"2":{"64":12,"69":1}}],["flattened",{"2":{"18":1}}],["flatten",{"0":{"156":1},"2":{"11":3,"13":1,"18":1,"27":2,"50":1,"59":1,"64":2,"66":3,"72":1,"80":2,"82":1,"105":1,"156":33,"169":1}}],["flattening`",{"2":{"158":1}}],["flattening",{"2":{"6":4,"154":1,"158":3,"176":2}}],["flat",{"2":{"6":2,"177":1,"184":2,"189":1}}],["floating",{"2":{"6":1,"64":1,"73":5,"146":2}}],["float",{"2":{"6":3,"70":1,"72":1,"81":1}}],["float64x2",{"2":{"13":6,"14":6,"15":2}}],["float64",{"2":{"1":6,"4":10,"6":30,"13":1,"52":1,"53":3,"56":6,"63":1,"66":4,"69":2,"70":2,"72":1,"73":3,"79":1,"81":1,"85":12,"116":4,"122":2,"145":4,"162":6,"168":26,"175":2,"176":2,"177":1,"181":4,"182":9,"183":2,"184":6,"185":6,"186":1,"189":8,"191":190,"192":7,"193":10}}],["flipping",{"0":{"171":1},"2":{"171":1}}],["flipped",{"2":{"1":2,"150":2,"153":2}}],["flipaxis",{"2":{"58":1}}],["flip",{"2":{"0":1,"6":1,"27":1,"148":2,"153":1,"171":2}}],["fancy",{"2":{"191":1}}],["fancis",{"2":{"6":1,"59":1}}],["fair",{"2":{"175":1}}],["fail",{"2":{"1":1,"6":1,"150":1,"153":2,"154":1,"156":3,"176":1}}],["fallback",{"2":{"153":1}}],["falses",{"2":{"64":2,"69":1,"70":1,"72":1}}],["false",{"0":{"24":1},"2":{"1":29,"3":7,"4":3,"6":51,"27":1,"32":2,"35":1,"36":1,"37":1,"38":1,"50":1,"53":2,"56":1,"58":5,"64":26,"66":5,"69":1,"70":1,"71":3,"73":1,"81":4,"85":2,"87":2,"88":27,"90":2,"94":8,"96":2,"97":4,"98":1,"99":1,"100":1,"101":1,"103":2,"105":11,"108":9,"110":1,"111":4,"114":1,"115":1,"116":39,"122":22,"125":8,"127":3,"128":4,"129":1,"131":1,"132":1,"134":1,"135":7,"137":2,"138":4,"139":1,"140":1,"141":1,"142":1,"145":10,"146":5,"150":4,"153":11,"154":7,"156":3,"158":1,"160":3,"162":16,"168":44,"169":4,"177":5,"180":1,"184":2,"185":20,"189":2,"191":242,"192":12,"193":18,"197":1}}],["fashion",{"2":{"55":1}}],["faster",{"2":{"59":1,"153":1}}],["fast",{"2":{"12":1}}],["f",{"2":{"1":12,"6":14,"15":1,"18":3,"19":1,"22":2,"52":1,"55":2,"58":4,"60":1,"62":2,"64":19,"65":2,"68":2,"70":2,"71":2,"72":2,"73":2,"77":2,"78":2,"81":2,"82":2,"84":5,"87":2,"90":2,"93":2,"103":2,"107":2,"116":7,"118":2,"121":2,"124":2,"134":2,"146":30,"150":7,"151":2,"153":61,"154":64,"156":52,"173":1,"175":2,"176":1,"179":2,"180":1,"184":6,"185":6,"188":5,"189":16,"191":6,"193":2,"198":3}}],["fulfilled",{"2":{"182":1}}],["fully",{"2":{"6":1,"64":4,"69":1,"122":4}}],["full",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1},"2":{"0":1,"66":5,"165":1,"199":4}}],["furthest",{"2":{"146":1}}],["further",{"2":{"62":1,"153":1}}],["furthermore",{"2":{"3":2,"6":5,"64":1,"70":1,"72":1,"81":1,"94":1,"135":1}}],["fun",{"2":{"191":1}}],["fundamental",{"2":{"26":1,"187":1}}],["func",{"2":{"13":5}}],["funcs",{"2":{"13":2,"14":3}}],["functionality",{"2":{"73":1,"171":1,"172":1,"177":1,"188":1}}],["functionalities",{"2":{"64":1}}],["functionally",{"2":{"1":1,"18":1,"30":1,"150":1,"153":1}}],["function",{"2":{"1":4,"4":1,"6":10,"7":2,"9":1,"13":3,"14":2,"18":2,"27":1,"30":1,"32":2,"53":5,"56":3,"59":13,"63":6,"64":18,"66":7,"68":2,"69":4,"70":3,"71":3,"72":2,"73":7,"74":1,"80":2,"81":2,"82":4,"85":6,"87":1,"88":8,"90":1,"93":1,"94":1,"100":1,"101":1,"103":1,"105":5,"107":1,"108":1,"114":1,"115":1,"116":9,"118":1,"121":1,"122":7,"124":1,"125":1,"131":1,"132":1,"134":1,"135":1,"141":1,"142":1,"145":4,"146":16,"147":3,"148":1,"150":2,"151":2,"153":15,"154":11,"156":5,"160":1,"163":2,"165":7,"166":2,"169":2,"171":2,"172":1,"174":2,"176":2,"177":7,"180":3,"181":2,"182":3,"183":2,"184":7,"185":3,"186":1,"188":6,"189":12,"191":1,"197":4,"200":4}}],["functions",{"0":{"1":1,"71":1,"73":1,"82":1,"150":1,"189":1},"2":{"6":1,"9":3,"17":1,"26":1,"30":1,"33":1,"56":1,"59":1,"63":1,"64":2,"66":1,"68":1,"116":1,"147":1,"148":1,"151":1,"165":2,"166":1}}],["future",{"2":{"23":1,"75":1,"85":1,"174":2}}],["wgs84",{"2":{"192":1}}],["wglmakie",{"2":{"14":1}}],["wₜₒₜ",{"2":{"59":8}}],["wᵢ",{"2":{"59":18}}],["wt",{"2":{"59":3}}],["w",{"2":{"13":13,"14":7,"85":4,"146":1}}],["wrong",{"2":{"167":1,"184":1}}],["writing",{"2":{"195":1}}],["written",{"2":{"88":1}}],["writes",{"2":{"153":1}}],["write",{"2":{"7":1,"31":1,"146":1,"153":1,"195":7}}],["wrap",{"2":{"4":1,"6":1,"32":3,"35":1,"36":1,"37":1,"38":1,"50":1,"170":1,"176":1}}],["wrapped",{"2":{"22":1,"146":2,"151":1,"153":1}}],["wrapper",{"0":{"31":1},"2":{"31":1,"53":1,"56":1,"63":1,"66":1,"85":1,"88":1,"94":1,"108":1,"122":1,"125":1,"135":1}}],["wrappers`",{"2":{"156":1}}],["wrappers",{"2":{"1":10,"6":11,"22":1,"145":2,"146":1,"156":1,"162":8,"163":1,"168":22,"175":1,"176":1,"180":1,"185":10,"189":1,"191":121,"192":5,"193":9}}],["wrappergeometry`",{"2":{"172":1}}],["wrappergeometry",{"2":{"1":1}}],["wrapping",{"2":{"1":1,"6":1,"88":1,"172":1,"186":1}}],["web",{"2":{"195":1}}],["west",{"2":{"66":8}}],["were",{"2":{"64":1,"146":1,"198":1}}],["welcome",{"2":{"25":1,"28":1}}],["well",{"2":{"17":1,"64":1,"66":1,"80":1,"160":1,"174":1,"177":1,"178":1}}],["we",{"0":{"74":2},"2":{"7":1,"11":1,"13":1,"17":3,"19":1,"23":3,"24":1,"25":2,"26":1,"28":2,"32":1,"53":1,"55":2,"56":2,"58":4,"59":8,"60":2,"63":1,"64":7,"66":4,"71":8,"72":2,"73":3,"75":1,"79":3,"80":2,"82":1,"85":1,"87":1,"88":5,"90":1,"91":1,"93":1,"94":1,"104":1,"107":1,"108":1,"116":2,"118":3,"119":1,"121":1,"122":2,"124":1,"125":1,"134":1,"135":1,"146":21,"147":1,"151":1,"153":19,"154":6,"156":3,"158":6,"160":4,"161":1,"173":1,"174":2,"175":2,"176":3,"177":1,"180":5,"184":2,"187":1,"188":1,"190":2,"191":4,"192":6,"193":4,"194":1,"195":3,"197":3,"198":7}}],["weighting",{"2":{"62":2,"63":1}}],["weights",{"2":{"57":4}}],["weight",{"2":{"6":5,"59":14,"63":1}}],["weighted",{"2":{"0":1,"6":2,"57":3,"59":4,"63":4}}],["walk",{"2":{"69":1}}],["wall2",{"2":{"66":7}}],["wall1",{"2":{"66":12}}],["walls",{"2":{"66":3}}],["wall",{"2":{"66":69}}],["wachspress",{"2":{"59":1}}],["wasincreasing",{"2":{"146":10}}],["wasn",{"2":{"64":1}}],["was",{"2":{"27":1,"32":1,"50":1,"53":1,"56":1,"58":1,"59":4,"60":1,"63":1,"64":1,"66":1,"69":1,"70":1,"71":3,"72":1,"73":2,"74":1,"80":1,"81":1,"82":3,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"122":1,"132":1,"142":1,"145":1,"146":1,"147":1,"151":1,"153":1,"154":1,"155":1,"156":1,"160":1,"163":1,"166":1,"169":1,"170":1,"171":1,"173":1,"175":1,"177":1,"184":1,"185":1,"186":1,"188":2,"189":1}}],["wanted",{"2":{"200":1}}],["wants",{"2":{"80":1,"154":1}}],["want",{"0":{"23":1,"74":1},"2":{"13":1,"18":1,"23":1,"59":1,"64":1,"145":1,"192":2,"194":1,"199":1,"200":1}}],["ways",{"2":{"167":1}}],["way",{"2":{"6":1,"17":1,"18":1,"24":1,"30":1,"57":1,"148":1,"159":1,"164":1,"177":1,"188":2,"194":1}}],["warn",{"2":{"146":2,"177":1}}],["warned",{"2":{"6":1,"188":1}}],["warning",{"2":{"0":1,"5":1,"6":3,"24":1,"59":1,"80":1,"154":1,"176":1,"187":1,"199":1}}],["wong",{"2":{"77":1,"78":1,"196":1}}],["won",{"2":{"23":1,"64":1,"154":1}}],["wouldn",{"2":{"73":1}}],["would",{"0":{"74":1},"2":{"6":3,"23":1,"70":1,"72":1,"73":1,"80":4,"81":1,"146":1,"153":1,"160":2,"192":1,"199":1,"200":1}}],["wound",{"2":{"6":1,"80":1}}],["world",{"0":{"199":1},"2":{"197":1}}],["worrying",{"2":{"24":1}}],["words",{"2":{"3":1,"6":1,"90":1,"118":1,"124":1,"125":1}}],["workflow",{"2":{"105":1,"122":1}}],["workflows",{"2":{"23":1,"25":1,"28":1}}],["works",{"2":{"26":1,"172":1,"174":1}}],["working",{"2":{"3":1,"6":1,"105":1,"192":1}}],["work",{"2":{"1":3,"6":2,"9":1,"53":1,"56":2,"63":1,"66":2,"69":2,"75":1,"85":1,"88":1,"116":1,"122":1,"145":1,"150":1,"153":1,"154":1,"172":1,"185":1,"199":1}}],["whole",{"2":{"116":1}}],["whose",{"2":{"3":1,"6":1,"105":1}}],["white",{"2":{"58":1}}],["while",{"2":{"53":1,"62":1,"63":1,"64":5,"73":2,"79":2,"84":1,"88":1,"105":1,"116":1,"146":3,"169":1,"182":1,"184":2,"198":1}}],["whichever",{"2":{"6":1,"180":1}}],["which",{"2":{"1":1,"4":2,"5":1,"6":7,"7":1,"11":1,"13":1,"14":1,"17":1,"18":4,"20":1,"23":2,"33":1,"55":1,"56":1,"57":1,"58":2,"59":5,"60":1,"64":11,"66":2,"73":2,"75":1,"80":1,"88":2,"116":3,"146":3,"147":1,"148":1,"153":1,"158":2,"159":1,"161":2,"162":1,"165":1,"167":1,"168":1,"173":1,"174":1,"175":1,"176":3,"177":2,"180":1,"182":2,"185":1,"188":4,"195":3,"197":3,"198":6,"200":1}}],["what",{"0":{"22":1,"25":1,"31":1,"52":1,"55":2,"62":1,"65":1,"68":1,"84":2,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"124":1,"134":1,"151":1},"2":{"13":1,"14":1,"24":1,"62":1,"145":1,"146":1,"160":1,"175":1,"192":1,"199":1}}],["whatever",{"2":{"1":1,"22":1,"150":1,"153":1}}],["whyatt",{"2":{"178":1}}],["why",{"0":{"22":1,"23":1},"2":{"9":1,"17":1,"31":1,"56":1}}],["wheel",{"2":{"17":1}}],["whether",{"2":{"1":4,"4":1,"6":8,"144":1,"145":1,"150":2,"155":2,"160":1,"161":1}}],["when",{"2":{"1":1,"4":2,"5":1,"6":4,"18":1,"20":1,"23":2,"24":1,"56":1,"59":3,"63":1,"64":2,"71":5,"73":6,"82":7,"116":1,"146":1,"150":1,"151":3,"153":1,"162":1,"165":1,"170":2,"180":1,"192":1,"193":2,"195":1,"200":1}}],["whereas",{"2":{"158":1}}],["wherever",{"2":{"6":1,"186":1}}],["where",{"2":{"1":2,"4":5,"6":10,"20":1,"27":2,"53":8,"56":12,"57":2,"59":24,"63":8,"64":14,"66":8,"69":5,"70":2,"71":5,"72":3,"73":18,"81":2,"82":9,"85":25,"88":1,"116":9,"146":3,"150":1,"153":18,"154":18,"156":17,"158":2,"159":5,"167":1,"172":1,"175":1,"186":1,"187":1,"189":3,"191":4}}],["widely",{"2":{"195":1}}],["widths",{"2":{"14":1}}],["wiki",{"2":{"116":1,"182":1}}],["wikipedia",{"2":{"116":1,"182":2}}],["wind",{"2":{"4":1,"6":2,"56":1,"88":1}}],["winding",{"0":{"79":1},"2":{"4":2,"6":3,"56":3,"64":7,"79":4,"80":1,"88":1,"146":1}}],["without",{"2":{"1":2,"6":1,"17":1,"24":1,"64":1,"107":1,"122":1,"153":1,"154":1,"156":2,"172":1,"185":1}}],["with",{"0":{"71":1,"73":1,"82":1,"181":1,"182":1,"183":1,"193":1,"194":1},"2":{"1":5,"3":5,"4":7,"6":22,"11":1,"20":1,"22":2,"23":1,"52":1,"53":2,"56":7,"57":4,"58":1,"59":2,"63":1,"64":14,"66":6,"71":8,"72":5,"73":15,"81":1,"82":12,"84":1,"85":2,"94":1,"107":1,"111":1,"116":28,"118":1,"121":2,"122":5,"124":1,"125":1,"128":3,"129":2,"130":2,"140":1,"146":7,"148":1,"150":3,"151":1,"153":12,"154":3,"156":4,"158":1,"160":1,"162":1,"167":1,"170":1,"172":1,"174":1,"177":2,"180":2,"182":2,"183":1,"185":1,"188":1,"190":1,"191":4,"192":6,"193":2,"194":2,"195":2,"197":1,"198":1,"199":1}}],["within",{"0":{"44":1,"133":1,"134":1,"137":1,"138":1,"140":1,"141":1,"142":1},"1":{"134":1,"135":1},"2":{"0":2,"3":9,"4":3,"5":1,"6":13,"7":1,"9":1,"27":1,"44":2,"53":2,"56":1,"57":3,"59":1,"63":1,"64":9,"65":2,"66":5,"71":1,"73":2,"81":1,"82":6,"84":1,"85":5,"90":2,"91":3,"93":2,"110":1,"116":9,"121":1,"122":9,"133":1,"134":6,"135":11,"136":6,"137":14,"138":15,"139":15,"140":7,"141":4,"142":4,"148":1,"197":1,"198":4,"199":2}}],["will",{"2":{"1":8,"4":7,"5":1,"6":38,"11":1,"18":3,"23":2,"24":1,"53":4,"56":3,"59":2,"63":1,"64":5,"66":1,"69":1,"70":4,"71":4,"72":4,"73":4,"80":1,"81":4,"82":4,"84":2,"85":4,"88":1,"105":1,"145":1,"146":2,"150":3,"151":1,"152":2,"153":4,"154":3,"156":6,"158":2,"162":1,"166":2,"167":1,"169":2,"172":3,"174":2,"176":3,"180":2,"182":1,"184":1,"185":2,"188":1,"192":1,"195":1,"197":2,"199":1,"200":1}}],["wip",{"2":{"0":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/previews/PR223/assets/chunks/@localSearchIndexroot.Dn48TCj1.js b/previews/PR223/assets/chunks/@localSearchIndexroot.Dn48TCj1.js deleted file mode 100644 index b41ee8704..000000000 --- a/previews/PR223/assets/chunks/@localSearchIndexroot.Dn48TCj1.js +++ /dev/null @@ -1 +0,0 @@ -const e='{"documentCount":201,"nextId":201,"documentIds":{"0":"/GeometryOps.jl/previews/PR223/api#Full-GeometryOps-API-documentation","1":"/GeometryOps.jl/previews/PR223/api#apply-and-associated-functions","2":"/GeometryOps.jl/previews/PR223/api#General-geometry-methods","3":"/GeometryOps.jl/previews/PR223/api#OGC-methods","4":"/GeometryOps.jl/previews/PR223/api#Other-general-methods","5":"/GeometryOps.jl/previews/PR223/api#Barycentric-coordinates","6":"/GeometryOps.jl/previews/PR223/api#Other-methods","7":"/GeometryOps.jl/previews/PR223/call_notes#20th-April,-2024","8":"/GeometryOps.jl/previews/PR223/call_notes#29th-Feb,-2024","9":"/GeometryOps.jl/previews/PR223/call_notes#To-do","10":"/GeometryOps.jl/previews/PR223/call_notes#done","11":"/GeometryOps.jl/previews/PR223/experiments/accurate_accumulators#Accurate-accumulation","12":"/GeometryOps.jl/previews/PR223/experiments/predicates#predicates","13":"/GeometryOps.jl/previews/PR223/experiments/predicates#orient","14":"/GeometryOps.jl/previews/PR223/experiments/predicates#dashboard","15":"/GeometryOps.jl/previews/PR223/experiments/predicates#Testing-robust-vs-regular-predicates","16":"/GeometryOps.jl/previews/PR223/experiments/predicates#incircle","17":"/GeometryOps.jl/previews/PR223/explanations/paradigms#paradigms","18":"/GeometryOps.jl/previews/PR223/explanations/paradigms#apply","19":"/GeometryOps.jl/previews/PR223/explanations/paradigms#applyreduce","20":"/GeometryOps.jl/previews/PR223/explanations/paradigms#fix-and-prepare","21":"/GeometryOps.jl/previews/PR223/explanations/peculiarities#peculiarities","22":"/GeometryOps.jl/previews/PR223/explanations/peculiarities#What-does-apply-return-and-why?","23":"/GeometryOps.jl/previews/PR223/explanations/peculiarities#Why-do-you-want-me-to-provide-a-target-in-set-operations?","24":"/GeometryOps.jl/previews/PR223/explanations/peculiarities#_True-and-_False-(or-BoolsAsTypes)","25":"/GeometryOps.jl/previews/PR223/introduction#introduction","26":"/GeometryOps.jl/previews/PR223/introduction#Main-concepts","27":"/GeometryOps.jl/previews/PR223/introduction#The-apply-paradigm","28":"/GeometryOps.jl/previews/PR223/introduction#What\'s-this-GeoInterface.Wrapper-thing?","29":"/GeometryOps.jl/previews/PR223/source/GeometryOps#geometryops-jl","30":"/GeometryOps.jl/previews/PR223/#what-is-geometryops-jl","31":"/GeometryOps.jl/previews/PR223/#how-to-navigate-the-docs","32":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/segmentize#segmentize","33":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#Simple-overrides","34":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#Polygon-set-operations","35":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#difference","36":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#union","37":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#intersection","38":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#Symmetric-difference","39":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#DE-9IM-boolean-methods","40":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#equals","41":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#disjoint","42":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#touches","43":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#crosses","44":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#within","45":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#contains","46":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#overlaps","47":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#covers","48":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#coveredby","49":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#intersects","50":"/GeometryOps.jl/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides#Convex-hull","51":"/GeometryOps.jl/previews/PR223/source/methods/angles#angles","52":"/GeometryOps.jl/previews/PR223/source/methods/angles#What-is-angles?","53":"/GeometryOps.jl/previews/PR223/source/methods/angles#implementation","54":"/GeometryOps.jl/previews/PR223/source/methods/area#Area-and-signed-area","55":"/GeometryOps.jl/previews/PR223/source/methods/area#What-is-area?-What-is-signed-area?","56":"/GeometryOps.jl/previews/PR223/source/methods/area#implementation","57":"/GeometryOps.jl/previews/PR223/source/methods/barycentric#Barycentric-coordinates","58":"/GeometryOps.jl/previews/PR223/source/methods/barycentric#example","59":"/GeometryOps.jl/previews/PR223/source/methods/barycentric#Barycentric-coordinate-API","60":"/GeometryOps.jl/previews/PR223/source/methods/buffer#buffer","61":"/GeometryOps.jl/previews/PR223/source/methods/centroid#centroid","62":"/GeometryOps.jl/previews/PR223/source/methods/centroid#What-is-the-centroid?","63":"/GeometryOps.jl/previews/PR223/source/methods/centroid#implementation","64":"/GeometryOps.jl/previews/PR223/source/methods/clipping/clipping_processor#Polygon-clipping-helpers","65":"/GeometryOps.jl/previews/PR223/source/methods/clipping/coverage#What-is-coverage?","66":"/GeometryOps.jl/previews/PR223/source/methods/clipping/coverage#implementation","67":"/GeometryOps.jl/previews/PR223/source/methods/clipping/cut#Polygon-cutting","68":"/GeometryOps.jl/previews/PR223/source/methods/clipping/cut#What-is-cut?","69":"/GeometryOps.jl/previews/PR223/source/methods/clipping/cut#implementation","70":"/GeometryOps.jl/previews/PR223/source/methods/clipping/difference#Difference-Polygon-Clipping","71":"/GeometryOps.jl/previews/PR223/source/methods/clipping/difference#Helper-functions-for-Differences-with-Greiner-and-Hormann-Polygon-Clipping","72":"/GeometryOps.jl/previews/PR223/source/methods/clipping/intersection#Geometry-Intersection","73":"/GeometryOps.jl/previews/PR223/source/methods/clipping/intersection#Helper-functions-for-Intersections-with-Greiner-and-Hormann-Polygon-Clipping","74":"/GeometryOps.jl/previews/PR223/source/methods/clipping/predicates#If-we-want-to-inject-adaptivity,-we-would-do-something-like:","75":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Convex-hull","76":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#example","77":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Simple-hull","78":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Convex-hull-of-the-USA","79":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Investigating-the-winding-order","80":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#implementation","81":"/GeometryOps.jl/previews/PR223/source/methods/clipping/union#Union-Polygon-Clipping","82":"/GeometryOps.jl/previews/PR223/source/methods/clipping/union#Helper-functions-for-Unions-with-Greiner-and-Hormann-Polygon-Clipping","83":"/GeometryOps.jl/previews/PR223/source/methods/distance#Distance-and-signed-distance","84":"/GeometryOps.jl/previews/PR223/source/methods/distance#What-is-distance?-What-is-signed-distance?","85":"/GeometryOps.jl/previews/PR223/source/methods/distance#implementation","86":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/contains#contains","87":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/contains#What-is-contains?","88":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/contains#implementation","89":"/GeometryOps.jl/previews/PR223/source/methods/equals#equals","90":"/GeometryOps.jl/previews/PR223/source/methods/equals#What-is-equals?","91":"/GeometryOps.jl/previews/PR223/source/methods/equals#implementation","92":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#coveredby","93":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#What-is-coveredby?","94":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#implementation","95":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#Convert-features-to-geometries","96":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#Points-coveredby-geometries","97":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#Lines-coveredby-geometries","98":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#Rings-covered-by-geometries","99":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#Polygons-covered-by-geometries","100":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#Geometries-coveredby-multi-geometry/geometry-collections","101":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/coveredby#Multi-geometry/geometry-collections-coveredby-geometries","102":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/covers#covers","103":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/covers#What-is-covers?","104":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/covers#implementation","105":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/crosses#Crossing-checks","106":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#disjoint","107":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#What-is-disjoint?","108":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#implementation","109":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#Convert-features-to-geometries","110":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#Point-disjoint-geometries","111":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#Lines-disjoint-geometries","112":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#Rings-disjoint-geometries","113":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#Polygon-disjoint-geometries","114":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#Geometries-disjoint-multi-geometry/geometry-collections","115":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/disjoint#Multi-geometry/geometry-collections-coveredby-geometries","116":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/geom_geom_processors#Line-curve-interaction","117":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/intersects#Intersection-checks","118":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/intersects#What-is-intersects?","119":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/intersects#implementation","120":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/overlaps#overlaps","121":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/overlaps#What-is-overlaps?","122":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/overlaps#implementation","123":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#touches","124":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#What-is-touches?","125":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#implementation","126":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Convert-features-to-geometries","127":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Point-touches-geometries","128":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Lines-touching-geometries","129":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Rings-touch-geometries","130":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Polygons-touch-geometries","131":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Geometries-touch-multi-geometry/geometry-collections","132":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Multi-geometry/geometry-collections-cross-geometries","133":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#within","134":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#What-is-within?","135":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#implementation","136":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#Convert-features-to-geometries","137":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#Points-within-geometries","138":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#Lines-within-geometries","139":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#Rings-covered-by-geometries","140":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#Polygons-within-geometries","141":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#Geometries-within-multi-geometry/geometry-collections","142":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/within#Multi-geometry/geometry-collections-within-geometries","143":"/GeometryOps.jl/previews/PR223/source/methods/polygonize#Polygonizing-raster-data","144":"/GeometryOps.jl/previews/PR223/source/methods/orientation#orientation","145":"/GeometryOps.jl/previews/PR223/source/methods/orientation#isclockwise","146":"/GeometryOps.jl/previews/PR223/source/methods/orientation#isconcave","147":"/GeometryOps.jl/previews/PR223/source/not_implemented_yet#Not-implemented-yet","148":"/GeometryOps.jl/previews/PR223/source/src/apply#apply","149":"/GeometryOps.jl/previews/PR223/source/src/apply#docstrings","150":"/GeometryOps.jl/previews/PR223/source/src/apply#functions","151":"/GeometryOps.jl/previews/PR223/source/src/apply#What-is-apply?","152":"/GeometryOps.jl/previews/PR223/source/src/apply#embedding","153":"/GeometryOps.jl/previews/PR223/source/src/apply#threading","154":"/GeometryOps.jl/previews/PR223/source/src/applyreduce#applyreduce","155":"/GeometryOps.jl/previews/PR223/source/src/keyword_docs#Keyword-docs","156":"/GeometryOps.jl/previews/PR223/source/src/other_primitives#Other-primitives-(unwrap,-flatten,-etc)","157":"/GeometryOps.jl/previews/PR223/source/src/types#types","158":"/GeometryOps.jl/previews/PR223/source/src/types#Manifold","159":"/GeometryOps.jl/previews/PR223/source/src/types#TraitTarget","160":"/GeometryOps.jl/previews/PR223/source/src/types#BoolsAsTypes","161":"/GeometryOps.jl/previews/PR223/source/transformations/correction/closed_ring#Closed-Rings","162":"/GeometryOps.jl/previews/PR223/source/transformations/correction/closed_ring#example","163":"/GeometryOps.jl/previews/PR223/source/transformations/correction/closed_ring#implementation","164":"/GeometryOps.jl/previews/PR223/source/transformations/correction/intersecting_polygons#Intersecting-Polygons","165":"/GeometryOps.jl/previews/PR223/source/transformations/correction/intersecting_polygons#example","166":"/GeometryOps.jl/previews/PR223/source/transformations/correction/intersecting_polygons#implementation","167":"/GeometryOps.jl/previews/PR223/source/transformations/flip#Coordinate-flipping","168":"/GeometryOps.jl/previews/PR223/source/transformations/correction/geometry_correction#Geometry-Corrections","169":"/GeometryOps.jl/previews/PR223/source/transformations/correction/geometry_correction#interface","170":"/GeometryOps.jl/previews/PR223/source/transformations/correction/geometry_correction#Available-corrections","171":"/GeometryOps.jl/previews/PR223/source/transformations/extent#Extent-embedding","172":"/GeometryOps.jl/previews/PR223/source/transformations/reproject#Geometry-reprojection","173":"/GeometryOps.jl/previews/PR223/source/transformations/reproject#Method-error-handling","174":"/GeometryOps.jl/previews/PR223/source/transformations/segmentize#segmentize","175":"/GeometryOps.jl/previews/PR223/source/transformations/segmentize#examples","176":"/GeometryOps.jl/previews/PR223/source/transformations/segmentize#benchmark","177":"/GeometryOps.jl/previews/PR223/source/transformations/segmentize#implementation","178":"/GeometryOps.jl/previews/PR223/source/transformations/simplify#Geometry-simplification","179":"/GeometryOps.jl/previews/PR223/source/transformations/simplify#examples","180":"/GeometryOps.jl/previews/PR223/source/transformations/simplify#benchmark","181":"/GeometryOps.jl/previews/PR223/source/transformations/simplify#Simplify-with-RadialDistance-Algorithm","182":"/GeometryOps.jl/previews/PR223/source/transformations/simplify#Simplify-with-DouglasPeucker-Algorithm","183":"/GeometryOps.jl/previews/PR223/source/transformations/simplify#Simplify-with-VisvalingamWhyatt-Algorithm","184":"/GeometryOps.jl/previews/PR223/source/transformations/simplify#Shared-utils","185":"/GeometryOps.jl/previews/PR223/source/transformations/transform#Pointwise-transformation","186":"/GeometryOps.jl/previews/PR223/source/transformations/tuples#Tuple-conversion","187":"/GeometryOps.jl/previews/PR223/source/types#types","188":"/GeometryOps.jl/previews/PR223/source/types#GEOS","189":"/GeometryOps.jl/previews/PR223/source/utils#Utility-functions","190":"/GeometryOps.jl/previews/PR223/tutorials/creating_geometry#Creating-Geometry","191":"/GeometryOps.jl/previews/PR223/tutorials/creating_geometry#creating-geometry","192":"/GeometryOps.jl/previews/PR223/tutorials/creating_geometry#plot-geometry","193":"/GeometryOps.jl/previews/PR223/tutorials/creating_geometry#geom-crs","194":"/GeometryOps.jl/previews/PR223/tutorials/creating_geometry#attributes","195":"/GeometryOps.jl/previews/PR223/tutorials/creating_geometry#save-geometry","196":"/GeometryOps.jl/previews/PR223/tutorials/geodesic_paths#Geodesic-paths","197":"/GeometryOps.jl/previews/PR223/tutorials/spatial_joins#Spatial-joins","198":"/GeometryOps.jl/previews/PR223/tutorials/spatial_joins#Simple-example","199":"/GeometryOps.jl/previews/PR223/tutorials/spatial_joins#Real-world-example","200":"/GeometryOps.jl/previews/PR223/tutorials/spatial_joins#Enabling-custom-predicates"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[4,1,87],"1":[4,4,246],"2":[3,4,1],"3":[2,7,205],"4":[3,7,255],"5":[2,4,81],"6":[2,4,1016],"7":[3,1,55],"8":[3,1,1],"9":[2,3,107],"10":[1,3,17],"11":[2,1,74],"12":[1,1,5],"13":[1,1,128],"14":[1,2,116],"15":[5,2,72],"16":[1,1,1],"17":[1,1,53],"18":[1,1,109],"19":[1,2,35],"20":[3,1,79],"21":[1,1,1],"22":[7,1,71],"23":[13,1,101],"24":[6,1,66],"25":[1,1,72],"26":[2,1,1],"27":[3,3,50],"28":[8,3,18],"29":[2,1,146],"30":[5,1,72],"31":[5,1,61],"32":[1,1,106],"33":[2,1,23],"34":[3,2,1],"35":[1,5,20],"36":[1,5,20],"37":[1,5,20],"38":[2,5,22],"39":[4,2,1],"40":[1,6,13],"41":[1,6,13],"42":[1,6,13],"43":[1,6,13],"44":[1,6,13],"45":[1,6,13],"46":[1,6,13],"47":[1,6,13],"48":[1,6,13],"49":[1,6,13],"50":[2,2,34],"51":[1,1,3],"52":[4,1,57],"53":[1,1,268],"54":[4,1,4],"55":[5,4,100],"56":[1,4,246],"57":[2,1,65],"58":[1,2,211],"59":[3,2,414],"60":[1,1,110],"61":[1,1,6],"62":[5,1,91],"63":[1,1,199],"64":[3,1,610],"65":[4,1,70],"66":[1,1,327],"67":[2,1,3],"68":[4,2,57],"69":[1,2,200],"70":[3,1,214],"71":[10,1,190],"72":[2,1,250],"73":[10,1,480],"74":[11,1,25],"75":[2,1,56],"76":[1,2,1],"77":[2,3,32],"78":[5,2,40],"79":[4,2,100],"80":[1,2,166],"81":[3,1,236],"82":[10,1,284],"83":[4,1,4],"84":[5,4,128],"85":[1,4,260],"86":[1,1,3],"87":[4,1,79],"88":[1,1,79],"89":[1,1,3],"90":[4,1,68],"91":[1,1,265],"92":[1,1,3],"93":[4,1,81],"94":[1,1,128],"95":[4,1,11],"96":[3,1,56],"97":[3,1,46],"98":[4,1,48],"99":[4,1,40],"100":[5,1,40],"101":[5,1,44],"102":[1,1,3],"103":[4,1,67],"104":[1,1,78],"105":[2,1,149],"106":[1,1,3],"107":[4,1,68],"108":[1,1,110],"109":[4,1,10],"110":[3,1,57],"111":[3,1,58],"112":[3,1,47],"113":[3,1,33],"114":[5,1,39],"115":[5,1,44],"116":[3,1,432],"117":[2,1,3],"118":[4,2,80],"119":[1,2,76],"120":[1,1,3],"121":[4,1,82],"122":[1,1,244],"123":[1,1,3],"124":[4,1,70],"125":[1,1,125],"126":[4,1,11],"127":[3,1,69],"128":[3,1,52],"129":[3,1,61],"130":[3,1,40],"131":[5,1,39],"132":[5,1,42],"133":[1,1,3],"134":[4,1,72],"135":[1,1,129],"136":[4,1,11],"137":[3,1,63],"138":[3,1,53],"139":[4,1,53],"140":[3,1,38],"141":[5,1,39],"142":[5,1,42],"143":[3,1,511],"144":[1,1,4],"145":[1,1,21],"146":[1,1,206],"147":[3,1,47],"148":[1,1,114],"149":[1,1,1],"150":[1,2,152],"151":[4,1,114],"152":[2,1,36],"153":[1,1,490],"154":[1,1,291],"155":[2,1,51],"156":[6,1,217],"157":[1,1,17],"158":[1,1,221],"159":[1,1,74],"160":[1,1,98],"161":[2,1,54],"162":[1,2,87],"163":[1,2,83],"164":[2,1,77],"165":[1,2,70],"166":[1,2,135],"167":[2,1,56],"168":[2,1,41],"169":[1,2,109],"170":[2,2,106],"171":[2,1,71],"172":[2,1,132],"173":[3,2,77],"174":[1,1,76],"175":[1,1,147],"176":[1,1,268],"177":[1,1,221],"178":[2,1,44],"179":[1,2,67],"180":[1,2,391],"181":[4,1,75],"182":[4,1,186],"183":[4,1,85],"184":[2,1,149],"185":[2,1,111],"186":[2,1,58],"187":[1,1,37],"188":[1,1,147],"189":[2,1,136],"190":[2,1,60],"191":[4,2,287],"192":[13,2,280],"193":[9,2,199],"194":[7,2,63],"195":[4,2,140],"196":[2,1,52],"197":[2,1,141],"198":[2,2,137],"199":[3,2,117],"200":[3,2,68]},"averageFieldLength":[2.721393034825869,1.7263681592039801,101.92039800995023],"storedFields":{"0":{"title":"Full GeometryOps API documentation","titles":[]},"1":{"title":"apply and associated functions","titles":["Full GeometryOps API documentation"]},"2":{"title":"General geometry methods","titles":["Full GeometryOps API documentation"]},"3":{"title":"OGC methods","titles":["Full GeometryOps API documentation","General geometry methods"]},"4":{"title":"Other general methods","titles":["Full GeometryOps API documentation","General geometry methods"]},"5":{"title":"Barycentric coordinates","titles":["Full GeometryOps API documentation"]},"6":{"title":"Other methods","titles":["Full GeometryOps API documentation"]},"7":{"title":"20th April, 2024","titles":[]},"8":{"title":"29th Feb, 2024","titles":[]},"9":{"title":"To do","titles":["29th Feb, 2024"]},"10":{"title":"Done","titles":["29th Feb, 2024"]},"11":{"title":"Accurate accumulation","titles":[]},"12":{"title":"Predicates","titles":[]},"13":{"title":"Orient","titles":["Predicates"]},"14":{"title":"Dashboard","titles":["Predicates","Orient"]},"15":{"title":"Testing robust vs regular predicates","titles":["Predicates","Orient"]},"16":{"title":"Incircle","titles":["Predicates"]},"17":{"title":"Paradigms","titles":[]},"18":{"title":"apply","titles":["Paradigms"]},"19":{"title":"applyreduce","titles":["Paradigms","apply"]},"20":{"title":"fix and prepare","titles":["Paradigms"]},"21":{"title":"Peculiarities","titles":[]},"22":{"title":"What does apply return and why?","titles":["Peculiarities"]},"23":{"title":"Why do you want me to provide a target in set operations?","titles":["Peculiarities"]},"24":{"title":"_True and _False (or BoolsAsTypes)","titles":["Peculiarities"]},"25":{"title":"Introduction","titles":[]},"26":{"title":"Main concepts","titles":["Introduction"]},"27":{"title":"The apply paradigm","titles":["Introduction","Main concepts"]},"28":{"title":"What's this GeoInterface.Wrapper thing?","titles":["Introduction","Main concepts"]},"29":{"title":"GeometryOps.jl","titles":[]},"30":{"title":"What is GeometryOps.jl?","titles":[]},"31":{"title":"How to navigate the docs","titles":[]},"32":{"title":"Segmentize","titles":[]},"33":{"title":"Simple overrides","titles":[]},"34":{"title":"Polygon set operations","titles":["Simple overrides"]},"35":{"title":"Difference","titles":["Simple overrides","Polygon set operations"]},"36":{"title":"Union","titles":["Simple overrides","Polygon set operations"]},"37":{"title":"Intersection","titles":["Simple overrides","Polygon set operations"]},"38":{"title":"Symmetric difference","titles":["Simple overrides","Polygon set operations"]},"39":{"title":"DE-9IM boolean methods","titles":["Simple overrides"]},"40":{"title":"Equals","titles":["Simple overrides","DE-9IM boolean methods"]},"41":{"title":"Disjoint","titles":["Simple overrides","DE-9IM boolean methods"]},"42":{"title":"Touches","titles":["Simple overrides","DE-9IM boolean methods"]},"43":{"title":"Crosses","titles":["Simple overrides","DE-9IM boolean methods"]},"44":{"title":"Within","titles":["Simple overrides","DE-9IM boolean methods"]},"45":{"title":"Contains","titles":["Simple overrides","DE-9IM boolean methods"]},"46":{"title":"Overlaps","titles":["Simple overrides","DE-9IM boolean methods"]},"47":{"title":"Covers","titles":["Simple overrides","DE-9IM boolean methods"]},"48":{"title":"CoveredBy","titles":["Simple overrides","DE-9IM boolean methods"]},"49":{"title":"Intersects","titles":["Simple overrides","DE-9IM boolean methods"]},"50":{"title":"Convex hull","titles":["Simple overrides"]},"51":{"title":"Angles","titles":[]},"52":{"title":"What is angles?","titles":["Angles"]},"53":{"title":"Implementation","titles":["Angles"]},"54":{"title":"Area and signed area","titles":[]},"55":{"title":"What is area? What is signed area?","titles":["Area and signed area"]},"56":{"title":"Implementation","titles":["Area and signed area"]},"57":{"title":"Barycentric coordinates","titles":[]},"58":{"title":"Example","titles":["Barycentric coordinates"]},"59":{"title":"Barycentric-coordinate API","titles":["Barycentric coordinates"]},"60":{"title":"Buffer","titles":[]},"61":{"title":"Centroid","titles":[]},"62":{"title":"What is the centroid?","titles":["Centroid"]},"63":{"title":"Implementation","titles":["Centroid"]},"64":{"title":"Polygon clipping helpers","titles":[]},"65":{"title":"What is coverage?","titles":[]},"66":{"title":"Implementation","titles":[]},"67":{"title":"Polygon cutting","titles":[]},"68":{"title":"What is cut?","titles":["Polygon cutting"]},"69":{"title":"Implementation","titles":["Polygon cutting"]},"70":{"title":"Difference Polygon Clipping","titles":[]},"71":{"title":"Helper functions for Differences with Greiner and Hormann Polygon Clipping","titles":[]},"72":{"title":"Geometry Intersection","titles":[]},"73":{"title":"Helper functions for Intersections with Greiner and Hormann Polygon Clipping","titles":[]},"74":{"title":"If we want to inject adaptivity, we would do something like:","titles":[]},"75":{"title":"Convex hull","titles":[]},"76":{"title":"Example","titles":["Convex hull"]},"77":{"title":"Simple hull","titles":["Convex hull","Example"]},"78":{"title":"Convex hull of the USA","titles":["Convex hull"]},"79":{"title":"Investigating the winding order","titles":["Convex hull"]},"80":{"title":"Implementation","titles":["Convex hull"]},"81":{"title":"Union Polygon Clipping","titles":[]},"82":{"title":"Helper functions for Unions with Greiner and Hormann Polygon Clipping","titles":[]},"83":{"title":"Distance and signed distance","titles":[]},"84":{"title":"What is distance? What is signed distance?","titles":["Distance and signed distance"]},"85":{"title":"Implementation","titles":["Distance and signed distance"]},"86":{"title":"Contains","titles":[]},"87":{"title":"What is contains?","titles":["Contains"]},"88":{"title":"Implementation","titles":["Contains"]},"89":{"title":"Equals","titles":[]},"90":{"title":"What is equals?","titles":["Equals"]},"91":{"title":"Implementation","titles":["Equals"]},"92":{"title":"CoveredBy","titles":[]},"93":{"title":"What is coveredby?","titles":["CoveredBy"]},"94":{"title":"Implementation","titles":["CoveredBy"]},"95":{"title":"Convert features to geometries","titles":[]},"96":{"title":"Points coveredby geometries","titles":[]},"97":{"title":"Lines coveredby geometries","titles":[]},"98":{"title":"Rings covered by geometries","titles":[]},"99":{"title":"Polygons covered by geometries","titles":[]},"100":{"title":"Geometries coveredby multi-geometry/geometry collections","titles":[]},"101":{"title":"Multi-geometry/geometry collections coveredby geometries","titles":[]},"102":{"title":"Covers","titles":[]},"103":{"title":"What is covers?","titles":["Covers"]},"104":{"title":"Implementation","titles":["Covers"]},"105":{"title":"Crossing checks","titles":[]},"106":{"title":"Disjoint","titles":[]},"107":{"title":"What is disjoint?","titles":["Disjoint"]},"108":{"title":"Implementation","titles":["Disjoint"]},"109":{"title":"Convert features to geometries","titles":[]},"110":{"title":"Point disjoint geometries","titles":[]},"111":{"title":"Lines disjoint geometries","titles":[]},"112":{"title":"Rings disjoint geometries","titles":[]},"113":{"title":"Polygon disjoint geometries","titles":[]},"114":{"title":"Geometries disjoint multi-geometry/geometry collections","titles":[]},"115":{"title":"Multi-geometry/geometry collections coveredby geometries","titles":[]},"116":{"title":"Line-curve interaction","titles":[]},"117":{"title":"Intersection checks","titles":[]},"118":{"title":"What is intersects?","titles":["Intersection checks"]},"119":{"title":"Implementation","titles":["Intersection checks"]},"120":{"title":"Overlaps","titles":[]},"121":{"title":"What is overlaps?","titles":["Overlaps"]},"122":{"title":"Implementation","titles":["Overlaps"]},"123":{"title":"Touches","titles":[]},"124":{"title":"What is touches?","titles":["Touches"]},"125":{"title":"Implementation","titles":["Touches"]},"126":{"title":"Convert features to geometries","titles":[]},"127":{"title":"Point touches geometries","titles":[]},"128":{"title":"Lines touching geometries","titles":[]},"129":{"title":"Rings touch geometries","titles":[]},"130":{"title":"Polygons touch geometries","titles":[]},"131":{"title":"Geometries touch multi-geometry/geometry collections","titles":[]},"132":{"title":"Multi-geometry/geometry collections cross geometries","titles":[]},"133":{"title":"Within","titles":[]},"134":{"title":"What is within?","titles":["Within"]},"135":{"title":"Implementation","titles":["Within"]},"136":{"title":"Convert features to geometries","titles":[]},"137":{"title":"Points within geometries","titles":[]},"138":{"title":"Lines within geometries","titles":[]},"139":{"title":"Rings covered by geometries","titles":[]},"140":{"title":"Polygons within geometries","titles":[]},"141":{"title":"Geometries within multi-geometry/geometry collections","titles":[]},"142":{"title":"Multi-geometry/geometry collections within geometries","titles":[]},"143":{"title":"Polygonizing raster data","titles":[]},"144":{"title":"Orientation","titles":[]},"145":{"title":"isclockwise","titles":["Orientation"]},"146":{"title":"isconcave","titles":["Orientation"]},"147":{"title":"Not implemented yet","titles":[]},"148":{"title":"apply","titles":[]},"149":{"title":"Docstrings","titles":["apply"]},"150":{"title":"Functions","titles":["apply","Docstrings"]},"151":{"title":"What is apply?","titles":["apply"]},"152":{"title":"Embedding:","titles":["apply"]},"153":{"title":"Threading","titles":["apply"]},"154":{"title":"applyreduce","titles":[]},"155":{"title":"Keyword docs","titles":[]},"156":{"title":"Other primitives (unwrap, flatten, etc)","titles":[]},"157":{"title":"Types","titles":[]},"158":{"title":"Manifold","titles":["Types"]},"159":{"title":"TraitTarget","titles":["Types"]},"160":{"title":"BoolsAsTypes","titles":["Types"]},"161":{"title":"Closed Rings","titles":[]},"162":{"title":"Example","titles":["Closed Rings"]},"163":{"title":"Implementation","titles":["Closed Rings"]},"164":{"title":"Intersecting Polygons","titles":[]},"165":{"title":"Example","titles":["Intersecting Polygons"]},"166":{"title":"Implementation","titles":["Intersecting Polygons"]},"167":{"title":"Coordinate flipping","titles":[]},"168":{"title":"Geometry Corrections","titles":[]},"169":{"title":"Interface","titles":["Geometry Corrections"]},"170":{"title":"Available corrections","titles":["Geometry Corrections"]},"171":{"title":"Extent embedding","titles":[]},"172":{"title":"Geometry reprojection","titles":[]},"173":{"title":"Method error handling","titles":["Geometry reprojection"]},"174":{"title":"Segmentize","titles":[]},"175":{"title":"Examples","titles":["Segmentize"]},"176":{"title":"Benchmark","titles":["Segmentize"]},"177":{"title":"Implementation","titles":["Segmentize"]},"178":{"title":"Geometry simplification","titles":[]},"179":{"title":"Examples","titles":["Geometry simplification"]},"180":{"title":"Benchmark","titles":["Geometry simplification"]},"181":{"title":"Simplify with RadialDistance Algorithm","titles":[]},"182":{"title":"Simplify with DouglasPeucker Algorithm","titles":[]},"183":{"title":"Simplify with VisvalingamWhyatt Algorithm","titles":[]},"184":{"title":"Shared utils","titles":[]},"185":{"title":"Pointwise transformation","titles":[]},"186":{"title":"Tuple conversion","titles":[]},"187":{"title":"Types","titles":[]},"188":{"title":"GEOS","titles":["Types"]},"189":{"title":"Utility functions","titles":[]},"190":{"title":"Creating Geometry","titles":[]},"191":{"title":"Creating and plotting geometries","titles":["Creating Geometry"]},"192":{"title":"Plot geometries on a map using GeoMakie and coordinate reference system (CRS)","titles":["Creating Geometry"]},"193":{"title":"Create geospatial geometries with embedded coordinate reference system information","titles":["Creating Geometry"]},"194":{"title":"Creating a table with attributes and geometry","titles":["Creating Geometry"]},"195":{"title":"Saving your geospatial data","titles":["Creating Geometry"]},"196":{"title":"Geodesic paths","titles":[]},"197":{"title":"Spatial joins","titles":[]},"198":{"title":"Simple example","titles":["Spatial joins"]},"199":{"title":"Real-world example","titles":["Spatial joins"]},"200":{"title":"Enabling custom predicates","titles":["Spatial joins"]}},"dirtCount":0,"index":[["⋮",{"2":{"192":1}}],["θ",{"2":{"191":7,"192":3,"193":5}}],["☁",{"2":{"191":1}}],["✈",{"2":{"191":1}}],["÷",{"2":{"153":1,"154":1}}],["ϵ",{"2":{"73":5}}],["∘",{"2":{"73":1,"122":2,"143":2,"169":1,"180":2,"200":2}}],["⊻",{"2":{"64":1,"71":2}}],["≥",{"2":{"64":1,"116":2,"166":1,"182":1}}],["α≈1",{"2":{"73":1}}],["α≈0",{"2":{"73":1}}],["α2",{"2":{"64":4,"73":2}}],["α",{"2":{"64":3,"73":28,"116":7}}],["α1",{"2":{"64":4,"73":2}}],["β2",{"2":{"64":4,"73":2}}],["β",{"2":{"64":4,"73":28,"116":7}}],["β1",{"2":{"64":4,"73":2}}],["≤",{"2":{"64":5,"66":14,"116":6,"182":1,"184":1,"189":4}}],["^",{"2":{"192":1}}],["^3",{"2":{"192":1}}],["^n",{"2":{"146":1}}],["^2",{"2":{"63":2,"85":2}}],["^hormannpresentation",{"2":{"59":2}}],["∑λ",{"2":{"59":2}}],["∑i=2n",{"2":{"6":1}}],["`$",{"2":{"188":1}}],["`equatorial",{"2":{"176":2}}],["`extents",{"2":{"171":1}}],["`inf`",{"2":{"172":1}}],["`inv",{"2":{"158":1}}],["`intersects`",{"2":{"119":1}}],["`intersectingpolygons`",{"2":{"70":1,"72":1,"81":1}}],["`90`",{"2":{"158":1}}],["`libgeos",{"2":{"188":1}}],["`linearring`",{"2":{"177":1}}],["`linestring`",{"2":{"177":1}}],["`linestringtrait`",{"2":{"169":1}}],["`line2`",{"2":{"146":1}}],["`line1`",{"2":{"146":1}}],["`line",{"2":{"72":4}}],["`lat`",{"2":{"158":1}}],["`lon`",{"2":{"158":1}}],["`z`",{"2":{"158":1}}],["``1",{"2":{"158":1}}],["``a``",{"2":{"158":1}}],["``r",{"2":{"158":1}}],["```jldoctest",{"2":{"69":1,"70":1,"72":1,"73":1,"81":1,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"125":1,"135":1,"146":1,"180":1}}],["```julia",{"2":{"6":2,"59":1,"105":1,"146":1,"153":1,"159":1,"185":2}}],["```math",{"2":{"59":1,"146":1}}],["```",{"2":{"11":1,"59":3,"69":1,"70":1,"72":1,"81":1,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"125":1,"135":1,"143":11,"146":3,"153":1,"180":1,"185":2,"189":1}}],["`6371008",{"2":{"158":1}}],["`prefilter",{"2":{"180":1}}],["`proj",{"2":{"172":1,"176":2}}],["`planar`",{"2":{"158":1,"177":2}}],["`polgontrait`",{"2":{"153":1}}],["`polygontrait`",{"2":{"153":1,"169":1}}],["`polygonize`",{"2":{"143":2}}],["`polygon`",{"2":{"59":3,"177":1}}],["`polys`",{"2":{"71":1}}],["`poly",{"2":{"71":3,"73":1,"82":1}}],["`pointrait`",{"2":{"180":1}}],["`pointtrait`",{"2":{"156":3,"169":1}}],["`point",{"2":{"116":3}}],["`point`",{"2":{"59":4,"85":1}}],["`point2f`",{"2":{"58":1}}],["`obj`",{"2":{"156":1,"185":1,"186":1}}],["`op`",{"2":{"154":2}}],["`calc",{"2":{"155":1}}],["`crs`",{"2":{"155":1}}],["`components`",{"2":{"156":1}}],["`collect`",{"2":{"154":1}}],["`covers`",{"2":{"94":1,"104":1}}],["`coveredby`",{"2":{"94":1,"104":1}}],["`contains`",{"2":{"88":1,"135":1}}],["`convex",{"2":{"80":2}}],["`+`",{"2":{"154":1}}],["`alg",{"2":{"188":1}}],["`alg`",{"2":{"184":1}}],["`always",{"2":{"172":1}}],["`application",{"2":{"169":1}}],["`apply`",{"2":{"153":1,"159":1}}],["`abstractgeometrytrait`",{"2":{"156":1}}],["`abstractarray`",{"2":{"156":1}}],["`abstractmatrix`",{"2":{"143":1}}],["`union",{"2":{"143":2}}],["`unionintersectingpolygons`",{"2":{"166":1}}],["`unionintersectingpolygons",{"2":{"70":1,"71":2,"72":1,"73":2,"81":1,"82":2}}],["`ys`",{"2":{"143":1}}],["`flattening`",{"2":{"176":1}}],["`flattening",{"2":{"176":1}}],["`flatten`",{"2":{"156":1}}],["`f",{"2":{"153":1}}],["`false`",{"2":{"143":1,"146":1,"155":4,"160":1,"172":1}}],["`featurecollectiontrait`",{"2":{"153":1,"156":1}}],["`featurecollection`",{"2":{"143":2}}],["`featuretrait`",{"2":{"153":2,"156":1}}],["`feature`s",{"2":{"143":1}}],["`f`",{"2":{"143":5,"153":3,"154":1,"156":2,"185":2,"188":1}}],["`fix",{"2":{"70":2,"71":2,"72":2,"73":2,"81":2,"82":2}}],["`douglaspeucker`",{"2":{"180":1}}],["`d`",{"2":{"172":1}}],["`difference`",{"2":{"166":1}}],["`disjoint`",{"2":{"119":1}}],["`delaunaytriangulation",{"2":{"80":1}}],["`within`",{"2":{"88":1,"135":1}}],["`weight`",{"2":{"59":1}}],["`geos`",{"2":{"188":3}}],["`geodesicsegments`",{"2":{"175":1}}],["`geodesic`",{"2":{"158":1,"176":2,"177":2}}],["`geointerface`",{"2":{"169":1}}],["`geointerface",{"2":{"153":1,"156":2,"172":2}}],["`geom`",{"2":{"85":3,"156":1,"177":1}}],["`geometrycollection`",{"2":{"177":1}}],["`geometrycorrection`",{"2":{"163":1,"166":2,"169":1}}],["`geometry`",{"2":{"153":1,"172":2}}],["`geometrybasics",{"2":{"59":3}}],["`geometries`",{"2":{"80":1}}],["`g1`",{"2":{"85":1}}],["`gi",{"2":{"80":1,"143":1}}],["`tuple",{"2":{"189":1}}],["`tuple`s",{"2":{"186":1}}],["`tuple`",{"2":{"143":1,"186":1}}],["`time`",{"2":{"172":1}}],["`transform`",{"2":{"172":1}}],["`true`",{"2":{"94":1,"105":1,"108":2,"125":1,"135":1,"143":1,"146":2,"155":2,"160":1,"172":1}}],["`threaded`",{"2":{"155":1}}],["`threaded==true`",{"2":{"154":1}}],["`tol`",{"2":{"180":2,"181":3,"182":2,"183":3,"184":4}}],["`to",{"2":{"73":1}}],["`target",{"2":{"172":3}}],["`target`",{"2":{"72":1,"153":2,"154":1,"156":1,"159":1}}],["`tables",{"2":{"153":1}}],["`taget`",{"2":{"70":1,"81":1}}],["`method",{"2":{"177":1}}],["`method`",{"2":{"59":3}}],["`max",{"2":{"176":4,"177":3,"188":1}}],["`map`",{"2":{"153":1}}],["`makie",{"2":{"143":1}}],["`multipointtrait`",{"2":{"153":1,"180":1}}],["`multipolygontrait`",{"2":{"153":1}}],["`multipolygon`",{"2":{"143":3,"177":1}}],["`multipolygon",{"2":{"71":3,"73":3,"82":2}}],["`multipoly",{"2":{"71":7,"73":3,"82":3}}],["`minpoints`",{"2":{"143":2}}],["`number`",{"2":{"180":2,"184":3}}],["`namedtuple`",{"2":{"153":1}}],["`nothing`",{"2":{"64":1,"155":1}}],["`next",{"2":{"64":1}}],["`boolsastypes`",{"2":{"160":1}}],["`bool`",{"2":{"143":2}}],["`buffer`",{"2":{"60":1}}],["`barycentric",{"2":{"59":3}}],["`radialdistance`",{"2":{"180":1}}],["`ratio`",{"2":{"180":2,"184":3}}],["`reproject`",{"2":{"173":1}}],["`rebuild`",{"2":{"156":1}}],["`r`",{"2":{"59":1}}],["`rᵢ`",{"2":{"59":1}}],["`svector`",{"2":{"185":3}}],["`simplifyalg`",{"2":{"180":2}}],["`simplify",{"2":{"180":1}}],["`simplify`",{"2":{"180":2}}],["`segmentize`",{"2":{"188":1}}],["`segmentize",{"2":{"177":2}}],["`semimajor",{"2":{"158":1}}],["`source",{"2":{"172":3}}],["`spherical`",{"2":{"158":1,"177":1}}],["`s`",{"2":{"59":1}}],["`sᵢ`",{"2":{"59":2}}],["`s2`",{"2":{"59":1}}],["`s1`",{"2":{"59":1}}],["`hcat`",{"2":{"59":1}}],["`x`",{"2":{"153":1,"160":1}}],["`xs`",{"2":{"143":1}}],["`x1",{"2":{"59":1}}],["`x1`",{"2":{"59":2}}],["`x2`",{"2":{"59":1}}],["`visvalingamwhyatt`",{"2":{"180":1}}],["`vector",{"2":{"172":1}}],["`vector`",{"2":{"143":1,"153":1}}],["`vᵢ`",{"2":{"59":1}}],["`v`",{"2":{"59":1}}],["`values`",{"2":{"59":1,"143":1}}],["`λs`",{"2":{"59":2}}],["`",{"2":{"59":2,"70":1,"71":2,"72":1,"73":3,"81":1,"82":2,"143":3,"153":2,"154":1,"158":1,"169":2,"172":2,"177":1,"180":3,"188":2,"189":1}}],["λ₁",{"2":{"59":2}}],["λn",{"2":{"57":1}}],["λ3",{"2":{"57":1}}],["λ2",{"2":{"57":2}}],["λ1",{"2":{"57":2}}],["λs",{"2":{"5":3,"6":4,"59":27}}],["π",{"2":{"53":1,"180":1}}],["δbay",{"2":{"73":3}}],["δbax",{"2":{"73":3}}],["δby",{"2":{"73":5}}],["δbx",{"2":{"73":5}}],["δb",{"2":{"73":2}}],["δay",{"2":{"73":5}}],["δax",{"2":{"73":5}}],["δa",{"2":{"73":2}}],["δintrs",{"2":{"64":2}}],["δy2",{"2":{"146":2}}],["δy1",{"2":{"146":2}}],["δyl",{"2":{"122":4}}],["δy",{"2":{"53":8,"66":3,"116":7}}],["δys",{"2":{"53":1}}],["δx2",{"2":{"146":2}}],["δx1",{"2":{"146":2}}],["δxl",{"2":{"122":4}}],["δx",{"2":{"53":9,"66":3,"116":7}}],["∈",{"2":{"14":1}}],["~",{"2":{"14":3}}],["$ratio",{"2":{"184":1}}],["$rectangle",{"2":{"176":2}}],["$number",{"2":{"184":1}}],["$name",{"2":{"29":2}}],["$min",{"2":{"184":1}}],["$douglas",{"2":{"180":1,"182":1}}],["$simplify",{"2":{"180":1,"181":1,"183":1}}],["$lg",{"2":{"176":1}}],["$lin",{"2":{"176":2}}],["$geom",{"2":{"180":8}}],["$geo",{"2":{"176":1}}],["$calc",{"2":{"155":1}}],["$crs",{"2":{"155":1,"171":1}}],["$apply",{"2":{"153":1,"167":1,"172":1,"180":1}}],["$tol",{"2":{"184":1}}],["$threaded",{"2":{"155":1}}],["$t",{"2":{"91":1,"153":2,"154":2}}],["$target",{"2":{"71":1,"73":1,"82":1,"156":3}}],["$trait",{"2":{"69":1,"71":2,"73":2,"82":2}}],["$",{"2":{"13":4,"14":1,"59":4,"64":2,"143":3,"169":4,"177":4,"180":12,"188":1}}],["|=",{"2":{"116":4,"122":1}}],["||",{"2":{"53":2,"64":13,"66":8,"69":1,"72":1,"73":5,"81":1,"91":18,"105":2,"116":8,"122":1,"127":1,"143":7,"182":1,"184":3}}],["|",{"2":{"11":4,"116":1}}],["|>",{"2":{"11":8,"13":2,"156":3,"175":1,"176":1,"180":3,"199":2}}],["↩︎",{"2":{"6":1}}],["ᵢᵢᵢ₊₁ᵢᵢ₊₁ᵢᵢ₊₁tᵢ=det",{"2":{"6":1}}],["⋅",{"2":{"6":1,"59":1}}],["qy",{"2":{"13":2,"14":2}}],["qx",{"2":{"13":2,"14":2}}],["q",{"2":{"13":13,"14":12,"64":4}}],["qhull",{"2":{"6":1,"80":1}}],["queue",{"2":{"182":41}}],["questions",{"2":{"73":1}}],["quite",{"2":{"162":1,"199":1}}],["quickhull",{"2":{"6":1,"75":1,"80":2}}],["quick",{"2":{"4":1,"6":1,"59":1,"171":1,"179":1}}],["quality",{"2":{"6":1,"180":1}}],["quantity",{"2":{"6":1,"176":1}}],["quot",{"2":{"1":4,"6":6,"20":2,"64":8,"84":2,"85":2,"91":2,"103":4,"116":10,"150":4,"151":2,"153":2,"154":2,"156":4,"174":6,"191":2,"198":2}}],["zone",{"2":{"192":1}}],["zoom",{"2":{"14":1}}],["zs",{"2":{"143":5}}],["zip",{"2":{"13":1,"14":1,"191":4,"192":1,"193":1}}],["zeros",{"2":{"59":1,"66":1}}],["zero",{"2":{"4":6,"6":8,"56":11,"63":3,"64":4,"66":11,"73":22,"84":1,"85":3,"146":1,"153":1,"182":4}}],["z",{"2":{"4":1,"5":1,"6":2,"59":3,"91":3,"143":3,"158":1,"167":1,"185":1,"186":1}}],["0e6",{"2":{"192":6}}],["0example",{"2":{"6":1}}],["097075198097933",{"2":{"193":1}}],["09707519809793252",{"2":{"193":2}}],["091887951911644",{"2":{"193":3}}],["0999933334666654",{"2":{"191":1}}],["09801605542096",{"2":{"191":1}}],["098016055420953",{"2":{"191":3}}],["09297443860091348",{"2":{"191":4}}],["09",{"2":{"58":1}}],["08506974233813636",{"2":{"193":2}}],["08",{"2":{"58":1}}],["062749678615475",{"2":{"193":1}}],["06274967861547665",{"2":{"193":2}}],["06592462566760626",{"2":{"191":1}}],["0650624499034016",{"2":{"191":4}}],["06",{"2":{"58":1}}],["02017324484778",{"2":{"193":1}}],["020173244847778715",{"2":{"193":2}}],["027886421973952302",{"2":{"191":4}}],["02",{"2":{"58":3}}],["04500741774392",{"2":{"193":1}}],["045007417743918",{"2":{"193":2}}],["049999166670833324",{"2":{"191":1}}],["0438052480035",{"2":{"191":1}}],["043805248003498",{"2":{"191":3}}],["04",{"2":{"58":6}}],["07518688541961",{"2":{"193":1}}],["075186885419612",{"2":{"193":2}}],["071",{"2":{"175":2,"176":2}}],["07",{"2":{"58":6,"175":6,"176":6}}],["009176636029576",{"2":{"193":1}}],["0091766360295773",{"2":{"193":2}}],["003135308800957",{"2":{"193":1}}],["0031353088009582475",{"2":{"193":2}}],["0035114210915891397",{"2":{"191":4}}],["006784125578492062",{"2":{"193":2}}],["0020133807972559925",{"2":{"193":2}}],["00839489109211",{"2":{"193":3}}],["008696",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["005465967083412071",{"2":{"191":4}}],["00111595449914",{"2":{"191":1}}],["001115954499138",{"2":{"191":3}}],["0010075412835199304",{"2":{"191":4}}],["001",{"2":{"180":1}}],["00085222666982",{"2":{"193":3}}],["000577332369005",{"2":{"193":1}}],["0005773323690041465",{"2":{"193":2}}],["000510363870095e6",{"2":{"192":2}}],["00025191811248184703",{"2":{"193":2}}],["000215611503127e6",{"2":{"192":2}}],["0007260527263e6",{"2":{"192":2}}],["000342160541625e6",{"2":{"192":2}}],["000124843834609e6",{"2":{"192":2}}],["000063948817746e6",{"2":{"192":2}}],["000026987852369e6",{"2":{"192":2}}],["000008144045314",{"2":{"193":1}}],["000007998400139e6",{"2":{"192":2}}],["000000999950001e6",{"2":{"192":2}}],["00001e6",{"2":{"192":1}}],["0004397316773170068",{"2":{"191":4}}],["000",{"2":{"180":1,"196":1}}],["00",{"2":{"58":2}}],["053798628882221644",{"2":{"193":2}}],["05877989361332",{"2":{"191":1}}],["058779893613323",{"2":{"191":3}}],["05416726609360478",{"2":{"191":4}}],["05",{"2":{"58":1}}],["052704767595",{"2":{"15":1}}],["037564867762832",{"2":{"193":1}}],["03756486776283019",{"2":{"193":2}}],["031245035570328428",{"2":{"193":2}}],["033518309870985",{"2":{"193":3}}],["03503632062070827",{"2":{"191":4}}],["03",{"2":{"58":4}}],["01458815628695",{"2":{"193":3}}],["016044338630866517",{"2":{"193":2}}],["01592650896568995",{"2":{"191":1}}],["01597247419241532",{"2":{"191":4}}],["01908693278165",{"2":{"191":1}}],["019086932781654",{"2":{"191":3}}],["01098781325325",{"2":{"191":1}}],["010987813253244",{"2":{"191":3}}],["011814947665167774",{"2":{"191":4}}],["01362848005",{"2":{"15":1}}],["01",{"2":{"14":1,"58":1,"175":1,"176":1,"191":1,"192":1,"193":1}}],["0^",{"2":{"13":2,"14":2}}],["0+2",{"2":{"13":2,"14":2}}],["0",{"2":{"3":35,"4":12,"6":190,"11":1,"13":5,"14":8,"15":32,"52":20,"53":3,"55":9,"56":4,"58":155,"59":2,"62":6,"63":6,"64":49,"65":13,"66":5,"68":22,"69":49,"70":42,"72":2,"73":21,"78":1,"81":46,"82":2,"84":20,"85":2,"87":16,"90":13,"91":18,"93":6,"94":6,"103":6,"104":12,"105":9,"107":15,"116":37,"121":13,"122":9,"124":12,"125":11,"134":16,"143":7,"146":21,"158":1,"162":24,"165":64,"166":4,"175":16,"176":13,"177":2,"180":11,"182":7,"184":4,"189":2,"191":129,"192":2,"193":46,"198":13}}],[">=",{"2":{"59":6,"105":4,"122":1,"184":1}}],[">geometryops",{"2":{"6":2}}],[">",{"2":{"1":1,"6":6,"11":2,"13":1,"15":2,"50":1,"53":1,"59":1,"64":17,"66":3,"69":5,"70":1,"71":1,"73":2,"81":1,"82":3,"84":1,"91":1,"105":8,"116":10,"122":2,"143":12,"146":4,"156":6,"166":3,"169":1,"177":3,"180":1,"182":12,"184":3,"185":1,"189":1,"199":1}}],["914930257661865",{"2":{"193":1}}],["96875496442967",{"2":{"193":1}}],["961329",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["983955661369134",{"2":{"193":1}}],["9833",{"2":{"15":1}}],["9877550012664",{"2":{"191":1}}],["9840085315131",{"2":{"191":1}}],["98271048511609",{"2":{"191":1}}],["98661575256801",{"2":{"191":1}}],["99321587442151",{"2":{"193":1}}],["99375130197483",{"2":{"191":1}}],["997986619202745",{"2":{"193":1}}],["997750168744936",{"2":{"191":1}}],["997247091122496",{"2":{"191":1}}],["99600053330489",{"2":{"191":1}}],["991002699676024",{"2":{"191":1}}],["990022362600165",{"2":{"191":1}}],["99292997455441",{"2":{"191":1}}],["99533829767195",{"2":{"191":1}}],["99865616402829",{"2":{"191":1}}],["999999967681458e6",{"2":{"192":2}}],["999997707902938e6",{"2":{"192":2}}],["999987539891298e6",{"2":{"192":2}}],["999963474314044e6",{"2":{"192":2}}],["999919535736425e6",{"2":{"192":2}}],["999974634566875",{"2":{"191":1}}],["999849768598615e6",{"2":{"192":2}}],["999748081887518",{"2":{"193":1}}],["999748243174828e6",{"2":{"192":2}}],["999750002083324",{"2":{"191":1}}],["999609061508909e6",{"2":{"192":2}}],["999426363321033e6",{"2":{"192":2}}],["999194331880103e6",{"2":{"192":2}}],["99900003333289",{"2":{"191":1}}],["999565375483215",{"2":{"191":1}}],["97976366505997",{"2":{"191":1}}],["9783069507679",{"2":{"191":1}}],["97",{"2":{"58":1}}],["946201371117777",{"2":{"193":1}}],["94",{"2":{"58":1}}],["92",{"2":{"58":1}}],["9im",{"0":{"39":1},"1":{"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1},"2":{"116":2,"197":1}}],["95770326033",{"2":{"15":1}}],["95",{"2":{"13":1,"14":1,"196":1}}],["900",{"2":{"176":1}}],["90063612163",{"2":{"11":2}}],["90`",{"2":{"158":1}}],["90",{"2":{"52":9,"58":1}}],["909318372607",{"2":{"11":3}}],["9",{"2":{"1":1,"6":1,"116":2,"146":12,"175":1,"185":1}}],["897070",{"2":{"196":1}}],["873633668827033",{"2":{"193":1}}],["8135804051007",{"2":{"191":1}}],["813580405100698",{"2":{"191":3}}],["88",{"2":{"58":1}}],["86641841658641",{"2":{"191":1}}],["866418416586406",{"2":{"191":3}}],["86",{"2":{"58":1}}],["868447876892",{"2":{"15":2}}],["84",{"2":{"58":1}}],["821068835162155",{"2":{"193":1}}],["82",{"2":{"58":1}}],["800",{"2":{"58":1}}],["80000",{"2":{"15":5}}],["80",{"2":{"58":1}}],["80869813739",{"2":{"15":2}}],["856614689791036e",{"2":{"15":2}}],["83572303404496",{"2":{"6":2,"72":1,"73":1}}],["8",{"2":{"1":3,"6":9,"13":1,"14":1,"70":2,"81":4,"116":1,"143":3,"158":2,"175":1,"185":3,"193":2}}],["karnataka",{"2":{"199":1}}],["kbn",{"2":{"11":2}}],["kinds",{"2":{"23":1}}],["kind",{"2":{"9":1,"143":1,"197":1}}],["k",{"2":{"6":1,"14":6,"59":1,"64":5,"116":5,"191":5,"193":5}}],["kernel",{"2":{"177":4}}],["keepat",{"2":{"81":1,"166":2}}],["keep",{"2":{"64":3,"143":1,"166":14,"175":1,"198":1}}],["keeping",{"2":{"6":1,"153":1,"167":1}}],["keys",{"2":{"143":4,"153":1}}],["key",{"2":{"6":1,"143":4,"153":2,"188":5}}],["keyword",{"0":{"155":1},"2":{"6":8,"23":1,"29":3,"70":1,"72":1,"81":1,"153":1,"155":7,"171":2,"176":2,"188":4,"192":1,"193":1}}],["keywords",{"2":{"1":2,"4":1,"6":10,"29":1,"116":2,"143":1,"153":1,"155":1,"167":2,"171":1,"172":3,"180":8,"181":1,"182":1,"183":1,"184":1,"186":2}}],["known",{"2":{"66":2}}],["know",{"2":{"6":3,"53":2,"64":1,"66":1,"70":1,"72":1,"73":2,"81":1,"82":1,"153":1,"198":1}}],["kwargs",{"2":{"32":2,"60":3,"66":1,"69":1,"70":3,"71":3,"72":4,"73":5,"81":3,"82":5,"169":2,"173":1,"176":1}}],["kwdef",{"2":{"29":1,"64":1,"158":2,"176":1,"181":1,"182":1,"183":1}}],["kw",{"2":{"1":1,"6":10,"116":10,"143":20,"150":1,"153":18,"154":3,"156":2,"167":3,"180":15,"183":1,"185":3,"186":3,"188":6}}],["json",{"2":{"195":3}}],["jstep",{"2":{"91":3}}],["jstart",{"2":{"91":7}}],["joined",{"2":{"198":4}}],["joins",{"0":{"197":1},"1":{"198":1,"199":1,"200":1},"2":{"197":3}}],["joinpath",{"2":{"180":2}}],["join",{"2":{"153":1,"154":1,"197":4,"198":5,"200":1}}],["joining",{"2":{"6":2,"180":1,"197":1}}],["jpn",{"2":{"199":2}}],["jp",{"2":{"91":2}}],["jhole",{"2":{"91":2}}],["jh",{"2":{"82":5}}],["j+1",{"2":{"64":1,"143":1,"184":1}}],["j",{"2":{"64":24,"91":8,"105":9,"116":12,"143":8,"146":2,"184":2}}],["jet",{"2":{"58":1}}],["just",{"2":{"4":1,"6":1,"32":1,"63":1,"64":2,"73":4,"79":1,"82":1,"85":2,"143":1,"151":1,"153":2,"154":1,"157":1,"176":1,"177":1,"197":1}}],["julialand",{"2":{"192":2}}],["julialines",{"2":{"55":1}}],["julialinearsegments",{"2":{"6":1}}],["juliahole",{"2":{"191":1}}],["juliaplot",{"2":{"192":2}}],["juliap1",{"2":{"191":1}}],["juliapoly",{"2":{"192":1}}],["juliapolygon3",{"2":{"192":1}}],["juliapolygon1",{"2":{"191":1}}],["juliapolygonize",{"2":{"6":1}}],["juliapolygon",{"2":{"6":1}}],["juliapoints",{"2":{"198":1}}],["juliapoint",{"2":{"191":1}}],["juliaxoffset",{"2":{"191":3,"193":1}}],["juliax",{"2":{"191":2}}],["juliaxrange",{"2":{"84":1}}],["julia$apply",{"2":{"186":1}}],["julia$threaded",{"2":{"171":1}}],["julia6",{"2":{"180":1}}],["julia```jldoctest",{"2":{"189":1}}],["julia```julia",{"2":{"143":1}}],["julia```",{"2":{"105":1,"159":1}}],["julia1",{"2":{"70":1,"72":1,"73":1,"81":1}}],["julia2",{"2":{"69":1}}],["juliabase",{"2":{"59":1,"85":4,"153":1,"188":1}}],["juliabarycentric",{"2":{"5":3,"6":3}}],["juliafig",{"2":{"191":1,"192":1}}],["juliaflexijoins",{"2":{"200":1}}],["juliaflatten",{"2":{"156":1}}],["juliaflipped",{"2":{"148":1}}],["juliaflip",{"2":{"6":1}}],["juliafalse",{"2":{"146":1}}],["juliafunction",{"2":{"32":1,"35":1,"36":1,"37":1,"38":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"53":2,"59":3,"60":2,"63":1,"64":11,"66":2,"69":1,"71":1,"73":2,"80":1,"82":1,"85":8,"116":6,"122":2,"127":1,"147":1,"154":2,"156":4,"173":1,"176":1,"177":1,"184":2}}],["juliafor",{"2":{"29":1,"153":1,"154":1}}],["juliagi",{"2":{"11":2}}],["juliago",{"2":{"11":1,"52":1,"55":1,"65":1,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"124":1,"134":1,"197":1}}],["juliageopoly1",{"2":{"193":1}}],["juliageointerface",{"2":{"189":1}}],["juliageometry",{"2":{"80":1}}],["juliageo",{"2":{"6":2,"158":1}}],["juliageodesicsegments",{"2":{"6":1}}],["juliageos",{"2":{"6":1}}],["juliaweighted",{"2":{"6":1}}],["juliawithin",{"2":{"3":1,"6":1}}],["juliaunwrap",{"2":{"156":7}}],["juliaunion",{"2":{"6":1}}],["juliaunionintersectingpolygons",{"2":{"6":1,"170":1}}],["juliausing",{"2":{"6":1,"13":1,"14":1,"58":1,"175":2,"176":1,"179":1,"180":1,"194":1,"197":1}}],["juliascatter",{"2":{"198":1}}],["juliasource",{"2":{"192":2}}],["juliasimplify",{"2":{"6":1,"180":3}}],["juliasigned",{"2":{"4":2,"6":2}}],["juliasegmentize",{"2":{"6":1,"177":1}}],["julias1",{"2":{"6":1}}],["juliavisvalingamwhyatt",{"2":{"6":1}}],["juliaring3",{"2":{"192":1}}],["juliaring1",{"2":{"191":1}}],["juliar",{"2":{"191":2,"192":1,"193":1}}],["juliarebuild",{"2":{"156":1}}],["juliareconstruct",{"2":{"156":1}}],["juliareproject",{"2":{"1":1}}],["juliaradialdistance",{"2":{"6":1}}],["juliamy",{"2":{"200":1}}],["juliamultipoly",{"2":{"180":1}}],["juliamodule",{"2":{"29":1}}],["juliamonotonechainmethod",{"2":{"6":1}}],["juliameanvalue",{"2":{"6":1}}],["juliadf",{"2":{"194":1}}],["juliadestination",{"2":{"192":1}}],["juliadouglaspeucker",{"2":{"6":1}}],["juliadifference",{"2":{"6":1}}],["juliadiffintersectingpolygons",{"2":{"6":1,"170":1}}],["juliadistance",{"2":{"4":1,"6":1}}],["juliadisjoint",{"2":{"3":1,"6":1}}],["juliaexport",{"2":{"51":1,"54":1,"57":1,"61":1,"67":1,"70":1,"72":1,"81":1,"83":1,"86":1,"89":1,"92":1,"102":1,"106":1,"117":1,"120":1,"123":1,"133":1,"143":1,"144":1,"148":1,"154":1,"158":1,"161":1,"164":1,"168":1,"172":1,"174":1,"180":1,"187":1}}],["juliaend",{"2":{"85":1}}],["juliaenforce",{"2":{"6":1}}],["juliaenum",{"2":{"6":2}}],["juliaembed",{"2":{"4":1,"6":1}}],["juliaequals",{"2":{"4":15,"6":15,"64":1}}],["juliaaccuratearithmetic",{"2":{"11":2}}],["juliaabstract",{"2":{"6":3,"169":1,"170":1,"176":1}}],["juliaangles",{"2":{"4":1,"6":1}}],["juliaarea",{"2":{"4":1,"6":1}}],["juliaapplyreduce",{"2":{"1":1,"150":1}}],["juliaapply",{"2":{"1":1,"18":1,"150":1}}],["juliacent",{"2":{"62":1}}],["juliacentroid",{"2":{"4":1,"6":3}}],["juliacut",{"2":{"6":1}}],["juliaclosedring",{"2":{"6":1,"170":1}}],["juliaconst",{"2":{"53":1,"56":1,"59":1,"64":1,"66":2,"85":1,"94":1,"108":1,"125":1,"135":1,"155":1}}],["juliaconvex",{"2":{"6":1,"80":1}}],["juliacontains",{"2":{"3":1,"6":1}}],["juliacoverage",{"2":{"6":1}}],["juliacovers",{"2":{"3":1,"6":1}}],["juliacoveredby",{"2":{"3":1,"6":1}}],["juliatraittarget",{"2":{"159":1}}],["juliatransform",{"2":{"1":1,"6":1}}],["juliatrue",{"2":{"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"125":1,"135":1,"146":1}}],["juliatuples",{"2":{"6":1}}],["juliat",{"2":{"6":1}}],["juliatouches",{"2":{"3":1,"6":1}}],["juliaoverlaps",{"2":{"3":9,"6":9}}],["juliainnerjoin",{"2":{"199":1}}],["juliaintersection",{"2":{"6":2}}],["juliaintersects",{"2":{"3":1}}],["juliaisconcave",{"2":{"6":1}}],["juliaisclockwise",{"2":{"6":1}}],["juliaimport",{"2":{"1":1,"3":9,"4":1,"6":17,"11":1,"32":1,"52":1,"55":1,"62":1,"65":1,"68":1,"77":1,"78":1,"79":1,"84":1,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"124":1,"134":1,"150":1,"162":2,"165":2,"175":1,"195":4,"196":1,"198":1,"199":1}}],["julia",{"2":{"3":1,"6":5,"9":1,"15":1,"25":1,"29":1,"30":1,"32":2,"53":4,"56":10,"59":8,"63":19,"64":60,"66":18,"69":10,"70":6,"71":1,"72":5,"73":29,"75":1,"80":5,"81":6,"82":4,"84":1,"85":4,"88":1,"91":15,"95":1,"96":5,"97":1,"98":1,"99":2,"100":1,"101":1,"104":1,"105":3,"109":1,"110":3,"111":1,"112":1,"113":1,"114":1,"115":1,"116":50,"119":1,"122":7,"126":1,"127":3,"128":1,"129":1,"130":1,"131":1,"132":1,"136":1,"137":3,"138":1,"139":1,"140":2,"141":1,"142":1,"143":40,"146":9,"147":2,"153":44,"154":18,"156":11,"159":1,"160":1,"163":5,"166":3,"167":1,"169":1,"171":1,"172":1,"176":1,"177":2,"180":1,"181":2,"182":15,"183":3,"185":1,"186":1,"187":1,"188":4,"189":1,"190":2,"192":2,"195":2,"198":1}}],["julia>",{"2":{"1":5,"6":7,"146":3,"185":7}}],["juliajulia>",{"2":{"1":2,"6":3}}],["jl`",{"2":{"80":1,"172":1,"188":1}}],["jlmethod",{"2":{"6":2}}],["jlobjecttype",{"2":{"6":2}}],["jlbinding",{"2":{"6":2}}],["jldocstring",{"2":{"6":2}}],["jldoctest",{"2":{"6":1}}],["jl",{"0":{"29":1,"30":1},"2":{"1":10,"4":1,"6":15,"10":2,"11":1,"22":2,"25":2,"29":42,"30":2,"32":1,"50":1,"53":1,"56":1,"59":1,"60":3,"63":1,"64":1,"66":1,"69":1,"71":1,"73":1,"74":1,"75":3,"80":6,"82":1,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"122":1,"132":1,"142":1,"143":1,"146":2,"147":1,"153":2,"154":1,"155":1,"156":3,"158":1,"160":2,"163":1,"166":1,"167":1,"170":1,"171":2,"172":4,"173":3,"174":1,"176":3,"177":2,"180":2,"184":1,"185":6,"186":2,"188":2,"189":1,"192":1,"197":1}}],["+5000000",{"2":{"192":1}}],["+proj=natearth2",{"2":{"192":2}}],["+=",{"2":{"56":2,"59":11,"63":6,"64":17,"66":10,"69":1,"91":1,"105":1,"116":5,"146":1,"166":2,"182":4,"189":3}}],["+",{"2":{"1":1,"6":1,"13":1,"14":1,"53":4,"56":1,"59":20,"63":10,"64":15,"66":7,"69":1,"73":10,"85":3,"91":2,"105":2,"116":6,"143":2,"146":6,"150":1,"166":3,"177":2,"182":3,"183":2,"184":2,"191":6,"192":1,"193":4}}],["yticklabelsvisible",{"2":{"192":1}}],["yyf2k",{"2":{"192":1}}],["york",{"2":{"199":1}}],["yoffset",{"2":{"191":7,"193":2}}],["your",{"0":{"195":1},"2":{"18":1,"60":1,"143":1,"148":1,"173":1,"176":1,"194":1,"195":1,"200":2}}],["you",{"0":{"23":1},"2":{"1":1,"4":1,"5":2,"6":9,"9":1,"11":1,"17":1,"18":5,"23":1,"27":2,"53":1,"56":1,"59":8,"60":1,"63":1,"70":1,"72":1,"79":1,"80":1,"81":1,"148":1,"153":1,"154":1,"159":1,"162":1,"165":1,"173":1,"175":1,"176":1,"185":1,"192":1,"194":2,"195":3,"198":2,"199":3,"200":4}}],["y=y",{"2":{"189":1}}],["yvec",{"2":{"143":4}}],["ybounds",{"2":{"143":4}}],["yhalf",{"2":{"143":2}}],["ylast",{"2":{"85":3}}],["yfirst",{"2":{"85":5}}],["y0",{"2":{"85":5}}],["yw",{"2":{"66":4}}],["ye",{"2":{"66":4}}],["yet",{"0":{"147":1},"2":{"29":1,"59":1,"69":1,"71":1,"73":1,"82":1,"91":1,"143":1,"147":1,"169":2,"199":1}}],["y2",{"2":{"63":2,"66":18,"85":7,"105":10,"116":5,"122":4,"143":5,"177":6,"189":2}}],["y1",{"2":{"63":2,"66":22,"85":7,"105":11,"116":6,"122":5,"143":5,"177":7,"189":2}}],["yind+1",{"2":{"143":1}}],["yind",{"2":{"143":2}}],["yinterior",{"2":{"63":2}}],["yield",{"2":{"73":1,"176":1}}],["yi+yi−1",{"2":{"6":1}}],["ycentroid",{"2":{"63":13}}],["yrange",{"2":{"58":3,"84":3}}],["yautolimits",{"2":{"58":2}}],["yp2",{"2":{"53":4}}],["ys",{"2":{"6":3,"143":30}}],["ymax",{"2":{"6":1,"65":2,"66":48}}],["ymin",{"2":{"6":1,"65":2,"66":49}}],["y",{"2":{"1":2,"4":1,"6":3,"13":9,"14":10,"53":8,"56":2,"58":8,"62":1,"63":10,"64":6,"65":1,"66":8,"71":6,"73":8,"84":2,"85":7,"91":3,"105":21,"116":16,"122":7,"146":10,"148":2,"150":1,"153":1,"167":4,"172":1,"177":2,"184":1,"185":2,"186":2,"189":7,"191":8,"192":2,"193":2,"197":1}}],["75",{"2":{"84":2,"87":1,"107":1,"134":1}}],["78",{"2":{"58":1}}],["749907",{"2":{"196":1}}],["74",{"2":{"58":1}}],["72",{"2":{"58":1}}],["726711609794",{"2":{"15":1}}],["76",{"2":{"58":1}}],["76085",{"2":{"15":1}}],["768946",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["70440582002419",{"2":{"191":1}}],["704405820024185",{"2":{"191":3}}],["704377648755",{"2":{"15":2}}],["700",{"2":{"14":1}}],["700454",{"2":{"6":1,"179":1,"180":1}}],["701141",{"2":{"6":1,"179":1,"180":1}}],["70",{"2":{"6":20,"58":1,"179":20,"180":20,"191":20}}],["738281",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["7",{"2":{"1":5,"6":4,"116":1,"150":1,"153":1,"175":4,"176":4,"185":4,"193":1}}],["65533525026046",{"2":{"191":1}}],["655335250260467",{"2":{"191":3}}],["659942",{"2":{"6":1,"179":1,"180":1}}],["6378137",{"2":{"158":1}}],["6371008",{"2":{"158":1}}],["639343",{"2":{"6":1,"179":1,"180":1}}],["6area",{"2":{"63":2}}],["66",{"2":{"58":1}}],["668869",{"2":{"6":1,"179":1,"180":1}}],["64744840486518",{"2":{"193":3}}],["64",{"2":{"58":1,"175":2,"176":2}}],["646209",{"2":{"6":1,"179":1,"180":1}}],["629",{"2":{"192":1}}],["62",{"2":{"58":1}}],["624923",{"2":{"6":1,"179":1,"180":1}}],["61366192682",{"2":{"15":1}}],["614624",{"2":{"6":1,"179":1,"180":1}}],["605000000000004",{"2":{"175":2}}],["60",{"2":{"58":1,"175":2}}],["60000",{"2":{"15":3}}],["609817",{"2":{"6":1,"179":1,"180":1}}],["603637",{"2":{"6":2,"179":2,"180":2}}],["68",{"2":{"58":1}}],["682601",{"2":{"6":1,"179":1,"180":1}}],["683975",{"2":{"6":1,"179":1,"180":1}}],["69159119078359",{"2":{"193":3}}],["694274",{"2":{"6":1,"179":1,"180":1}}],["697021",{"2":{"6":1,"179":1,"180":1}}],["6",{"2":{"1":12,"3":4,"6":20,"70":3,"81":3,"116":1,"122":4,"150":3,"153":3,"180":1,"185":9,"193":2}}],["51695367760999",{"2":{"193":1}}],["516953677609987",{"2":{"193":2}}],["51030066635026",{"2":{"191":4}}],["5e6",{"2":{"192":2}}],["55715336218991",{"2":{"193":1}}],["557153362189904",{"2":{"193":2}}],["55",{"2":{"191":3}}],["55494217175954",{"2":{"191":4}}],["57",{"2":{"175":4,"176":4}}],["57725",{"2":{"15":2}}],["5x",{"2":{"153":1}}],["563198",{"2":{"73":1}}],["56",{"2":{"58":1}}],["54",{"2":{"58":1,"191":19}}],["50",{"2":{"58":1,"175":4,"176":4,"191":3}}],["500000",{"2":{"192":1}}],["50000",{"2":{"15":1}}],["500",{"2":{"14":1,"192":1}}],["5d",{"2":{"25":1,"30":1,"158":1}}],["52",{"2":{"58":1,"196":1}}],["52521",{"2":{"15":1}}],["52709",{"2":{"15":2}}],["594711",{"2":{"6":1,"179":1,"180":1}}],["590591",{"2":{"6":1,"179":1,"180":1}}],["595397",{"2":{"6":1,"179":1,"180":1}}],["535",{"2":{"175":4}}],["5355",{"2":{"175":2}}],["53333",{"2":{"15":4}}],["53",{"2":{"6":10,"175":2,"189":10}}],["58",{"2":{"58":1}}],["58059",{"2":{"15":2}}],["587158",{"2":{"6":2,"179":2,"180":2}}],["58375366067548",{"2":{"6":2,"72":1,"73":1}}],["584961",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["5",{"2":{"1":29,"3":4,"4":8,"6":82,"13":1,"58":1,"68":5,"69":8,"70":16,"81":18,"84":8,"91":8,"116":1,"122":4,"143":1,"150":2,"153":2,"175":1,"176":1,"185":27,"191":32,"192":25,"200":1}}],["4983491639274692e6",{"2":{"192":2}}],["4986507085647392e6",{"2":{"192":2}}],["497205585568957e6",{"2":{"192":2}}],["4976022389592e6",{"2":{"192":2}}],["4957639801366436e6",{"2":{"192":2}}],["4940253560034204e6",{"2":{"192":2}}],["4946113281484335e6",{"2":{"192":2}}],["491990928929295e6",{"2":{"192":2}}],["4904357734399722e6",{"2":{"192":2}}],["4926709788709967e6",{"2":{"192":2}}],["4962554647802354e6",{"2":{"192":2}}],["499984780817334e6",{"2":{"192":2}}],["4997392479570867e6",{"2":{"192":2}}],["4991939151049731e6",{"2":{"192":2}}],["4994001399837343e6",{"2":{"192":2}}],["4998500087497458e6",{"2":{"192":2}}],["49",{"2":{"143":1}}],["43541888381864",{"2":{"193":3}}],["4326",{"2":{"192":2,"193":3}}],["43787",{"2":{"15":1}}],["439295815226",{"2":{"15":1}}],["434306",{"2":{"6":1,"179":1,"180":1}}],["4896621210021754e6",{"2":{"192":2}}],["489271",{"2":{"6":4,"189":4}}],["4870405593989636e6",{"2":{"192":2}}],["4879072738504685e6",{"2":{"192":2}}],["484003",{"2":{"146":4}}],["482551",{"2":{"146":4}}],["48268",{"2":{"15":1}}],["48",{"2":{"58":1}}],["48001",{"2":{"15":1}}],["45",{"2":{"58":2,"146":12,"191":2}}],["450",{"2":{"13":1}}],["458369",{"2":{"6":2,"179":2,"180":2}}],["42004014766201",{"2":{"191":1}}],["420040147662014",{"2":{"191":3}}],["4219350464667047e",{"2":{"191":4}}],["42",{"2":{"13":1,"14":1,"58":3}}],["426283",{"2":{"6":1,"179":1,"180":1}}],["400",{"2":{"58":3}}],["40000",{"2":{"15":1}}],["40",{"2":{"14":1,"58":3}}],["406224",{"2":{"6":1,"179":1,"180":1}}],["404504",{"2":{"6":1,"179":1,"180":1}}],["41544701408748197",{"2":{"191":1}}],["41",{"2":{"58":1,"193":20}}],["41878",{"2":{"15":1}}],["414248",{"2":{"6":1,"179":1,"180":1}}],["419406",{"2":{"6":1,"179":1,"180":1}}],["4493927459900552",{"2":{"191":1}}],["44121252392",{"2":{"15":1}}],["44",{"2":{"14":1,"58":2}}],["442901",{"2":{"6":1,"179":1,"180":1}}],["446339",{"2":{"6":1,"179":1,"180":1}}],["477985",{"2":{"146":4}}],["47",{"2":{"58":3}}],["473835",{"2":{"6":1,"179":1,"180":1}}],["472117",{"2":{"6":2,"179":2,"180":2}}],["46525251631344455",{"2":{"191":1}}],["465816",{"2":{"6":1,"179":1,"180":1}}],["46",{"2":{"58":3}}],["468107",{"2":{"6":1,"179":1,"180":1}}],["464547",{"2":{"6":6,"189":6}}],["4",{"2":{"1":11,"3":4,"6":12,"9":2,"13":2,"14":1,"52":1,"66":1,"88":1,"104":1,"108":1,"116":2,"135":1,"146":1,"150":3,"153":3,"175":1,"182":1,"185":8,"192":20,"195":2,"196":1}}],["358421",{"2":{"196":1}}],["3585",{"2":{"175":1}}],["35",{"2":{"58":3}}],["354492",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["38042741557976",{"2":{"191":1}}],["380427415579764",{"2":{"191":3}}],["38",{"2":{"58":3}}],["3655999675063154",{"2":{"191":1}}],["36",{"2":{"58":2}}],["360",{"2":{"53":1}}],["36022",{"2":{"15":1}}],["327284472232776",{"2":{"193":3}}],["32610",{"2":{"192":3}}],["32",{"2":{"58":3}}],["377956",{"2":{"196":1}}],["37",{"2":{"58":5}}],["3497142366876638",{"2":{"191":1}}],["34",{"2":{"58":3}}],["31571636123306385",{"2":{"191":1}}],["31",{"2":{"58":2}}],["30151010318639",{"2":{"191":4}}],["30527612515520186",{"2":{"191":4}}],["300",{"2":{"84":1}}],["30",{"2":{"14":2,"58":3,"191":2}}],["3376428491230612",{"2":{"191":4}}],["3390",{"2":{"116":1}}],["33333333333",{"2":{"15":1}}],["333333333336",{"2":{"15":3}}],["33",{"2":{"6":20,"179":20,"180":20}}],["3d",{"2":{"4":1,"6":1,"59":2,"91":1,"156":1,"174":1}}],["3",{"2":{"1":13,"3":4,"5":1,"6":26,"14":2,"59":13,"62":6,"64":1,"70":6,"81":5,"88":1,"90":1,"104":1,"108":1,"116":2,"121":1,"135":1,"143":7,"150":3,"153":3,"158":2,"165":16,"175":4,"180":3,"182":2,"184":1,"185":11,"192":1,"193":1,"198":1}}],["39945867303846",{"2":{"193":3}}],["3995734698458635",{"2":{"191":1}}],["399918",{"2":{"6":2,"179":2,"180":2}}],["394759",{"2":{"6":1,"179":1,"180":1}}],["392466",{"2":{"6":1,"179":1,"180":1}}],["395332",{"2":{"6":1,"179":1,"180":1}}],["39",{"0":{"28":1},"2":{"0":1,"3":1,"4":5,"6":22,"7":1,"9":2,"17":2,"18":1,"19":1,"23":1,"27":1,"32":1,"53":1,"55":1,"56":1,"57":1,"58":3,"59":2,"62":6,"63":3,"64":28,"66":1,"68":1,"69":1,"71":1,"72":4,"73":1,"79":2,"82":2,"85":4,"91":7,"93":1,"103":2,"110":2,"116":19,"122":1,"124":2,"127":2,"143":3,"148":2,"153":5,"154":4,"159":2,"160":3,"164":1,"170":6,"175":6,"176":1,"178":1,"180":2,"188":6,"190":1,"191":6,"192":6,"193":4,"194":4,"195":5,"197":1,"199":1,"200":2}}],["2pi",{"2":{"191":1,"192":1,"193":1}}],["2nd",{"2":{"73":6}}],["2335447787454",{"2":{"193":1}}],["233544778745394",{"2":{"193":2}}],["23",{"2":{"58":3,"116":1}}],["23699059147",{"2":{"15":1}}],["28",{"2":{"58":2}}],["28083",{"2":{"15":2}}],["2658011835867806",{"2":{"191":1}}],["26745668457025",{"2":{"191":1}}],["267456684570245",{"2":{"191":3}}],["26",{"2":{"58":5,"116":2}}],["24989584635339165",{"2":{"191":1}}],["24279488312757858",{"2":{"191":4}}],["24",{"2":{"58":7,"116":1,"193":9}}],["274364",{"2":{"70":1,"72":1,"81":1}}],["274363",{"2":{"70":1,"72":1,"81":1}}],["27",{"2":{"58":2}}],["275543",{"2":{"6":6,"189":6}}],["2d",{"2":{"25":1,"30":1,"158":4,"174":1}}],["2^",{"2":{"14":1}}],["2158594260436434",{"2":{"191":1}}],["215118",{"2":{"6":4,"189":4}}],["21664550952386064",{"2":{"191":4}}],["21",{"2":{"58":4,"116":2,"193":40}}],["21427",{"2":{"11":5}}],["25",{"2":{"58":3,"87":1,"116":1,"134":1,"193":12}}],["258",{"2":{"11":1}}],["257223563`",{"2":{"176":1}}],["257223563",{"2":{"6":2,"158":1,"176":1}}],["295828190107045",{"2":{"193":1}}],["29582819010705",{"2":{"193":2}}],["299820032397223",{"2":{"191":1}}],["29",{"2":{"58":3,"196":1}}],["29th",{"0":{"8":1},"1":{"9":1,"10":1}}],["298",{"2":{"6":2,"158":1,"176":2}}],["20340",{"2":{"195":1}}],["20682326747054",{"2":{"193":1}}],["206823267470536",{"2":{"193":2}}],["20093817218219",{"2":{"191":1}}],["200938172182195",{"2":{"191":3}}],["2018",{"2":{"116":1}}],["2017",{"2":{"6":1,"59":1}}],["20",{"2":{"58":3,"116":2,"191":60,"193":1}}],["2024",{"0":{"7":1,"8":1},"1":{"9":1,"10":1}}],["20th",{"0":{"7":1}}],["22",{"2":{"58":3,"116":1}}],["22168",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["224758",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["2",{"2":{"1":19,"3":9,"5":1,"6":48,"13":1,"14":1,"15":3,"25":2,"30":2,"32":1,"53":3,"56":1,"58":6,"59":32,"62":2,"63":4,"64":10,"65":6,"66":7,"68":1,"69":2,"73":2,"77":1,"78":1,"79":3,"80":1,"81":1,"84":1,"85":3,"88":2,"91":4,"104":2,"105":2,"107":2,"108":3,"116":11,"135":2,"143":23,"146":2,"150":2,"153":4,"154":1,"158":2,"166":1,"177":1,"180":5,"182":7,"183":7,"184":5,"185":18,"189":11,"191":7,"192":6,"193":10,"194":1,"196":1}}],["1st",{"2":{"73":6}}],["198232937815632",{"2":{"193":1}}],["19823293781563178",{"2":{"193":2}}],["1999466709331708",{"2":{"191":1}}],["1998",{"2":{"70":1,"72":1,"81":1}}],["19",{"2":{"58":2,"116":2}}],["11591614996189725",{"2":{"191":1}}],["11966707868197",{"2":{"191":1}}],["119667078681967",{"2":{"191":3}}],["110m",{"2":{"192":2}}],["110",{"2":{"78":1,"192":1}}],["11",{"2":{"15":2,"58":2,"116":1}}],["1145",{"2":{"70":1,"72":1,"81":1}}],["114",{"2":{"7":1}}],["16589608273778408",{"2":{"191":1}}],["165644",{"2":{"146":2}}],["16692537029320365",{"2":{"191":4}}],["166644",{"2":{"146":2}}],["163434",{"2":{"146":2}}],["169356",{"2":{"146":2}}],["164434",{"2":{"146":2}}],["16111",{"2":{"15":1}}],["16",{"2":{"13":1,"14":1,"58":2,"116":2}}],["180",{"2":{"53":1,"146":1,"158":2}}],["18593721105",{"2":{"15":1}}],["18",{"2":{"13":1,"14":1,"58":3,"116":2}}],["13309630561615",{"2":{"193":3}}],["13401805979",{"2":{"15":2}}],["13",{"2":{"6":3,"58":1,"70":1,"81":2,"116":1}}],["10n",{"2":{"192":1}}],["10832215707812454",{"2":{"191":4}}],["10^9",{"2":{"13":1}}],["1000000",{"2":{"192":1}}],["1000",{"2":{"13":2,"175":2,"192":1,"198":2}}],["100",{"2":{"6":2,"14":3,"77":1,"79":1,"143":2,"196":1}}],["10",{"2":{"6":12,"11":1,"55":1,"58":5,"68":4,"69":10,"70":2,"72":1,"81":2,"90":2,"116":3,"121":2,"176":1,"180":4,"191":1}}],["14182952335953",{"2":{"193":1}}],["14182952335952814",{"2":{"193":2}}],["14404531208901e",{"2":{"193":2}}],["1499775010124783",{"2":{"191":1}}],["1464721641710074",{"2":{"191":4}}],["14",{"2":{"3":1,"6":5,"58":2,"72":2,"73":2,"116":1,"118":1,"119":1,"175":2,"176":2}}],["15488729606723",{"2":{"193":3}}],["15",{"2":{"3":1,"6":4,"58":1,"68":1,"69":1,"72":1,"73":1,"116":1,"118":1,"119":1}}],["17893116483784577",{"2":{"193":2}}],["17289902010158",{"2":{"191":1}}],["172899020101585",{"2":{"191":3}}],["170356",{"2":{"146":2}}],["17",{"2":{"3":1,"6":3,"58":3,"72":1,"73":1,"116":2,"118":1,"119":1}}],["125",{"2":{"6":2,"72":1,"73":1}}],["127",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1,"192":1}}],["123",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["12636633117296836",{"2":{"193":2}}],["126",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["12",{"2":{"3":1,"6":3,"58":2,"72":1,"73":1,"116":1,"118":1,"119":1,"199":1}}],["124",{"2":{"3":1,"6":3,"72":1,"73":1,"118":1,"119":1}}],["1",{"2":{"1":8,"3":38,"6":59,"13":1,"14":4,"15":1,"52":4,"53":15,"55":7,"57":2,"58":11,"59":16,"62":4,"63":7,"64":72,"65":9,"66":15,"68":1,"69":10,"71":3,"73":9,"79":6,"81":4,"82":11,"84":7,"85":6,"87":2,"88":6,"91":16,"93":2,"94":2,"103":2,"104":8,"105":12,"107":2,"108":5,"116":38,"122":6,"124":4,"125":5,"127":1,"134":2,"135":6,"143":27,"146":16,"150":2,"153":6,"154":3,"156":1,"162":12,"163":2,"166":9,"176":1,"177":4,"180":8,"182":15,"183":3,"184":15,"185":6,"189":9,"191":8,"192":44,"193":12,"194":1,"198":8,"199":3}}],["nselected",{"2":{"184":3}}],["nmax",{"2":{"184":2}}],["nice",{"2":{"182":1}}],["n+1",{"2":{"162":1}}],["nfeature",{"2":{"153":1,"154":1}}],["nkeys",{"2":{"143":8}}],["nc",{"2":{"116":13}}],["ncoord",{"2":{"91":2}}],["nl",{"2":{"116":11}}],["nhole",{"2":{"64":2,"70":2,"72":2,"81":2,"82":1,"91":2}}],["nbpts",{"2":{"64":2}}],["ngeom",{"2":{"63":1,"153":2,"154":1,"189":1}}],["nt",{"2":{"188":2}}],["ntasks",{"2":{"153":3,"154":3}}],["nthreads",{"2":{"153":2,"154":2}}],["nthe",{"2":{"60":1,"173":1,"176":1}}],["ntuple",{"2":{"59":3,"177":1}}],["n2",{"2":{"59":8,"91":10}}],["n1",{"2":{"59":8,"91":9}}],["np2",{"2":{"105":4}}],["npolygon",{"2":{"71":1,"91":3,"166":2}}],["npoints",{"2":{"53":6,"64":5,"116":3,"176":6,"182":7}}],["npoint",{"2":{"6":1,"53":2,"55":1,"56":1,"66":2,"79":2,"85":1,"91":6,"105":6,"116":6,"127":1,"146":2,"163":1,"176":3,"177":1,"180":14,"184":1,"189":13}}],["npts",{"2":{"64":6,"182":3}}],["np",{"2":{"56":2,"85":5}}],["null",{"2":{"32":1,"176":1}}],["numeric",{"2":{"11":1}}],["numbers",{"2":{"6":1,"7":1,"57":2,"59":1,"176":1}}],["number=6",{"2":{"6":1,"179":1,"180":1}}],["number",{"2":{"6":11,"59":1,"64":2,"69":1,"75":1,"79":1,"84":1,"91":2,"116":2,"174":1,"175":1,"177":1,"180":2,"181":4,"182":7,"183":4,"184":12}}],["n",{"2":{"6":1,"9":1,"57":2,"59":36,"60":2,"64":51,"69":10,"81":4,"82":4,"116":11,"127":2,"143":5,"146":6,"162":1,"166":25,"173":2,"176":2,"177":3,"180":2,"184":7,"189":32}}],["naive",{"2":{"74":1}}],["napts",{"2":{"64":3}}],["navigate",{"0":{"31":1}}],["natearth2",{"2":{"192":1}}],["natural",{"2":{"180":1,"192":2,"197":1}}],["naturalearth",{"2":{"11":2,"78":2,"180":3,"192":1}}],["nature",{"2":{"143":1}}],["native",{"2":{"6":1,"147":1,"188":4,"195":1}}],["nan",{"2":{"9":1}}],["named",{"2":{"153":1}}],["namedtuple",{"2":{"22":2,"153":2,"188":2}}],["name",{"2":{"6":1,"29":2,"180":1,"188":1,"194":1,"195":2,"199":1}}],["namespaced",{"2":{"153":1}}],["names",{"2":{"6":1,"29":3,"153":3,"154":3,"188":1}}],["nodestatus",{"2":{"143":6}}],["nodes",{"2":{"64":1,"143":4}}],["node",{"2":{"64":26,"143":17}}],["north",{"2":{"66":12,"158":1}}],["nor",{"2":{"60":1,"173":1,"176":1}}],["normalized",{"2":{"59":1}}],["normalize",{"2":{"59":1}}],["norm",{"2":{"6":1,"59":22}}],["now",{"2":{"6":1,"13":1,"25":1,"30":1,"55":1,"58":2,"59":4,"60":1,"64":1,"69":1,"75":1,"82":1,"85":1,"143":2,"146":1,"165":1,"174":1,"175":3,"176":1,"180":1,"191":5,"192":6,"193":2,"194":1,"195":3,"198":2}}],["no",{"2":{"6":6,"53":1,"59":2,"64":4,"70":1,"71":1,"72":1,"73":14,"81":1,"91":2,"94":3,"108":3,"116":2,"125":2,"127":1,"129":1,"130":2,"135":2,"137":1,"138":3,"139":3,"140":1,"143":2,"147":1,"148":1,"153":3,"174":1,"176":2,"177":1,"180":1,"188":1,"195":1}}],["nonzero",{"2":{"177":2}}],["none",{"2":{"6":4,"64":1,"69":1,"70":1,"72":1,"81":1,"82":1,"105":4,"107":1}}],["nondimensional",{"2":{"6":1,"176":1}}],["nonintersecting",{"2":{"6":1,"23":1,"166":1,"170":1}}],["non",{"2":{"3":2,"6":2,"22":1,"57":2,"64":15,"70":2,"71":1,"72":1,"73":4,"81":1,"82":2,"84":1,"122":2,"129":1,"151":1,"160":1}}],["note",{"2":{"4":4,"6":11,"19":1,"27":1,"53":1,"56":2,"59":1,"62":2,"63":2,"64":3,"66":1,"69":2,"71":3,"73":5,"80":1,"82":3,"85":1,"91":5,"116":1,"121":1,"122":1,"158":1,"160":1,"172":1,"177":1,"181":1,"182":2,"183":1,"192":2,"193":1}}],["not",{"0":{"147":1},"2":{"1":2,"3":8,"4":1,"6":16,"18":1,"19":1,"22":1,"24":1,"29":1,"53":4,"56":1,"59":4,"60":1,"62":1,"64":18,"69":1,"72":1,"73":7,"79":1,"82":3,"87":2,"88":1,"90":2,"91":4,"93":2,"94":2,"103":1,"104":2,"108":3,"110":5,"111":3,"112":2,"113":2,"116":5,"121":1,"122":2,"125":1,"134":2,"135":2,"137":1,"143":2,"146":4,"147":1,"150":1,"151":1,"152":1,"153":7,"154":4,"156":3,"158":2,"159":1,"160":1,"162":2,"165":3,"167":1,"169":2,"172":1,"173":1,"174":1,"176":2,"177":1,"187":1,"188":2,"192":1,"193":1,"197":1}}],["nothing`",{"2":{"71":2,"73":2,"82":2}}],["nothing",{"2":{"1":34,"4":1,"6":41,"15":3,"64":4,"69":1,"71":2,"72":1,"73":2,"82":2,"91":1,"116":1,"143":3,"146":9,"150":1,"153":3,"154":2,"156":3,"162":24,"165":60,"169":1,"173":1,"177":1,"180":2,"181":6,"182":6,"183":6,"184":1,"185":32,"189":7,"191":252,"192":16,"193":20}}],["ne",{"2":{"192":2}}],["net",{"2":{"169":2}}],["ness",{"2":{"156":1}}],["nesting",{"2":{"151":2}}],["nestedloopfast",{"2":{"200":1}}],["nested",{"2":{"1":2,"4":1,"6":3,"18":1,"53":1,"150":2,"151":2,"153":2,"154":2,"180":1,"186":1}}],["never",{"2":{"151":1,"181":1}}],["neumann",{"2":{"143":1}}],["neither",{"2":{"82":1}}],["neighborhood",{"2":{"143":2}}],["neighbor",{"2":{"64":27}}],["neighboring",{"2":{"6":6,"64":1,"180":1,"181":1,"182":1,"183":2}}],["nearly",{"2":{"195":1}}],["nearest",{"2":{"64":1,"73":2}}],["neatly",{"2":{"17":1}}],["nedge",{"2":{"64":2,"189":13}}],["nextnode",{"2":{"143":27}}],["nextnodes",{"2":{"143":6}}],["next",{"2":{"63":1,"64":81,"66":3,"69":4,"116":14,"143":3,"166":13,"182":5}}],["necessarily",{"2":{"6":1,"146":1,"167":1}}],["necessary",{"2":{"6":1,"151":1,"180":1}}],["newfeature",{"2":{"156":2}}],["newnodes",{"2":{"143":2}}],["new",{"2":{"6":1,"60":1,"64":58,"66":9,"70":3,"71":1,"82":16,"116":2,"143":4,"152":1,"153":21,"154":1,"164":1,"166":19,"169":2,"170":1,"177":10,"181":1,"182":2,"183":1,"193":1,"194":1,"199":1}}],["negative",{"2":{"4":3,"6":3,"55":2,"56":1,"57":2,"84":2,"85":3}}],["needs",{"2":{"63":1}}],["needing",{"2":{"4":1,"6":1,"17":1,"171":1}}],["need",{"2":{"1":1,"3":1,"4":2,"5":1,"6":5,"32":1,"59":2,"62":1,"64":2,"71":1,"79":1,"91":4,"103":1,"104":1,"116":1,"143":2,"148":1,"153":3,"154":1,"171":1,"184":1,"185":1,"192":1,"193":2,"200":2}}],["needed",{"2":{"1":2,"6":4,"53":1,"59":1,"64":4,"66":1,"70":1,"72":1,"81":1,"85":2,"116":5,"143":1,"153":1,"154":1,"169":1,"172":3,"193":1}}],["bx",{"2":{"146":2}}],["b2y",{"2":{"73":4}}],["b2x",{"2":{"73":4}}],["b2",{"2":{"73":47,"85":3,"122":6}}],["b``",{"2":{"71":1}}],["b`",{"2":{"71":3,"73":4,"82":4}}],["bigger",{"2":{"64":1}}],["bit",{"2":{"25":1,"30":1,"184":8,"191":2}}],["b1y",{"2":{"73":7}}],["b1x",{"2":{"73":7}}],["b1",{"2":{"64":8,"73":63,"122":6}}],["breaks",{"2":{"166":1}}],["break",{"2":{"64":3,"66":1,"71":2,"91":4,"116":11,"122":1,"143":6,"166":2}}],["brevity",{"2":{"59":1}}],["broadcasting",{"2":{"6":1,"59":1}}],["broken",{"2":{"3":1,"6":1,"105":1}}],["building",{"2":{"191":1}}],["build",{"2":{"64":13,"69":1,"70":1,"72":1,"81":1,"175":2,"183":1,"184":1}}],["built",{"2":{"17":1,"20":1}}],["buffers",{"2":{"143":1}}],["buffered",{"2":{"60":2}}],["buffering",{"2":{"59":1,"60":1}}],["buffer",{"0":{"60":1},"2":{"29":2,"60":5,"63":2,"64":1,"147":1}}],["but",{"2":{"1":2,"3":5,"4":3,"6":12,"18":1,"22":1,"25":1,"30":1,"32":1,"53":1,"55":1,"56":1,"66":1,"73":2,"79":2,"80":2,"82":2,"91":4,"93":2,"116":1,"121":1,"122":5,"124":1,"125":1,"128":2,"129":1,"134":1,"143":1,"146":1,"147":1,"150":2,"151":1,"153":10,"154":3,"156":5,"158":5,"159":1,"167":1,"172":1,"177":2,"180":1,"188":2,"192":2,"193":2,"195":1,"197":1,"198":1,"199":2}}],["black",{"2":{"68":1,"192":1}}],["blue",{"2":{"14":1,"68":1,"87":2,"90":2,"107":2,"121":2,"134":2,"198":2}}],["bloat",{"2":{"193":1}}],["block",{"2":{"6":2,"191":1}}],["blob",{"2":{"6":2,"180":1}}],["balancing",{"2":{"153":1,"154":1}}],["barrier",{"2":{"153":1}}],["barycentric",{"0":{"5":1,"57":1,"59":1},"1":{"58":1,"59":1},"2":{"0":6,"5":10,"6":17,"9":1,"29":1,"57":9,"58":4,"59":52}}],["basic",{"2":{"143":1}}],["base",{"2":{"29":4,"32":1,"59":15,"60":1,"64":2,"143":6,"153":3,"154":3,"158":2,"159":1,"173":1,"176":2,"188":3}}],["based",{"2":{"4":2,"6":2,"19":1,"53":2,"56":2,"58":2,"63":1,"66":1,"85":2,"91":1,"94":1,"108":1,"116":2,"122":1,"125":1,"135":1,"159":1,"195":1,"197":1,"198":1}}],["badge",{"2":{"6":2}}],["backs",{"2":{"69":4}}],["backwards",{"2":{"64":1,"71":1,"73":1,"82":1}}],["backing",{"2":{"64":1}}],["backend",{"2":{"60":2,"188":1}}],["back",{"2":{"6":1,"18":1,"22":1,"23":1,"69":4,"188":1}}],["b",{"2":{"3":2,"4":7,"6":13,"35":2,"36":2,"37":2,"38":2,"40":2,"41":2,"42":2,"43":2,"44":2,"45":2,"46":2,"47":2,"48":2,"49":2,"64":206,"66":9,"70":26,"71":18,"72":26,"73":77,"74":3,"81":27,"82":39,"91":29,"116":2,"122":22,"194":1}}],["box",{"2":{"65":2,"66":3,"198":1}}],["bounce",{"2":{"64":8,"70":1,"71":1,"72":1,"73":1,"81":1,"82":1}}],["bouncings",{"2":{"64":1}}],["bouncing",{"2":{"64":13,"71":3,"73":4,"82":4}}],["bound",{"2":{"74":1}}],["bounding",{"2":{"64":1,"65":2,"66":3}}],["boundscheck",{"2":{"59":14}}],["bounds",{"2":{"6":1,"143":4}}],["boundaries",{"2":{"3":2,"6":2,"103":2,"107":1,"108":1,"116":2,"118":1,"119":1,"143":1}}],["boundary",{"2":{"3":7,"6":7,"84":1,"87":1,"88":1,"93":1,"94":3,"97":4,"104":2,"105":9,"108":2,"110":1,"111":6,"112":3,"116":18,"124":2,"125":4,"127":3,"128":5,"129":3,"130":3,"134":1,"135":3}}],["bold",{"2":{"60":1,"173":1,"176":1}}],["both",{"2":{"3":5,"6":6,"64":2,"73":4,"79":2,"81":1,"82":1,"84":1,"88":1,"91":3,"105":4,"108":1,"116":2,"122":1,"129":1,"135":1,"175":1,"177":1}}],["booltype",{"2":{"29":1,"153":2,"154":1,"158":1,"160":5,"177":1}}],["booleans",{"2":{"64":1,"116":2}}],["boolean",{"0":{"39":1},"1":{"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1},"2":{"24":2,"64":1,"71":1,"73":1,"82":1,"156":1,"160":2,"197":1}}],["boolsastypes",{"0":{"24":1,"160":1},"2":{"29":1,"32":1,"158":1,"160":10,"177":3}}],["bools",{"2":{"10":1}}],["bool",{"2":{"3":17,"4":14,"6":40,"32":1,"64":3,"88":1,"91":17,"94":1,"104":2,"105":13,"108":1,"116":2,"119":1,"122":10,"125":2,"135":1,"143":6,"146":7,"160":2,"177":3,"189":5}}],["bypred",{"2":{"200":1}}],["by",{"0":{"98":1,"99":1,"139":1},"2":{"1":3,"3":2,"4":8,"6":29,"7":1,"17":1,"18":2,"19":1,"22":1,"24":1,"25":1,"30":1,"31":1,"52":1,"53":6,"55":1,"56":1,"59":4,"60":1,"62":5,"63":4,"64":14,"65":1,"66":6,"68":1,"69":6,"70":1,"72":1,"73":5,"80":2,"81":4,"82":3,"85":5,"88":1,"91":8,"93":1,"94":1,"98":2,"99":2,"100":1,"101":2,"103":1,"115":2,"116":10,"143":4,"146":2,"153":2,"156":7,"158":7,"164":1,"166":3,"167":1,"170":2,"172":2,"173":1,"174":1,"176":3,"177":1,"178":1,"180":1,"181":1,"182":3,"183":1,"185":1,"191":1,"192":1,"193":1,"195":1,"197":5,"198":1,"199":2,"200":1}}],["berlin",{"2":{"199":1}}],["bearing",{"2":{"146":4}}],["beauty",{"2":{"9":1}}],["better",{"2":{"105":1,"153":1,"154":1,"180":1}}],["between",{"2":{"4":4,"6":18,"23":1,"53":2,"59":13,"64":1,"66":18,"70":1,"71":4,"72":1,"73":11,"81":2,"82":4,"85":8,"91":1,"116":4,"122":4,"143":1,"158":2,"176":3,"177":1,"181":2,"182":2,"183":1,"192":1,"197":2,"198":1}}],["been",{"2":{"71":1,"143":1,"148":2,"154":1,"160":1}}],["because",{"2":{"64":1,"80":1,"148":1,"154":1,"187":1}}],["becomes",{"2":{"158":1}}],["become",{"2":{"22":1}}],["being",{"2":{"53":1,"73":1,"116":1,"122":1,"164":1}}],["behind",{"2":{"25":1,"30":1,"31":1,"58":1,"148":1,"154":1}}],["behaviours",{"2":{"32":1}}],["behaviour",{"2":{"6":1,"18":1,"23":1,"180":1}}],["best",{"2":{"19":1,"153":2,"180":1}}],["benchmarking",{"2":{"176":1,"180":1}}],["benchmarkgroup",{"2":{"176":2,"180":3}}],["benchmark",{"0":{"176":1,"180":1},"2":{"176":1,"180":1}}],["benchmarktools",{"2":{"13":1,"176":1,"180":1}}],["benchmarks",{"2":{"9":2}}],["beginning",{"2":{"66":1,"191":1}}],["begin+1",{"2":{"59":5}}],["begin",{"2":{"9":1,"59":7,"153":1,"154":1,"181":1,"195":1}}],["beware",{"2":{"6":1,"18":1,"177":1}}],["before",{"2":{"6":4,"33":1,"59":1,"70":1,"72":1,"73":1,"81":1,"180":1,"192":1}}],["below",{"2":{"6":2,"17":1,"60":1,"169":1,"182":1,"183":1,"184":1,"195":1}}],["be",{"2":{"1":7,"3":3,"4":11,"5":4,"6":59,"7":1,"9":1,"13":2,"20":3,"23":2,"24":1,"25":3,"30":3,"31":1,"32":1,"53":8,"56":7,"57":2,"58":1,"59":10,"60":2,"62":1,"63":3,"64":14,"65":1,"66":2,"69":1,"70":7,"71":4,"72":7,"73":12,"80":6,"81":6,"82":5,"84":2,"85":4,"91":15,"94":6,"103":2,"104":1,"108":6,"116":21,"122":2,"125":6,"135":6,"137":1,"138":1,"139":1,"140":1,"143":1,"146":2,"150":4,"151":2,"152":2,"153":9,"154":1,"155":1,"156":6,"158":4,"160":1,"162":1,"163":1,"164":2,"166":2,"168":1,"169":3,"170":4,"171":1,"172":3,"173":1,"174":1,"176":8,"177":3,"180":10,"182":1,"184":3,"185":1,"188":2,"191":2,"193":1,"197":4}}],["human",{"2":{"195":1}}],["hull`",{"2":{"80":2}}],["hulls",{"2":{"6":1,"75":1,"80":1}}],["hull",{"0":{"50":1,"75":1,"77":1,"78":1},"1":{"76":1,"77":1,"78":1,"79":1,"80":1},"2":{"0":1,"6":8,"29":2,"50":1,"75":2,"77":4,"78":1,"79":10,"80":15}}],["hypot",{"2":{"177":1}}],["h2",{"2":{"116":6}}],["h1",{"2":{"116":11}}],["hm",{"2":{"58":2}}],["h",{"2":{"53":2,"64":2,"82":8}}],["href=",{"2":{"6":2}}],["https",{"2":{"6":2,"70":1,"72":1,"73":1,"80":1,"81":1,"116":2,"158":1,"182":1}}],["high",{"2":{"195":1}}],["highest",{"2":{"193":1}}],["higher",{"2":{"6":1,"80":1}}],["hit",{"2":{"64":1,"153":1,"154":1,"156":3}}],["hits",{"2":{"18":1}}],["hidedecorations",{"2":{"58":2}}],["hinter",{"2":{"29":3,"60":1,"173":1,"176":1}}],["hint",{"2":{"29":3,"60":1,"176":1}}],["hinge=2",{"2":{"72":1}}],["hinge`",{"2":{"72":1}}],["hinge",{"2":{"6":1,"64":1,"73":13,"116":15}}],["hist",{"2":{"13":1}}],["histogram",{"2":{"13":1}}],["hcat",{"2":{"6":1}}],["heavily",{"2":{"153":1}}],["heatmap",{"2":{"13":5,"14":6,"58":2,"84":2,"143":1}}],["help",{"2":{"158":1,"160":1}}],["helpers",{"0":{"64":1},"2":{"105":1,"122":1}}],["helper",{"0":{"71":1,"73":1,"82":1},"2":{"63":1,"64":1,"69":1}}],["helps",{"2":{"28":1}}],["held",{"2":{"1":1,"150":1,"153":1}}],["here",{"2":{"6":2,"9":1,"13":1,"14":1,"20":1,"59":1,"73":1,"80":2,"105":1,"143":2,"153":2,"156":4,"158":1,"162":1,"176":1,"192":2,"197":5,"198":3}}],["hours",{"2":{"199":1}}],["hood",{"2":{"195":1}}],["hook",{"2":{"6":1,"180":1}}],["home",{"2":{"192":1}}],["horizontal",{"2":{"66":1,"73":1,"143":1,"180":1}}],["hormann",{"0":{"71":1,"73":1,"82":1},"2":{"6":2,"59":2,"64":3,"69":2,"70":1,"72":1,"81":1}}],["how",{"0":{"31":1},"2":{"6":1,"31":2,"55":1,"59":1,"64":1,"73":1,"91":1,"143":2,"156":2,"167":1,"180":1,"192":1,"195":1,"197":2,"198":2,"199":1,"200":1}}],["however",{"2":{"3":1,"6":2,"53":1,"59":1,"63":1,"64":1,"73":1,"79":1,"84":1,"87":1,"91":1,"104":1,"164":1}}],["hole",{"2":{"53":1,"56":3,"58":2,"59":9,"63":4,"64":60,"66":3,"70":6,"72":2,"82":15,"85":3,"97":1,"98":1,"99":1,"116":33,"143":5,"163":2,"191":1}}],["holes=",{"2":{"64":1}}],["holes",{"2":{"4":3,"5":1,"6":4,"9":2,"53":2,"55":1,"59":2,"63":1,"64":19,"69":4,"70":2,"72":2,"81":6,"82":29,"85":3,"91":3,"113":1,"116":11,"137":1,"143":17,"163":2,"191":4}}],["holds",{"2":{"64":1,"159":2,"178":1}}],["holding",{"2":{"6":1,"143":1,"153":2}}],["hold",{"2":{"6":1,"143":1,"160":1,"180":1,"195":1}}],["halign",{"2":{"180":1}}],["half",{"2":{"65":2}}],["hail",{"2":{"163":1}}],["handling",{"0":{"173":1},"2":{"148":1}}],["handler",{"2":{"60":1,"173":1}}],["handle",{"2":{"29":1,"146":1,"151":2,"153":1,"192":1}}],["handled",{"2":{"18":1}}],["hao",{"2":{"116":1}}],["had",{"2":{"70":1,"72":1,"91":1,"160":1,"175":1}}],["happens",{"2":{"64":1}}],["happen",{"2":{"24":1,"153":1}}],["have",{"2":{"3":3,"4":9,"6":15,"19":1,"23":1,"33":1,"53":2,"56":3,"59":6,"60":1,"64":4,"73":1,"80":2,"84":1,"85":2,"91":10,"116":5,"121":1,"122":3,"124":1,"125":1,"143":1,"147":1,"148":2,"152":1,"153":1,"154":2,"156":4,"158":2,"160":1,"180":1,"182":1,"188":1,"191":1,"192":1,"197":1,"198":1,"199":3}}],["haskey",{"2":{"153":1,"188":1}}],["hash",{"2":{"143":1}}],["hasn",{"2":{"143":1}}],["hassle",{"2":{"1":1,"6":1,"185":1}}],["has",{"2":{"1":4,"52":1,"55":2,"59":2,"64":2,"71":2,"73":1,"82":1,"84":1,"85":1,"91":11,"127":1,"146":1,"150":4,"153":6,"161":1,"175":2,"184":1,"192":1}}],["xticklabelsvisible",{"2":{"192":1}}],["xticklabelrotation",{"2":{"13":2}}],["xoffset",{"2":{"191":4,"193":1}}],["x=x",{"2":{"189":1}}],["x`",{"2":{"153":1}}],["xvec",{"2":{"143":4}}],["xbounds",{"2":{"143":4}}],["xhalf",{"2":{"143":2}}],["xlast",{"2":{"85":3}}],["xfirst",{"2":{"85":5}}],["x0",{"2":{"85":5}}],["xn",{"2":{"66":4}}],["xind+1",{"2":{"143":1}}],["xind",{"2":{"143":2}}],["xinterior",{"2":{"63":2}}],["xi−xi−1",{"2":{"6":1}}],["xcentroid",{"2":{"63":13}}],["xrange",{"2":{"58":3,"84":2}}],["xautolimits",{"2":{"58":2}}],["xp2",{"2":{"53":5}}],["x26",{"2":{"53":2,"56":6,"59":1,"60":4,"64":58,"66":36,"70":4,"71":4,"73":24,"82":2,"85":3,"91":14,"100":2,"101":2,"105":48,"114":2,"115":2,"116":170,"122":22,"127":2,"131":2,"132":2,"141":2,"142":2,"143":12,"146":4,"153":2,"166":6,"169":2,"173":2,"176":2,"182":10,"183":2,"189":4,"197":4}}],["x2",{"2":{"6":3,"59":4,"63":2,"66":18,"85":8,"105":10,"116":5,"122":4,"143":5,"177":6,"189":2}}],["x1",{"2":{"6":4,"59":3,"63":2,"66":22,"85":8,"105":11,"116":6,"122":5,"143":5,"177":7,"189":2}}],["xs",{"2":{"6":3,"66":4,"143":30,"189":4}}],["xmax",{"2":{"6":1,"65":2,"66":48}}],["xmin",{"2":{"6":1,"65":2,"66":49}}],["x3c",{"2":{"5":1,"6":28,"29":1,"53":4,"56":2,"59":66,"64":17,"66":11,"69":3,"70":1,"72":1,"73":6,"81":1,"84":1,"85":13,"91":2,"105":33,"116":13,"122":10,"143":4,"146":1,"153":3,"154":2,"156":19,"158":3,"159":4,"160":4,"163":2,"166":5,"170":3,"176":2,"181":2,"182":6,"183":3,"184":9,"200":1}}],["xy`",{"2":{"172":1}}],["xy",{"2":{"1":4,"59":1,"172":3}}],["x",{"2":{"1":4,"4":1,"6":3,"7":1,"9":5,"11":6,"13":11,"14":10,"15":4,"50":2,"53":9,"56":2,"58":8,"62":1,"63":10,"64":21,"65":1,"66":8,"69":6,"71":9,"73":18,"82":9,"84":2,"85":7,"91":3,"105":21,"116":16,"122":7,"143":2,"146":11,"148":2,"150":3,"153":5,"154":4,"156":10,"160":5,"167":4,"169":2,"171":2,"172":1,"177":2,"180":2,"182":2,"184":1,"185":2,"186":2,"189":33,"191":6,"192":2,"193":2,"197":1,"199":2}}],["=>",{"2":{"153":2}}],["=float64",{"2":{"63":3,"72":1,"81":1}}],["=false",{"2":{"53":1}}],["===",{"2":{"105":8,"146":4}}],["==",{"2":{"9":1,"19":1,"32":1,"53":4,"56":2,"59":9,"60":2,"63":1,"64":34,"66":30,"71":1,"73":20,"78":1,"81":2,"82":1,"84":1,"91":16,"116":44,"122":2,"143":18,"146":3,"153":2,"163":1,"166":1,"169":1,"173":1,"176":2,"180":1,"184":3}}],["=",{"2":{"1":5,"3":17,"4":7,"5":2,"6":59,"11":1,"13":19,"14":33,"15":18,"29":4,"32":7,"35":2,"36":2,"37":2,"38":2,"50":3,"52":4,"53":56,"55":6,"56":25,"58":35,"59":110,"60":3,"62":6,"63":36,"64":324,"65":6,"66":96,"68":7,"69":29,"70":21,"71":30,"72":18,"73":143,"77":6,"78":4,"79":14,"80":4,"81":21,"82":78,"84":15,"85":52,"87":7,"88":3,"90":7,"91":40,"93":4,"94":23,"95":3,"96":7,"97":14,"98":14,"99":4,"100":2,"101":2,"103":5,"104":3,"105":57,"107":7,"108":18,"109":3,"110":11,"111":17,"112":9,"113":3,"114":2,"115":2,"116":189,"118":3,"119":3,"121":7,"122":40,"124":3,"125":22,"126":3,"127":9,"128":14,"129":10,"130":6,"131":2,"132":2,"134":7,"135":22,"136":3,"137":11,"138":14,"139":14,"140":4,"141":2,"142":2,"143":110,"146":32,"148":1,"150":3,"153":40,"154":20,"155":4,"156":39,"158":3,"159":6,"160":2,"162":2,"163":4,"165":3,"166":30,"169":9,"171":1,"173":2,"175":16,"176":21,"177":25,"178":2,"179":5,"180":60,"181":11,"182":49,"183":7,"184":43,"185":2,"186":1,"188":3,"189":42,"191":45,"192":19,"193":13,"194":3,"195":4,"196":7,"198":12,"199":6,"200":2}}],["utm",{"2":{"192":1}}],["utility",{"0":{"189":1},"2":{"59":1,"153":1,"154":1}}],["utils",{"0":{"184":1},"2":{"29":1}}],["u2",{"2":{"116":4}}],["u1",{"2":{"116":4}}],["update",{"2":{"64":6,"143":10}}],["updated",{"2":{"64":6,"156":3}}],["updates",{"2":{"59":1}}],["up",{"2":{"64":2,"73":1,"116":1,"129":1,"151":1,"165":1,"182":2,"191":2}}],["upper",{"2":{"6":1,"143":1,"198":1}}],["uv",{"2":{"59":1}}],["usage",{"2":{"199":1}}],["usable",{"2":{"157":1}}],["usa",{"0":{"78":1},"2":{"78":4,"180":15,"199":3}}],["us",{"2":{"56":1,"80":1,"192":1,"199":1}}],["usually",{"2":{"31":2,"75":1,"153":1,"156":2,"158":1,"195":1}}],["usual",{"2":{"6":1,"163":1,"170":1}}],["usecases",{"2":{"25":1,"30":1}}],["uses",{"2":{"6":3,"75":1,"80":1,"116":1,"157":1,"158":1,"172":1,"176":1,"177":1,"180":1,"195":1}}],["users",{"2":{"29":1,"148":1,"164":1}}],["user",{"2":{"6":12,"23":1,"63":1,"70":3,"72":3,"81":3,"153":1,"181":1,"182":1,"183":1,"197":1}}],["useful",{"2":{"6":10,"59":1,"143":1,"174":1,"177":1,"180":2,"188":1}}],["used",{"2":{"1":1,"5":1,"6":4,"53":1,"56":1,"57":1,"59":1,"63":2,"64":7,"66":1,"69":1,"73":1,"84":1,"85":1,"91":1,"122":1,"143":2,"150":1,"153":1,"154":1,"156":2,"158":1,"159":1,"161":1,"180":1,"182":2,"187":2,"192":1,"195":1,"197":2,"198":1}}],["use",{"2":{"1":2,"4":1,"5":1,"6":9,"11":1,"20":1,"23":1,"31":1,"59":1,"64":1,"80":2,"82":1,"105":2,"122":1,"143":1,"147":1,"150":1,"153":4,"154":3,"155":1,"158":2,"163":1,"167":1,"175":1,"177":2,"180":1,"182":2,"188":3,"191":1,"195":1,"197":2,"200":2}}],["using",{"0":{"192":1},"2":{"1":4,"4":1,"5":3,"6":11,"11":4,"13":4,"14":1,"15":1,"29":6,"32":1,"50":1,"52":1,"53":1,"55":2,"56":2,"58":4,"59":7,"60":3,"62":2,"63":1,"64":5,"65":2,"66":1,"68":2,"69":1,"71":3,"73":4,"74":1,"77":1,"78":2,"79":1,"80":2,"82":3,"84":2,"85":2,"87":2,"88":1,"90":2,"91":1,"93":2,"94":1,"101":1,"103":2,"104":1,"105":1,"107":2,"108":1,"115":1,"116":1,"118":2,"119":1,"121":2,"122":1,"124":2,"125":1,"132":1,"134":2,"135":1,"142":1,"143":5,"146":1,"147":1,"148":2,"150":1,"151":1,"153":4,"154":2,"155":1,"156":1,"160":1,"163":1,"166":1,"167":1,"170":1,"171":2,"172":1,"173":3,"175":1,"176":5,"177":1,"180":3,"182":1,"184":1,"185":4,"186":2,"188":2,"189":1,"190":4,"191":1,"193":1,"194":2,"196":1,"197":1,"198":4,"199":2}}],["until",{"2":{"143":3,"151":1,"182":1,"188":1}}],["unprocessed",{"2":{"64":1}}],["unknown",{"2":{"64":4,"66":15}}],["unknown=3",{"2":{"64":1}}],["unmatched",{"2":{"64":9,"66":26}}],["understand",{"2":{"187":1}}],["under",{"2":{"56":2,"195":1}}],["undergrad",{"2":{"9":1}}],["undef",{"2":{"53":2,"64":1,"181":1,"182":1,"184":2,"189":2}}],["unwrap",{"0":{"156":1},"2":{"29":2,"156":19}}],["unless",{"2":{"22":1,"64":1,"71":2,"73":2,"82":2,"153":1}}],["unlike",{"2":{"18":1,"187":1}}],["unstable",{"2":{"13":1,"153":1,"160":1}}],["unneeded",{"2":{"6":3,"64":1,"70":2,"72":2,"81":2}}],["unnecessary",{"2":{"6":3,"143":1,"181":1,"182":1,"183":1}}],["universal",{"2":{"192":1}}],["united",{"2":{"180":1}}],["unit",{"2":{"158":1}}],["units",{"2":{"6":2,"177":2}}],["unify",{"2":{"25":1,"30":1}}],["unique",{"2":{"6":2,"73":3,"166":2,"170":2}}],["unioning",{"2":{"82":1}}],["unionintersectingpolygons",{"2":{"0":1,"6":8,"70":1,"71":2,"72":1,"73":2,"81":1,"82":2,"164":2,"165":1,"166":4,"170":2}}],["unions",{"0":{"82":1},"2":{"18":1,"159":1}}],["union",{"0":{"36":1,"81":1},"2":{"0":1,"1":2,"3":2,"4":4,"6":18,"11":3,"23":2,"29":1,"32":1,"36":2,"53":2,"56":1,"59":1,"63":4,"64":7,"66":1,"72":2,"81":18,"82":30,"85":1,"91":8,"96":2,"97":4,"98":1,"100":2,"101":1,"110":2,"111":6,"114":2,"115":1,"122":4,"127":2,"128":4,"129":1,"131":2,"132":1,"137":2,"138":4,"139":1,"141":2,"142":1,"143":5,"146":1,"148":1,"150":2,"151":3,"153":3,"154":3,"159":4,"164":1,"166":9,"170":1,"177":5,"180":2,"181":3,"182":3,"183":3,"189":1}}],["unchanged",{"2":{"1":1,"6":1,"150":1,"153":1,"180":1}}],["gdal",{"2":{"195":1}}],["gml",{"2":{"195":1}}],["gpkg",{"2":{"195":3}}],["gadm",{"2":{"199":4}}],["ga",{"2":{"192":3,"196":2}}],["gaps",{"2":{"143":1}}],["global",{"2":{"192":1}}],["globally",{"2":{"154":1,"158":1}}],["gft",{"2":{"190":1,"192":2}}],["gc",{"2":{"169":6}}],["g",{"2":{"53":3,"56":3,"60":1,"63":3,"66":3,"85":6,"151":1,"153":2,"156":4,"158":1,"180":2,"189":2,"195":1}}],["gb",{"2":{"29":1}}],["guarantee",{"2":{"19":1,"28":1}}],["guaranteed",{"2":{"1":1,"53":1,"150":1,"154":1}}],["grows",{"2":{"158":1}}],["grouped",{"2":{"191":1}}],["groups",{"2":{"6":1,"143":1}}],["grouping",{"2":{"1":1,"150":1,"154":3}}],["grand",{"2":{"199":1}}],["grained",{"2":{"175":1}}],["grahamscanmethod",{"2":{"80":1}}],["graphics",{"2":{"6":1,"59":1}}],["great",{"2":{"191":1,"193":1,"195":1}}],["greater",{"2":{"146":1}}],["greiner",{"0":{"71":1,"73":1,"82":1},"2":{"64":3,"69":2,"70":1,"72":1,"81":1}}],["green",{"2":{"14":1,"192":1}}],["grid",{"2":{"6":1,"58":1,"66":4}}],["g2",{"2":{"3":5,"6":5,"88":4,"94":12,"95":6,"96":9,"97":6,"98":6,"99":3,"100":4,"101":2,"104":3,"105":21,"108":10,"109":6,"110":10,"111":8,"112":4,"113":2,"114":4,"115":2,"125":10,"126":6,"127":10,"128":6,"129":5,"130":4,"131":4,"132":2,"135":10,"136":6,"137":9,"138":6,"139":6,"140":3,"141":4,"142":2}}],["g1",{"2":{"3":5,"4":1,"6":6,"88":4,"94":12,"95":6,"96":9,"97":6,"98":6,"99":3,"100":2,"101":4,"104":3,"105":21,"108":9,"109":6,"110":10,"111":8,"112":4,"113":2,"114":2,"115":4,"125":10,"126":6,"127":9,"128":6,"129":5,"130":4,"131":2,"132":4,"135":10,"136":6,"137":9,"138":6,"139":6,"140":3,"141":2,"142":4}}],["generic",{"2":{"22":1,"177":1}}],["generation",{"2":{"180":2}}],["generated",{"2":{"29":1,"32":1,"50":1,"53":1,"56":1,"59":1,"60":1,"63":1,"64":1,"66":1,"69":1,"71":1,"73":1,"74":1,"80":1,"82":1,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"122":1,"132":1,"142":1,"143":1,"146":1,"147":1,"153":1,"154":1,"155":1,"156":1,"160":1,"163":1,"166":1,"167":1,"170":1,"171":1,"173":1,"177":1,"180":1,"184":1,"185":1,"186":1,"188":1,"189":1,"198":1}}],["generate",{"2":{"7":1,"13":2,"180":1,"198":2}}],["generalization",{"2":{"57":1}}],["generalized",{"2":{"6":1,"57":3,"59":1}}],["generalise",{"2":{"6":4,"180":1}}],["generally",{"2":{"6":2,"158":2,"188":3}}],["general",{"0":{"2":1,"4":1},"1":{"3":1,"4":1},"2":{"18":1,"20":1,"25":1,"30":1,"148":1,"154":1,"173":1}}],["getfeature",{"2":{"153":1,"154":1,"156":3,"189":5}}],["getcolumn",{"2":{"153":2,"154":2,"156":1}}],["getgeom",{"2":{"100":1,"101":1,"114":1,"115":1,"122":2,"131":1,"132":1,"141":1,"142":1,"153":3,"154":2,"156":3,"180":3,"189":6}}],["getring",{"2":{"64":1}}],["getindex",{"2":{"59":2}}],["gethole",{"2":{"53":1,"56":1,"63":1,"64":4,"66":1,"69":1,"70":2,"72":2,"82":6,"85":1,"91":2,"116":5,"163":1,"191":1}}],["getexterior",{"2":{"53":1,"56":1,"59":1,"63":1,"64":3,"66":1,"69":1,"70":2,"72":2,"81":3,"82":6,"85":1,"91":2,"116":5,"143":1,"146":1,"163":1,"191":1}}],["getpolygon",{"2":{"71":3,"73":2,"82":2,"91":3}}],["getpoint",{"2":{"52":1,"53":5,"55":2,"56":1,"59":1,"62":1,"63":6,"64":3,"65":2,"66":3,"68":3,"84":1,"85":6,"87":4,"90":4,"91":13,"93":1,"103":1,"105":7,"107":4,"116":28,"118":2,"121":4,"122":2,"124":2,"127":2,"134":4,"146":5,"163":3,"175":4,"177":2,"184":1,"189":3,"191":2}}],["getproperty",{"2":{"13":2,"14":1}}],["get",{"2":{"6":1,"13":1,"32":1,"55":1,"60":1,"64":9,"70":1,"71":1,"72":1,"73":2,"80":2,"81":2,"143":4,"153":3,"154":1,"173":1,"176":3,"180":1,"181":1,"183":1,"184":2,"188":5,"189":1,"191":2,"199":2}}],["geoparquet",{"2":{"195":4}}],["geopoly1",{"2":{"193":1,"194":1}}],["geopoly2",{"2":{"193":1,"194":1}}],["geoaxis",{"2":{"192":4,"196":1}}],["geographic",{"2":{"158":1,"192":1,"195":1}}],["geographiclib",{"2":{"6":1,"176":1}}],["geointeface",{"2":{"151":1}}],["geointerace",{"2":{"22":1}}],["geointerfacemakie",{"2":{"179":1,"198":1,"199":1}}],["geointerface",{"0":{"28":1},"2":{"1":20,"3":9,"4":2,"6":35,"11":1,"13":1,"14":1,"15":1,"22":3,"25":1,"28":1,"29":7,"30":1,"52":1,"53":1,"55":1,"56":1,"59":23,"62":1,"63":1,"64":1,"65":1,"66":1,"68":1,"69":1,"70":1,"72":1,"73":1,"77":1,"78":1,"79":1,"81":1,"84":1,"85":11,"87":1,"88":2,"90":1,"91":2,"93":1,"94":2,"103":1,"104":2,"105":1,"107":1,"108":3,"118":1,"119":2,"121":1,"122":2,"124":1,"125":2,"134":1,"135":2,"143":1,"146":5,"150":3,"151":3,"153":11,"156":5,"162":9,"165":23,"169":1,"170":1,"171":1,"172":2,"175":1,"176":1,"179":1,"180":2,"185":13,"186":1,"189":1,"190":1,"191":122,"192":5,"193":9,"196":1,"198":1,"199":1}}],["geo",{"2":{"143":1,"176":4,"192":2}}],["geotable",{"2":{"27":1}}],["geojson",{"2":{"11":1,"180":2,"190":1,"192":4,"195":3}}],["geodataframes",{"2":{"195":3}}],["geodesy",{"2":{"158":1}}],["geodesic`",{"2":{"176":2}}],["geodesic",{"0":{"196":1},"2":{"6":7,"29":3,"158":6,"175":6,"176":8,"177":3,"196":1}}],["geodesicsegments",{"2":{"0":1,"6":1,"174":1,"175":3,"176":6,"177":1,"196":1}}],["geod",{"2":{"6":2,"176":3}}],["geoformattypes",{"2":{"1":2,"172":2,"190":1,"192":2,"193":8}}],["geomakie",{"0":{"192":1},"2":{"190":2,"192":5,"196":2}}],["geomtype",{"2":{"153":2,"156":1}}],["geoms",{"2":{"50":3,"80":1,"116":1,"153":12,"156":9}}],["geomfromgeos",{"2":{"32":1,"176":1}}],["geom2",{"2":{"3":8,"4":1,"6":9,"85":6,"91":1,"105":6,"108":1,"119":3,"122":6,"125":1,"135":2}}],["geom1",{"2":{"3":8,"4":1,"6":9,"85":6,"91":1,"105":4,"108":1,"119":3,"122":6,"125":1,"135":2}}],["geometrical",{"2":{"197":1}}],["geometric",{"2":{"25":2,"30":2,"62":1,"158":1}}],["geometries",{"0":{"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"101":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"191":1,"192":1,"193":1},"2":{"1":6,"3":8,"4":14,"6":55,"18":3,"20":1,"22":3,"25":2,"27":4,"30":2,"52":1,"53":3,"56":4,"63":1,"66":2,"69":1,"70":5,"72":5,"73":4,"80":6,"81":5,"84":1,"85":4,"88":1,"90":1,"91":7,"93":1,"94":1,"105":2,"108":2,"116":1,"118":1,"119":1,"121":2,"122":3,"124":2,"125":2,"135":2,"137":1,"148":1,"150":3,"152":2,"153":6,"154":3,"155":1,"156":10,"171":1,"172":2,"174":3,"175":1,"176":4,"177":1,"178":1,"181":1,"182":1,"183":1,"186":1,"189":1,"190":5,"192":1,"193":2,"194":2,"195":1,"197":5,"198":1,"200":1}}],["geometry=",{"2":{"194":1}}],["geometrybasics",{"2":{"29":3,"58":2,"59":10,"80":1,"84":1,"94":1,"125":1,"135":1}}],["geometrycolumns",{"2":{"153":5,"154":2,"156":1}}],["geometrycollections",{"2":{"197":1}}],["geometrycollectiontrait",{"2":{"23":1,"32":1,"100":1,"101":1,"114":1,"115":1,"131":1,"132":1,"141":1,"142":1}}],["geometrycollection",{"2":{"6":1,"23":1,"199":1}}],["geometrycorrections",{"2":{"169":1}}],["geometrycorrection",{"2":{"0":1,"6":11,"163":2,"166":4,"168":2,"169":13,"170":11}}],["geometry",{"0":{"2":1,"72":1,"100":2,"101":2,"114":2,"115":2,"131":2,"132":2,"141":2,"142":2,"168":1,"172":1,"178":1,"190":1,"194":1},"1":{"3":1,"4":1,"169":1,"170":1,"173":1,"179":1,"180":1,"191":1,"192":1,"193":1,"194":1,"195":1},"2":{"1":10,"3":24,"4":12,"6":67,"9":1,"11":2,"18":4,"20":1,"23":3,"27":1,"29":1,"53":7,"56":4,"60":4,"63":3,"65":1,"66":4,"69":4,"78":1,"84":4,"85":6,"87":5,"88":2,"91":8,"93":4,"94":5,"95":4,"96":1,"100":3,"101":4,"103":4,"104":4,"105":3,"107":2,"108":5,"109":4,"110":2,"111":2,"114":3,"115":4,"116":2,"118":2,"122":3,"124":3,"125":4,"126":4,"127":2,"131":3,"132":4,"134":4,"135":5,"136":4,"141":3,"142":4,"145":1,"148":4,"150":3,"151":2,"153":28,"154":12,"156":10,"158":5,"162":1,"163":1,"167":1,"168":2,"169":23,"170":6,"171":1,"172":6,"174":3,"175":1,"176":5,"177":10,"180":6,"189":6,"191":1,"192":1,"193":4,"194":2,"195":2,"197":1,"198":7,"199":4,"200":2}}],["geometryopsprojext",{"2":{"172":1,"173":1,"176":1,"177":1}}],["geometryopslibgeosext",{"2":{"60":1}}],["geometryopscore",{"2":{"0":2,"1":2,"29":2,"150":2,"156":4}}],["geometryops",{"0":{"0":1,"29":1,"30":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1},"2":{"0":105,"1":4,"3":18,"4":9,"5":3,"6":106,"7":2,"11":1,"13":1,"14":1,"15":1,"17":2,"25":1,"29":1,"30":1,"31":4,"32":2,"52":1,"55":1,"58":5,"60":1,"62":1,"65":1,"68":1,"69":1,"70":1,"72":1,"73":1,"75":1,"77":1,"78":1,"79":3,"81":1,"84":1,"87":1,"88":2,"90":1,"91":1,"93":1,"94":2,"103":1,"104":2,"105":2,"107":1,"108":2,"118":1,"119":1,"121":1,"122":1,"124":1,"125":2,"134":1,"135":2,"143":2,"146":3,"150":1,"153":1,"157":2,"158":1,"162":1,"165":1,"169":1,"170":4,"173":1,"175":1,"176":2,"179":1,"180":2,"185":1,"187":1,"188":2,"189":1,"190":1,"191":3,"196":1,"197":1,"198":2,"199":2}}],["geom",{"2":{"1":7,"4":21,"6":41,"18":3,"29":12,"32":10,"35":5,"36":5,"37":5,"38":5,"40":4,"41":4,"42":4,"43":4,"44":4,"45":4,"46":4,"47":4,"48":4,"49":4,"53":25,"56":17,"63":28,"64":16,"66":6,"69":15,"70":8,"71":2,"72":12,"73":10,"81":9,"82":9,"85":28,"91":45,"94":4,"105":1,"108":4,"116":3,"122":1,"125":4,"135":4,"143":1,"146":3,"148":2,"150":4,"153":34,"154":13,"156":52,"166":11,"167":4,"177":24,"180":36,"184":3,"185":7,"186":4,"189":13,"199":6}}],["geospatial",{"0":{"193":1,"195":1},"2":{"190":5,"192":1,"193":3,"195":5}}],["geoscontext",{"2":{"176":1}}],["geosdensify",{"2":{"32":2,"176":3}}],["geos",{"0":{"188":1},"2":{"0":1,"6":6,"32":8,"33":1,"35":1,"36":1,"37":1,"38":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"60":4,"75":1,"79":4,"80":1,"158":1,"178":5,"180":2,"187":1,"188":12}}],["got",{"2":{"184":3}}],["goes",{"2":{"6":2,"146":2}}],["good",{"2":{"6":1,"59":1,"188":2,"193":1}}],["going",{"2":{"4":4,"6":5,"66":2,"79":1,"91":5,"143":1,"146":1,"190":1}}],["go",{"2":{"1":5,"3":17,"4":2,"6":40,"11":9,"13":1,"14":1,"15":6,"18":1,"29":2,"32":5,"35":1,"36":1,"37":1,"38":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":2,"52":1,"55":1,"59":1,"62":2,"65":1,"68":2,"69":2,"70":2,"72":2,"73":2,"77":3,"78":2,"79":8,"80":2,"81":2,"84":6,"87":2,"88":2,"90":1,"91":2,"93":1,"94":2,"103":2,"104":2,"105":1,"107":1,"108":2,"118":1,"119":2,"121":1,"122":2,"124":1,"125":2,"134":2,"135":2,"143":2,"146":6,"148":1,"150":2,"153":2,"156":2,"162":3,"165":3,"175":7,"176":8,"179":2,"180":49,"185":3,"188":1,"189":2,"190":1,"191":3,"193":1,"195":1,"196":3,"197":9,"198":2,"199":5,"200":1}}],["gtrait",{"2":{"85":2}}],["gt",{"2":{"1":1,"6":1,"9":2,"10":1,"11":5,"64":3,"146":3,"150":1}}],["gif",{"2":{"182":1}}],["gives",{"2":{"199":1}}],["give",{"2":{"116":1,"195":1}}],["given",{"2":{"4":7,"6":21,"18":2,"27":1,"52":1,"53":1,"56":2,"63":3,"64":8,"66":3,"69":5,"70":1,"71":2,"72":1,"73":2,"81":1,"82":2,"85":8,"87":1,"88":1,"91":4,"94":1,"103":1,"104":1,"108":1,"116":7,"118":1,"119":1,"125":1,"127":1,"135":1,"148":1,"154":1,"165":1,"169":4,"170":1,"174":2,"176":2,"177":2,"183":1}}],["github",{"2":{"6":2,"80":1,"158":1}}],["gis",{"2":{"5":1,"6":1,"25":1,"30":1,"59":1}}],["gi",{"2":{"1":13,"3":42,"4":31,"6":108,"11":8,"13":15,"14":15,"15":8,"18":2,"29":1,"32":12,"35":3,"36":3,"37":3,"38":3,"40":2,"41":2,"42":2,"43":2,"44":2,"45":2,"46":2,"47":2,"48":2,"49":2,"50":3,"52":3,"53":30,"55":5,"56":21,"58":1,"62":5,"63":38,"64":34,"65":5,"66":17,"68":6,"69":13,"70":19,"71":16,"72":25,"73":24,"77":1,"78":1,"79":3,"80":4,"81":17,"82":36,"84":8,"85":42,"87":7,"88":3,"90":7,"91":99,"93":3,"94":4,"95":6,"96":12,"97":10,"98":7,"99":4,"100":8,"101":6,"103":3,"104":3,"105":21,"107":7,"108":2,"109":3,"110":12,"111":14,"112":4,"113":2,"114":8,"115":6,"116":59,"118":5,"119":3,"121":7,"122":51,"124":5,"125":3,"126":6,"127":15,"128":10,"129":7,"130":4,"131":8,"132":6,"134":7,"135":2,"136":6,"137":12,"138":10,"139":7,"140":4,"141":8,"142":6,"143":15,"146":32,"148":4,"150":9,"153":42,"154":25,"156":54,"159":9,"162":2,"163":10,"165":3,"166":8,"167":5,"169":9,"171":1,"175":6,"176":6,"177":13,"179":2,"180":34,"184":4,"185":9,"186":5,"189":55,"190":1,"191":21,"192":2,"193":2,"196":2,"198":5,"199":2}}],["ty",{"2":{"143":3}}],["typing",{"2":{"60":1,"173":1,"176":1}}],["typically",{"2":{"57":1,"194":1}}],["typemax",{"2":{"85":1,"143":9}}],["typeof",{"2":{"19":1,"59":3,"153":2,"156":1,"159":1,"177":1,"200":1}}],["type=",{"2":{"6":2}}],["type2",{"2":{"6":2,"91":4}}],["type1",{"2":{"6":2,"91":5}}],["types",{"0":{"157":1,"187":1},"1":{"158":1,"159":1,"160":1,"188":1},"2":{"6":4,"23":1,"24":1,"29":1,"59":3,"66":1,"69":1,"116":3,"157":1,"160":1,"180":1,"187":3,"197":1}}],["type",{"2":{"4":11,"5":1,"6":40,"11":1,"22":2,"23":1,"24":2,"28":2,"53":9,"56":11,"58":1,"59":8,"63":8,"64":21,"66":8,"69":6,"70":7,"71":6,"72":8,"73":19,"81":7,"82":5,"85":28,"91":2,"153":5,"156":42,"158":2,"159":3,"160":6,"167":1,"168":1,"169":5,"170":2,"176":1,"177":1,"180":3,"186":1,"188":1,"189":3,"196":1}}],["tx",{"2":{"143":3}}],["tᵢ",{"2":{"59":1}}],["tutorial",{"2":{"190":1,"197":1}}],["tutorials",{"2":{"31":2}}],["tups",{"2":{"163":4}}],["tuplepoint",{"2":{"29":3,"189":1}}],["tuple",{"0":{"186":1},"2":{"4":1,"6":19,"29":2,"59":2,"63":3,"64":5,"66":3,"69":1,"73":31,"116":17,"143":5,"146":2,"153":2,"162":6,"165":13,"175":1,"180":2,"182":1,"184":2,"189":6,"191":99,"198":2}}],["tuples",{"2":{"0":1,"6":2,"29":1,"60":1,"63":1,"64":1,"69":1,"70":3,"71":1,"72":2,"73":1,"80":2,"81":4,"82":5,"163":2,"166":2,"180":2,"186":2,"199":2}}],["turf",{"2":{"146":1}}],["turned",{"2":{"143":1,"153":1}}],["turning",{"2":{"143":8}}],["turn",{"2":{"6":1,"143":1}}],["temporary",{"2":{"64":1}}],["term",{"2":{"56":1}}],["terms",{"2":{"6":1,"59":1}}],["teach",{"2":{"31":1}}],["technically",{"2":{"23":1,"161":1}}],["technique",{"2":{"11":1}}],["tell",{"2":{"18":1,"116":1,"160":1,"200":1}}],["test",{"2":{"64":1,"180":2,"188":1}}],["testing",{"0":{"15":1}}],["tests",{"2":{"9":2}}],["text=",{"2":{"6":2}}],["t2",{"2":{"6":5,"59":47,"95":1,"105":2,"126":1,"136":1}}],["t1",{"2":{"6":6,"59":51,"105":2}}],["t=float64",{"2":{"4":1,"6":3,"63":3}}],["two",{"2":{"3":5,"4":10,"6":23,"23":2,"53":2,"55":1,"59":1,"63":1,"64":6,"66":3,"70":2,"72":1,"73":14,"81":4,"82":3,"85":5,"87":2,"88":1,"90":3,"91":12,"93":1,"103":1,"104":1,"105":1,"107":1,"116":2,"118":2,"119":2,"121":4,"122":5,"124":3,"125":1,"134":2,"143":3,"165":2,"166":2,"169":2,"170":1,"175":1,"188":1,"191":1,"197":3,"198":3}}],["task",{"2":{"153":3,"154":3}}],["tasks",{"2":{"153":5,"154":5}}],["taskrange",{"2":{"153":5,"154":5}}],["tags",{"2":{"64":4}}],["taget",{"2":{"6":2}}],["taylor",{"2":{"6":1,"59":1}}],["table2",{"2":{"197":4}}],["table1",{"2":{"197":12}}],["tables",{"2":{"22":4,"29":1,"153":6,"154":5,"156":2}}],["table",{"0":{"194":1},"2":{"6":2,"18":1,"27":2,"153":13,"154":4,"177":1,"180":1,"194":1,"195":1,"197":2}}],["taking",{"2":{"6":3,"63":1,"70":1,"71":1,"72":1,"73":1,"81":1,"82":1,"164":1}}],["takes",{"2":{"64":3,"197":1}}],["taken",{"2":{"20":1,"58":1}}],["take",{"2":{"1":1,"6":2,"27":1,"64":3,"70":1,"71":1,"72":1,"73":1,"82":1,"143":2,"146":2,"148":1,"154":1,"172":1}}],["target=gi",{"2":{"64":1}}],["target=nothing",{"2":{"35":1,"36":1,"37":1,"38":1,"70":1,"72":1,"81":1}}],["targets",{"2":{"23":1,"53":2,"56":3,"66":3,"85":3}}],["target",{"0":{"23":1},"2":{"1":14,"6":11,"15":3,"22":2,"23":2,"32":1,"59":1,"63":2,"64":1,"70":5,"71":11,"72":6,"73":10,"81":4,"82":13,"143":1,"148":1,"150":8,"151":5,"152":1,"153":34,"154":33,"156":87,"159":3,"166":2,"172":3,"180":2}}],["tilted",{"2":{"66":1}}],["tie",{"2":{"53":1}}],["timings",{"2":{"13":5}}],["timing",{"2":{"13":2}}],["times",{"2":{"4":1,"6":1,"171":1}}],["time",{"2":{"1":5,"13":3,"24":1,"58":1,"143":1,"158":1,"172":4,"188":1,"191":1,"192":1,"193":2,"198":1,"199":1}}],["title",{"2":{"13":2,"58":2,"79":2,"143":1,"176":1,"180":2}}],["tip",{"2":{"1":1,"5":1,"6":1,"59":1,"172":1,"197":1}}],["tree",{"2":{"197":1}}],["treating",{"2":{"180":1}}],["treated",{"2":{"116":5,"191":1}}],["treats",{"2":{"56":1,"85":1}}],["trials",{"2":{"176":2,"180":2}}],["triangles",{"2":{"57":1}}],["triangle",{"2":{"6":1,"57":4,"183":4,"198":1}}],["triangulation",{"2":{"6":1,"29":1,"80":1}}],["trivially",{"2":{"148":1}}],["try",{"2":{"74":3,"143":1,"151":1,"153":3,"154":3,"156":3,"199":1}}],["tr",{"2":{"56":3}}],["trues",{"2":{"166":3}}],["true",{"0":{"24":1},"2":{"1":5,"3":25,"4":3,"6":40,"29":1,"53":7,"56":1,"58":2,"60":1,"64":30,"66":6,"69":1,"70":1,"71":2,"72":1,"73":1,"81":2,"82":3,"85":4,"87":1,"88":1,"91":21,"93":2,"94":6,"96":1,"97":1,"98":4,"100":1,"101":1,"103":2,"104":1,"105":9,"107":2,"108":2,"110":1,"111":1,"112":3,"114":1,"115":1,"116":78,"118":3,"119":1,"121":2,"122":18,"124":2,"125":6,"128":1,"129":1,"131":1,"132":1,"134":2,"135":7,"137":1,"138":1,"139":4,"141":1,"142":1,"143":5,"146":4,"150":2,"153":6,"154":2,"156":1,"158":1,"160":3,"166":1,"173":1,"176":1,"180":1,"197":1,"200":1}}],["traditional",{"2":{"143":1,"158":1}}],["traverse",{"2":{"64":1}}],["traced",{"2":{"64":1}}],["traces",{"2":{"64":1}}],["trace",{"2":{"64":2,"70":1,"72":1,"81":1}}],["track",{"2":{"64":3,"166":2}}],["tracing",{"2":{"6":1,"64":4,"66":1,"71":5,"73":2,"82":2}}],["transverse",{"2":{"192":1}}],["translate",{"2":{"58":2}}],["translation",{"2":{"1":2,"6":2,"180":2,"185":2,"191":3,"193":1}}],["transformations",{"2":{"29":10}}],["transformation",{"0":{"185":1},"2":{"6":1,"143":1,"153":1,"168":1,"172":1,"190":1}}],["transform",{"2":{"0":2,"1":6,"6":3,"15":2,"29":1,"148":1,"172":2,"180":1,"185":4,"191":4,"193":1}}],["trait`",{"2":{"156":1}}],["trait2",{"2":{"85":10,"91":2,"110":2,"111":2,"122":2,"127":2,"129":2,"130":2}}],["trait1",{"2":{"85":12,"91":2,"110":2,"111":2,"122":2,"127":2,"129":2,"130":2}}],["traits",{"2":{"6":1,"18":1,"122":1,"151":2,"159":3,"169":2,"180":2}}],["trait",{"2":{"1":5,"3":2,"4":2,"6":6,"18":7,"20":1,"22":1,"29":1,"32":1,"53":2,"56":5,"59":6,"63":7,"66":2,"69":3,"70":2,"71":2,"72":6,"73":4,"81":2,"82":2,"85":7,"91":11,"94":3,"105":2,"108":3,"116":4,"122":10,"125":3,"135":3,"146":1,"148":1,"150":5,"151":3,"153":19,"154":9,"156":27,"159":8,"169":9,"170":1,"177":2,"180":2,"189":7,"191":1}}],["traittarget",{"0":{"159":1},"2":{"1":2,"29":2,"32":1,"53":1,"56":1,"63":1,"66":1,"70":2,"71":4,"72":3,"73":4,"81":2,"82":4,"85":1,"148":1,"150":2,"153":6,"154":6,"158":1,"159":20,"177":1,"180":1}}],["thus",{"2":{"53":1,"56":1,"64":3,"71":1,"73":1,"82":1}}],["though",{"2":{"20":1,"162":1}}],["those",{"2":{"6":1,"33":1,"53":1,"64":1,"73":1,"96":1,"137":1,"158":1,"177":1}}],["thing",{"0":{"28":1}}],["things",{"2":{"9":1}}],["this",{"0":{"28":1},"2":{"0":1,"1":1,"3":1,"4":6,"5":1,"6":30,"7":1,"18":1,"23":3,"24":2,"25":2,"27":1,"29":1,"30":2,"32":3,"33":1,"50":1,"52":2,"53":6,"55":2,"56":9,"58":3,"59":11,"60":2,"62":1,"63":4,"64":26,"65":1,"66":4,"68":1,"69":5,"71":1,"73":5,"74":1,"80":5,"81":1,"82":2,"84":4,"85":6,"87":1,"88":2,"91":4,"93":3,"94":3,"101":1,"103":1,"104":2,"105":1,"108":3,"115":1,"116":3,"119":2,"121":1,"122":4,"125":3,"132":1,"134":1,"135":3,"142":1,"143":8,"145":1,"146":3,"147":2,"148":2,"151":2,"153":15,"154":7,"155":2,"156":2,"157":1,"158":4,"159":2,"160":4,"161":3,"163":3,"164":4,"166":3,"167":2,"168":1,"169":6,"170":7,"171":2,"172":4,"173":3,"174":3,"175":5,"176":5,"177":5,"178":2,"180":3,"184":9,"185":1,"186":1,"187":3,"188":2,"189":1,"190":1,"191":2,"192":4,"193":3,"194":3,"195":1,"197":3,"198":3,"199":3,"200":1}}],["three",{"2":{"31":1,"57":1,"73":1,"158":1,"177":1}}],["thread",{"2":{"153":3,"154":3}}],["threading",{"0":{"153":1},"2":{"153":5,"154":2,"160":1}}],["threads",{"2":{"1":1,"150":1,"153":5,"154":7}}],["threaded=",{"2":{"153":4,"154":5}}],["threaded=true",{"2":{"153":1}}],["threaded=false",{"2":{"56":1,"63":4,"66":2,"85":8,"153":1,"154":1,"171":1,"180":1}}],["threaded==true",{"2":{"1":1,"150":1,"153":1}}],["threaded",{"2":{"1":3,"4":1,"6":5,"24":1,"29":1,"32":2,"53":2,"56":1,"63":3,"66":3,"85":5,"150":2,"153":25,"154":27,"155":1,"160":2,"171":1,"177":13,"180":1}}],["through",{"2":{"6":4,"53":1,"59":1,"64":3,"66":1,"68":1,"69":2,"80":1,"94":1,"116":5,"135":1,"143":1,"151":1,"153":1,"166":2,"170":2,"182":1,"188":1,"191":1}}],["thrown",{"2":{"151":1}}],["throws",{"2":{"6":1,"188":1}}],["throw",{"2":{"4":1,"6":1,"82":1,"91":1,"143":1,"153":1,"154":1,"156":3}}],["than",{"2":{"1":1,"3":1,"6":10,"11":1,"64":2,"96":1,"105":1,"122":1,"137":1,"143":2,"146":1,"150":1,"152":1,"153":1,"157":1,"164":1,"165":1,"166":2,"170":2,"174":1,"176":2,"177":1,"181":1,"188":2}}],["that",{"2":{"1":1,"3":3,"4":8,"6":40,"9":1,"17":1,"18":4,"19":3,"20":1,"22":3,"25":1,"30":1,"31":1,"53":4,"55":2,"56":4,"59":4,"60":2,"62":2,"63":3,"64":17,"65":3,"66":5,"70":4,"71":5,"72":4,"73":14,"75":1,"79":3,"80":4,"81":3,"82":5,"85":2,"87":4,"88":1,"90":1,"91":11,"93":2,"94":1,"104":1,"107":1,"108":1,"116":3,"118":1,"119":1,"121":2,"122":10,"124":2,"125":2,"127":2,"134":3,"135":1,"137":3,"143":4,"146":1,"148":1,"150":1,"153":5,"154":1,"155":1,"156":4,"157":2,"158":6,"159":1,"160":3,"161":3,"162":2,"163":1,"164":2,"165":3,"166":4,"168":3,"169":2,"170":4,"172":1,"174":2,"175":2,"176":3,"177":2,"180":2,"182":1,"184":1,"188":1,"192":4,"193":1,"194":2,"195":3,"197":1,"198":2}}],["theta",{"2":{"158":1}}],["theorem",{"2":{"85":1}}],["themselves",{"2":{"59":1}}],["them",{"2":{"25":1,"30":1,"64":1,"143":2,"147":2,"153":3,"156":2,"162":2,"164":1,"165":1,"180":1,"191":1,"193":1,"195":3}}],["thereof",{"2":{"148":1,"154":1}}],["therefore",{"2":{"84":1,"161":1}}],["there",{"2":{"6":2,"22":1,"53":1,"59":2,"60":1,"64":3,"66":1,"69":2,"71":1,"73":6,"74":1,"82":1,"116":1,"122":2,"143":3,"147":1,"148":1,"153":4,"158":1,"159":1,"162":1,"175":1,"184":1,"188":1,"192":2,"195":3}}],["then",{"2":{"6":5,"18":1,"22":1,"27":1,"53":3,"59":2,"64":6,"66":1,"70":1,"72":2,"73":6,"74":2,"80":1,"81":2,"82":2,"116":1,"143":2,"148":1,"151":1,"153":2,"154":3,"164":1,"176":2,"180":1,"192":1,"197":1,"198":1}}],["their",{"2":{"3":1,"4":1,"6":2,"59":1,"62":2,"82":1,"85":2,"113":1,"122":1,"124":1,"128":1,"129":1,"138":3,"139":3,"148":1,"154":1,"162":1,"165":1,"171":1}}],["they",{"2":{"3":3,"4":11,"6":24,"20":2,"22":1,"23":1,"24":1,"57":1,"63":2,"64":8,"66":2,"70":2,"72":1,"73":6,"79":1,"81":2,"82":3,"90":3,"91":16,"94":1,"107":1,"111":2,"112":1,"113":1,"116":2,"118":1,"121":2,"122":4,"127":1,"129":1,"130":1,"138":1,"139":1,"143":6,"153":2,"156":2,"161":1,"166":2,"170":2,"175":1,"184":1,"187":1,"198":1}}],["these",{"2":{"1":2,"6":4,"24":1,"53":1,"59":5,"64":3,"82":1,"87":1,"90":1,"91":1,"94":1,"103":1,"105":2,"107":1,"108":1,"118":1,"121":1,"122":1,"124":2,"125":1,"134":1,"135":1,"143":3,"146":1,"150":1,"151":1,"153":2,"172":1,"176":1,"180":2,"188":1,"195":1,"197":1}}],["the",{"0":{"27":1,"31":1,"62":1,"78":1,"79":1},"2":{"1":28,"3":64,"4":112,"5":12,"6":386,"7":5,"9":3,"10":1,"11":3,"17":5,"18":10,"19":2,"20":4,"22":4,"23":5,"24":3,"25":3,"27":3,"30":3,"31":4,"32":3,"52":1,"53":63,"55":12,"56":43,"57":15,"58":12,"59":71,"60":6,"62":6,"63":25,"64":116,"65":7,"66":47,"68":2,"69":7,"70":27,"71":23,"72":27,"73":82,"74":1,"75":6,"79":11,"80":16,"81":29,"82":70,"84":11,"85":81,"87":9,"88":11,"90":5,"91":47,"93":8,"94":25,"97":8,"98":9,"99":3,"100":3,"101":2,"103":4,"104":11,"105":5,"107":2,"108":21,"110":8,"111":6,"112":4,"114":3,"115":2,"116":123,"118":5,"119":6,"121":5,"122":26,"124":5,"125":21,"127":6,"128":10,"129":7,"130":3,"131":3,"132":2,"134":7,"135":24,"137":2,"138":9,"139":9,"140":6,"141":2,"142":2,"143":47,"145":1,"146":8,"147":1,"148":9,"150":14,"151":11,"153":69,"154":23,"155":2,"156":19,"157":1,"158":24,"160":5,"161":5,"162":5,"163":4,"164":4,"165":8,"166":6,"167":5,"168":2,"169":13,"170":10,"171":1,"172":14,"173":2,"174":3,"175":5,"176":26,"177":21,"178":3,"180":18,"181":3,"182":6,"183":3,"184":2,"185":3,"186":1,"187":2,"188":21,"191":10,"192":11,"193":10,"194":2,"195":4,"197":10,"198":17,"199":3}}],["t",{"2":{"0":1,"4":28,"6":54,"9":1,"23":1,"29":8,"32":1,"53":32,"56":41,"59":26,"63":38,"64":74,"66":44,"69":18,"70":12,"71":12,"72":12,"73":156,"81":10,"82":20,"85":87,"91":17,"93":1,"111":1,"116":24,"122":1,"124":1,"128":2,"129":1,"143":14,"153":5,"154":4,"156":3,"158":5,"159":14,"160":2,"166":2,"170":2,"176":3,"177":4,"180":1,"186":7,"188":3,"189":10,"191":4,"199":1}}],["tokyo",{"2":{"199":1}}],["toy",{"2":{"197":1}}],["together",{"2":{"73":1,"82":1,"191":1,"198":1}}],["touching",{"0":{"128":1},"2":{"73":1,"82":1}}],["touch",{"0":{"129":1,"130":1,"131":1},"2":{"64":1,"124":1,"127":2,"129":1,"131":1}}],["touches",{"0":{"42":1,"123":1,"124":1,"127":1},"1":{"124":1,"125":1},"2":{"0":2,"3":3,"6":3,"29":1,"42":2,"123":1,"124":3,"125":11,"126":6,"127":11,"128":15,"129":9,"130":8,"131":3,"132":4,"197":1}}],["totally",{"2":{"81":1}}],["total",{"2":{"56":1,"59":2,"64":2,"66":1}}],["towards",{"2":{"25":1,"30":1}}],["topright",{"2":{"180":1}}],["topologypreserve",{"2":{"178":1}}],["topology",{"2":{"178":1}}],["topological",{"2":{"158":2}}],["top",{"2":{"20":1,"31":1,"64":1,"143":1}}],["took",{"2":{"199":1}}],["tools",{"2":{"17":1}}],["too",{"2":{"6":1,"73":1,"174":1,"177":1}}],["tol^2",{"2":{"181":1,"182":1}}],["tolerances",{"2":{"183":1,"184":29}}],["tolerance",{"2":{"181":1,"182":1,"183":1,"184":17}}],["tol",{"2":{"6":12,"176":2,"180":18,"181":7,"182":15,"183":8,"184":18}}],["todo",{"2":{"3":2,"6":2,"32":1,"64":1,"73":1,"80":2,"105":4,"122":1,"143":1,"153":1,"160":1,"163":1,"180":1}}],["to",{"0":{"9":1,"23":1,"31":1,"74":1,"95":1,"109":1,"126":1,"136":1},"2":{"0":2,"1":22,"3":1,"4":33,"5":4,"6":125,"7":2,"9":3,"10":2,"11":2,"13":1,"17":2,"18":9,"19":1,"20":2,"22":3,"23":4,"24":2,"25":3,"27":4,"28":1,"30":3,"31":2,"52":1,"53":8,"55":1,"56":4,"57":4,"58":1,"59":26,"60":2,"62":2,"63":5,"64":32,"65":1,"66":12,"68":1,"69":3,"70":8,"71":4,"72":8,"73":27,"75":1,"77":1,"78":1,"79":4,"80":6,"81":7,"82":11,"84":6,"85":32,"87":1,"88":1,"90":2,"91":17,"93":2,"94":7,"103":3,"104":1,"105":2,"107":1,"108":7,"116":21,"118":2,"119":1,"121":3,"122":7,"124":1,"125":7,"127":1,"134":1,"135":7,"143":16,"146":4,"148":4,"150":9,"151":6,"152":1,"153":33,"154":11,"155":7,"156":23,"158":7,"159":2,"160":6,"161":2,"162":3,"164":3,"165":1,"166":4,"167":1,"168":4,"169":8,"170":5,"171":3,"172":4,"173":1,"174":3,"175":3,"176":9,"177":7,"178":1,"180":4,"181":1,"182":15,"183":1,"184":2,"185":4,"186":1,"187":2,"188":9,"189":28,"190":4,"191":6,"192":10,"193":6,"194":7,"195":5,"196":1,"197":7,"198":5,"199":2,"200":8}}],["o",{"2":{"154":24}}],["odd",{"2":{"116":1}}],["own",{"2":{"82":1,"148":2}}],["occur",{"2":{"73":1}}],["occurs",{"2":{"73":1}}],["occupied",{"2":{"55":1}}],["old",{"2":{"64":8,"153":3}}],["ourselves",{"2":{"176":1}}],["our",{"2":{"24":1,"176":1,"191":4,"192":3,"198":1}}],["out=3",{"2":{"116":1}}],["out=4",{"2":{"72":1}}],["out`",{"2":{"72":1,"116":1}}],["out",{"2":{"6":3,"64":12,"66":23,"73":6,"80":1,"82":4,"84":5,"94":4,"105":1,"108":3,"116":102,"122":2,"125":4,"135":4,"146":1,"153":1,"177":1,"188":2}}],["outside",{"2":{"3":2,"4":1,"6":3,"64":3,"66":1,"71":2,"73":4,"82":3,"84":2,"85":1,"93":1,"104":1,"107":1,"116":12,"122":3,"140":1}}],["outputs",{"2":{"64":1}}],["output",{"2":{"3":8,"4":1,"6":18,"18":1,"23":1,"69":2,"70":1,"72":1,"73":1,"81":1,"82":2,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"125":1,"135":1,"146":2,"180":1,"184":1,"189":1}}],["outerjoin",{"2":{"197":1}}],["outermost",{"2":{"153":1}}],["outer",{"2":{"1":1,"150":1,"151":1,"153":2,"198":1}}],["omit",{"2":{"6":1,"176":1}}],["obtain",{"2":{"153":1}}],["obtained",{"2":{"23":1}}],["observable",{"2":{"14":2}}],["obs",{"2":{"14":10}}],["obviously",{"2":{"4":1,"6":1,"171":1}}],["objects",{"2":{"1":4,"4":1,"6":10,"150":4,"151":5,"153":4,"154":1,"156":6,"171":1,"174":1,"180":2,"186":1}}],["object",{"2":{"1":4,"4":1,"5":1,"6":5,"20":1,"59":1,"84":1,"116":4,"150":1,"151":5,"153":1,"156":4,"171":1,"172":3,"176":1,"180":1,"186":1}}],["obj",{"2":{"1":4,"4":1,"6":10,"150":2,"153":1,"154":1,"156":13,"167":2,"171":1,"176":3,"180":3,"185":1,"186":1}}],["others",{"2":{"60":1,"166":1}}],["otherwise",{"2":{"4":2,"6":3,"60":1,"64":1,"71":1,"73":1,"85":2,"143":1,"167":1,"173":1,"176":1,"189":1}}],["other",{"0":{"4":1,"6":1,"156":1},"2":{"3":4,"6":10,"53":1,"64":5,"70":1,"72":1,"73":1,"75":2,"81":2,"82":3,"85":2,"87":1,"91":2,"96":1,"116":8,"118":1,"121":1,"122":4,"124":2,"125":2,"128":1,"137":1,"143":1,"151":1,"153":1,"156":2,"159":1,"164":1,"166":2,"170":2,"180":2,"182":2,"187":1,"188":1,"192":1,"197":4,"200":1}}],["ogc",{"0":{"3":1}}],["over=3",{"2":{"72":1}}],["over`",{"2":{"72":1}}],["overflow",{"2":{"69":1}}],["overhead",{"2":{"22":1,"153":1,"154":1}}],["overrides",{"0":{"33":1},"1":{"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1},"2":{"33":1}}],["override",{"2":{"6":1,"59":1}}],["overlapping",{"2":{"64":11,"73":4,"82":6}}],["overlap",{"2":{"3":4,"6":4,"9":1,"64":2,"73":8,"82":2,"94":1,"103":1,"116":2,"121":5,"122":6,"135":1,"164":1}}],["overlaps",{"0":{"46":1,"120":1,"121":1},"1":{"121":1,"122":1},"2":{"0":10,"3":5,"6":13,"29":1,"46":2,"73":1,"120":1,"121":3,"122":30,"143":1,"197":1}}],["over",{"2":{"1":1,"6":2,"55":2,"56":1,"63":3,"64":5,"66":1,"72":1,"73":11,"79":1,"82":1,"94":1,"105":1,"108":1,"116":15,"122":2,"125":1,"135":1,"150":1,"153":9,"154":11,"156":3,"191":3}}],["opposed",{"2":{"196":1}}],["opposite",{"2":{"3":5,"6":5,"64":2,"71":1,"73":2,"82":1,"88":2,"94":1,"104":2,"119":2,"135":1}}],["ops",{"2":{"154":1}}],["operable",{"2":{"158":1}}],["operates",{"2":{"153":1,"154":1,"161":1,"164":1}}],["operate",{"2":{"18":1,"27":1,"154":1}}],["operations",{"0":{"23":1,"34":1},"1":{"35":1,"36":1,"37":1,"38":1},"2":{"23":1,"31":1,"73":1,"82":1,"148":1}}],["operation",{"2":{"6":3,"64":1,"148":1,"154":1,"158":1,"166":2,"170":2,"188":2,"197":1}}],["open",{"2":{"64":1,"162":1,"192":1}}],["open>",{"2":{"6":2}}],["optimisation",{"2":{"116":1}}],["optimise",{"2":{"105":1}}],["optimal",{"2":{"6":1,"80":1}}],["options",{"2":{"14":1,"64":1}}],["optional",{"2":{"4":5,"6":6,"53":1,"56":2,"66":1,"85":2}}],["op",{"2":{"1":3,"19":2,"63":1,"150":3,"154":35}}],["on=2",{"2":{"116":1}}],["on`",{"2":{"116":1}}],["once",{"2":{"105":1,"122":1,"143":1}}],["onto",{"2":{"85":1}}],["ones",{"2":{"165":1}}],["oneunit",{"2":{"59":1}}],["one",{"2":{"1":1,"3":9,"6":14,"23":1,"53":4,"56":2,"58":1,"59":1,"63":1,"64":5,"66":3,"70":1,"71":1,"72":1,"73":32,"75":1,"81":2,"82":2,"84":2,"93":1,"100":1,"105":1,"107":1,"116":18,"121":1,"122":18,"124":2,"125":2,"128":3,"129":2,"130":2,"131":1,"132":1,"134":1,"135":1,"141":1,"143":5,"146":1,"153":1,"158":2,"165":1,"172":1,"176":1,"184":1,"185":1,"192":1,"197":1}}],["on",{"0":{"192":1},"2":{"1":2,"4":3,"6":9,"9":1,"18":1,"20":1,"23":2,"25":3,"27":2,"30":3,"32":1,"53":5,"56":3,"58":1,"59":2,"63":3,"64":28,"66":8,"69":1,"70":1,"71":5,"72":1,"73":4,"80":1,"81":1,"82":2,"84":1,"85":3,"91":2,"93":1,"94":7,"96":2,"97":3,"98":3,"99":1,"105":4,"108":6,"110":4,"111":1,"112":1,"116":125,"122":9,"125":7,"127":2,"135":7,"137":2,"138":1,"139":1,"143":3,"148":1,"150":2,"153":12,"154":4,"156":2,"158":4,"160":2,"161":1,"163":1,"164":1,"170":1,"174":1,"176":1,"177":1,"182":1,"190":1,"192":3,"193":1,"195":1,"196":1,"197":4,"198":1,"199":2,"200":2}}],["only",{"2":{"0":1,"5":1,"6":10,"23":1,"33":2,"56":2,"58":2,"59":1,"60":1,"63":2,"64":4,"66":3,"69":1,"70":1,"72":1,"73":1,"80":3,"81":1,"85":2,"91":3,"121":3,"122":1,"124":1,"143":2,"153":1,"154":2,"158":2,"165":1,"174":1,"175":1,"177":1,"187":1,"188":2,"193":1,"199":1,"200":1}}],["often",{"2":{"192":1}}],["offers",{"2":{"191":1}}],["offer",{"2":{"176":1}}],["offset",{"2":{"53":8,"91":1}}],["off",{"2":{"4":1,"6":1,"64":4,"91":1,"116":6,"154":1}}],["of",{"0":{"78":1},"2":{"1":7,"3":29,"4":66,"5":5,"6":190,"7":2,"9":4,"17":3,"18":5,"19":1,"20":2,"22":1,"23":2,"24":2,"25":1,"27":3,"30":1,"31":1,"32":2,"52":1,"53":38,"55":5,"56":28,"57":9,"58":1,"59":13,"60":1,"62":3,"63":12,"64":84,"65":5,"66":31,"69":5,"70":12,"71":13,"72":10,"73":48,"75":5,"79":3,"80":3,"81":9,"82":20,"84":6,"85":18,"87":4,"88":5,"90":2,"91":19,"93":6,"94":18,"96":1,"97":5,"98":5,"99":1,"100":2,"101":1,"104":5,"105":1,"107":3,"108":14,"110":1,"111":1,"112":1,"114":2,"115":1,"116":85,"118":1,"119":3,"121":1,"122":13,"124":2,"125":15,"127":3,"128":7,"129":5,"130":1,"131":2,"132":1,"134":4,"135":18,"137":3,"138":6,"139":6,"140":4,"141":1,"142":1,"143":19,"145":2,"146":3,"147":2,"148":3,"150":6,"151":5,"152":2,"153":21,"154":7,"156":2,"158":5,"159":2,"161":1,"162":1,"164":4,"166":4,"167":3,"170":2,"172":1,"174":2,"175":2,"176":5,"177":6,"180":8,"182":4,"183":2,"184":1,"186":1,"188":4,"189":2,"191":6,"192":4,"193":2,"194":1,"195":4,"197":4,"198":4,"199":2}}],["org",{"2":{"70":1,"72":1,"81":1,"116":2,"182":1}}],["organise",{"2":{"10":1}}],["orange",{"2":{"68":1,"84":1,"87":2,"90":2,"107":2,"121":2,"134":2}}],["oro",{"2":{"11":2}}],["originate",{"2":{"82":1}}],["originals",{"2":{"22":1}}],["original",{"2":{"6":4,"18":1,"22":1,"64":10,"69":5,"70":1,"72":1,"82":4,"151":1,"153":7,"167":2,"169":1,"177":1,"179":4,"180":1}}],["orient",{"0":{"13":1},"1":{"14":1,"15":1},"2":{"13":7,"14":12,"64":15,"73":53}}],["orientation",{"0":{"144":1},"1":{"145":1,"146":1},"2":{"6":2,"10":1,"29":1,"56":1,"64":10,"66":2,"70":1,"72":2,"73":2,"81":1,"116":16,"145":1,"180":1}}],["ordered",{"2":{"55":1}}],["order",{"0":{"79":1},"2":{"1":4,"3":1,"4":2,"6":5,"53":1,"55":1,"56":2,"59":1,"64":4,"73":1,"79":4,"80":1,"82":1,"85":2,"88":1,"91":3,"94":1,"104":1,"119":1,"150":2,"153":1,"154":1,"172":2,"180":1,"197":1}}],["or",{"0":{"24":1},"2":{"1":11,"3":3,"4":10,"6":46,"18":1,"20":1,"22":1,"23":1,"25":1,"27":2,"29":1,"30":1,"32":1,"53":4,"56":1,"59":1,"60":1,"62":2,"63":4,"64":24,"65":1,"69":1,"70":1,"71":3,"72":2,"73":9,"75":1,"80":1,"81":1,"82":2,"84":2,"85":4,"87":1,"91":3,"94":1,"96":2,"97":1,"98":1,"99":1,"100":1,"101":1,"107":2,"110":2,"111":3,"112":2,"113":1,"114":1,"115":1,"116":26,"118":2,"119":1,"121":1,"122":2,"124":1,"125":1,"131":1,"132":1,"135":1,"137":2,"141":1,"142":1,"143":7,"145":2,"146":3,"148":4,"150":7,"152":1,"153":8,"154":3,"155":2,"156":2,"158":2,"159":3,"160":1,"161":1,"163":1,"169":5,"170":2,"172":2,"173":1,"174":2,"176":2,"177":4,"178":1,"180":3,"182":2,"184":2,"186":1,"189":2,"197":1,"199":2}}],["ecosystem",{"2":{"157":1}}],["effects",{"2":{"153":2,"154":1}}],["efficiently",{"2":{"20":1}}],["efficient",{"2":{"6":1,"59":1,"70":2,"72":2,"80":1,"81":2,"163":1}}],["e2",{"2":{"116":4}}],["e1",{"2":{"116":8}}],["euclid",{"2":{"66":2,"85":11,"116":1,"181":1}}],["euclidean",{"2":{"4":1,"6":1,"59":13,"85":6,"158":6,"177":1}}],["everything",{"2":{"180":1}}],["everywhere",{"2":{"158":1}}],["every",{"2":{"64":1,"91":2,"151":1,"188":1}}],["evenly",{"2":{"198":1}}],["eventually",{"2":{"64":1}}],["even",{"2":{"56":2,"66":1,"73":1,"85":1,"91":1,"148":1,"162":1,"164":1}}],["evaluated",{"2":{"197":1}}],["eval",{"2":{"29":2,"153":1,"154":1}}],["epsg",{"2":{"192":5,"193":8}}],["eps",{"2":{"53":2,"73":14}}],["eponymous",{"2":{"6":1,"176":1}}],["est",{"2":{"199":1}}],["essentially",{"2":{"33":1,"159":1}}],["especially",{"2":{"6":1,"18":1,"23":1,"143":1}}],["eg",{"2":{"32":1}}],["etc",{"0":{"156":1},"2":{"20":2,"55":1,"80":1,"159":1,"195":1}}],["e",{"2":{"9":1,"22":1,"60":1,"143":1,"151":1,"153":2,"158":1,"191":2,"192":1,"195":1}}],["ellipsoid",{"2":{"158":2,"196":1}}],["ellipsoidal",{"2":{"6":1,"177":1}}],["eltype",{"2":{"143":4}}],["elements",{"2":{"100":1,"101":1,"114":1,"115":1,"122":1,"131":1,"132":1,"141":1,"142":1}}],["element",{"2":{"6":6,"52":1,"64":4,"69":2,"70":1,"72":1,"73":1,"81":3,"175":1,"192":1}}],["elsewhere",{"2":{"69":1}}],["elseif",{"2":{"64":5,"66":7,"70":1,"72":1,"73":14,"81":2,"82":1,"105":3,"116":10,"143":2,"146":1,"166":1,"182":2,"184":2}}],["else",{"2":{"3":6,"6":6,"53":1,"59":2,"64":19,"66":9,"69":1,"71":2,"73":9,"81":1,"82":9,"105":2,"116":17,"122":8,"143":20,"153":6,"154":2,"156":2,"163":1,"167":1,"173":1,"180":2,"182":4,"184":2,"185":1,"186":1,"188":1}}],["empty",{"2":{"4":2,"6":6,"53":2,"64":2,"70":1,"72":1,"73":2,"81":1,"143":2}}],["embedding",{"0":{"152":1,"171":1}}],["embedded",{"0":{"193":1},"2":{"143":1,"152":3,"190":1,"193":1}}],["embed",{"2":{"0":2,"4":1,"6":1,"152":1,"171":2}}],["errors",{"2":{"29":1,"73":1,"177":1}}],["error",{"0":{"173":1},"2":{"4":1,"6":4,"7":1,"18":1,"29":6,"32":2,"59":1,"60":4,"64":2,"73":2,"74":1,"91":2,"143":1,"151":1,"169":2,"173":3,"176":5,"184":4,"188":3,"189":1}}],["edgekeys",{"2":{"143":3}}],["edge",{"2":{"3":1,"4":3,"6":4,"20":1,"29":1,"56":1,"62":1,"64":25,"66":13,"70":1,"72":1,"73":6,"81":1,"85":4,"91":1,"96":2,"111":2,"112":1,"116":7,"122":21,"137":2,"138":1,"139":1,"143":7,"189":2}}],["edges`",{"2":{"73":1}}],["edges",{"2":{"0":1,"4":2,"6":9,"64":12,"66":8,"71":3,"73":10,"82":3,"85":3,"87":1,"90":2,"91":1,"96":1,"97":3,"98":7,"99":3,"107":1,"110":3,"113":1,"116":3,"122":20,"134":1,"137":1,"143":22,"189":29}}],["earlier",{"2":{"191":3}}],["earth",{"2":{"6":3,"25":1,"30":1,"158":3,"176":2,"177":1,"180":1,"192":2,"197":1}}],["easiest",{"2":{"194":1}}],["easier",{"2":{"160":1,"187":1}}],["easily",{"2":{"148":1}}],["east",{"2":{"66":9}}],["easy",{"2":{"1":1,"6":1,"164":1,"185":1}}],["eachindex",{"2":{"53":1,"143":3,"146":1,"153":1,"154":1,"181":1,"184":1}}],["each",{"2":{"3":2,"4":3,"6":6,"9":1,"18":2,"20":1,"53":4,"56":2,"57":4,"59":1,"64":5,"66":1,"73":3,"85":1,"91":2,"94":1,"108":1,"116":6,"121":1,"122":3,"125":1,"135":1,"143":1,"146":1,"153":1,"164":2,"180":1,"194":1,"195":1,"198":2,"199":2,"200":1}}],["equator",{"2":{"158":1}}],["equatorial",{"2":{"6":6,"176":4}}],["equality",{"2":{"64":1,"73":1,"197":1}}],["equal",{"2":{"3":2,"4":16,"6":19,"53":6,"73":1,"84":1,"85":4,"90":3,"91":22,"96":1,"110":1,"116":15,"121":1,"122":2,"127":2,"137":1,"162":1}}],["equals",{"0":{"40":1,"89":1,"90":1},"1":{"90":1,"91":1},"2":{"0":17,"4":3,"6":19,"29":1,"40":2,"53":2,"64":4,"69":2,"73":8,"85":1,"89":1,"90":2,"91":50,"96":1,"110":1,"116":10,"122":2,"127":3,"137":1,"197":1}}],["equivalent",{"2":{"3":1,"4":4,"6":6,"56":1,"64":1,"73":1,"82":1,"91":5,"94":1,"116":1}}],["enable",{"2":{"200":1}}],["enabled",{"2":{"197":1}}],["enabling",{"0":{"200":1}}],["enclosed",{"2":{"116":1}}],["encode",{"2":{"24":1}}],["encompasses",{"2":{"18":1,"116":1}}],["encounters",{"2":{"18":1}}],["en",{"2":{"116":1,"182":1}}],["envelope",{"2":{"73":2}}],["envelopes",{"2":{"73":2}}],["enough",{"2":{"64":1}}],["entirely",{"2":{"116":1}}],["entire",{"2":{"66":1,"116":4}}],["entry",{"2":{"64":11,"71":3,"73":4,"82":3,"143":1}}],["ent",{"2":{"64":19,"69":2}}],["enter",{"2":{"64":4}}],["ensuring",{"2":{"6":1,"174":1,"177":1}}],["ensure",{"2":{"6":3,"59":1,"70":1,"72":1,"81":1,"153":2,"161":2,"168":1}}],["ensures",{"2":{"6":3,"163":1,"166":2,"170":3}}],["enumerate",{"2":{"13":2,"53":1,"64":10,"66":1,"69":1,"71":1,"82":2,"116":1,"143":2,"166":2,"184":1}}],["enum",{"2":{"6":2,"64":3,"72":3,"116":3}}],["endpt",{"2":{"182":3}}],["endpoints",{"2":{"64":3,"66":1,"71":1,"73":6,"82":1,"85":2,"116":11,"122":2,"124":1}}],["endpoint=3",{"2":{"64":1}}],["endpointtype",{"2":{"64":2}}],["endpoint",{"2":{"3":1,"6":2,"64":27,"72":1,"73":16,"85":2,"93":1,"116":3,"122":2,"180":4,"182":4,"191":1}}],["ending",{"2":{"64":1,"66":1}}],["end",{"2":{"1":1,"9":1,"13":4,"14":3,"29":4,"32":4,"35":1,"36":1,"37":1,"38":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"53":18,"56":8,"59":35,"60":3,"63":10,"64":130,"66":43,"69":9,"70":8,"71":12,"72":5,"73":31,"74":1,"80":3,"81":6,"82":24,"85":19,"91":20,"100":2,"101":2,"105":20,"114":2,"115":2,"116":104,"122":21,"127":1,"131":2,"132":2,"137":1,"141":2,"142":2,"143":44,"146":9,"147":4,"148":1,"150":1,"153":27,"154":17,"156":15,"158":4,"159":1,"160":4,"161":1,"163":5,"166":18,"167":4,"169":3,"172":1,"173":2,"176":8,"177":9,"180":7,"181":6,"182":30,"183":3,"184":27,"185":4,"186":4,"188":4,"189":19}}],["enforce",{"2":{"0":1,"6":2,"32":3,"188":3}}],["exits",{"2":{"64":1}}],["exit",{"2":{"64":32,"69":2,"71":3,"73":3,"82":2}}],["existingnodes",{"2":{"143":3}}],["existing",{"2":{"64":3,"81":1,"143":1,"192":2,"194":1}}],["exists",{"2":{"64":1,"66":1,"73":1}}],["exist",{"2":{"6":1,"64":1,"73":3,"188":1}}],["excluding",{"2":{"113":1,"116":1,"137":2}}],["exclude",{"2":{"105":9}}],["exclusively",{"2":{"129":1}}],["exclusive",{"2":{"66":1,"73":2}}],["exc",{"2":{"60":2,"173":2,"176":2}}],["excellent",{"2":{"23":1}}],["except",{"2":{"18":1,"19":1}}],["excess",{"2":{"5":1,"6":1,"59":1}}],["exp10",{"2":{"176":1,"180":2}}],["expressed",{"2":{"57":2}}],["express",{"2":{"57":1}}],["explain",{"2":{"31":1}}],["explanations",{"2":{"31":3}}],["explicitly",{"2":{"18":1,"24":1,"53":2,"56":1,"59":1,"60":1,"85":2,"91":1,"173":1,"176":1}}],["experimental",{"2":{"29":3}}],["expect",{"2":{"1":1,"118":1,"172":1}}],["expose",{"2":{"75":1}}],["exposes",{"2":{"17":1}}],["export",{"2":{"29":1,"57":1,"158":2,"174":1,"193":1,"195":1}}],["exponential",{"2":{"9":1}}],["ext2",{"2":{"116":3}}],["ext1",{"2":{"116":3}}],["ext",{"2":{"58":15,"64":10,"66":2,"69":3,"70":8,"72":8,"73":18,"81":8,"82":14,"105":7,"116":7}}],["extrema",{"2":{"143":1,"189":1}}],["extreem",{"2":{"53":10}}],["extracts",{"2":{"80":1}}],["extract",{"2":{"80":1,"143":1,"153":1,"154":2,"180":1}}],["extra",{"2":{"6":3,"64":1,"81":1,"174":1,"176":2,"177":1}}],["external",{"2":{"56":1,"116":2}}],["exteriors",{"2":{"9":1,"72":2,"81":2,"143":1}}],["exterior",{"2":{"3":4,"4":2,"6":10,"53":1,"55":1,"56":1,"58":1,"59":36,"63":2,"64":4,"70":2,"81":3,"82":14,"85":1,"87":1,"88":1,"91":2,"94":3,"104":1,"108":2,"116":9,"125":2,"134":1,"135":3,"138":3,"139":3,"143":6,"146":6,"163":3,"168":1,"170":1,"171":1,"191":2}}],["extending",{"2":{"122":1}}],["extended",{"2":{"85":1,"158":2}}],["extensions",{"2":{"75":1,"195":1}}],["extension",{"2":{"1":1,"6":1,"59":1,"60":1,"80":1,"93":1,"147":1,"172":3,"173":2,"176":1,"177":1,"178":1,"195":1}}],["extent`",{"2":{"155":1,"171":1}}],["extent=true",{"2":{"171":1}}],["extent=nothing",{"2":{"156":1}}],["extent=",{"2":{"153":4}}],["extent=false",{"2":{"153":1,"180":1}}],["extent=gi",{"2":{"143":3}}],["extents",{"2":{"4":3,"6":3,"29":5,"66":1,"73":3,"116":5,"122":1,"143":3,"153":2,"171":2,"189":2}}],["extent",{"0":{"171":1},"2":{"0":2,"1":4,"4":3,"6":9,"24":1,"29":3,"32":1,"35":2,"36":2,"37":2,"38":2,"50":1,"58":1,"65":1,"66":1,"73":10,"116":4,"122":2,"143":12,"150":2,"152":4,"153":29,"155":3,"156":2,"160":1,"171":2,"180":1,"189":7}}],["exactly",{"2":{"184":1}}],["exactpredicates",{"2":{"7":1,"13":2,"14":2,"29":1}}],["exact",{"2":{"3":5,"6":5,"7":2,"12":1,"13":1,"64":36,"66":6,"69":7,"70":5,"72":5,"73":7,"74":1,"81":5,"82":7,"88":2,"94":3,"96":1,"97":3,"98":3,"99":1,"104":2,"105":1,"108":2,"110":1,"111":3,"112":2,"113":1,"116":24,"119":2,"122":3,"125":2,"127":1,"128":3,"129":1,"130":1,"135":3,"137":1,"138":3,"139":3,"140":1,"143":1,"165":1}}],["examples",{"0":{"175":1,"179":1},"2":{"3":8,"4":1,"6":11,"31":2,"88":1,"91":1,"94":1,"104":1,"105":1,"108":1,"122":1,"125":1,"135":1,"146":2,"189":1}}],["example",{"0":{"58":1,"76":1,"162":1,"165":1,"198":1,"199":1},"1":{"77":1},"2":{"1":3,"3":2,"6":11,"11":1,"20":1,"23":2,"52":1,"55":1,"58":1,"62":1,"63":1,"65":1,"68":1,"69":1,"70":1,"72":1,"73":1,"81":1,"84":1,"87":1,"90":1,"91":1,"93":1,"103":1,"105":1,"107":1,"116":1,"118":1,"119":1,"121":1,"124":1,"134":1,"143":8,"146":1,"148":1,"150":2,"153":2,"162":1,"164":1,"165":1,"167":1,"168":1,"179":1,"180":2,"185":1,"188":1,"198":1,"200":1}}],["either",{"2":{"1":2,"3":1,"6":2,"22":1,"25":1,"30":1,"64":9,"70":1,"72":1,"73":2,"81":1,"82":1,"84":1,"94":1,"116":5,"118":1,"124":1,"125":1,"135":1,"143":1,"150":2,"153":3,"169":1,"197":1}}],["lj",{"2":{"143":2}}],["lrs",{"2":{"180":2}}],["lr",{"2":{"143":3,"153":3}}],["lp",{"2":{"116":2}}],["lstart",{"2":{"116":2}}],["ls",{"2":{"116":12}}],["ll",{"2":{"17":1,"58":1,"175":2,"180":1,"192":1,"194":1}}],["l",{"2":{"14":4,"59":6,"105":2,"116":32}}],["lgeos",{"2":{"180":1}}],["lg",{"2":{"13":1,"14":1,"15":2,"32":5,"33":1,"35":3,"36":3,"37":3,"38":3,"40":3,"41":3,"42":3,"43":3,"44":3,"45":3,"46":3,"47":3,"48":3,"49":3,"50":3,"79":4,"176":9,"180":17}}],["l305",{"2":{"6":1}}],["log10",{"2":{"176":2,"180":4}}],["log",{"2":{"175":2}}],["loudly",{"2":{"153":1}}],["location",{"2":{"64":1,"116":6}}],["locally",{"2":{"158":2}}],["local",{"2":{"53":3,"56":1,"64":4,"71":1,"82":1,"143":1}}],["loose",{"2":{"161":1}}],["lookup",{"2":{"143":1,"153":1}}],["looks",{"2":{"62":1}}],["look",{"2":{"55":2,"143":2,"162":1,"175":1}}],["looping",{"2":{"143":1}}],["loop",{"2":{"53":1,"59":2,"63":3,"64":8,"66":1,"73":1,"82":1,"116":5,"143":3,"182":1}}],["lower",{"2":{"6":1,"7":1,"143":1,"198":1}}],["lon",{"2":{"6":2,"175":1,"176":2}}],["longitude",{"2":{"158":3,"192":2}}],["long",{"2":{"6":1,"73":1,"176":1,"199":1}}],["longer",{"2":{"6":3,"174":1,"176":2,"177":1}}],["lots",{"2":{"192":1}}],["lot",{"2":{"6":1,"23":1,"53":1,"56":1,"63":1,"66":1,"85":1,"91":1,"122":1,"148":1,"175":1,"188":2}}],["load",{"2":{"153":1,"154":1,"180":1,"190":2}}],["loading",{"2":{"60":1,"173":1,"176":1}}],["loads",{"2":{"5":1,"6":1,"59":1}}],["loaded",{"2":{"1":1,"60":3,"172":1,"173":2,"176":2}}],["laptop",{"2":{"199":1}}],["land",{"2":{"192":8}}],["lazily",{"2":{"156":2}}],["layers",{"2":{"151":1}}],["label",{"2":{"14":4,"15":2,"77":2,"79":1,"84":1,"143":3,"175":2,"179":2,"180":2}}],["labels",{"2":{"13":2,"143":1}}],["latitude",{"2":{"158":3,"192":2}}],["later",{"2":{"56":1,"79":1,"143":1}}],["lat",{"2":{"6":3,"175":1,"176":3}}],["larger",{"2":{"64":1,"81":1,"184":1}}],["large",{"2":{"6":8,"59":1,"180":2,"195":1,"199":1}}],["lastindex",{"2":{"184":1}}],["last",{"2":{"4":3,"6":3,"9":1,"53":11,"56":2,"58":2,"64":9,"66":4,"85":7,"91":5,"116":20,"127":1,"143":6,"162":1,"166":2,"182":1}}],["lt",{"2":{"6":6,"73":4,"175":1}}],["len",{"2":{"182":7}}],["length",{"2":{"0":1,"5":1,"6":5,"9":1,"18":1,"59":32,"61":1,"62":1,"63":22,"64":11,"66":1,"69":2,"70":2,"72":1,"73":1,"81":1,"82":1,"116":1,"143":16,"153":2,"154":1,"166":2,"175":1,"181":1,"182":1,"183":1,"184":7}}],["legend",{"2":{"180":4}}],["le",{"2":{"116":10}}],["leaving",{"2":{"162":1}}],["leaf",{"2":{"153":1,"156":3}}],["leading",{"2":{"191":1}}],["lead",{"2":{"73":1,"162":1}}],["least",{"2":{"3":4,"6":4,"64":1,"73":1,"82":2,"116":14,"122":6,"125":1,"128":3,"129":2,"130":2,"131":1,"132":1,"135":1,"141":1,"146":1}}],["leftjoin",{"2":{"197":1}}],["leftover",{"2":{"64":1}}],["left=1",{"2":{"64":1}}],["left",{"2":{"59":1,"64":5,"143":2,"146":1,"182":17,"184":5}}],["lets",{"2":{"56":1}}],["let",{"2":{"55":1,"62":1,"116":1,"143":3,"175":1,"191":6,"192":4,"193":3,"194":2,"195":2,"200":1}}],["levels",{"2":{"143":1,"151":1,"159":1}}],["level",{"2":{"6":1,"7":1,"9":1,"18":2,"20":1,"27":1,"151":1,"153":2,"161":1,"163":1,"164":1,"166":2,"169":4,"170":1,"193":2}}],["less",{"2":{"3":1,"6":7,"53":1,"56":1,"59":1,"63":1,"66":1,"85":1,"91":1,"105":1,"122":1,"143":1,"180":1,"181":1}}],["l289",{"2":{"6":1}}],["l2",{"2":{"3":4,"4":4,"6":8,"87":8,"90":4,"91":12,"104":2,"107":5,"121":4,"124":3,"125":2,"134":8}}],["l195",{"2":{"6":1}}],["l177",{"2":{"6":1}}],["l1",{"2":{"3":6,"4":4,"6":10,"87":8,"90":4,"91":12,"93":4,"94":2,"103":4,"104":2,"107":5,"121":4,"124":3,"125":2,"134":8}}],["li",{"2":{"143":2}}],["lie",{"2":{"73":1}}],["lies",{"2":{"64":3,"158":1,"198":1}}],["limitations",{"2":{"73":1}}],["limits",{"2":{"58":1}}],["limited",{"2":{"6":1,"174":1,"177":1}}],["library",{"2":{"69":1,"195":1}}],["libraries",{"2":{"56":1,"164":1,"195":1}}],["libgeos",{"2":{"6":2,"13":1,"14":1,"15":1,"23":1,"32":2,"56":1,"60":5,"79":1,"147":1,"176":7,"180":4,"188":2}}],["little",{"2":{"31":1}}],["literate",{"2":{"29":1,"31":1,"32":1,"50":1,"53":1,"56":1,"59":1,"60":1,"63":1,"64":1,"66":1,"69":1,"71":1,"73":1,"74":1,"80":1,"82":1,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"122":1,"132":1,"142":1,"143":1,"146":1,"147":1,"153":1,"154":1,"155":1,"156":1,"160":1,"163":1,"166":1,"167":1,"170":1,"171":1,"173":1,"177":1,"184":1,"185":1,"186":1,"188":1,"189":1}}],["lift",{"2":{"14":2}}],["lin",{"2":{"176":5}}],["linked",{"2":{"75":1}}],["linrange",{"2":{"13":2,"14":5,"58":2,"84":1,"143":2,"176":1,"180":2}}],["linering",{"2":{"192":1}}],["linewidth",{"2":{"55":1,"191":1}}],["linesegment",{"2":{"146":2,"177":1}}],["lines",{"0":{"97":1,"111":1,"128":1,"138":1},"2":{"3":1,"4":4,"6":5,"64":3,"68":1,"73":9,"77":1,"78":2,"79":2,"84":1,"87":3,"90":4,"91":4,"93":1,"94":1,"103":2,"105":1,"107":3,"116":2,"118":3,"121":4,"122":2,"124":4,"134":3,"135":1,"143":3,"178":1,"191":4,"196":2}}],["linestrings",{"2":{"4":2,"6":2,"9":1,"91":2,"145":1,"161":1,"191":1}}],["linestringtrait",{"2":{"3":2,"4":4,"6":7,"11":3,"32":1,"53":1,"63":4,"72":2,"85":2,"91":8,"96":1,"97":4,"98":1,"105":6,"110":1,"111":5,"122":4,"127":1,"128":4,"129":1,"137":1,"138":4,"139":1,"151":1,"159":2,"169":2,"170":1,"177":2}}],["linestring",{"2":{"3":5,"4":6,"6":15,"18":1,"20":1,"53":2,"63":2,"85":4,"87":2,"88":1,"90":2,"91":2,"96":1,"97":3,"104":2,"107":2,"108":1,"110":1,"111":4,"116":2,"121":2,"127":1,"128":3,"129":1,"134":2,"135":1,"137":1,"138":4,"139":1,"146":7,"153":2,"154":2,"189":3,"191":5,"196":1}}],["linetrait",{"2":{"3":2,"4":4,"6":6,"53":1,"64":2,"69":2,"72":2,"85":2,"91":8,"96":1,"97":4,"98":1,"110":1,"111":5,"122":4,"127":1,"128":4,"129":1,"137":1,"138":4,"139":1}}],["line2",{"2":{"3":3,"6":7,"72":2,"73":2,"105":5,"118":3,"119":2,"122":3,"146":5}}],["line1",{"2":{"3":4,"6":8,"72":2,"73":2,"105":5,"118":3,"119":2,"122":5,"146":5}}],["linea",{"2":{"1":1,"6":1,"185":1}}],["linearmap",{"2":{"180":1}}],["linearalgebra",{"2":{"29":1}}],["linear",{"2":{"4":7,"6":10,"9":1,"56":2,"59":1,"62":1,"63":3,"66":1,"73":1,"85":5,"91":8,"98":1,"116":2,"128":1,"129":2,"138":1,"145":1,"153":1,"154":1,"158":1,"163":3,"175":5,"176":3,"177":4}}],["linearr",{"2":{"1":1,"6":1,"185":1}}],["linearrings",{"2":{"9":1,"112":1,"143":6,"161":1,"191":1}}],["linearringtrait",{"2":{"4":4,"6":4,"11":3,"32":1,"53":3,"56":2,"63":4,"64":4,"72":2,"85":2,"91":8,"96":1,"97":1,"98":4,"110":1,"111":2,"112":3,"127":1,"128":1,"129":4,"137":1,"138":1,"139":4,"159":2,"169":1,"177":2,"180":1}}],["linearring",{"2":{"1":10,"3":2,"4":1,"6":13,"29":1,"53":2,"63":2,"64":2,"80":1,"81":2,"82":1,"85":1,"96":1,"98":3,"110":1,"111":1,"112":2,"116":2,"122":4,"127":1,"128":1,"129":3,"137":1,"139":4,"143":3,"146":1,"150":2,"153":5,"154":2,"161":1,"162":6,"163":1,"165":13,"180":1,"185":8,"191":24,"192":6,"193":8,"198":2}}],["linearsegments",{"2":{"0":1,"6":1,"174":1,"175":1,"176":3,"177":2}}],["line",{"0":{"116":1},"2":{"0":1,"3":13,"4":9,"6":52,"23":1,"52":2,"53":7,"62":3,"63":10,"64":12,"66":8,"68":6,"69":18,"72":8,"73":67,"82":6,"85":11,"88":2,"91":5,"93":2,"94":1,"96":2,"97":11,"98":8,"103":1,"105":11,"108":2,"110":1,"111":9,"112":4,"116":141,"118":2,"119":2,"121":3,"122":12,"124":2,"125":2,"127":1,"128":10,"129":3,"135":2,"137":2,"138":10,"139":7,"143":2,"146":6,"177":1,"180":1,"181":1,"182":4,"183":1,"189":3,"191":3}}],["lineorientation",{"2":{"0":1,"6":2,"72":2}}],["lists",{"2":{"20":1,"64":3,"122":1}}],["listed",{"2":{"6":1,"53":1,"180":1}}],["list",{"2":{"6":16,"9":1,"53":20,"64":233,"69":20,"70":14,"71":8,"72":13,"73":5,"81":13,"82":1,"199":2}}],["likely",{"2":{"151":1}}],["like",{"0":{"74":1},"2":{"1":2,"6":5,"17":1,"18":2,"19":1,"20":1,"23":1,"24":1,"27":1,"56":1,"58":1,"59":1,"62":1,"66":1,"70":1,"72":1,"80":1,"81":1,"84":1,"85":1,"91":1,"148":2,"150":2,"153":1,"154":2,"159":2,"169":2,"170":1,"174":1,"175":1,"192":2}}],["iah",{"2":{"196":2}}],["i=2",{"2":{"146":1}}],["image",{"2":{"143":1}}],["impossible",{"2":{"69":1,"121":1}}],["important",{"2":{"175":1}}],["import",{"2":{"1":3,"6":4,"13":2,"14":2,"15":1,"29":9,"52":1,"55":1,"60":1,"62":1,"65":1,"69":1,"70":1,"72":1,"73":1,"81":1,"84":1,"87":1,"88":1,"90":1,"91":1,"93":1,"94":1,"103":1,"104":1,"105":1,"107":1,"108":1,"118":1,"119":1,"121":1,"122":1,"124":1,"125":1,"134":1,"135":1,"146":3,"150":1,"153":2,"154":1,"173":1,"176":2,"179":2,"180":3,"185":2,"189":1,"190":5}}],["implements",{"2":{"32":1,"188":1}}],["implementing",{"2":{"6":1,"180":1}}],["implement",{"2":{"6":1,"17":1,"23":1,"53":1,"56":1,"59":1,"63":1,"66":1,"80":1,"85":1,"91":1,"94":1,"108":1,"122":1,"125":1,"135":1,"148":1,"168":1,"169":3,"170":1}}],["implementation",{"0":{"53":1,"56":1,"63":1,"66":1,"69":1,"80":1,"85":1,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"125":1,"135":1,"163":1,"166":1,"177":1},"2":{"6":1,"53":3,"56":3,"59":1,"63":3,"66":3,"81":1,"85":3,"88":1,"91":3,"94":2,"104":1,"108":2,"119":1,"122":3,"125":2,"135":2,"143":2,"147":1,"153":1,"154":1,"172":1,"177":1,"180":1,"188":1}}],["implementations",{"2":{"6":1,"94":1,"108":1,"125":1,"135":1,"147":1,"178":1,"188":3}}],["implemented",{"0":{"147":1},"2":{"1":1,"6":2,"29":1,"56":1,"59":3,"69":2,"71":2,"73":2,"80":1,"82":2,"85":2,"147":1,"148":2,"154":1,"169":2,"172":1,"178":1}}],["improvements",{"2":{"9":2,"10":1}}],["improve",{"2":{"4":1,"6":1,"171":1}}],["ipoints",{"2":{"116":4}}],["ip",{"2":{"91":2}}],["ipt",{"2":{"64":8}}],["ihole",{"2":{"91":2}}],["ih",{"2":{"82":22}}],["i2",{"2":{"66":2}}],["i1",{"2":{"66":2}}],["ii",{"2":{"64":8}}],["io",{"2":{"60":5,"173":5,"176":5}}],["i+1",{"2":{"59":8,"143":1,"182":2,"184":1}}],["i",{"2":{"9":1,"13":4,"22":1,"53":14,"56":1,"59":16,"64":28,"66":4,"71":2,"81":2,"82":4,"85":2,"91":8,"105":7,"116":28,"143":17,"146":14,"153":8,"154":8,"177":2,"181":3,"182":12,"184":28,"189":2,"191":2,"192":1,"199":3}}],["id",{"2":{"194":1}}],["identical",{"2":{"153":1,"165":1}}],["identity",{"2":{"143":4,"156":2,"171":1}}],["ideal",{"2":{"143":1}}],["idea",{"2":{"6":1,"20":1,"25":1,"30":1,"59":1,"148":1,"154":1}}],["idx`",{"2":{"64":1}}],["idx",{"2":{"53":6,"64":167,"66":9,"69":23,"70":5,"72":5,"81":2,"166":34,"182":51}}],["id=",{"2":{"6":2}}],["ignored",{"2":{"6":1,"143":1}}],["ignore",{"2":{"6":1,"143":2}}],["innerjoin",{"2":{"197":1,"198":1,"199":1}}],["inner",{"2":{"116":6,"153":5}}],["in=1",{"2":{"116":1}}],["in`",{"2":{"116":1}}],["inject",{"0":{"74":1},"2":{"173":1}}],["inaccuracies",{"2":{"73":1}}],["ind",{"2":{"199":2}}],["individual",{"2":{"193":1}}],["indicate",{"2":{"156":1}}],["indicates",{"2":{"20":1}}],["indices",{"2":{"64":4,"153":2,"154":2,"184":16}}],["indeed",{"2":{"162":1}}],["index",{"2":{"59":8,"64":11,"116":1,"153":1,"182":1}}],["inds",{"2":{"143":3}}],["inplace",{"2":{"59":1}}],["inputs",{"2":{"6":1,"64":1,"88":1,"91":1,"104":1,"119":1,"184":1}}],["input",{"2":{"6":11,"53":1,"69":1,"70":1,"72":1,"73":1,"81":1,"143":1,"148":1,"154":1,"176":3,"177":1,"181":1,"182":1,"183":1,"192":1}}],["inbounds",{"2":{"59":16,"85":5,"116":1}}],["inspiration",{"2":{"69":1}}],["inspired",{"2":{"68":1,"69":2}}],["inside",{"2":{"53":3,"62":1,"64":3,"66":1,"70":1,"71":1,"72":1,"73":1,"81":1,"82":2,"84":3,"85":1,"96":1,"116":1,"134":1,"137":1,"143":2}}],["insertion",{"2":{"64":1}}],["insert",{"2":{"53":1,"182":1}}],["instability",{"2":{"24":2}}],["instantiating",{"2":{"20":1}}],["instead",{"2":{"18":1,"24":1,"154":1,"177":1}}],["instructs",{"2":{"6":1,"188":2}}],["inline",{"2":{"32":1,"116":4,"146":1,"153":12,"154":10,"160":2}}],["init=nothing",{"2":{"154":1}}],["init=typemax",{"2":{"85":2}}],["init=zero",{"2":{"56":1,"66":1}}],["initial",{"2":{"73":2,"176":1}}],["initially",{"2":{"64":1}}],["initialize",{"2":{"59":3,"63":2,"64":1,"73":1}}],["init",{"2":{"19":1,"29":1,"53":1,"63":2,"154":30,"176":4}}],["incorrect",{"2":{"161":1,"162":1}}],["increase",{"2":{"64":1,"116":1}}],["increasing",{"2":{"6":1,"180":1}}],["increment",{"2":{"59":5}}],["including",{"2":{"53":1,"64":2,"73":1,"85":1,"96":1,"97":1,"98":1,"99":1,"116":2}}],["include",{"2":{"29":41,"53":1,"64":1,"75":1,"85":2,"160":1,"180":2,"193":2,"194":1}}],["included",{"2":{"6":2,"82":2,"166":2,"170":2,"193":1}}],["includes",{"2":{"4":2,"6":2,"82":1,"85":2,"91":1,"116":1}}],["incircle",{"0":{"16":1}}],["inv",{"2":{"158":3}}],["investigate",{"2":{"143":1}}],["investigating",{"0":{"79":1}}],["inverted",{"2":{"6":1,"80":1}}],["invalid",{"2":{"20":1,"71":2,"162":1,"164":1,"165":1}}],["invoke",{"2":{"20":1}}],["involved",{"2":{"148":1}}],["involve",{"2":{"20":1}}],["involving",{"2":{"6":3,"70":1,"72":1,"81":1}}],["invocation",{"2":{"18":1}}],["ing",{"2":{"1":1,"6":2,"59":1,"185":1}}],["intr",{"2":{"64":28,"66":9,"69":16,"73":8}}],["intr2",{"2":{"64":2,"73":14}}],["intr1",{"2":{"64":3,"73":21,"116":2}}],["intrs",{"2":{"64":10,"73":5}}],["introduction",{"0":{"25":1},"1":{"26":1,"27":1,"28":1}}],["introducing",{"2":{"24":1}}],["introduces",{"2":{"24":1}}],["int",{"2":{"64":6,"82":7,"105":7,"177":1,"180":1,"182":5,"183":1,"184":1}}],["integrate",{"2":{"56":1}}],["integrating",{"2":{"56":1}}],["integrals",{"2":{"55":1}}],["integral",{"2":{"55":1}}],["intended",{"2":{"6":1,"169":2,"170":1}}],["intermediate",{"2":{"66":1}}],["inter2",{"2":{"66":15}}],["inter1",{"2":{"66":23}}],["interpreted",{"2":{"59":1}}],["interpolation",{"2":{"5":1,"6":1,"58":1,"59":2,"174":1}}],["interpolated",{"2":{"5":3,"6":3,"59":17,"174":1}}],["interpolate",{"2":{"0":2,"5":2,"6":4,"57":1,"58":2,"59":25}}],["interest",{"2":{"59":1,"85":1}}],["internal",{"2":{"58":1}}],["internals",{"2":{"24":1}}],["inter",{"2":{"6":3,"64":21,"69":1,"70":1,"72":5,"73":4}}],["interface",{"0":{"169":1},"2":{"6":3,"20":1,"75":1,"80":1,"153":1,"168":1,"169":4,"170":1,"180":1,"192":1}}],["interacted",{"2":{"116":1}}],["interaction",{"0":{"116":1},"2":{"116":2}}],["interactions",{"2":{"64":1,"82":3,"116":15}}],["interactive",{"2":{"13":1,"14":1}}],["interacting",{"2":{"6":1,"72":1,"116":2}}],["interacts",{"2":{"3":1,"6":1,"116":3,"124":1,"125":1,"128":3,"129":1,"130":1}}],["interact",{"2":{"3":2,"6":2,"81":1,"82":1,"107":1,"116":5,"119":1,"124":1,"125":1,"127":1,"128":2,"129":2,"130":1}}],["interior",{"2":{"3":6,"6":7,"53":9,"55":1,"59":7,"63":5,"64":1,"82":18,"87":1,"88":1,"93":1,"94":3,"97":5,"98":1,"99":2,"103":2,"104":1,"105":1,"108":2,"110":2,"111":6,"112":3,"116":15,"124":1,"125":3,"128":1,"129":2,"130":2,"134":1,"135":3,"140":2,"146":2,"163":1,"170":1}}],["interiors",{"2":{"3":6,"6":7,"59":20,"87":1,"88":1,"93":1,"103":1,"104":1,"107":1,"108":1,"113":1,"116":5,"118":1,"119":1,"124":1,"125":1,"127":1,"128":2,"129":1,"134":1,"135":1,"138":3,"139":3}}],["intersectingpolygons",{"2":{"6":3}}],["intersecting",{"0":{"164":1},"1":{"165":1,"166":1},"2":{"6":4,"29":1,"64":2,"82":2,"164":1,"166":4,"170":4}}],["intersections",{"0":{"73":1},"2":{"64":2,"66":2,"71":1,"72":2,"73":1,"82":1,"116":2}}],["intersection",{"0":{"37":1,"72":1,"117":1},"1":{"118":1,"119":1},"2":{"0":2,"3":3,"6":19,"9":1,"15":4,"23":1,"29":1,"37":2,"64":38,"66":6,"69":3,"70":4,"71":4,"72":15,"73":73,"81":2,"82":2,"105":2,"116":6,"118":1,"122":5}}],["intersect",{"2":{"3":8,"6":11,"64":4,"66":3,"70":2,"72":1,"73":1,"81":1,"82":5,"87":1,"88":2,"93":1,"94":1,"104":1,"108":1,"111":1,"113":1,"116":4,"118":2,"122":1,"134":1,"135":2,"138":3,"139":3,"165":1,"166":4}}],["intersects",{"0":{"49":1,"118":1},"2":{"0":2,"3":3,"6":6,"29":1,"49":2,"64":1,"73":2,"82":2,"105":2,"117":1,"118":4,"119":4,"122":5,"140":1,"166":2,"197":1}}],["into",{"2":{"5":1,"6":5,"17":1,"31":1,"53":1,"56":1,"59":1,"63":4,"64":2,"69":1,"70":1,"72":1,"116":1,"143":4,"153":3,"154":2,"155":1,"156":2,"159":1,"166":1,"180":1,"189":2,"191":2,"197":1}}],["int64",{"2":{"1":6,"6":6,"162":6,"181":1,"182":1,"184":1,"185":6,"191":14}}],["influence",{"2":{"158":1}}],["infinity",{"2":{"116":1,"122":1}}],["info",{"2":{"6":2,"174":1}}],["information",{"0":{"193":1},"2":{"6":1,"27":1,"59":1,"64":2,"65":1,"73":1,"80":1,"116":1,"190":1,"193":3,"195":2}}],["inf",{"2":{"1":1,"9":1,"69":2,"181":1,"184":3}}],["in",{"0":{"23":1},"2":{"1":6,"3":3,"4":1,"5":4,"6":45,"7":1,"9":2,"13":6,"14":2,"17":2,"18":4,"20":1,"23":3,"24":2,"25":1,"27":1,"28":1,"29":2,"30":1,"31":3,"32":1,"33":1,"53":7,"55":1,"56":3,"57":2,"59":22,"60":1,"62":2,"63":5,"64":72,"66":31,"69":6,"70":9,"71":3,"72":5,"73":29,"79":1,"80":3,"81":11,"82":28,"84":6,"85":6,"87":2,"88":1,"90":1,"91":17,"94":10,"97":1,"98":1,"99":1,"100":1,"101":1,"104":1,"105":7,"108":9,"110":1,"111":1,"112":1,"114":1,"115":1,"116":135,"118":2,"119":1,"121":1,"122":11,"124":1,"125":11,"129":1,"131":1,"132":1,"134":1,"135":10,"138":3,"139":3,"141":1,"142":1,"143":10,"146":4,"147":3,"148":1,"150":2,"151":2,"152":1,"153":8,"154":4,"156":8,"157":1,"158":5,"159":1,"160":1,"164":1,"166":7,"167":2,"168":1,"169":1,"170":2,"171":1,"172":3,"173":1,"174":2,"175":2,"176":14,"177":8,"178":1,"180":5,"181":2,"182":4,"183":1,"184":5,"185":2,"186":1,"187":4,"188":4,"189":8,"190":1,"191":2,"192":6,"195":2,"197":4,"198":3,"199":1,"200":1}}],["itererable",{"2":{"189":1}}],["iter",{"2":{"156":31}}],["iterator",{"2":{"64":4,"72":2,"156":4}}],["iterators",{"2":{"13":1,"59":1,"64":5,"66":3,"72":1,"82":2,"143":1,"153":2,"154":3,"156":8,"166":6,"177":1}}],["iterate",{"2":{"59":2,"151":1,"153":1,"156":4}}],["iteration",{"2":{"56":1}}],["iterabletype",{"2":{"153":5,"154":6}}],["iterable",{"2":{"4":1,"6":2,"18":1,"56":1,"66":1,"80":1,"153":17,"154":15,"156":11,"191":1}}],["iterables",{"2":{"1":2,"22":1,"150":2,"153":1,"154":2,"156":3}}],["ith",{"2":{"64":3,"82":7}}],["itself",{"2":{"66":1,"146":1,"151":1}}],["its",{"2":{"5":1,"6":9,"18":1,"55":1,"59":1,"64":2,"66":4,"82":1,"97":1,"156":2,"168":1,"180":1,"181":1,"182":1,"183":3,"197":1}}],["it",{"2":{"1":4,"4":1,"6":14,"9":1,"18":11,"19":2,"20":1,"22":1,"27":3,"28":1,"52":1,"53":1,"55":2,"56":3,"58":1,"60":1,"63":2,"64":2,"65":1,"66":2,"70":1,"71":1,"72":1,"73":4,"79":2,"80":2,"81":1,"82":3,"85":3,"91":1,"93":2,"96":3,"110":3,"116":14,"121":1,"122":1,"127":2,"137":3,"143":4,"145":1,"146":2,"148":3,"150":1,"151":3,"152":1,"153":8,"154":5,"156":8,"158":1,"159":2,"160":2,"162":1,"163":1,"164":1,"168":1,"170":1,"172":5,"175":2,"176":1,"177":1,"180":1,"182":1,"187":1,"188":7,"192":3,"193":3,"195":3,"199":2,"200":2}}],["iff",{"2":{"153":1}}],["if",{"0":{"74":1},"2":{"1":5,"3":17,"4":19,"5":1,"6":68,"18":1,"22":2,"32":1,"52":1,"53":15,"55":1,"56":6,"59":5,"60":3,"63":1,"64":95,"66":36,"69":8,"70":13,"71":12,"72":9,"73":44,"80":3,"81":10,"82":22,"84":2,"85":8,"87":1,"88":1,"90":2,"91":35,"93":1,"94":2,"96":4,"97":3,"98":3,"99":2,"100":1,"101":1,"103":1,"104":1,"105":9,"107":1,"108":3,"110":5,"111":4,"112":2,"113":2,"114":1,"115":1,"116":132,"118":1,"119":1,"121":4,"122":16,"124":1,"125":2,"127":4,"128":3,"129":2,"130":2,"131":1,"132":1,"134":1,"135":2,"137":5,"138":3,"139":3,"140":1,"141":1,"142":1,"143":35,"146":5,"150":3,"151":1,"153":19,"154":6,"156":9,"160":1,"163":1,"164":1,"166":12,"167":1,"169":1,"170":2,"171":1,"172":3,"173":2,"176":6,"177":1,"180":1,"182":12,"184":12,"185":1,"186":1,"188":2,"192":1,"195":1,"198":2,"199":1}}],["isolate",{"2":{"180":1}}],["isodd",{"2":{"69":1}}],["istable",{"2":{"153":1,"154":1,"156":1}}],["isequal",{"2":{"143":1}}],["iseven",{"2":{"116":1}}],["isempty",{"2":{"56":1,"59":4,"66":1,"70":1,"71":2,"72":1,"143":1,"169":1,"182":1}}],["isparallel",{"2":{"116":1,"146":8}}],["is3d",{"2":{"91":1,"156":1,"167":1,"185":1,"186":1,"189":10}}],["issue",{"2":{"64":1}}],["issues",{"2":{"25":1,"30":1}}],["isa",{"2":{"18":1,"59":9,"153":3,"154":1,"177":2,"189":1}}],["isnothing",{"2":{"60":1,"64":9,"69":1,"71":2,"73":2,"82":2,"91":1,"143":1,"173":1,"176":1,"180":1,"181":1,"182":5,"183":1,"184":6}}],["isn",{"2":{"6":1,"56":1,"64":4,"66":1,"69":1,"71":1,"73":3,"82":2,"85":3,"91":1,"93":1,"116":9,"122":1,"180":1,"188":1}}],["isconcave",{"0":{"146":1},"2":{"0":1,"6":2,"79":1,"144":1,"146":3}}],["isclockwise",{"0":{"145":1},"2":{"0":1,"6":2,"66":1,"143":2,"144":1,"146":5}}],["is",{"0":{"30":1,"52":1,"55":2,"62":1,"65":1,"68":1,"84":2,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"124":1,"134":1,"151":1},"2":{"0":1,"1":10,"3":8,"4":43,"5":1,"6":103,"9":3,"11":1,"13":1,"14":1,"18":3,"19":1,"20":1,"22":3,"23":2,"25":2,"30":2,"52":1,"53":19,"55":7,"56":19,"57":2,"58":2,"59":15,"60":3,"62":2,"63":5,"64":82,"65":3,"66":22,"68":1,"69":2,"70":4,"71":13,"72":4,"73":40,"75":1,"79":5,"80":4,"81":7,"82":20,"84":8,"85":23,"87":2,"88":3,"91":13,"93":4,"94":4,"96":7,"97":3,"98":3,"99":1,"100":1,"101":1,"104":3,"105":3,"107":1,"108":5,"110":9,"111":4,"112":2,"113":1,"114":1,"115":1,"116":91,"119":2,"121":3,"122":12,"125":4,"127":2,"134":4,"135":5,"137":8,"138":3,"139":3,"140":1,"141":2,"142":1,"143":11,"145":2,"146":7,"147":1,"148":3,"150":3,"151":3,"152":1,"153":18,"154":4,"156":7,"158":11,"159":1,"160":1,"161":7,"162":2,"163":1,"164":4,"165":1,"166":2,"167":1,"168":3,"169":2,"170":1,"172":7,"173":2,"174":3,"175":3,"176":9,"177":8,"179":1,"180":4,"181":1,"182":2,"183":1,"185":2,"187":1,"188":3,"191":4,"192":5,"193":3,"194":1,"195":3,"197":2,"198":5,"199":2}}],["cpu",{"2":{"199":1}}],["cp",{"2":{"196":1}}],["circumstances",{"2":{"158":2}}],["cy",{"2":{"146":2}}],["cyan",{"2":{"60":1,"173":1,"176":1}}],["cx",{"2":{"146":2}}],["cdot",{"2":{"146":1}}],["cs",{"2":{"116":9}}],["cshape",{"2":{"62":3}}],["cw",{"2":{"66":2}}],["cb",{"2":{"58":1,"79":1,"143":1}}],["cgrad",{"2":{"58":1}}],["cgal",{"2":{"58":1}}],["c",{"2":{"32":1,"56":1,"62":1,"66":4,"69":5,"74":3,"116":24,"176":1}}],["cleaner",{"2":{"80":1}}],["cleanest",{"2":{"80":1}}],["clear",{"2":{"65":1}}],["clearly",{"2":{"52":1,"55":1,"84":1}}],["clamped",{"2":{"73":18}}],["clamp",{"2":{"53":1,"73":1}}],["classified",{"2":{"64":1}}],["classify",{"2":{"64":4}}],["class",{"2":{"6":1,"143":1}}],["class=",{"2":{"6":6}}],["clipping",{"0":{"64":1,"70":1,"71":1,"73":1,"81":1,"82":1},"2":{"6":1,"9":1,"29":8,"64":9,"69":3,"70":1,"72":1,"81":1,"164":1}}],["closure",{"2":{"153":2}}],["closing",{"2":{"53":1}}],["closer",{"2":{"158":1}}],["close",{"2":{"53":5,"64":2,"66":1,"69":1,"73":1,"85":9,"143":1,"162":1,"163":4}}],["closest",{"2":{"4":3,"6":3,"73":2,"84":1,"85":6,"158":1}}],["closed2",{"2":{"91":2}}],["closed1",{"2":{"91":2}}],["closed",{"0":{"161":1},"1":{"162":1,"163":1},"2":{"4":4,"6":11,"9":1,"29":1,"53":6,"56":3,"63":3,"64":1,"66":1,"73":1,"82":3,"91":21,"96":2,"97":5,"98":5,"110":2,"111":5,"112":3,"116":52,"128":5,"129":1,"137":3,"138":5,"139":5,"143":1,"146":1,"161":1,"162":1,"163":2,"168":1,"170":1,"191":1}}],["closedring",{"2":{"0":1,"6":1,"161":1,"162":1,"163":4,"168":1,"169":1,"170":1}}],["clockwise",{"2":{"4":1,"6":4,"9":1,"55":1,"56":1,"66":7,"79":1,"143":1,"145":2,"146":3}}],["ceil",{"2":{"177":1}}],["ce",{"2":{"116":11}}],["certainly",{"2":{"73":1}}],["certain",{"2":{"17":1,"18":1,"27":1,"31":1}}],["central",{"2":{"64":1}}],["centroids",{"2":{"62":1,"63":1}}],["centroid",{"0":{"61":1,"62":1},"1":{"62":1,"63":1},"2":{"0":4,"4":2,"6":6,"29":1,"61":3,"62":4,"63":38,"148":1,"154":1,"180":4}}],["cent",{"2":{"62":2}}],["centered",{"2":{"64":1}}],["center",{"2":{"6":1,"62":1,"143":1}}],["cells",{"2":{"143":1}}],["cell",{"2":{"6":4,"65":3,"66":28,"143":2}}],["children",{"2":{"180":1}}],["child",{"2":{"156":9}}],["chunks",{"2":{"153":4,"154":5}}],["chunk",{"2":{"153":6,"154":7}}],["chull",{"2":{"50":2}}],["chose",{"2":{"24":1,"143":1}}],["choose",{"2":{"6":1,"80":1,"143":2}}],["changes",{"2":{"64":1}}],["changed",{"2":{"64":1}}],["change",{"2":{"24":1,"64":1,"79":1}}],["chain=2",{"2":{"64":1}}],["chain=1",{"2":{"64":1}}],["chain",{"2":{"64":66,"71":3,"73":4,"79":2,"82":4}}],["chains",{"2":{"20":1,"64":1}}],["chairmarks",{"2":{"13":1,"176":1,"180":1}}],["checkargs",{"2":{"181":1,"182":1,"183":1,"184":1}}],["checking",{"2":{"91":1,"182":1}}],["checks",{"0":{"105":1,"117":1},"1":{"118":1,"119":1},"2":{"60":1,"64":1,"73":1,"87":1,"90":1,"93":1,"103":1,"107":1,"116":5,"118":1,"121":1,"122":1,"124":1,"134":1,"198":1}}],["check",{"2":{"4":1,"6":1,"7":1,"63":1,"64":8,"66":3,"69":1,"70":1,"73":4,"74":1,"81":1,"91":8,"116":11,"143":5,"153":1,"165":1,"171":1,"175":2,"182":1,"184":1}}],["checked",{"2":{"4":1,"6":1,"64":1,"73":1,"79":1,"116":1,"171":1}}],["c2",{"2":{"6":3,"15":2,"85":3,"91":14,"143":21}}],["c1",{"2":{"6":3,"15":2,"85":4,"91":13,"143":26}}],["ctor",{"2":{"1":1,"6":1,"185":1}}],["categorize",{"2":{"69":1}}],["categorical",{"2":{"58":1}}],["came",{"2":{"69":1}}],["case",{"2":{"53":1,"57":2,"63":1,"64":1,"70":1,"73":2,"82":1,"116":16,"154":1,"177":1,"200":1}}],["cases",{"2":{"6":1,"59":1,"69":2,"116":3,"151":1,"153":1,"154":1,"156":3}}],["cause",{"2":{"18":1,"23":1,"182":1}}],["careful",{"2":{"59":1,"151":1}}],["care",{"2":{"17":1,"153":1,"158":1}}],["carried",{"2":{"6":1,"188":1}}],["cairomakie",{"2":{"13":1,"52":1,"55":1,"58":2,"62":1,"65":1,"68":1,"77":1,"78":1,"79":1,"84":1,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"124":1,"134":1,"175":1,"176":1,"180":1,"190":1,"196":1,"198":1,"199":1}}],["california",{"2":{"199":1}}],["callable",{"2":{"143":4,"169":1}}],["calls",{"2":{"64":1,"73":1,"82":1,"85":1,"94":1,"108":1,"125":1,"135":1,"151":1,"153":1,"177":1}}],["calling",{"2":{"33":1,"64":2,"153":1}}],["call",{"2":{"18":1,"24":1,"56":1,"63":1,"153":4,"178":1}}],["called",{"2":{"6":2,"63":3,"64":1,"153":1,"163":1,"169":1,"170":1,"188":1,"192":1}}],["calculation",{"2":{"73":1}}],["calculations",{"2":{"6":1,"25":2,"30":2,"73":1,"158":2,"176":1}}],["calculating",{"2":{"4":1,"6":1,"18":1,"64":1,"171":1}}],["calculated",{"2":{"6":1,"62":2,"66":1,"73":2,"85":1,"153":4}}],["calculates",{"2":{"4":2,"6":6,"56":1,"59":2,"66":1,"73":2,"81":1,"85":2,"176":1,"183":1}}],["calculate",{"2":{"1":2,"5":1,"6":5,"11":1,"53":3,"59":3,"63":1,"66":1,"73":1,"116":1,"143":1,"150":1,"153":3,"155":1}}],["calc",{"2":{"1":2,"6":3,"24":1,"29":1,"32":1,"35":2,"36":2,"37":2,"38":2,"50":1,"53":4,"150":1,"152":1,"153":19,"155":1,"160":1,"171":1,"180":2}}],["cache",{"2":{"6":1,"59":1}}],["cant",{"2":{"91":1,"143":1,"189":1}}],["cannot",{"2":{"3":3,"4":2,"6":5,"56":1,"91":1,"96":1,"99":1,"122":2,"125":1,"127":2,"129":1,"140":1}}],["can",{"2":{"1":1,"4":2,"6":14,"7":2,"9":1,"13":1,"14":1,"24":1,"29":1,"31":1,"53":1,"56":1,"57":2,"58":1,"59":3,"60":1,"63":1,"64":3,"66":1,"70":3,"72":3,"73":1,"79":1,"80":2,"81":3,"82":1,"87":1,"90":1,"91":3,"93":1,"105":1,"107":1,"116":23,"118":2,"121":2,"122":3,"124":1,"128":1,"129":1,"134":1,"137":1,"138":1,"139":1,"143":1,"147":1,"148":1,"150":1,"152":1,"153":8,"155":1,"156":2,"158":1,"162":2,"163":1,"164":2,"165":1,"170":1,"171":1,"173":1,"175":1,"176":2,"180":2,"188":1,"191":6,"192":1,"193":3,"195":3,"197":3,"198":3}}],["creation",{"2":{"191":1,"193":1}}],["creating",{"0":{"190":1,"191":1,"194":1},"1":{"191":1,"192":1,"193":1,"194":1,"195":1},"2":{"116":1}}],["creates",{"2":{"7":1,"64":3}}],["create",{"0":{"193":1},"2":{"6":2,"13":2,"14":1,"64":1,"69":1,"73":2,"80":1,"143":2,"153":1,"164":3,"166":2,"170":2,"190":2,"191":4,"192":5,"193":3,"194":1,"195":1,"198":1}}],["created",{"2":{"4":2,"6":2,"64":1,"85":3}}],["criteria",{"2":{"94":2,"108":2,"125":2,"135":2,"182":3}}],["cropping",{"2":{"58":2}}],["cross=1",{"2":{"72":1}}],["cross`",{"2":{"72":1}}],["crossings",{"2":{"64":3,"116":1}}],["crossing",{"0":{"105":1},"2":{"6":2,"64":81,"70":1,"71":7,"72":3,"73":7,"81":1,"82":6,"94":1,"105":1,"116":1,"135":1}}],["cross",{"0":{"132":1},"2":{"6":1,"9":1,"53":3,"64":13,"69":14,"70":2,"71":1,"72":2,"73":10,"74":4,"81":2,"82":1,"94":1,"105":2,"108":1,"116":17,"122":2,"125":1,"135":1,"146":3}}],["crosses",{"0":{"43":1},"2":{"0":2,"3":2,"6":3,"29":1,"43":2,"64":1,"69":1,"105":26,"116":2,"197":1}}],["crc",{"2":{"6":1,"59":1}}],["crs2",{"2":{"192":2}}],["crs1",{"2":{"192":2,"193":1}}],["crs=nothing",{"2":{"153":1,"171":1,"180":1}}],["crs=gi",{"2":{"153":5,"156":3}}],["crs`",{"2":{"153":1,"172":6}}],["crs",{"0":{"192":1},"2":{"1":16,"4":2,"6":8,"29":1,"32":2,"35":2,"36":2,"37":2,"38":2,"50":2,"80":1,"143":10,"150":2,"152":3,"153":36,"155":2,"156":5,"171":1,"172":7,"180":1,"190":1,"192":13,"193":7,"195":1}}],["customize",{"2":{"153":1,"154":1}}],["custom",{"0":{"200":1},"2":{"6":3,"59":1,"200":2}}],["curr^2",{"2":{"53":2}}],["curr",{"2":{"53":8,"64":116,"69":9,"82":3,"166":26}}],["currentnode",{"2":{"143":8}}],["current",{"2":{"53":1,"59":8,"64":3,"69":2,"71":1,"73":1,"82":6,"143":2,"166":3}}],["currently",{"2":{"5":1,"6":3,"23":1,"59":1,"64":1,"69":1,"71":2,"143":1,"153":1,"158":2}}],["curve",{"0":{"116":1},"2":{"3":1,"4":7,"6":18,"53":6,"56":7,"64":5,"66":3,"72":7,"84":1,"85":22,"91":6,"94":2,"96":4,"97":9,"98":9,"108":1,"110":4,"111":6,"112":3,"116":152,"122":1,"125":1,"128":6,"130":3,"135":1,"137":4,"138":6,"139":6}}],["curves",{"2":{"0":1,"3":1,"6":5,"56":3,"66":3,"73":1,"84":1,"85":1,"91":13,"99":1,"116":1,"122":1,"140":1,"180":2}}],["cutpolygon",{"2":{"68":1}}],["cuts",{"2":{"68":1}}],["cutting",{"0":{"67":1},"1":{"68":1,"69":1},"2":{"64":1,"69":2}}],["cut",{"0":{"68":1},"2":{"0":1,"6":6,"29":1,"59":1,"67":1,"68":5,"69":22,"116":1}}],["coastlines",{"2":{"196":1}}],["coarse",{"2":{"6":1,"174":1,"177":1}}],["cos",{"2":{"191":3,"192":1,"193":2}}],["copy",{"2":{"153":1,"169":1,"184":1}}],["coors1",{"2":{"146":2}}],["coors2",{"2":{"146":3}}],["coord",{"2":{"177":6}}],["coords",{"2":{"69":9,"177":8}}],["coordinatetransformations",{"2":{"1":2,"6":2,"180":1,"185":2,"190":1,"191":5,"193":2}}],["coordinate",{"0":{"59":1,"167":1,"192":1,"193":1},"2":{"1":4,"5":5,"6":7,"25":1,"30":1,"58":2,"59":10,"156":1,"172":4,"177":1,"190":3,"192":1}}],["coordinates",{"0":{"5":1,"57":1},"1":{"58":1,"59":1},"2":{"0":4,"1":1,"4":2,"5":7,"6":20,"56":2,"57":8,"59":25,"64":2,"65":1,"69":2,"70":1,"72":1,"81":1,"85":1,"91":2,"148":1,"158":2,"167":2,"172":1,"175":1,"176":3,"192":2}}],["co",{"2":{"116":2}}],["core",{"2":{"157":1}}],["corner",{"2":{"66":4,"143":1}}],["corners",{"2":{"66":1}}],["correspondent",{"2":{"146":1}}],["correspond",{"2":{"64":1}}],["corresponding",{"2":{"53":3,"71":2}}],["corrected",{"2":{"169":1}}],["correctness",{"2":{"161":1,"188":1}}],["correctly",{"2":{"153":1,"175":1}}],["correcting",{"2":{"20":1,"169":1}}],["corrections",{"0":{"168":1,"170":1},"1":{"169":1,"170":1},"2":{"162":1,"165":1,"169":6}}],["correction",{"2":{"6":10,"29":4,"70":1,"71":2,"72":1,"73":2,"81":1,"82":2,"161":1,"163":2,"164":1,"166":2,"168":2,"169":8,"170":7}}],["correct",{"2":{"6":3,"24":1,"53":1,"56":1,"63":1,"64":1,"66":1,"70":1,"72":1,"81":1,"85":1,"91":1,"94":1,"108":1,"122":1,"125":1,"135":1,"161":1,"162":2,"168":1}}],["cov",{"2":{"66":16}}],["cover",{"2":{"96":1,"100":1}}],["covering",{"2":{"6":2,"103":1,"166":2,"170":2}}],["covered",{"0":{"98":1,"99":1,"139":1},"2":{"3":1,"6":1,"71":1,"82":1,"93":1,"94":1,"98":2,"99":2,"100":1,"101":2,"103":1,"115":2,"116":3,"166":1}}],["coveredby",{"0":{"48":1,"92":1,"93":1,"96":1,"97":1,"100":1,"101":1,"115":1},"1":{"93":1,"94":1},"2":{"0":2,"3":4,"6":4,"29":1,"48":2,"64":1,"92":1,"93":3,"94":10,"95":6,"96":13,"97":15,"98":13,"99":5,"100":2,"101":2,"104":3,"197":1}}],["covers",{"0":{"47":1,"102":1,"103":1},"1":{"103":1,"104":1},"2":{"0":2,"3":5,"6":5,"29":1,"47":2,"102":1,"103":4,"104":5,"143":1,"197":1}}],["coverages",{"2":{"6":1,"66":1}}],["coverage",{"0":{"65":1},"2":{"0":1,"6":2,"29":1,"65":3,"66":16}}],["code",{"2":{"7":1,"10":1,"31":5,"59":1,"94":1,"108":1,"116":1,"125":1,"135":1,"146":1,"160":1,"187":1,"199":1}}],["colatitude",{"2":{"158":1}}],["colname",{"2":{"153":3}}],["col",{"2":{"153":2,"154":1}}],["columns",{"2":{"153":2}}],["column",{"2":{"22":1,"153":9,"154":8,"156":2,"194":2,"197":8}}],["colored",{"2":{"198":1}}],["color=",{"2":{"192":2}}],["colors",{"2":{"77":1,"78":1,"196":1,"198":2}}],["colorrange",{"2":{"58":2,"84":1}}],["colorbar",{"2":{"58":1,"79":1,"84":1,"143":1}}],["colormap",{"2":{"14":1,"58":3,"84":1}}],["color",{"2":{"6":1,"55":1,"58":2,"59":1,"60":1,"62":1,"68":3,"77":1,"78":1,"79":2,"84":2,"87":4,"90":4,"93":1,"103":1,"107":4,"121":4,"134":4,"173":1,"176":1,"191":1,"192":1,"196":1,"198":5}}],["collect",{"2":{"11":3,"13":1,"50":1,"52":1,"55":2,"59":1,"62":1,"65":2,"68":2,"80":2,"84":1,"143":3,"153":2,"154":1,"175":4,"189":2}}],["collections",{"0":{"100":1,"101":1,"114":1,"115":1,"131":1,"132":1,"141":1,"142":1},"2":{"1":2,"6":8,"22":1,"150":2,"152":1,"153":2,"154":2,"156":3,"180":2,"195":1}}],["collection",{"2":{"1":1,"4":7,"6":12,"18":2,"27":2,"53":2,"56":3,"66":2,"85":2,"100":2,"101":2,"114":2,"115":2,"131":2,"132":2,"141":2,"142":2,"148":1,"150":1,"153":3,"154":1,"180":1,"186":1,"189":1}}],["collinear",{"2":{"3":1,"6":2,"64":5,"70":2,"72":3,"73":12,"81":2,"121":1,"122":2}}],["come",{"2":{"158":1}}],["commonly",{"2":{"195":1}}],["common",{"2":{"90":1,"155":1,"177":1,"190":1,"192":1,"193":1}}],["commented",{"2":{"146":1}}],["comments",{"2":{"116":1}}],["comment",{"2":{"28":1}}],["combos",{"2":{"71":1,"73":1,"82":1}}],["combination",{"2":{"64":1,"156":2}}],["combines",{"2":{"63":1}}],["combine",{"2":{"63":2,"64":5,"166":1}}],["combined",{"2":{"6":1,"64":4,"82":1,"166":2,"170":1,"191":1}}],["coming",{"2":{"66":1}}],["com",{"2":{"6":2,"73":1,"80":1,"158":1}}],["compilation",{"2":{"160":1}}],["compiled",{"2":{"24":1}}],["compiler",{"2":{"24":1,"153":2,"160":2}}],["complex",{"2":{"148":1,"180":1,"197":1}}],["complexity",{"2":{"148":1}}],["complete",{"2":{"56":1}}],["completely",{"2":{"1":1,"3":4,"6":4,"64":2,"71":1,"82":1,"87":2,"88":1,"94":1,"103":1,"104":1,"116":1,"135":1,"150":1,"153":1,"158":1}}],["components",{"2":{"62":1,"63":2,"154":1,"156":25}}],["component",{"2":{"56":3,"63":11,"66":8,"73":1,"153":2,"156":2}}],["composed",{"2":{"4":4,"6":5,"91":5,"191":2}}],["comprised",{"2":{"6":3,"70":1,"72":1,"81":1}}],["computing",{"2":{"60":1,"75":1}}],["computational",{"2":{"6":1,"59":1}}],["computation",{"2":{"6":6,"59":1,"63":1,"70":1,"72":1,"81":1,"181":2,"182":2,"183":2}}],["computer",{"2":{"6":1,"59":1}}],["computes",{"2":{"6":1,"80":1}}],["compute",{"2":{"4":1,"6":3,"56":1,"59":1,"80":3,"177":1}}],["computed",{"2":{"4":4,"6":5,"53":1,"56":3,"59":3,"66":1,"196":1}}],["compact",{"2":{"199":3}}],["comparisons",{"2":{"197":1}}],["comparing",{"2":{"82":1,"91":1}}],["compares",{"2":{"143":1}}],["compared",{"2":{"91":1}}],["compare",{"2":{"3":1,"4":1,"6":2,"53":1,"82":1,"91":2,"122":1}}],["compatibility",{"2":{"56":1}}],["compatible",{"2":{"1":3,"22":1,"25":1,"30":1,"53":1,"56":1,"59":2,"63":1,"66":1,"85":1,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"125":1,"135":1,"150":1,"151":1,"153":1,"172":2}}],["couple",{"2":{"194":1}}],["course",{"2":{"152":1}}],["country",{"2":{"199":8}}],["countries",{"2":{"11":1,"78":1,"180":1}}],["counted",{"2":{"73":2}}],["counters",{"2":{"59":8}}],["counterparts",{"2":{"33":1}}],["counter",{"2":{"6":1,"64":7,"116":1,"145":1,"146":1}}],["counterclockwise",{"2":{"4":1,"6":2,"9":1,"55":2,"56":1,"79":1,"80":1}}],["count",{"2":{"64":16,"143":1,"184":1}}],["couldn",{"2":{"9":1,"160":1}}],["could",{"2":{"4":1,"6":1,"56":3,"73":4,"75":1,"82":1,"85":1,"116":2,"158":1,"172":1}}],["conditions",{"2":{"197":4}}],["connected",{"2":{"116":5}}],["connect",{"2":{"66":11}}],["connecting",{"2":{"53":1,"182":1,"191":2}}],["connections",{"2":{"6":2,"166":2,"170":2}}],["contents",{"2":{"153":1,"161":1}}],["context",{"2":{"32":4,"176":4,"192":2}}],["contours",{"2":{"143":1}}],["contour",{"2":{"143":4}}],["continue",{"2":{"56":1,"64":7,"66":1,"71":2,"73":1,"116":1,"153":1,"166":3,"169":1,"184":1,"199":1}}],["contributions",{"2":{"25":1,"30":1}}],["controlled",{"2":{"24":1}}],["control",{"2":{"23":1}}],["containing",{"2":{"65":1,"198":1}}],["contain",{"2":{"3":1,"6":1,"31":1,"82":1,"87":1,"122":1,"191":1}}],["contained",{"2":{"3":1,"6":1,"9":1,"82":4,"88":1,"103":1,"121":1,"122":1,"153":1,"198":1}}],["contains",{"0":{"45":1,"86":1,"87":1},"1":{"87":1,"88":1},"2":{"0":2,"3":4,"6":4,"29":1,"31":1,"33":1,"45":2,"64":1,"75":1,"82":1,"86":1,"87":5,"88":4,"151":1,"165":1,"197":1,"198":1}}],["consistent",{"2":{"64":1,"148":1}}],["consistency",{"2":{"22":1}}],["considered",{"2":{"53":1,"59":1}}],["consider",{"2":{"52":1,"55":1,"62":1,"65":1,"66":3,"68":1,"84":2,"87":1,"90":1,"93":1,"103":1,"107":1,"116":3,"118":1,"121":1,"124":1,"134":1}}],["constprop",{"2":{"105":1}}],["constants",{"2":{"64":1}}],["const",{"2":{"29":4,"64":1,"94":4,"108":3,"125":4,"135":4,"155":3,"180":4}}],["constructing",{"2":{"193":1}}],["constructors",{"2":{"159":2}}],["construct",{"2":{"159":1}}],["constructed",{"2":{"1":1,"20":1,"172":1}}],["constrained",{"2":{"6":3,"70":1,"72":1,"81":1}}],["concepts",{"0":{"26":1},"1":{"27":1,"28":1},"2":{"31":1}}],["concieve",{"2":{"9":1}}],["concavehull",{"2":{"147":1}}],["concave",{"2":{"6":1,"53":2,"62":2,"146":2}}],["convention",{"2":{"62":1}}],["convenience",{"2":{"59":1,"188":1}}],["conversely",{"2":{"64":1}}],["conversion",{"0":{"186":1},"2":{"22":1,"33":1}}],["converted",{"2":{"22":1,"59":3}}],["converts",{"2":{"6":1,"189":1}}],["convert",{"0":{"95":1,"109":1,"126":1,"136":1},"2":{"6":3,"32":1,"35":2,"36":2,"37":2,"38":2,"40":2,"41":2,"42":2,"43":2,"44":2,"45":2,"46":2,"47":2,"48":2,"49":2,"50":1,"59":6,"80":1,"84":1,"143":2,"176":1,"180":3,"186":1,"188":1,"189":1}}],["convexity",{"2":{"79":2}}],["convexhull",{"2":{"50":1,"147":1}}],["convex",{"0":{"50":1,"75":1,"78":1},"1":{"76":1,"77":1,"78":1,"79":1,"80":1},"2":{"0":1,"6":7,"29":2,"50":1,"53":3,"75":4,"77":2,"78":1,"79":4,"80":11,"146":1}}],["vw",{"2":{"180":3}}],["von",{"2":{"143":1}}],["v2",{"2":{"116":9}}],["v1",{"2":{"116":9}}],["v`",{"2":{"59":2}}],["vcat",{"2":{"53":1,"59":1,"153":1}}],["vararg",{"2":{"59":1}}],["varying",{"2":{"158":1}}],["vary",{"2":{"53":1}}],["variables",{"2":{"24":1,"59":8,"88":1,"104":1,"119":1}}],["variable",{"2":{"24":1,"71":2}}],["vals",{"2":{"182":9}}],["valign",{"2":{"180":1}}],["validated",{"2":{"71":2,"73":2,"82":2}}],["validate",{"2":{"9":1}}],["valid",{"2":{"1":1,"6":8,"63":1,"70":2,"72":2,"73":3,"81":2,"143":1,"161":3,"162":1,"164":1,"165":1,"184":1,"185":1}}],["val",{"2":{"53":2,"64":2,"73":8,"116":30,"122":4}}],["values=",{"2":{"143":2}}],["values=sort",{"2":{"143":1}}],["values",{"2":{"1":1,"5":3,"6":15,"53":2,"58":3,"59":40,"63":2,"64":5,"66":5,"73":1,"85":2,"116":4,"143":19,"150":1,"153":2,"160":1,"182":2,"184":1}}],["value",{"2":{"0":1,"4":7,"5":2,"6":15,"14":1,"24":1,"32":2,"53":1,"55":2,"56":4,"59":45,"64":5,"66":2,"73":7,"84":1,"85":3,"143":6,"153":2,"182":11,"188":2,"197":1}}],["vs",{"0":{"15":1},"2":{"12":1,"73":2}}],["vᵢ",{"2":{"6":1}}],["v",{"2":{"5":2,"6":6,"14":4,"59":23,"85":8}}],["visvalingam",{"2":{"178":1}}],["visvalingamwhyatt",{"0":{"183":1},"2":{"0":1,"6":3,"180":4,"183":5}}],["visualized",{"2":{"162":1}}],["visualize",{"2":{"118":1,"192":1}}],["visa",{"2":{"64":1}}],["visited",{"2":{"64":4}}],["view",{"2":{"64":2,"80":1,"143":1,"166":1,"182":3,"199":1}}],["viewport",{"2":{"14":1}}],["views",{"2":{"1":1,"64":1,"81":1,"172":1}}],["vincenty",{"2":{"6":1,"177":1}}],["via",{"2":{"6":1,"60":1,"75":1,"147":1,"173":1,"176":1,"188":2}}],["vec",{"2":{"80":2}}],["vect",{"2":{"156":2}}],["vectypes",{"2":{"59":5}}],["vector",{"2":{"1":12,"4":6,"5":1,"6":46,"18":1,"23":1,"27":1,"52":1,"53":10,"59":14,"64":7,"69":6,"70":4,"71":1,"72":2,"73":3,"81":4,"116":1,"122":2,"143":4,"146":3,"148":1,"150":1,"153":4,"154":3,"162":8,"163":1,"165":22,"174":1,"175":1,"177":2,"181":1,"182":4,"183":1,"184":2,"185":10,"189":15,"191":18,"192":6,"193":9}}],["vectors",{"2":{"1":1,"4":2,"6":3,"22":1,"53":4,"59":3,"64":1,"80":1,"85":1,"143":1,"145":1,"150":1,"153":1,"156":2,"180":1}}],["ve",{"2":{"17":1,"177":1}}],["vein",{"2":{"7":1}}],["version",{"2":{"188":1}}],["versa",{"2":{"64":1}}],["vert",{"2":{"184":21}}],["verts",{"2":{"180":2}}],["vertical",{"2":{"58":1,"66":1,"73":1,"143":1}}],["vertices",{"2":{"6":7,"9":1,"57":4,"59":5,"64":1,"69":2,"80":1,"96":1,"98":5,"107":1,"110":3,"113":1,"116":1,"137":1,"162":1,"174":2,"175":1,"176":3,"177":3,"180":1,"183":1}}],["vertex",{"2":{"5":1,"6":2,"53":1,"57":2,"59":2,"64":19,"73":12,"79":1,"96":2,"111":2,"112":1,"116":1,"137":3}}],["very",{"2":{"0":1,"175":1,"199":2}}],["rd",{"2":{"180":3}}],["rdbu",{"2":{"84":1}}],["rhumb",{"2":{"146":2}}],["runner",{"2":{"192":1}}],["running",{"2":{"153":1,"156":2}}],["run",{"2":{"153":5,"154":3,"199":1}}],["runs",{"2":{"73":2,"145":1}}],["rule",{"2":{"64":1}}],["rules",{"2":{"64":1}}],["rightjoin",{"2":{"197":1}}],["right=2",{"2":{"64":1}}],["right",{"2":{"59":1,"64":4,"69":1,"85":1,"146":1,"182":19,"184":5,"191":1}}],["ring4",{"2":{"193":2}}],["ring3",{"2":{"192":1}}],["ring2",{"2":{"191":2}}],["ring1",{"2":{"191":2}}],["rings",{"0":{"98":1,"112":1,"129":1,"139":1,"161":1},"1":{"162":1,"163":1},"2":{"4":4,"6":6,"9":2,"56":1,"63":1,"64":3,"73":1,"91":7,"143":5,"145":1,"163":1,"170":1,"180":1}}],["ring",{"2":{"4":7,"6":13,"9":1,"29":1,"53":3,"56":2,"59":1,"62":1,"63":4,"64":12,"66":13,"82":3,"85":5,"91":4,"96":1,"97":2,"98":5,"110":1,"112":1,"116":2,"127":1,"128":1,"129":3,"137":1,"138":2,"139":4,"143":11,"146":3,"161":2,"162":1,"163":14,"168":1,"191":1}}],["rtrees",{"2":{"20":1}}],["r+y",{"2":{"13":2,"14":1}}],["r+x",{"2":{"13":2,"14":1}}],["ry",{"2":{"13":3,"14":3}}],["rx",{"2":{"13":3,"14":3}}],["round",{"2":{"180":1,"182":1,"184":1}}],["routines",{"2":{"11":1}}],["row",{"2":{"154":3}}],["rows",{"2":{"154":2}}],["robust",{"0":{"15":1},"2":{"79":1}}],["rotate",{"2":{"66":1}}],["rotation",{"2":{"1":1,"6":1,"185":1}}],["rotations",{"2":{"1":3,"6":3,"185":3}}],["rotmatrix2d",{"2":{"180":1}}],["rotmatrix",{"2":{"1":1,"6":1,"185":1}}],["r",{"2":{"6":1,"9":1,"13":11,"14":12,"32":1,"176":1,"184":2,"191":6,"192":2,"193":4}}],["rᵢ₋₁",{"2":{"59":20}}],["rᵢ∗rᵢ₊₁+sᵢ⋅sᵢ₊₁",{"2":{"6":1}}],["rᵢ₊₁",{"2":{"6":1,"59":29}}],["rᵢ",{"2":{"6":2,"59":49}}],["ramer",{"2":{"182":1}}],["raster",{"0":{"143":1},"2":{"143":4}}],["ray",{"2":{"116":4}}],["raw",{"2":{"18":1}}],["range",{"2":{"13":8,"14":4,"143":3,"153":2,"154":2}}],["ranges",{"2":{"6":1,"143":2}}],["randomly",{"2":{"198":2}}],["random",{"2":{"180":2}}],["randn",{"2":{"77":1}}],["rand",{"2":{"6":1,"79":1,"143":1,"198":2}}],["rather",{"2":{"6":1,"143":1,"165":1}}],["ratio",{"2":{"6":7,"73":1,"176":1,"180":1,"181":4,"182":6,"183":4,"184":11}}],["radii",{"2":{"6":1,"176":1}}],["radius`",{"2":{"176":1}}],["radius",{"2":{"6":6,"59":13,"158":5,"176":4,"177":1}}],["radialdistance",{"0":{"181":1},"2":{"0":1,"6":2,"178":1,"180":4,"181":4}}],["rrayscore",{"2":{"1":1,"6":1,"185":1}}],["rring",{"2":{"1":1,"6":1,"185":1}}],["rewrap",{"2":{"153":2,"156":1}}],["req",{"2":{"116":44}}],["requirement",{"2":{"161":1,"164":1}}],["requirements",{"2":{"116":5}}],["required",{"2":{"80":1,"94":3,"108":3,"125":3,"135":3,"175":1,"190":1}}],["requires",{"2":{"60":1,"87":1,"91":1,"94":2,"97":3,"98":3,"99":1,"108":1,"111":3,"112":2,"113":1,"125":1,"128":3,"129":1,"130":1,"134":1,"135":1,"138":3,"139":3,"140":1,"173":1,"176":1,"188":1}}],["require",{"2":{"33":1,"80":1,"93":2,"94":6,"108":3,"116":32,"125":3,"135":3}}],["requests",{"2":{"25":1,"30":1}}],["reflected",{"2":{"180":3}}],["ref",{"2":{"84":1}}],["refers",{"2":{"158":1}}],["referring",{"2":{"116":1}}],["refer",{"2":{"6":1,"143":1}}],["references",{"2":{"6":1,"59":1}}],["reference",{"0":{"192":1,"193":1},"2":{"0":1,"1":2,"172":2,"190":2,"192":1}}],["reveal",{"2":{"82":1}}],["reveals",{"2":{"82":1}}],["reverse",{"2":{"55":1,"58":1,"59":1,"64":2,"191":2}}],["rev",{"2":{"81":1}}],["render",{"2":{"58":1}}],["rendering",{"2":{"58":3,"59":1}}],["rename",{"2":{"10":1}}],["regardless",{"2":{"73":1,"116":1}}],["regions",{"2":{"71":3,"73":5,"81":1,"82":3,"116":2,"199":1}}],["region",{"2":{"60":2,"73":3,"82":2,"199":1}}],["register",{"2":{"29":3,"59":3}}],["regular",{"0":{"15":1}}],["rebuilding",{"2":{"153":1,"154":1}}],["rebuild",{"2":{"29":2,"151":1,"153":3,"156":11,"177":1,"180":2}}],["rebuilt",{"2":{"1":1,"148":1,"150":1,"153":1,"156":2}}],["readable",{"2":{"195":1}}],["readability",{"2":{"64":1}}],["read",{"2":{"153":1,"192":2}}],["reading",{"2":{"153":1}}],["reads",{"2":{"153":1}}],["reached",{"2":{"153":1,"156":3}}],["reaches",{"2":{"151":1}}],["reach",{"2":{"151":1}}],["reasons",{"2":{"188":1}}],["reason",{"2":{"24":1,"160":1,"161":1,"164":1}}],["real`",{"2":{"176":1,"177":1}}],["reality",{"2":{"79":1}}],["really",{"2":{"56":1,"116":1,"143":1,"160":1}}],["real=1",{"2":{"6":2,"176":2}}],["real=6378137`",{"2":{"176":1}}],["real=6378137",{"2":{"6":2,"176":1}}],["real",{"0":{"199":1},"2":{"5":1,"6":13,"53":1,"59":45,"63":2,"73":1,"176":3,"177":3,"184":5,"197":1}}],["relation",{"2":{"64":2}}],["relations",{"2":{"29":10,"105":1,"122":1}}],["relationship",{"2":{"23":1,"197":2}}],["relative",{"2":{"59":3}}],["relevant",{"2":{"6":1,"10":1,"80":1,"158":2}}],["reducing",{"2":{"154":2}}],["reduced",{"2":{"181":1,"182":1,"183":1}}],["reduces",{"2":{"19":1,"82":1,"154":1}}],["reduce",{"2":{"1":1,"143":1,"150":1,"154":2,"169":1}}],["redundant",{"2":{"64":1}}],["red",{"2":{"14":1,"62":2,"84":1,"93":1,"103":1,"118":1,"191":1,"192":1,"198":2}}],["removal",{"2":{"64":1}}],["removes",{"2":{"64":1,"148":1}}],["removed",{"2":{"64":3,"71":5,"143":1}}],["remove",{"2":{"56":1,"64":33,"66":1,"69":2,"70":5,"72":5,"81":2,"166":2,"181":1,"182":3,"184":4}}],["removing",{"2":{"6":3,"64":1,"71":1,"181":1,"182":1,"183":1}}],["remainingnode",{"2":{"143":3}}],["remaining",{"2":{"64":1,"91":1,"116":2,"182":1}}],["remain",{"2":{"1":1,"6":8,"150":1,"153":1,"180":2}}],["resolution",{"2":{"192":1}}],["resolved",{"2":{"143":1}}],["resembles",{"2":{"158":2}}],["reset",{"2":{"64":1,"153":1}}],["resize",{"2":{"13":1,"14":1,"64":2}}],["resampled",{"2":{"6":1,"177":1}}],["respectively",{"2":{"64":1,"122":1,"156":1,"191":1}}],["respect",{"2":{"6":2,"72":1,"73":1,"80":1,"116":6}}],["rest",{"2":{"6":1,"59":2,"81":1}}],["resulting",{"2":{"69":1,"82":1,"143":1,"198":1}}],["results",{"2":{"3":2,"6":2,"73":1,"105":1,"122":1,"153":1,"154":1,"162":1,"182":25,"191":3}}],["result",{"2":{"1":2,"3":5,"4":5,"6":11,"19":1,"32":3,"53":1,"56":2,"66":1,"73":15,"80":1,"85":2,"88":1,"94":1,"104":1,"119":1,"135":1,"150":2,"153":9,"154":2,"176":3,"184":6}}],["receives",{"2":{"153":1,"154":1}}],["recent",{"2":{"64":1,"71":1,"73":1,"82":1}}],["recalculate",{"2":{"152":1}}],["recursive",{"2":{"151":1}}],["recursively",{"2":{"4":1,"6":1,"151":1,"171":1}}],["rect",{"2":{"52":3,"55":5,"65":3,"84":7}}],["rectangle",{"2":{"52":2,"55":2,"58":2,"65":2,"66":1,"84":2,"175":5,"176":8,"198":2}}],["rectangletrait",{"2":{"32":1}}],["recommended",{"2":{"22":1}}],["reconstructing",{"2":{"180":1}}],["reconstructed",{"2":{"18":1}}],["reconstruct",{"2":{"1":1,"18":1,"29":2,"150":1,"153":2,"154":1,"156":28}}],["replace",{"2":{"64":1,"143":2,"182":1}}],["replaced",{"2":{"22":1}}],["repl",{"2":{"60":1,"173":1,"176":1}}],["repeat",{"2":{"63":1,"64":3,"91":6}}],["repeating",{"2":{"56":1,"82":1}}],["repeated",{"2":{"4":3,"6":3,"9":1,"53":2,"59":1,"64":2,"82":2,"85":2,"91":4,"116":1}}],["represented",{"2":{"158":1,"198":1}}],["represent",{"2":{"17":1,"59":1,"64":4,"91":1,"158":1}}],["representing",{"2":{"6":2,"71":1,"73":1,"80":1,"82":1,"84":1,"91":1,"158":1,"199":1}}],["represents",{"2":{"6":1,"169":2,"170":1}}],["reprojects",{"2":{"172":1}}],["reprojection",{"0":{"172":1},"1":{"173":1}}],["reproject",{"2":{"0":1,"1":4,"29":2,"148":1,"172":6,"173":2}}],["re",{"2":{"1":1,"6":1,"17":1,"80":1,"185":1,"190":1,"192":1}}],["retrievable",{"2":{"1":1,"172":1}}],["returnval",{"2":{"116":9}}],["returntype",{"2":{"19":1}}],["returning",{"2":{"18":1,"60":1,"71":2}}],["return",{"0":{"22":1},"2":{"1":1,"3":18,"4":2,"6":37,"13":3,"14":3,"23":2,"28":1,"32":3,"35":1,"36":1,"37":1,"38":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"53":5,"56":5,"59":20,"60":1,"63":4,"64":36,"66":12,"69":12,"70":5,"71":4,"72":4,"73":18,"80":2,"81":6,"82":9,"85":8,"88":1,"91":30,"94":1,"100":2,"101":2,"104":1,"105":18,"108":2,"114":2,"115":2,"116":71,"118":1,"119":1,"122":28,"125":1,"127":2,"131":2,"132":2,"135":1,"141":2,"142":2,"143":12,"146":10,"153":17,"154":3,"156":7,"161":1,"163":4,"166":2,"167":2,"169":6,"170":2,"172":1,"177":4,"180":3,"181":1,"182":5,"183":3,"184":7,"185":2,"186":2,"188":3,"189":8}}],["returned",{"2":{"1":1,"6":10,"22":2,"23":1,"64":3,"69":1,"70":2,"72":2,"73":2,"79":1,"80":1,"81":2,"143":1,"153":1,"156":2,"160":1,"172":1,"180":1}}],["returns",{"2":{"1":1,"3":5,"4":4,"5":3,"6":23,"18":1,"22":2,"53":1,"56":2,"59":6,"63":3,"64":4,"66":6,"69":1,"70":1,"73":1,"80":1,"81":1,"85":8,"87":2,"88":1,"90":1,"94":1,"103":2,"104":1,"107":1,"116":4,"119":1,"122":2,"135":1,"143":2,"150":1,"153":2,"160":1,"177":1,"186":1,"197":1}}],["phi``",{"2":{"158":1}}],["physics",{"2":{"158":1}}],["psa",{"2":{"153":1,"154":1}}],["pb",{"2":{"105":2}}],["p0",{"2":{"85":9}}],["p3",{"2":{"64":8,"183":4}}],["ptm",{"2":{"146":3}}],["ptj",{"2":{"146":5}}],["pti",{"2":{"146":3}}],["ptrait",{"2":{"85":2}}],["pts",{"2":{"64":22,"69":7}}],["pt",{"2":{"64":114,"69":2,"73":26,"116":8,"182":4}}],["pt2",{"2":{"64":14,"73":2}}],["pt1",{"2":{"64":18,"73":2}}],["pn",{"2":{"127":3}}],["pn2",{"2":{"64":4}}],["pn1",{"2":{"64":4}}],["pfirst",{"2":{"56":3}}],["pu",{"2":{"198":2}}],["purpose",{"2":{"153":1}}],["pure",{"2":{"6":1,"80":1,"143":1}}],["purely",{"2":{"6":1,"18":1,"158":1,"176":1}}],["push",{"2":{"64":15,"69":5,"70":2,"72":2,"73":2,"81":4,"82":5,"143":3,"163":1,"177":3,"182":3}}],["pulling",{"2":{"80":1}}],["pull",{"2":{"25":1,"30":1}}],["public",{"2":{"24":1}}],["pick",{"2":{"192":2}}],["piece",{"2":{"64":6,"166":6}}],["pieces",{"2":{"64":12,"69":1,"71":2,"81":4,"116":1,"166":9}}],["pi",{"2":{"13":2}}],["pixels",{"2":{"143":1}}],["pixel",{"2":{"6":2,"143":7}}],["pythagorean",{"2":{"85":1}}],["py",{"2":{"13":2,"14":2}}],["px",{"2":{"13":2,"14":2}}],["peucker",{"2":{"178":2,"180":3,"182":2}}],["peaks",{"2":{"143":2}}],["peculiarities",{"0":{"21":1},"1":{"22":1,"23":1,"24":1}}],["people",{"2":{"9":1}}],["persist",{"2":{"153":1}}],["performed",{"2":{"158":1,"198":1}}],["performs",{"2":{"59":1,"154":1,"177":1}}],["perform",{"2":{"31":1,"58":1,"59":2,"64":1,"148":1,"154":1,"197":3,"198":2,"200":1}}],["performing",{"2":{"6":3,"23":1,"59":1,"70":1,"72":1,"81":1,"198":1}}],["performance",{"2":{"4":1,"6":2,"22":1,"143":1,"164":1,"171":1,"180":1,"195":1}}],["per",{"2":{"5":2,"6":2,"58":1,"59":2,"64":5,"143":1,"153":2,"154":2,"177":1}}],["pl",{"2":{"198":2}}],["plt",{"2":{"191":1}}],["please",{"2":{"64":1}}],["place",{"2":{"73":1,"197":1}}],["placement",{"2":{"64":1}}],["plan",{"2":{"174":1}}],["plane",{"2":{"6":1,"59":1,"158":3,"177":1,"196":1}}],["planar",{"2":{"6":4,"29":2,"158":5,"177":9}}],["plottable",{"2":{"143":1}}],["plotted",{"2":{"62":1}}],["plotting",{"0":{"191":1},"2":{"6":1,"143":1,"174":1,"177":1,"190":1,"191":4,"192":1}}],["plots",{"2":{"58":2}}],["plot",{"0":{"192":1},"2":{"13":1,"58":3,"77":2,"78":1,"79":1,"90":1,"121":1,"143":1,"176":2,"180":4,"190":2,"191":9,"192":5,"193":1,"195":1,"198":1}}],["plus",{"2":{"5":1,"6":1,"59":1}}],["p2y",{"2":{"189":3}}],["p2x",{"2":{"189":3}}],["p2box",{"2":{"58":1}}],["p2",{"2":{"3":2,"4":2,"6":6,"15":12,"53":12,"56":9,"64":18,"66":19,"79":1,"81":2,"85":15,"91":11,"94":2,"103":2,"116":12,"122":2,"146":3,"175":1,"183":4,"189":3,"191":2}}],["p1y",{"2":{"189":3}}],["p1x",{"2":{"189":3}}],["p1",{"2":{"3":3,"4":2,"6":7,"15":12,"53":21,"56":8,"58":4,"64":9,"66":25,"68":1,"79":2,"81":2,"85":15,"91":14,"93":5,"94":3,"103":5,"116":4,"122":2,"127":3,"146":3,"183":4,"189":3,"191":1}}],["practice",{"2":{"193":1}}],["pred",{"2":{"197":5,"198":1,"199":2,"200":1}}],["predicate",{"2":{"7":1,"105":1,"197":6,"198":1,"200":5}}],["predicates",{"0":{"12":1,"15":1,"200":1},"1":{"13":1,"14":1,"15":1,"16":1},"2":{"7":4,"12":1,"29":1,"64":5,"73":4,"74":3,"116":1,"197":1,"199":1}}],["pretty",{"2":{"172":1}}],["prettytime",{"2":{"13":2}}],["prevent",{"2":{"71":2,"73":2,"82":2}}],["prev^2",{"2":{"53":2}}],["prev",{"2":{"53":14,"64":69,"146":4}}],["previously",{"2":{"175":1}}],["previous",{"2":{"19":1,"53":1,"153":1,"181":3}}],["preparations",{"2":{"20":1}}],["prepared",{"2":{"20":1,"143":2}}],["prepare",{"0":{"20":1},"2":{"17":1,"20":1}}],["precision",{"2":{"11":1}}],["preserve",{"2":{"180":4,"182":3}}],["preserved",{"2":{"153":2}}],["preserving",{"2":{"178":1}}],["presentation",{"2":{"6":1,"59":1}}],["present",{"2":{"6":1,"153":1,"188":1}}],["presence",{"2":{"6":1,"32":1,"188":1}}],["prescribes",{"2":{"20":1}}],["press",{"2":{"6":1,"59":1}}],["pre",{"2":{"6":1,"81":1,"180":1,"182":2}}],["prefilter",{"2":{"6":1,"180":7}}],["protters",{"2":{"153":1,"154":1}}],["progressively",{"2":{"151":1}}],["program",{"2":{"17":1}}],["programming",{"2":{"17":1,"31":1}}],["promote",{"2":{"59":5}}],["property",{"2":{"154":2}}],["properties=gi",{"2":{"156":1}}],["properties=namedtuple",{"2":{"154":1}}],["properties=",{"2":{"143":1}}],["properties",{"2":{"6":1,"153":8,"156":1,"180":1,"184":1}}],["propagated",{"2":{"153":1}}],["propagate",{"2":{"59":16,"85":4}}],["probably",{"2":{"56":1,"153":1}}],["prod",{"2":{"53":4}}],["product",{"2":{"53":1}}],["process",{"2":{"96":3,"97":3,"98":3,"99":1,"105":1,"110":3,"111":3,"112":2,"113":1,"116":11,"127":1,"128":3,"129":1,"130":1,"137":3,"138":3,"139":3,"140":1,"153":1,"154":1,"182":1}}],["processed",{"2":{"64":6}}],["processors",{"2":{"29":1,"94":2,"108":2,"125":2,"135":2}}],["processor",{"2":{"29":1}}],["processing",{"2":{"23":1}}],["profile",{"2":{"9":1}}],["providers",{"2":{"162":1,"165":1}}],["provide",{"0":{"23":1},"2":{"6":6,"52":1,"55":1,"57":1,"62":1,"65":1,"68":1,"70":2,"72":2,"81":2,"84":1,"87":1,"90":1,"93":1,"103":1,"107":1,"116":2,"118":1,"121":1,"124":1,"134":1,"143":1,"184":1}}],["provides",{"2":{"6":1,"75":1,"80":1,"192":1}}],["provided",{"2":{"4":1,"6":3,"11":1,"64":1,"85":1,"91":1,"165":1,"176":2,"188":1}}],["projecting",{"2":{"192":1}}],["projections",{"2":{"158":1}}],["projection",{"2":{"85":2,"190":1,"192":1}}],["project",{"2":{"9":1}}],["projects",{"2":{"9":1}}],["proj",{"2":{"1":2,"6":3,"172":2,"173":4,"175":1,"176":6,"190":1}}],["prints",{"2":{"173":1}}],["printstyled",{"2":{"60":1,"173":1,"176":1}}],["println",{"2":{"60":1,"173":1,"176":1,"180":2}}],["print",{"2":{"60":2,"173":2,"176":2}}],["primitives",{"0":{"156":1},"2":{"29":1,"156":1}}],["primitive",{"2":{"27":1}}],["primarily",{"2":{"25":2,"30":2,"159":1}}],["primary",{"2":{"3":2,"6":3,"94":1,"135":1,"180":1}}],["priority",{"2":{"1":1,"172":1}}],["pay",{"2":{"154":1}}],["paper",{"2":{"116":2}}],["pa",{"2":{"105":2}}],["pathof",{"2":{"180":2}}],["paths",{"0":{"196":1},"2":{"160":1,"196":2}}],["path",{"2":{"55":3,"192":2}}],["parquet",{"2":{"195":3}}],["parent",{"2":{"160":1}}],["parse",{"2":{"116":1,"122":1}}],["part",{"2":{"66":2,"82":2,"116":3,"152":1}}],["partition",{"2":{"153":2,"154":2}}],["partialsort",{"2":{"184":1}}],["partial",{"2":{"66":4}}],["partially",{"2":{"64":2,"82":2}}],["particularly",{"2":{"59":1}}],["particular",{"2":{"28":1,"53":1,"143":1,"192":2}}],["parameter",{"2":{"159":3}}],["parameterized",{"2":{"158":1}}],["parameters",{"2":{"156":1,"159":2}}],["parametrized",{"2":{"158":1}}],["params",{"2":{"6":2,"188":10}}],["parallel",{"2":{"116":1,"146":1}}],["paradigm",{"0":{"27":1}}],["paradigms",{"0":{"17":1},"1":{"18":1,"19":1,"20":1},"2":{"17":2,"20":1}}],["parlance",{"2":{"5":1,"6":1,"59":1,"158":1}}],["passes",{"2":{"66":2,"116":1}}],["passed",{"2":{"1":2,"6":5,"80":1,"143":1,"156":4,"172":1,"176":2,"185":1,"188":2,"200":1}}],["passable",{"2":{"59":18}}],["passing",{"2":{"18":1,"153":1,"178":1}}],["pass",{"2":{"5":1,"6":3,"18":1,"59":1,"88":1,"104":1,"116":2,"119":1,"153":1,"160":1,"176":1,"180":1}}],["pairs",{"2":{"73":1,"191":1}}],["pair",{"2":{"3":2,"6":2,"66":1,"122":2,"153":2,"154":1}}],["packages",{"2":{"25":1,"30":1,"75":1,"156":2,"161":1,"187":1,"190":3,"192":1,"195":1}}],["package",{"2":{"1":2,"6":1,"22":1,"25":2,"30":2,"60":1,"75":2,"80":1,"143":1,"172":3,"173":1,"176":1,"192":1,"195":2}}],["page",{"2":{"0":1,"9":1,"27":1,"29":1,"31":1,"32":1,"50":1,"53":1,"56":1,"58":1,"59":1,"60":1,"63":1,"64":1,"66":1,"69":1,"71":1,"73":1,"74":1,"80":1,"82":1,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"122":1,"132":1,"142":1,"143":1,"146":1,"147":1,"153":1,"154":1,"155":1,"156":1,"160":1,"163":1,"166":1,"167":1,"170":1,"171":1,"173":1,"177":1,"184":1,"185":1,"186":1,"188":1,"189":1}}],["p",{"2":{"1":5,"6":2,"13":13,"14":12,"15":2,"52":1,"55":1,"62":1,"64":5,"65":1,"66":5,"71":2,"77":1,"78":1,"81":2,"84":3,"87":1,"90":1,"93":1,"103":1,"105":4,"107":1,"116":20,"118":1,"121":1,"124":1,"134":1,"143":3,"146":4,"148":3,"150":3,"153":5,"167":7,"175":1,"179":1,"180":1,"184":3,"185":9,"186":7,"189":11,"197":1,"198":1}}],["poylgon",{"2":{"116":1}}],["potential",{"2":{"66":1}}],["potentially",{"2":{"6":2,"64":1,"166":2,"170":2}}],["post",{"2":{"182":2}}],["possibly",{"2":{"153":1}}],["possiblenodes",{"2":{"143":2}}],["possible",{"2":{"6":3,"70":1,"72":1,"81":1,"143":1,"153":1,"154":1}}],["possibility",{"2":{"151":1}}],["possibilities",{"2":{"73":1}}],["position=",{"2":{"180":1}}],["position",{"2":{"6":1,"146":1,"175":1}}],["positive",{"2":{"4":4,"6":4,"55":3,"56":1,"84":3,"85":3,"177":2,"184":1}}],["poles",{"2":{"158":1}}],["pole",{"2":{"158":2}}],["polgons",{"2":{"143":1}}],["polgontrait",{"2":{"1":1,"150":1}}],["polar",{"2":{"6":1,"176":1}}],["polynodes",{"2":{"64":7,"70":1,"72":1,"81":1}}],["polynode",{"2":{"64":36}}],["polypoints",{"2":{"59":46}}],["polys",{"2":{"6":2,"64":39,"68":3,"69":10,"70":14,"71":14,"72":9,"73":6,"81":14,"82":28,"166":26}}],["polys1",{"2":{"3":2,"6":2,"122":6}}],["polys2",{"2":{"3":2,"6":2,"122":6}}],["poly",{"2":{"3":2,"6":16,"15":2,"52":1,"55":1,"56":6,"58":2,"59":3,"62":1,"64":107,"65":2,"66":4,"68":4,"69":20,"70":22,"71":12,"72":15,"73":10,"77":2,"81":19,"82":79,"84":1,"85":3,"91":4,"105":10,"116":21,"122":8,"143":5,"146":5,"166":18,"175":2,"179":2,"180":8,"189":8,"191":2,"198":5}}],["poly2",{"2":{"3":3,"4":2,"6":7,"70":2,"91":2,"116":19,"122":7}}],["poly1",{"2":{"3":3,"4":2,"6":7,"70":2,"91":2,"116":14,"122":7}}],["polygon3",{"2":{"191":2,"192":1}}],["polygon2",{"2":{"191":6}}],["polygon1",{"2":{"191":4}}],["polygonization",{"2":{"143":1}}],["polygonizing",{"0":{"143":1}}],["polygonized",{"2":{"143":1}}],["polygonize",{"2":{"0":1,"6":6,"9":1,"29":1,"143":31}}],["polygon`",{"2":{"59":3,"80":1}}],["polygons",{"0":{"99":1,"130":1,"140":1,"164":1},"1":{"165":1,"166":1},"2":{"3":4,"4":3,"5":1,"6":18,"9":1,"23":5,"29":1,"56":5,"57":1,"59":2,"62":1,"63":1,"64":14,"66":1,"69":2,"70":9,"71":5,"72":3,"73":8,"81":6,"82":19,"84":1,"85":1,"91":5,"99":1,"122":5,"140":1,"143":19,"146":1,"151":1,"162":2,"164":2,"165":2,"166":10,"170":3,"178":1,"180":1,"191":3,"192":1,"198":5,"199":3}}],["polygontrait",{"2":{"1":1,"3":4,"4":6,"6":13,"15":3,"23":1,"32":1,"53":2,"56":3,"59":3,"63":2,"64":2,"66":2,"69":1,"70":5,"71":5,"72":3,"73":5,"81":4,"82":8,"85":2,"91":10,"96":2,"97":1,"98":1,"99":3,"100":1,"105":4,"110":2,"111":2,"112":1,"113":2,"114":1,"122":8,"127":2,"128":1,"129":1,"130":3,"131":1,"137":2,"138":1,"139":1,"140":3,"141":1,"148":1,"150":1,"151":2,"153":2,"154":1,"163":2,"166":2,"169":2,"170":1,"180":2,"189":1}}],["polygon",{"0":{"34":1,"64":1,"67":1,"70":1,"71":1,"73":1,"81":1,"82":1,"113":1},"1":{"35":1,"36":1,"37":1,"38":1,"68":1,"69":1},"2":{"0":1,"1":4,"3":4,"4":21,"5":9,"6":65,"9":2,"11":3,"15":4,"20":1,"23":1,"52":1,"53":5,"55":2,"56":5,"57":5,"58":16,"59":57,"62":2,"63":4,"64":39,"65":3,"66":4,"68":3,"69":10,"70":5,"71":7,"72":5,"73":6,"75":1,"79":1,"80":3,"81":6,"82":34,"84":3,"85":14,"91":12,"94":1,"96":3,"97":3,"98":4,"99":8,"105":1,"110":3,"111":4,"112":4,"113":4,"116":66,"122":4,"125":1,"127":3,"128":4,"129":5,"130":7,"135":1,"137":3,"138":4,"139":4,"140":8,"143":4,"146":5,"150":1,"153":1,"161":4,"162":8,"163":5,"164":3,"165":12,"166":7,"168":1,"170":4,"175":1,"176":4,"179":1,"180":9,"185":3,"189":6,"191":12,"192":5,"193":7,"194":2,"198":6}}],["pointwise",{"0":{"185":1},"2":{"172":1}}],["point1",{"2":{"85":4}}],["point`",{"2":{"73":1}}],["pointedgeside",{"2":{"64":1}}],["point₂",{"2":{"63":13}}],["point₁",{"2":{"63":13}}],["point3s",{"2":{"59":10}}],["point3f",{"2":{"58":1}}],["pointrait",{"2":{"6":1}}],["point2f",{"2":{"58":4,"59":2,"77":1,"84":1}}],["point2d",{"2":{"58":1}}],["point2",{"2":{"6":2,"59":5,"79":1,"85":4}}],["pointtrait",{"2":{"1":1,"4":4,"6":6,"18":1,"32":1,"50":1,"53":2,"56":1,"59":3,"66":1,"72":2,"80":1,"85":17,"91":8,"96":6,"100":1,"110":6,"114":1,"127":6,"131":1,"137":6,"141":1,"148":2,"150":1,"151":1,"153":7,"154":4,"156":12,"159":2,"167":2,"169":2,"170":1,"171":1,"180":2,"185":2,"186":2,"189":1}}],["point",{"0":{"110":1,"127":1},"2":{"1":4,"3":10,"4":37,"5":7,"6":82,"9":2,"20":1,"50":1,"53":12,"56":3,"57":3,"58":1,"59":126,"63":6,"64":97,"66":50,"69":13,"71":9,"72":1,"73":71,"80":3,"82":9,"84":17,"85":73,"88":3,"91":27,"93":1,"94":2,"96":8,"105":21,"108":2,"110":10,"116":138,"118":1,"121":2,"122":21,"124":1,"125":3,"127":10,"128":1,"130":1,"135":4,"137":11,"143":3,"146":1,"150":1,"153":1,"161":1,"162":2,"164":1,"166":2,"170":2,"172":1,"174":1,"180":2,"181":3,"182":9,"183":1,"185":2,"189":4,"191":111,"192":7,"193":8,"198":2}}],["points2",{"2":{"3":1,"6":1,"122":3}}],["points1",{"2":{"3":1,"6":1,"122":3}}],["points",{"0":{"96":1,"137":1},"2":{"0":1,"1":3,"3":1,"4":11,"5":1,"6":53,"9":3,"13":1,"53":2,"55":3,"56":3,"58":8,"59":32,"63":1,"64":55,"66":5,"69":3,"70":5,"71":1,"72":8,"73":28,"75":3,"77":4,"79":4,"80":6,"81":4,"82":1,"84":2,"85":8,"87":1,"90":2,"91":13,"94":6,"96":3,"97":4,"108":6,"110":1,"111":7,"112":3,"116":10,"122":5,"125":5,"127":1,"128":2,"129":4,"130":3,"134":1,"135":5,"137":3,"138":3,"139":3,"140":1,"143":3,"145":1,"153":2,"154":1,"171":2,"172":1,"175":2,"176":2,"180":11,"181":11,"182":26,"183":10,"184":33,"185":2,"186":2,"189":25,"191":8,"192":1,"197":1,"198":11}}],["pointorientation",{"2":{"0":1,"6":2,"116":2}}],["my",{"2":{"199":1,"200":2}}],["m`",{"2":{"158":1}}],["mdk",{"2":{"153":2}}],["moore",{"2":{"143":1}}],["moved",{"2":{"64":1,"172":1}}],["move",{"2":{"63":1,"116":1}}],["mode",{"2":{"200":3}}],["model",{"2":{"158":1,"197":1}}],["modify",{"2":{"191":1}}],["modified",{"2":{"153":1,"154":1}}],["module",{"2":{"172":1,"177":1}}],["modules",{"2":{"6":1,"59":1}}],["mod1",{"2":{"59":5}}],["mod",{"2":{"59":1,"64":1}}],["most",{"2":{"25":1,"30":1,"64":1,"71":1,"73":1,"79":1,"82":1,"116":1,"180":1,"195":2}}],["monotone",{"2":{"20":1,"79":2}}],["monotonechainmethod",{"2":{"0":1,"6":1,"75":1,"79":2,"80":4}}],["moment",{"2":{"6":1,"175":1,"177":1}}],["more",{"2":{"6":3,"7":1,"9":1,"10":1,"11":1,"23":1,"27":1,"31":1,"64":1,"70":1,"72":1,"80":1,"81":1,"116":1,"122":1,"153":2,"154":2,"157":1,"158":2,"163":1,"173":1,"175":1,"177":1,"191":2,"197":1}}],["missing",{"2":{"175":4}}],["missed",{"2":{"143":1}}],["mistakenly",{"2":{"164":1}}],["mid",{"2":{"66":2,"116":3}}],["midpoint",{"2":{"64":2}}],["middle",{"2":{"64":2}}],["mining",{"2":{"199":1}}],["minimal",{"2":{"199":1}}],["minimize",{"2":{"73":1}}],["minimum",{"2":{"4":7,"6":12,"65":1,"66":2,"85":12,"180":1,"181":1,"183":1}}],["mind",{"2":{"175":1,"198":1}}],["minmax",{"2":{"73":4}}],["min",{"2":{"66":1,"73":16,"85":15,"180":1,"182":3,"183":1,"184":28}}],["minus",{"2":{"55":1}}],["minpoints=0",{"2":{"143":1}}],["minpoints",{"2":{"6":2}}],["might",{"2":{"6":3,"25":1,"30":1,"56":1,"70":1,"72":1,"73":1,"81":1,"168":1,"182":1}}],["mixed",{"2":{"6":4,"180":1}}],["m",{"2":{"5":1,"6":1,"15":10,"59":2,"66":6,"146":2,"192":1}}],["mp",{"2":{"105":2}}],["mp1",{"2":{"4":2,"6":2,"91":7}}],["mp2",{"2":{"4":2,"6":2,"91":8}}],["mason",{"2":{"153":1,"154":1}}],["markersize",{"2":{"191":2}}],["marker",{"2":{"191":2}}],["marked",{"2":{"64":6,"71":1,"73":1,"82":1}}],["marking",{"2":{"71":2,"73":2,"82":2}}],["mark",{"2":{"64":2}}],["marks",{"2":{"64":1}}],["mag",{"2":{"53":4}}],["making",{"2":{"64":1,"143":1,"151":1,"165":1,"191":1,"193":2}}],["makie",{"2":{"13":1,"14":1,"52":1,"55":1,"58":3,"62":1,"65":1,"68":4,"77":1,"78":1,"84":1,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"124":1,"134":1,"143":3,"179":1,"180":1,"196":1}}],["makevalid",{"2":{"180":2}}],["makes",{"2":{"56":1,"64":1,"85":1,"153":1,"162":1,"164":1,"165":1}}],["make",{"2":{"9":1,"25":1,"30":1,"53":1,"64":3,"73":1,"85":1,"122":1,"143":2,"151":1,"163":1,"175":1,"184":1,"187":1,"191":2,"193":1}}],["mainly",{"2":{"59":1,"84":1,"148":1,"154":1}}],["maintain",{"2":{"56":1}}],["main",{"0":{"26":1},"1":{"27":1,"28":1},"2":{"7":1,"31":1,"64":1,"143":1,"153":1,"176":1}}],["manner",{"2":{"197":1}}],["manipulate",{"2":{"195":1}}],["manifolds",{"2":{"158":2}}],["manifold",{"0":{"158":1},"2":{"6":1,"29":2,"158":12,"177":3}}],["manually",{"2":{"161":1}}],["many",{"2":{"4":1,"5":1,"6":2,"23":1,"31":1,"59":1,"64":1,"69":1,"71":1,"73":2,"82":1,"91":1,"162":1,"171":1}}],["mapped",{"2":{"195":1}}],["maptasks`",{"2":{"153":1}}],["maptasks",{"2":{"153":7}}],["mapreducetasks`",{"2":{"154":1}}],["mapreducetasks",{"2":{"154":5}}],["mapreduce",{"2":{"71":1,"143":2,"153":3,"154":7}}],["map",{"0":{"192":1},"2":{"6":1,"13":1,"18":3,"19":1,"27":1,"59":1,"64":1,"73":1,"122":2,"143":17,"153":11,"154":5,"156":10,"158":1,"159":1,"163":1,"180":1,"190":1,"192":1,"193":1,"195":1}}],["matches",{"2":{"91":1,"143":1}}],["match",{"2":{"91":12,"122":3,"143":1,"153":1,"156":2}}],["matching",{"2":{"3":1,"6":1,"22":1,"91":3,"122":1,"151":2}}],["matlab",{"2":{"68":1}}],["materializer`",{"2":{"153":1}}],["materializer",{"2":{"22":1,"153":1}}],["mathematical",{"2":{"158":1}}],["mathematically",{"2":{"6":1,"146":1,"158":2}}],["mathematics",{"2":{"158":1}}],["mathrm",{"2":{"59":1}}],["math",{"2":{"7":1}}],["matrix",{"2":{"6":1,"14":2,"59":1}}],["maxlog=3",{"2":{"177":1}}],["maximal",{"2":{"73":1}}],["maximum",{"2":{"3":1,"6":4,"14":1,"65":1,"66":4,"105":1,"143":1,"176":1,"177":1,"182":4}}],["max",{"2":{"6":9,"32":9,"53":2,"66":1,"143":1,"153":1,"154":1,"175":5,"176":8,"177":21,"182":36,"184":1,"196":1}}],["made",{"2":{"6":2,"63":1,"64":1,"73":1,"129":1,"151":1,"166":1,"170":1,"183":1}}],["maybe",{"2":{"32":1,"116":4,"153":2,"154":3,"156":2}}],["may",{"2":{"1":1,"6":3,"23":2,"24":1,"59":2,"64":1,"73":1,"79":1,"146":1,"147":1,"150":1,"151":1,"153":4,"158":1,"159":1,"164":1,"165":1,"176":1}}],["mercator",{"2":{"192":1}}],["merge",{"2":{"153":1}}],["measures",{"2":{"158":1}}],["measure",{"2":{"156":1,"174":1}}],["meant",{"2":{"31":1}}],["meaning",{"2":{"3":3,"4":1,"6":4,"24":1,"56":1,"60":1,"122":4,"146":1,"158":1}}],["means",{"2":{"3":1,"6":2,"55":1,"56":1,"60":1,"93":1,"116":3,"121":1,"122":1,"146":1,"151":1,"158":2,"160":2}}],["mean",{"2":{"0":1,"6":5,"17":1,"58":2,"59":5,"154":1,"158":1}}],["meanvalue",{"2":{"0":1,"5":2,"6":3,"57":1,"58":2,"59":15}}],["meets",{"2":{"116":9,"122":1,"182":1}}],["meet",{"2":{"73":3,"93":1,"94":1,"108":1,"116":7,"125":1,"135":1}}],["memory",{"2":{"59":1,"193":1}}],["mesh",{"2":{"58":1}}],["message",{"2":{"6":1,"188":1}}],["me",{"0":{"23":1}}],["mentioned",{"2":{"19":1}}],["mentions",{"2":{"6":1,"188":1}}],["menu",{"2":{"14":3}}],["median",{"2":{"13":4,"154":1}}],["mechanics",{"2":{"6":1,"59":1}}],["metadatakeys",{"2":{"153":1}}],["metadatasupport",{"2":{"153":2}}],["metadata",{"2":{"153":11}}],["met",{"2":{"116":44}}],["meters",{"2":{"6":4,"175":1,"176":4,"192":1}}],["methoderror",{"2":{"29":3}}],["methods",{"0":{"2":1,"3":1,"4":1,"6":1,"39":1},"1":{"3":1,"4":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1},"2":{"1":1,"6":7,"9":1,"25":1,"29":27,"30":1,"59":3,"75":1,"94":1,"108":1,"125":1,"135":1,"143":1,"151":1,"153":1,"156":2,"159":1,"175":1,"180":2,"185":1,"191":1}}],["method",{"0":{"173":1},"2":{"1":1,"4":1,"5":10,"6":30,"24":1,"32":1,"53":1,"56":1,"59":37,"60":2,"63":1,"66":1,"73":1,"79":3,"80":2,"82":1,"85":4,"91":1,"94":2,"108":2,"122":1,"125":2,"135":2,"143":1,"153":1,"154":1,"156":3,"160":1,"172":1,"173":2,"175":2,"176":9,"177":22,"178":2,"188":3,"197":1,"200":1}}],["mutation",{"2":{"194":1}}],["mutlipolygon",{"2":{"4":1,"6":1,"63":1}}],["muladd",{"2":{"59":2}}],["multifloats",{"2":{"13":1,"14":1,"15":1}}],["multifloat",{"2":{"7":1}}],["multilinestringtrait",{"2":{"32":1,"169":1}}],["multilinestring",{"2":{"6":1,"189":2}}],["multi",{"0":{"100":1,"101":1,"114":1,"115":1,"131":1,"132":1,"141":1,"142":1},"2":{"4":2,"6":3,"53":1,"56":1,"66":1,"91":2,"100":1,"101":1,"114":1,"115":1,"131":1,"132":1,"141":1,"142":1}}],["multicurves",{"2":{"56":1,"66":1}}],["multicurve",{"2":{"4":1,"6":1,"56":1}}],["multigeometry",{"2":{"4":2,"6":2,"85":2}}],["multiplication",{"2":{"177":1}}],["multiplied",{"2":{"59":3,"158":1}}],["multiple",{"2":{"4":1,"6":1,"59":1,"116":1,"171":1,"184":1,"191":1,"195":1}}],["multiply",{"2":{"1":1,"6":1,"185":1}}],["multipolys",{"2":{"82":3}}],["multipoly`",{"2":{"70":2,"72":2,"81":2}}],["multipoly",{"2":{"6":9,"15":3,"70":1,"71":27,"72":1,"73":26,"81":1,"82":24,"166":21,"180":9}}],["multipolygon`",{"2":{"143":1}}],["multipolygons",{"2":{"3":1,"4":1,"6":11,"63":1,"70":3,"72":3,"73":3,"81":3,"84":1,"91":1,"122":2,"165":1,"191":1,"192":1}}],["multipolygon",{"2":{"3":2,"4":5,"6":17,"56":2,"62":1,"70":1,"71":7,"72":1,"73":5,"81":1,"82":6,"91":4,"122":2,"143":7,"164":7,"165":8,"166":2,"170":2,"180":3,"191":8,"192":1}}],["multipolygontrait",{"2":{"1":1,"3":4,"4":2,"6":6,"23":1,"32":1,"71":4,"73":4,"82":4,"91":6,"100":1,"101":1,"114":1,"115":1,"122":8,"131":1,"132":1,"141":1,"142":1,"150":1,"153":1,"166":4,"169":1}}],["multipoint",{"2":{"4":5,"6":5,"50":1,"56":1,"91":5,"105":6,"153":1,"154":2,"180":1,"191":5}}],["multipoints",{"2":{"3":2,"4":1,"6":3,"56":1,"66":1,"91":2,"122":2,"180":1,"191":1}}],["multipointtrait",{"2":{"1":1,"3":2,"4":4,"6":7,"32":1,"53":2,"56":1,"66":1,"91":8,"100":1,"101":1,"105":4,"114":1,"115":1,"122":4,"131":1,"132":1,"141":1,"142":1,"150":1,"151":1,"169":1,"180":2,"189":1}}],["multithreading",{"2":{"1":2,"4":1,"6":4,"150":1,"155":1}}],["must",{"2":{"1":1,"3":8,"4":2,"5":1,"6":22,"9":1,"53":1,"59":5,"60":1,"64":2,"66":3,"69":1,"73":2,"88":2,"91":5,"94":1,"103":1,"104":1,"108":1,"116":13,"122":1,"124":1,"125":1,"135":2,"143":1,"153":1,"156":2,"168":1,"169":3,"170":1,"172":1,"176":1,"177":1,"180":1,"184":4,"188":1}}],["much",{"2":{"0":1,"6":3,"70":1,"72":1,"81":1}}],["df",{"2":{"194":3,"195":4,"198":10,"199":12}}],["dp",{"2":{"180":3}}],["dy",{"2":{"146":2,"177":3}}],["dy2",{"2":{"146":2}}],["dy1",{"2":{"105":10,"146":2}}],["dyc",{"2":{"105":2}}],["dx",{"2":{"146":2,"177":3}}],["dx2",{"2":{"146":2}}],["dx1",{"2":{"105":10,"146":2}}],["dxc",{"2":{"105":2}}],["drop",{"2":{"82":1,"166":1,"177":1}}],["driven",{"2":{"25":1,"30":1}}],["driving",{"2":{"25":1,"30":1}}],["duplicated",{"2":{"73":2}}],["during",{"2":{"64":1}}],["due",{"2":{"63":1,"64":1,"73":3}}],["date",{"2":{"79":1}}],["datas",{"2":{"200":1}}],["datasets",{"2":{"192":1,"197":1,"198":1}}],["dataset",{"2":{"192":1,"197":1}}],["datainterpolations",{"2":{"174":1}}],["dataapi",{"2":{"29":1,"153":7}}],["dataaspect",{"2":{"13":1,"14":1,"52":1,"55":1,"58":2,"62":1,"65":1,"84":2,"143":2,"175":1,"180":1}}],["dataframes",{"2":{"194":3,"198":2,"199":1}}],["dataframe",{"2":{"27":1,"194":1,"197":1,"198":5,"199":2}}],["data",{"0":{"143":1,"195":1},"2":{"23":1,"25":1,"30":1,"78":1,"143":2,"153":1,"180":10,"190":1,"192":2,"193":2,"194":2,"195":6,"198":1}}],["dashboard",{"0":{"14":1},"2":{"13":1,"14":1}}],["d",{"2":{"1":2,"5":1,"6":1,"59":1,"158":1,"172":1,"182":3}}],["deu",{"2":{"199":2}}],["demonstrates",{"2":{"198":1}}],["densify",{"2":{"176":3}}],["densifying",{"2":{"176":1}}],["densifies",{"2":{"174":1}}],["denoted",{"2":{"116":1}}],["denotes",{"2":{"64":1}}],["debug",{"2":{"169":1}}],["debugging",{"2":{"59":1,"64":1}}],["derivation",{"2":{"73":1}}],["dealing",{"2":{"66":1}}],["delete",{"2":{"105":1,"122":1,"143":1,"182":1}}],["deleteat",{"2":{"64":6,"182":1,"184":2}}],["deltri",{"2":{"80":1}}],["delayed",{"2":{"64":10,"71":2,"73":2,"82":2}}],["delay",{"2":{"64":14,"70":2,"71":2,"72":2,"73":2,"81":2,"82":2}}],["delaunay",{"2":{"6":1,"80":1}}],["delaunaytriangulation",{"2":{"6":1,"29":1,"75":1,"80":6}}],["deprecated",{"2":{"177":1}}],["depend",{"2":{"64":2}}],["depends",{"2":{"64":1,"69":1}}],["depending",{"2":{"1":1,"23":1,"73":1,"150":1,"153":1}}],["depth",{"2":{"59":2}}],["desktop",{"2":{"195":1}}],["dest",{"2":{"192":2}}],["destination",{"2":{"192":5}}],["desired",{"2":{"81":1,"195":1}}],["despite",{"2":{"53":1}}],["describe",{"2":{"17":1}}],["described",{"2":{"6":1,"59":1,"63":1,"64":1}}],["de",{"0":{"39":1},"1":{"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1},"2":{"116":2,"197":1}}],["deconstruct",{"2":{"148":1,"154":1}}],["decomposition",{"2":{"18":1,"148":1}}],["decomposing",{"2":{"18":1}}],["decompose",{"2":{"18":2,"27":1,"59":4,"154":1,"161":1}}],["decrementing",{"2":{"143":1}}],["decrease",{"2":{"63":1}}],["decreasing",{"2":{"6":1,"180":1}}],["decide",{"2":{"79":1,"143":1}}],["decision",{"2":{"24":1}}],["degeneracies",{"2":{"9":1}}],["degenerate",{"2":{"6":1,"59":1,"69":2}}],["degrees",{"2":{"6":1,"52":1,"146":1,"158":1,"176":1}}],["defines",{"2":{"64":1,"148":1,"154":1,"155":1,"156":1,"157":1,"168":1,"187":1}}],["define",{"2":{"58":1,"73":2,"90":1,"143":2,"148":1,"151":1,"153":1,"158":1,"187":1,"200":2}}],["defined",{"2":{"4":1,"5":1,"6":3,"7":1,"22":1,"53":2,"59":1,"65":1,"66":4,"73":4,"85":2,"145":1,"153":1,"158":3,"177":1,"187":1}}],["definitions",{"2":{"188":1}}],["definition",{"2":{"4":4,"6":6,"91":8,"93":1,"158":3,"177":1}}],["default",{"2":{"1":2,"4":5,"6":13,"32":1,"53":1,"56":2,"66":1,"70":1,"71":2,"72":1,"73":5,"80":1,"81":1,"82":2,"85":2,"143":5,"153":5,"156":2,"158":1,"172":2,"180":2}}],["defaults",{"2":{"1":6,"4":2,"6":11,"150":3,"153":1,"155":3}}],["deeper",{"2":{"1":1,"150":1,"152":1,"153":2}}],["detrimental",{"2":{"164":1}}],["detector",{"2":{"79":1}}],["detection",{"2":{"79":1,"143":1}}],["determined",{"2":{"64":1,"66":1}}],["determine",{"2":{"64":10,"66":3,"70":2,"72":2,"73":9,"81":2,"94":1,"108":1,"116":9,"122":1,"125":1,"135":1,"182":3,"197":1}}],["determines",{"2":{"56":1,"64":3,"73":1,"116":10}}],["determinant",{"2":{"6":1,"59":1}}],["detail",{"2":{"31":1}}],["details",{"2":{"6":2,"175":2}}],["details>",{"2":{"6":2}}],["det",{"2":{"0":1,"6":2,"59":4}}],["dirname",{"2":{"180":4}}],["dirty",{"2":{"179":1}}],["directive",{"2":{"153":1}}],["direction",{"2":{"6":1,"64":1,"91":5,"143":3}}],["direct",{"2":{"33":1}}],["directly",{"2":{"6":1,"80":3,"143":1,"176":1}}],["dig",{"2":{"153":1}}],["dict",{"2":{"143":5}}],["didn",{"2":{"82":1,"116":1,"160":1}}],["division",{"2":{"58":1}}],["divided",{"2":{"31":1}}],["ditance",{"2":{"4":1,"6":1,"85":1}}],["dimensional",{"2":{"5":1,"6":3,"55":1,"59":1,"80":2,"158":1}}],["dimensions",{"2":{"3":1,"6":1,"122":2}}],["dimension",{"2":{"1":1,"3":4,"6":4,"105":2,"121":1,"122":4,"172":1}}],["discouraged",{"2":{"193":1}}],["discussion",{"2":{"25":1,"30":1,"69":1}}],["distributed",{"2":{"198":2}}],["distinct",{"2":{"73":1,"143":1}}],["dist",{"2":{"73":40,"85":19,"116":2,"176":8,"182":40}}],["distance`",{"2":{"176":3,"177":2,"188":1}}],["distances",{"2":{"73":1,"84":1,"176":1,"181":5}}],["distance",{"0":{"83":2,"84":2},"1":{"84":2,"85":2},"2":{"0":4,"4":26,"6":47,"29":1,"32":9,"59":13,"60":3,"66":3,"73":32,"83":2,"84":17,"85":92,"116":1,"148":1,"154":1,"174":1,"175":5,"176":13,"177":28,"180":1,"181":3,"182":6,"183":1,"196":1,"200":2}}],["disagree",{"2":{"56":1}}],["displacement",{"2":{"158":1}}],["displaying",{"2":{"192":1}}],["display",{"2":{"13":1,"58":1,"192":1}}],["disparate",{"2":{"25":1,"30":1}}],["dispatches",{"2":{"6":1,"53":1,"56":1,"59":1,"63":1,"66":1,"85":1,"91":1,"94":1,"108":1,"122":1,"125":1,"135":1}}],["dispatch",{"2":{"4":1,"6":3,"24":1,"59":1,"91":1,"156":3,"159":1,"188":1}}],["disjoint",{"0":{"41":1,"106":1,"107":1,"110":1,"111":1,"112":1,"113":1,"114":1},"1":{"107":1,"108":1},"2":{"0":2,"3":5,"6":7,"23":1,"29":1,"41":2,"82":2,"106":1,"107":3,"108":11,"109":6,"110":15,"111":18,"112":10,"113":5,"114":4,"115":2,"116":16,"119":3,"164":2,"166":7,"170":2,"197":1}}],["diffs",{"2":{"53":4}}],["diff",{"2":{"6":2,"53":17,"70":5,"71":3,"122":3,"166":8}}],["differs",{"2":{"192":1}}],["differ",{"2":{"4":1,"6":1,"85":1}}],["differently",{"2":{"4":3,"6":4,"53":1,"56":2,"66":1}}],["different",{"2":{"3":1,"4":4,"6":6,"20":1,"23":1,"53":1,"56":4,"64":3,"66":1,"73":2,"79":1,"122":3,"143":1,"151":1,"153":1,"164":2,"192":2,"195":1}}],["differences",{"0":{"71":1},"2":{"73":1,"182":1}}],["difference",{"0":{"35":1,"38":1,"70":1},"2":{"0":1,"6":7,"11":1,"23":1,"29":1,"35":2,"38":1,"64":3,"70":12,"71":14,"73":1,"81":1,"82":3,"166":1,"170":1,"176":1}}],["diffintersectingpolygons",{"2":{"0":1,"6":1,"166":4,"170":1}}],["doi",{"2":{"70":2,"72":2,"81":2,"116":1}}],["doing",{"2":{"17":1,"22":1,"153":1,"193":1}}],["dot",{"2":{"53":2,"59":1}}],["download",{"2":{"192":1}}],["down",{"2":{"18":1,"27":1,"59":1,"156":2}}],["doable",{"2":{"9":1}}],["documenter",{"2":{"175":2}}],["documentation",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1},"2":{"0":1,"31":1,"58":1,"155":1}}],["docstring",{"2":{"175":4}}],["docstrings",{"0":{"149":1},"1":{"150":1},"2":{"7":1,"155":1}}],["docs",{"0":{"31":1,"155":1},"2":{"31":1,"143":1}}],["doc",{"2":{"9":1,"10":1}}],["does",{"0":{"22":1},"2":{"7":1,"19":1,"62":1,"73":2,"87":1,"93":3,"116":1}}],["doesn",{"2":{"4":1,"6":2,"32":1,"56":1,"69":1,"91":1,"176":1,"188":1,"199":1}}],["doublets",{"2":{"199":2}}],["double",{"2":{"183":4}}],["doubled",{"2":{"6":1,"183":1}}],["douglas",{"2":{"178":2,"180":2,"182":1}}],["douglaspeucker",{"0":{"182":1},"2":{"0":1,"6":5,"178":1,"180":5,"182":6}}],["done",{"0":{"10":1},"2":{"13":1,"14":1,"116":2,"143":1,"148":1,"158":1,"164":1,"191":1,"197":1}}],["don",{"2":{"4":2,"6":2,"64":4,"70":1,"82":1,"91":6,"111":1,"116":1,"124":1,"128":1,"143":2,"153":3,"154":2,"188":1}}],["do",{"0":{"9":1,"23":1,"74":1},"2":{"1":1,"6":1,"14":1,"23":1,"29":1,"53":1,"56":2,"59":2,"60":1,"63":1,"66":1,"69":1,"82":3,"85":2,"90":1,"91":1,"103":1,"111":2,"112":1,"113":2,"116":1,"143":4,"148":1,"150":1,"153":5,"154":2,"156":4,"162":1,"163":1,"165":1,"167":2,"173":1,"176":1,"180":1,"185":2,"186":2,"192":2,"193":2,"194":3,"198":1,"199":1}}],["aim",{"2":{"158":1}}],["ay",{"2":{"146":2}}],["azimuth",{"2":{"146":2}}],["automatically",{"2":{"122":1,"153":1,"192":1}}],["a3",{"2":{"78":1}}],["against",{"2":{"91":1,"116":2,"176":1,"180":1}}],["again",{"2":{"73":1,"153":1}}],["a``",{"2":{"71":2}}],["a`",{"2":{"71":7,"73":3,"82":2}}],["away",{"2":{"60":1,"105":1,"200":1}}],["a2y",{"2":{"73":4}}],["a2x",{"2":{"73":4}}],["a2",{"2":{"58":4,"73":54,"79":1,"122":6}}],["a1y",{"2":{"73":7}}],["a1x",{"2":{"73":7}}],["a1",{"2":{"58":2,"64":9,"73":66,"79":1,"122":6}}],["ams",{"2":{"196":2}}],["america",{"2":{"180":1}}],["am",{"2":{"116":1}}],["ambiguity",{"2":{"85":2,"153":1,"154":1,"156":3}}],["amounts",{"2":{"195":1}}],["amount",{"2":{"55":1,"65":1}}],["amp",{"2":{"6":1,"9":1}}],["axes",{"2":{"143":6}}],["ax",{"2":{"13":3,"14":3,"146":2,"191":5}}],["axis`",{"2":{"158":1}}],["axislegend",{"2":{"77":1,"175":1,"179":1}}],["axis",{"2":{"13":2,"14":1,"52":1,"55":1,"58":4,"62":1,"65":1,"79":2,"84":1,"143":2,"158":4,"175":1,"180":1,"196":1}}],["axs",{"2":{"13":2}}],["advised",{"2":{"159":1}}],["advance",{"2":{"63":2}}],["adjust",{"2":{"73":1}}],["adjacent",{"2":{"64":1,"71":1,"73":1,"82":1}}],["adaptivity",{"0":{"74":1}}],["adaptive",{"2":{"7":1,"13":3,"14":2,"74":1}}],["adapted",{"2":{"70":1,"72":1,"81":1,"146":1}}],["administrative",{"2":{"199":1}}],["admin",{"2":{"11":1,"78":1,"180":2}}],["adm0",{"2":{"11":7,"78":4}}],["additional",{"2":{"195":1}}],["additionally",{"2":{"64":3,"91":1}}],["addition",{"2":{"58":1,"82":1}}],["adding",{"2":{"4":1,"6":4,"7":1,"82":2,"143":1,"171":1,"174":1,"176":2,"177":1}}],["added",{"2":{"53":1,"64":6,"66":1,"82":2,"156":2,"166":2,"182":1}}],["add",{"2":{"3":1,"6":1,"7":2,"59":1,"60":1,"64":16,"66":1,"69":4,"70":3,"72":1,"73":2,"80":1,"81":2,"82":9,"105":1,"143":4,"156":1,"160":1,"174":1,"176":1,"182":10,"192":1,"194":2,"197":4}}],["average",{"2":{"57":3,"63":4,"73":1}}],["available",{"0":{"170":1},"2":{"6":2,"29":1,"63":1,"159":1,"169":3,"174":1,"175":1,"177":1,"180":1,"184":1}}],["avoid",{"2":{"5":1,"6":7,"59":1,"70":1,"72":1,"73":1,"81":1,"82":1,"143":2,"153":1,"154":1,"156":3,"177":1,"181":1,"182":1,"183":1,"191":3}}],["a>",{"2":{"6":2}}],["a455d3dd329eb00850f8162d1faf68135e3b3349",{"2":{"6":2}}],["achieve",{"2":{"164":1}}],["across",{"2":{"151":1}}],["acos",{"2":{"53":1}}],["activate",{"2":{"175":1}}],["action",{"2":{"20":2}}],["actions",{"2":{"20":2}}],["actual",{"2":{"10":1,"59":1,"146":1,"163":1,"172":1,"176":1}}],["actually",{"2":{"1":1,"6":1,"9":1,"59":4,"73":1,"82":3,"116":1,"143":1,"185":1,"195":1}}],["access",{"2":{"192":1}}],["accessed",{"2":{"188":1}}],["accepted",{"2":{"158":1}}],["acceptable",{"2":{"116":1}}],["accepts",{"2":{"80":1}}],["accept",{"2":{"6":1,"188":1}}],["according",{"2":{"162":1,"164":1,"165":1,"198":1}}],["accordingly",{"2":{"64":1}}],["account",{"2":{"70":1,"72":1}}],["accurary",{"2":{"73":1}}],["accuratearithmetic",{"2":{"11":2}}],["accurate",{"0":{"11":1},"2":{"11":3,"175":1}}],["accumulators",{"2":{"59":1}}],["accumulator",{"2":{"59":1}}],["accumulate",{"2":{"56":1,"63":3}}],["accumulation",{"0":{"11":1},"2":{"59":1}}],["after",{"2":{"6":8,"53":1,"64":3,"153":1,"154":1,"180":2}}],["ab",{"2":{"64":3,"70":1,"72":1,"73":5,"81":1}}],["able",{"2":{"20":1,"73":1}}],["ability",{"2":{"17":1}}],["about",{"2":{"6":1,"24":2,"28":1,"59":2,"116":1,"153":1,"158":1,"161":1}}],["above",{"2":{"4":1,"6":1,"53":1,"63":1,"64":1,"73":1,"82":1,"169":1}}],["abs",{"2":{"53":1,"56":4,"63":1,"66":2,"105":8,"122":2,"143":1,"183":1,"200":1}}],["absolutely",{"2":{"154":1}}],["absolute",{"2":{"4":1,"6":1,"55":1,"56":2}}],["abstractarray",{"2":{"153":4,"154":2,"156":1,"189":2}}],["abstractarrays",{"2":{"151":1}}],["abstractrange",{"2":{"143":6}}],["abstractmulticurvetrait",{"2":{"100":1,"101":1,"114":1,"115":1,"131":1,"132":1,"141":1,"142":1}}],["abstractmatrix",{"2":{"6":5,"143":13}}],["abstractpolygontrait",{"2":{"85":1}}],["abstractcurvetrait",{"2":{"53":1,"56":1,"66":1,"96":1,"99":1,"100":1,"105":1,"110":1,"114":1,"127":1,"130":1,"131":1,"137":1,"140":1,"141":1,"146":1,"180":2,"189":3}}],["abstractwkbgeomtrait",{"2":{"32":1}}],["abstractfloat",{"2":{"29":1,"53":1,"56":2,"64":1,"66":2,"69":1,"70":1,"72":1,"73":1,"81":1,"85":8}}],["abstract",{"2":{"6":3,"32":1,"59":3,"158":2,"160":3,"168":1,"169":4,"170":1,"180":3}}],["abstractvector",{"2":{"5":1,"6":1,"59":26,"143":8}}],["abstractgeometrytrait`",{"2":{"169":1}}],["abstractgeometrytrait",{"2":{"6":2,"32":1,"56":2,"66":1,"85":1,"101":1,"115":1,"132":1,"142":1,"151":1,"156":1,"169":4,"170":2,"189":5}}],["abstractgeometry",{"2":{"3":4,"6":4,"32":1,"88":2,"104":2}}],["abstracttrait",{"2":{"1":2,"3":2,"6":2,"69":1,"71":2,"73":4,"82":2,"122":4,"148":1,"150":2,"153":1,"154":2,"156":11,"159":3}}],["abstractbarycentriccoordinatemethod",{"2":{"0":1,"5":1,"6":7,"59":18}}],["attribute",{"2":{"195":1}}],["attributed",{"2":{"194":1}}],["attributes",{"0":{"194":1},"2":{"190":1,"194":3}}],["attempt",{"2":{"158":1}}],["attempts",{"2":{"116":1}}],["attach",{"2":{"1":2,"4":1,"6":4,"150":1,"155":1}}],["atomic",{"2":{"7":1}}],["at",{"2":{"3":4,"5":1,"6":6,"9":1,"18":1,"20":1,"24":1,"31":1,"53":2,"55":1,"56":1,"58":1,"59":2,"64":4,"66":2,"73":8,"79":1,"82":2,"116":17,"122":6,"124":1,"125":1,"128":3,"129":2,"130":2,"131":1,"132":1,"135":1,"141":1,"146":1,"151":1,"153":1,"175":1,"177":1,"182":1,"184":1,"192":1,"193":2}}],["arbitrarily",{"2":{"151":1}}],["arbitrary",{"2":{"57":1,"148":1,"154":1,"191":1}}],["around",{"2":{"58":1,"59":2,"69":1,"84":1,"91":1,"143":1,"180":1,"198":1}}],["argmin",{"2":{"184":1}}],["arg",{"2":{"177":1}}],["argtypes",{"2":{"60":2,"173":1,"176":1}}],["args",{"2":{"13":2}}],["argumenterror",{"2":{"82":1,"143":1,"153":1,"154":1,"156":3}}],["argument",{"2":{"4":5,"6":10,"53":1,"56":2,"63":1,"66":1,"70":1,"72":1,"81":1,"85":2,"153":1,"156":1,"188":2,"192":1,"193":1}}],["arguments",{"2":{"1":1,"3":1,"6":5,"64":1,"94":2,"108":1,"125":1,"135":1,"172":1,"176":2,"177":1,"188":1}}],["arithmetic",{"2":{"11":1}}],["archgdal",{"2":{"23":1}}],["arc",{"2":{"6":1,"176":1}}],["array",{"2":{"4":1,"6":2,"56":1,"66":1,"143":5,"153":5,"154":2,"181":1,"184":1}}],["arrays",{"2":{"1":1,"6":1,"22":1,"143":1,"150":1,"154":2}}],["aren",{"2":{"4":3,"6":5,"69":1,"71":1,"73":2,"82":4,"91":3,"166":2,"170":2}}],["are",{"2":{"1":1,"3":4,"4":18,"5":2,"6":46,"9":2,"20":2,"22":3,"24":1,"25":1,"30":1,"31":2,"52":1,"53":8,"55":1,"56":2,"57":6,"59":11,"62":1,"63":3,"64":31,"66":6,"69":3,"70":3,"71":15,"72":2,"73":16,"79":3,"81":5,"82":9,"84":1,"85":1,"87":1,"90":3,"91":26,"94":7,"96":1,"97":3,"98":3,"99":1,"101":1,"107":1,"108":5,"110":1,"111":1,"112":1,"114":1,"115":1,"116":12,"122":7,"125":5,"127":1,"129":2,"134":1,"135":5,"137":1,"138":3,"139":3,"140":1,"142":1,"143":14,"146":1,"147":1,"150":1,"151":1,"153":6,"156":4,"157":1,"158":4,"159":1,"161":1,"162":1,"163":1,"164":1,"165":1,"166":2,"169":1,"170":3,"171":1,"175":1,"176":1,"177":1,"180":4,"182":1,"184":2,"186":1,"187":2,"188":1,"191":1,"194":2,"195":2,"196":1,"197":3,"198":6,"199":1,"200":1}}],["area2",{"2":{"63":4}}],["area1",{"2":{"63":4}}],["areas",{"2":{"4":2,"6":2,"56":3,"158":1,"183":2}}],["area",{"0":{"54":2,"55":2},"1":{"55":2,"56":2},"2":{"0":5,"4":15,"6":25,"11":6,"29":1,"54":2,"55":9,"56":61,"61":1,"62":3,"63":49,"65":2,"66":44,"81":2,"82":1,"122":1,"148":1,"154":1,"158":2,"166":2,"170":2,"180":2,"183":4,"192":1}}],["asked",{"2":{"153":1}}],["ask",{"2":{"23":1}}],["aspect",{"2":{"13":1,"14":1,"52":1,"55":1,"58":2,"62":1,"65":1,"84":2,"143":2,"175":1,"180":1}}],["assign",{"2":{"190":1}}],["assigned",{"2":{"64":1,"143":7,"198":1}}],["assets",{"2":{"192":1}}],["assetpath",{"2":{"192":1}}],["assemble",{"2":{"163":1}}],["assert",{"2":{"59":23,"63":1,"64":1,"69":1,"71":1,"73":1,"177":2,"189":1}}],["assume",{"2":{"122":2,"153":3,"154":1,"162":1,"166":1}}],["assumed",{"2":{"56":1,"91":1,"116":1}}],["assumes",{"2":{"6":3,"64":1,"85":1,"176":1,"177":2,"184":1}}],["associativity",{"2":{"19":1}}],["associated",{"0":{"1":1},"2":{"57":2}}],["as",{"2":{"1":8,"3":18,"4":6,"5":1,"6":74,"7":1,"11":2,"13":3,"14":3,"15":3,"17":2,"18":2,"20":1,"22":1,"23":2,"24":1,"25":1,"30":1,"52":2,"53":4,"55":2,"56":3,"57":4,"58":1,"59":4,"60":3,"62":2,"63":1,"64":15,"65":2,"66":5,"68":3,"69":5,"70":8,"71":2,"72":7,"73":8,"75":1,"77":2,"78":2,"79":3,"80":3,"81":7,"82":5,"84":3,"85":1,"87":2,"88":2,"90":2,"91":2,"93":3,"94":3,"103":2,"104":2,"105":2,"107":2,"108":3,"116":7,"118":2,"119":2,"121":2,"122":2,"124":2,"125":3,"127":1,"134":2,"135":3,"143":3,"146":8,"148":3,"150":2,"151":2,"152":2,"153":10,"154":4,"156":4,"158":4,"159":2,"160":2,"162":2,"163":2,"165":2,"169":1,"170":1,"171":1,"172":3,"174":2,"175":2,"176":3,"177":1,"178":2,"179":2,"180":7,"182":2,"185":3,"188":2,"189":2,"190":3,"191":2,"192":1,"193":1,"195":3,"196":3,"197":2,"198":3,"199":2}}],["alone",{"2":{"153":1}}],["along",{"2":{"4":4,"6":5,"64":3,"66":2,"73":4,"91":4,"116":1}}],["although",{"2":{"138":1,"139":1}}],["alternate",{"2":{"64":1}}],["alternative",{"2":{"64":1}}],["already",{"2":{"91":1,"116":2,"153":1,"182":1}}],["almost",{"2":{"73":1}}],["alg=nothing",{"2":{"180":1}}],["alg`",{"2":{"180":1}}],["alg",{"2":{"6":4,"32":2,"180":21,"181":3,"182":8,"183":3,"184":7,"188":9}}],["algorithms",{"2":{"6":3,"75":1,"79":1,"162":1,"177":1,"178":1,"180":4,"182":1,"184":1}}],["algorithm",{"0":{"181":1,"182":1,"183":1},"2":{"6":12,"58":1,"64":2,"66":1,"69":3,"70":1,"72":1,"75":1,"80":4,"81":1,"116":1,"178":1,"180":8,"181":1,"182":3,"183":1,"188":4}}],["allocating",{"2":{"80":1}}],["allocations",{"2":{"5":1,"6":1,"59":1}}],["allocate",{"2":{"80":1}}],["allow=",{"2":{"116":1}}],["allows",{"2":{"11":1,"18":1,"23":1,"24":1,"27":1,"94":2,"96":3,"97":3,"98":3,"99":1,"108":2,"110":3,"111":3,"112":2,"113":1,"125":1,"128":1,"129":1,"130":1,"135":3,"137":3,"138":3,"139":3,"140":1,"148":1,"178":1,"192":1,"194":1,"197":1}}],["allowed",{"2":{"6":1,"94":3,"108":3,"116":6,"125":5,"127":1,"128":2,"135":3,"180":1}}],["allow",{"2":{"1":1,"6":1,"23":1,"73":1,"94":7,"105":3,"108":7,"116":73,"125":10,"135":10,"177":1,"185":1}}],["all",{"2":{"1":3,"3":2,"4":3,"6":12,"9":1,"11":7,"22":1,"25":1,"29":2,"30":1,"53":5,"56":3,"59":1,"64":13,"66":3,"70":1,"71":3,"73":3,"75":1,"78":3,"80":1,"82":5,"84":1,"87":1,"91":2,"97":3,"98":3,"101":1,"114":1,"115":1,"116":7,"122":4,"134":1,"142":1,"143":3,"146":1,"147":1,"150":1,"151":2,"152":1,"153":7,"154":1,"156":2,"158":1,"163":1,"164":1,"167":1,"169":1,"171":1,"180":1,"185":2,"186":1,"187":1,"191":1,"193":1,"195":1,"197":1}}],["always",{"2":{"1":7,"4":6,"6":8,"25":1,"30":1,"55":1,"56":4,"66":2,"79":1,"84":1,"85":1,"91":1,"150":2,"153":3,"154":1,"172":4,"197":1}}],["also",{"2":{"1":2,"6":9,"23":1,"53":1,"56":2,"63":2,"64":3,"66":1,"70":1,"72":1,"73":2,"75":1,"79":1,"80":1,"81":1,"84":1,"85":2,"91":3,"122":1,"143":1,"150":1,"151":1,"153":1,"159":1,"163":1,"166":2,"170":3,"173":1,"174":1,"175":1,"176":1,"178":1,"185":1,"191":2,"194":1}}],["a",{"0":{"23":1,"192":1,"194":1},"2":{"1":13,"3":5,"4":79,"5":1,"6":187,"7":3,"9":1,"11":1,"15":2,"17":1,"18":6,"20":3,"22":3,"23":4,"24":2,"25":2,"27":2,"28":2,"30":2,"32":4,"35":3,"36":3,"37":3,"38":3,"40":2,"41":2,"42":2,"43":2,"44":2,"45":2,"46":2,"47":2,"48":2,"49":2,"52":3,"53":22,"55":11,"56":20,"57":13,"58":4,"59":11,"60":2,"62":5,"63":8,"64":281,"65":2,"66":17,"68":3,"69":4,"70":39,"71":30,"72":38,"73":91,"74":3,"75":3,"77":3,"78":2,"79":1,"80":4,"81":36,"82":45,"84":15,"85":27,"87":2,"90":2,"91":54,"93":1,"94":3,"96":5,"97":3,"98":2,"100":2,"101":2,"103":2,"105":1,"107":1,"108":3,"110":4,"111":3,"112":1,"114":2,"115":2,"116":52,"118":2,"121":5,"122":27,"124":2,"125":4,"127":4,"128":2,"129":2,"130":1,"131":2,"132":2,"134":1,"135":3,"137":5,"138":2,"139":2,"141":2,"142":2,"143":79,"145":1,"146":4,"148":4,"150":4,"151":4,"153":27,"154":6,"156":7,"158":11,"159":6,"160":6,"161":6,"162":2,"163":2,"164":8,"166":6,"167":3,"168":5,"169":5,"170":9,"171":2,"172":8,"173":3,"174":5,"175":4,"176":8,"177":10,"179":3,"180":5,"183":3,"184":1,"185":2,"186":1,"188":12,"189":2,"190":1,"191":21,"192":12,"193":5,"194":5,"195":11,"196":1,"197":5,"198":8,"199":3,"200":3}}],["apart",{"2":{"166":1}}],["april",{"0":{"7":1}}],["appears",{"2":{"162":1}}],["append",{"2":{"53":1,"64":5,"70":1,"71":2,"73":2,"81":1,"82":5,"166":2}}],["approximately",{"2":{"64":1,"175":1}}],["approach",{"2":{"19":1}}],["appropriately",{"2":{"198":1}}],["appropriate",{"2":{"6":1,"188":2}}],["applies",{"2":{"151":2}}],["applied",{"2":{"6":1,"20":1,"156":4,"168":2,"169":2,"170":1}}],["application",{"2":{"1":1,"6":2,"150":1,"154":1,"163":1,"166":2,"169":3,"170":1,"174":1,"177":1}}],["apply`",{"2":{"153":1}}],["applys",{"2":{"56":1,"66":1}}],["applyreduce",{"0":{"19":1,"154":1},"2":{"0":1,"1":1,"17":1,"19":2,"27":1,"29":2,"53":1,"56":1,"63":2,"66":1,"85":2,"148":1,"150":1,"154":42,"160":1}}],["apply",{"0":{"1":1,"18":1,"22":1,"27":1,"148":1,"151":1},"1":{"19":1,"149":1,"150":1,"151":1,"152":1,"153":1},"2":{"0":1,"1":4,"6":3,"17":1,"18":5,"20":1,"22":1,"24":1,"27":3,"29":3,"32":2,"148":5,"150":3,"151":4,"152":1,"153":55,"154":5,"155":1,"156":3,"158":1,"160":1,"167":3,"169":4,"170":1,"171":1,"172":1,"176":1,"177":1,"180":2,"185":3,"186":2}}],["apis",{"2":{"17":1}}],["api",{"0":{"0":1,"59":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1},"2":{"0":1,"6":3,"24":1,"59":1,"176":1,"180":1,"188":1}}],["annotation",{"2":{"160":1}}],["annotated",{"2":{"31":1}}],["angular",{"2":{"158":1}}],["angels",{"2":{"53":1}}],["angle",{"2":{"53":35,"146":1}}],["angles",{"0":{"51":1,"52":1},"1":{"52":1,"53":1},"2":{"0":2,"4":10,"6":10,"29":1,"51":1,"52":4,"53":42}}],["answers",{"2":{"164":1}}],["answer",{"2":{"6":3,"70":1,"72":1,"73":1,"81":1}}],["another",{"2":{"3":1,"6":1,"64":2,"73":1,"80":1,"84":1,"87":1,"93":1,"96":1,"98":1,"99":1,"103":1,"107":1,"110":1,"111":1,"112":1,"113":1,"116":1,"118":1,"121":1,"122":1,"124":1,"127":1,"128":1,"129":1,"130":1,"134":1,"137":1,"138":1,"139":1,"140":1,"143":1,"172":1}}],["anonymous",{"2":{"1":1,"6":1,"185":1}}],["an",{"2":{"1":3,"4":11,"5":1,"6":27,"9":1,"13":1,"14":1,"18":1,"20":1,"23":2,"32":1,"52":1,"53":4,"55":1,"56":2,"58":1,"59":3,"60":2,"62":1,"64":15,"65":2,"66":2,"68":1,"69":1,"70":2,"71":5,"72":2,"73":9,"80":3,"81":2,"82":2,"84":2,"85":5,"87":1,"90":1,"91":1,"93":2,"96":2,"103":1,"107":1,"116":13,"118":1,"121":1,"122":1,"124":1,"134":1,"137":2,"138":1,"139":1,"143":3,"147":1,"150":1,"151":1,"152":1,"153":5,"154":2,"156":2,"158":1,"163":1,"171":1,"172":1,"176":1,"185":2,"188":3,"189":1,"191":2,"192":2,"194":1,"196":1,"198":1}}],["anything",{"2":{"58":1,"116":1}}],["any",{"2":{"1":3,"3":1,"4":2,"6":17,"18":1,"24":1,"25":1,"27":1,"30":1,"57":2,"63":1,"64":7,"66":1,"69":1,"71":1,"73":4,"82":1,"85":2,"95":2,"96":1,"99":1,"107":1,"109":2,"110":1,"111":2,"112":1,"113":2,"116":8,"122":2,"126":2,"136":2,"140":1,"143":2,"148":2,"150":1,"153":2,"154":2,"156":2,"163":1,"166":4,"168":1,"169":3,"170":4,"172":2,"174":1,"176":1,"177":1,"182":1,"189":1,"197":3,"198":2}}],["and",{"0":{"1":1,"20":1,"22":1,"24":1,"54":1,"71":1,"73":1,"82":1,"83":1,"191":1,"192":1,"194":1},"1":{"55":1,"56":1,"84":1,"85":1},"2":{"0":2,"1":8,"3":11,"4":18,"6":79,"7":1,"9":2,"17":4,"18":4,"20":2,"22":1,"23":2,"24":3,"25":2,"27":2,"28":1,"29":2,"30":2,"31":5,"32":2,"33":1,"53":13,"55":1,"56":7,"57":2,"58":2,"59":20,"60":1,"61":2,"62":1,"63":29,"64":71,"65":2,"66":18,"68":1,"69":4,"70":4,"71":16,"72":4,"73":38,"79":1,"80":2,"81":6,"82":15,"84":2,"85":13,"87":3,"88":2,"90":2,"91":13,"93":2,"94":3,"97":3,"98":4,"99":1,"103":2,"104":2,"105":1,"108":3,"111":3,"112":1,"113":1,"116":36,"118":1,"121":2,"122":3,"125":2,"129":2,"130":2,"134":3,"135":4,"137":2,"138":3,"139":3,"140":1,"143":16,"146":2,"148":6,"150":5,"151":2,"152":3,"153":16,"154":10,"156":3,"157":1,"158":14,"159":1,"160":3,"161":1,"162":2,"163":1,"164":1,"167":2,"168":1,"169":4,"170":2,"171":2,"172":2,"175":1,"176":5,"177":7,"178":2,"179":1,"180":8,"182":8,"183":1,"184":1,"185":1,"188":4,"190":3,"191":9,"192":7,"193":2,"195":5,"197":2,"198":4,"199":2}}],["snapped",{"2":{"143":1}}],["s3",{"2":{"64":3}}],["scratch",{"2":{"195":1}}],["sciences",{"2":{"192":1}}],["scalefactor",{"2":{"176":3}}],["scattered",{"2":{"198":1}}],["scatter",{"2":{"62":1,"84":2,"87":2,"90":2,"93":1,"103":1,"107":2,"121":2,"134":2,"198":1}}],["schema",{"2":{"153":5,"154":1}}],["scheme",{"2":{"63":1}}],["scenario",{"2":{"116":2}}],["scene",{"2":{"14":1}}],["skipmissing",{"2":{"143":1}}],["skipped",{"2":{"143":1}}],["skip",{"2":{"56":1,"116":14,"143":1,"153":1,"184":4}}],["skygering",{"2":{"7":1}}],["square",{"2":{"85":1,"181":1,"182":1}}],["squared",{"2":{"6":2,"66":2,"85":12,"181":2,"182":7}}],["sqrt",{"2":{"53":2,"63":1,"85":3}}],["sgn",{"2":{"53":5}}],["smallest",{"2":{"53":2,"73":1,"75":1}}],["sᵢ₋₁",{"2":{"59":25}}],["sᵢ₊₁",{"2":{"6":2,"59":41}}],["sᵢ",{"2":{"6":4,"59":46}}],["src",{"2":{"6":2}}],["syntax",{"2":{"194":1}}],["sym10100477",{"2":{"116":1}}],["symdifference",{"2":{"38":1,"147":1}}],["symmetric",{"0":{"38":1},"2":{"38":1}}],["symbol=",{"2":{"105":1}}],["symbol",{"2":{"6":1,"188":2}}],["system",{"0":{"192":1,"193":1},"2":{"1":2,"172":2,"190":2,"192":1}}],["switches",{"2":{"73":1,"82":1}}],["switch",{"2":{"64":1,"82":1,"160":1}}],["switching",{"2":{"6":1,"66":1}}],["swap",{"2":{"6":1,"82":1,"85":2,"167":1}}],["swapped",{"2":{"3":1,"6":1,"88":1,"94":1,"104":1,"105":1,"119":1,"122":1}}],["swapping",{"2":{"1":1,"150":1,"153":1}}],["s2",{"2":{"6":4,"59":6,"64":3}}],["s1",{"2":{"6":3,"59":6,"64":3}}],["saving",{"0":{"195":1}}],["saved",{"2":{"91":1}}],["save",{"2":{"53":1,"190":1,"195":3}}],["samples",{"2":{"13":1}}],["sample",{"2":{"13":1}}],["same",{"2":{"3":2,"4":12,"6":22,"18":1,"53":3,"56":1,"64":15,"66":1,"69":1,"70":3,"72":1,"73":1,"79":1,"81":1,"82":1,"84":1,"90":2,"91":30,"116":2,"121":1,"122":8,"151":1,"153":5,"156":2,"161":1,"165":1,"166":2,"170":2,"175":1,"191":1,"192":1,"195":1}}],["says",{"2":{"79":1}}],["say",{"2":{"6":1,"59":1,"176":1}}],["spliced",{"2":{"155":1}}],["split",{"2":{"69":1}}],["sp",{"2":{"116":2}}],["specify",{"2":{"156":2,"192":1,"193":1,"197":1}}],["specification",{"2":{"162":1,"164":1,"165":1,"169":1}}],["specifically",{"2":{"6":2,"59":3,"178":1,"197":1}}],["specific",{"2":{"64":1,"94":1,"108":1,"125":1,"135":1,"153":1,"154":1,"156":3,"158":1}}],["specified",{"2":{"3":1,"6":2,"64":1,"71":2,"73":2,"82":2,"122":1,"151":1,"180":1}}],["specialized",{"2":{"25":1,"30":1,"80":1,"153":1}}],["sphere",{"2":{"6":1,"158":3,"177":1}}],["sphericalgeodesics",{"2":{"158":1}}],["spherical",{"2":{"6":1,"29":2,"158":7,"177":1}}],["spatial",{"0":{"197":1},"1":{"198":1,"199":1,"200":1},"2":{"197":6,"198":3,"200":1}}],["spawn",{"2":{"153":3,"154":3}}],["span>",{"2":{"6":2}}],["span",{"2":{"6":2,"198":1}}],["space",{"2":{"6":1,"25":1,"30":1,"53":1,"55":1,"116":1,"158":5,"176":1}}],["slow",{"2":{"199":1}}],["slower",{"2":{"6":1,"188":2}}],["slope2",{"2":{"146":2}}],["slope1",{"2":{"146":2}}],["slidergrid",{"2":{"14":1}}],["sliders",{"2":{"14":3}}],["slightly",{"2":{"4":2,"6":2,"56":2}}],["suite",{"2":{"176":5,"180":13}}],["suggestion",{"2":{"173":1}}],["success",{"2":{"158":1}}],["such",{"2":{"4":1,"6":1,"55":1,"68":1,"75":1,"151":1,"171":1}}],["sun",{"2":{"116":1}}],["surrounds",{"2":{"116":1}}],["sure",{"2":{"9":1,"53":1,"64":2,"85":1,"122":1,"184":1}}],["suppose",{"2":{"199":1,"200":1}}],["supports",{"2":{"58":1,"59":1,"75":1,"153":3,"195":1,"200":2}}],["support",{"2":{"32":1,"60":1,"174":1,"200":1}}],["supported",{"2":{"23":1,"195":1}}],["supertype",{"2":{"6":1,"59":1}}],["sukumar",{"2":{"6":1,"59":1}}],["sum=1",{"2":{"59":1}}],["summary>",{"2":{"6":4}}],["sum",{"2":{"4":2,"6":3,"11":6,"55":1,"56":2,"57":2,"59":8,"66":1,"85":2,"146":5,"184":1,"189":4}}],["sublevel",{"2":{"199":1}}],["subsequent",{"2":{"191":1}}],["substituted",{"2":{"1":1,"150":1,"153":1}}],["subgeom1",{"2":{"156":2}}],["subgeom",{"2":{"156":3}}],["subject",{"2":{"64":1}}],["subtype",{"2":{"153":1}}],["subtypes",{"2":{"6":2,"59":2}}],["subtracted",{"2":{"146":1}}],["subtitle",{"2":{"13":1,"58":2,"176":1,"180":2}}],["sub",{"2":{"4":6,"6":7,"53":1,"56":3,"66":1,"71":6,"73":3,"82":4,"85":2,"100":2,"101":2,"114":2,"115":2,"131":2,"132":2,"141":2,"142":2,"153":3,"164":4,"165":2,"166":4}}],["series",{"2":{"191":1}}],["serve",{"2":{"6":1,"59":1}}],["searchsortedfirst",{"2":{"182":1}}],["semimajor",{"2":{"158":3}}],["seg2",{"2":{"146":2}}],["seg1",{"2":{"146":3}}],["seg",{"2":{"116":23,"122":9}}],["segmentation",{"2":{"175":1}}],["segments",{"2":{"23":1,"29":1,"52":2,"53":1,"62":1,"63":2,"64":3,"66":1,"73":6,"116":18,"176":1,"177":3}}],["segmentization",{"2":{"32":1,"158":1,"174":1}}],["segmentizing",{"2":{"6":3,"175":1,"176":2,"177":1}}],["segmentizemethod",{"2":{"176":3,"177":1}}],["segmentized",{"2":{"175":1}}],["segmentizes",{"2":{"174":1}}],["segmentize",{"0":{"32":1,"174":1},"1":{"175":1,"176":1,"177":1},"2":{"0":1,"6":4,"29":1,"32":9,"60":1,"148":1,"158":1,"174":1,"175":5,"176":11,"177":18,"196":1}}],["segment",{"2":{"4":4,"6":7,"53":1,"63":5,"64":6,"66":3,"68":1,"73":17,"85":2,"105":3,"116":43,"122":3,"146":2,"174":1,"176":2,"177":1}}],["seperate",{"2":{"73":1}}],["separates",{"2":{"116":1}}],["separate",{"2":{"64":1,"143":1,"153":1,"160":1,"195":1,"198":1}}],["separately",{"2":{"59":1,"143":1}}],["sense",{"2":{"56":1,"85":1}}],["several",{"2":{"20":2,"56":1,"161":1,"166":1}}],["select",{"2":{"159":1}}],["selected",{"2":{"143":1}}],["selectednode",{"2":{"143":3}}],["selection",{"2":{"14":1}}],["self",{"2":{"9":2}}],["section",{"2":{"31":1,"116":3,"121":1}}],["sections",{"2":{"10":1,"31":1}}],["seconds=1",{"2":{"176":3,"180":8}}],["secondisleft",{"2":{"143":4}}],["secondisstraight",{"2":{"143":7}}],["secondary",{"2":{"3":3,"6":3,"88":1,"94":1,"135":1}}],["second",{"2":{"3":8,"6":9,"64":1,"73":4,"87":2,"88":1,"91":1,"93":1,"94":1,"97":1,"98":1,"99":1,"104":2,"108":2,"116":2,"125":1,"134":1,"135":1,"138":1,"139":1,"140":2,"182":1,"193":1,"197":1}}],["seem",{"2":{"25":1,"30":1}}],["see",{"2":{"6":4,"7":1,"27":1,"62":1,"80":1,"85":1,"87":1,"90":1,"93":1,"107":1,"116":5,"118":1,"121":1,"124":1,"134":1,"143":2,"162":1,"163":1,"165":1,"166":2,"169":1,"170":3,"175":2,"182":1,"198":2}}],["setup=",{"2":{"94":1,"108":1,"125":1,"135":1}}],["sets",{"2":{"64":1,"79":1}}],["setting",{"2":{"23":1}}],["set",{"0":{"23":1,"34":1},"1":{"35":1,"36":1,"37":1,"38":1},"2":{"3":2,"4":7,"6":19,"23":1,"53":1,"57":2,"59":8,"64":3,"70":2,"72":2,"73":7,"75":2,"81":2,"90":2,"91":10,"94":1,"105":1,"108":1,"116":2,"122":1,"125":1,"135":1,"143":1,"146":1,"153":5,"166":2,"170":2,"182":2,"191":1,"195":1,"198":3}}],["sve",{"2":{"1":1,"6":1,"185":1}}],["svector",{"2":{"1":14,"6":14,"64":5,"70":1,"73":2,"82":6,"116":1,"143":1,"185":13,"191":6,"193":4}}],["solution",{"2":{"116":1}}],["south",{"2":{"66":7,"158":1}}],["source",{"2":{"1":10,"3":19,"4":22,"5":3,"6":84,"31":4,"105":2,"150":2,"156":4,"169":1,"170":4,"172":3,"192":13,"193":1}}],["sort",{"2":{"64":4,"69":2,"73":2,"81":2,"116":1,"122":2,"143":1,"182":1}}],["sorted",{"2":{"20":1,"64":1,"182":7,"197":1}}],["someone",{"2":{"80":1,"188":1}}],["something",{"0":{"74":1},"2":{"10":1}}],["some",{"2":{"3":1,"6":4,"9":1,"17":1,"59":4,"91":1,"116":3,"122":1,"143":1,"147":1,"148":1,"151":2,"153":2,"154":1,"168":1,"169":2,"170":1,"177":1,"184":1,"187":2,"190":2,"197":1,"200":1}}],["so",{"2":{"1":1,"4":4,"6":9,"9":1,"17":1,"19":1,"25":1,"29":1,"30":1,"58":1,"59":1,"64":1,"65":1,"73":1,"81":2,"82":2,"84":1,"85":1,"87":1,"90":1,"91":4,"107":1,"116":2,"118":1,"134":1,"143":3,"153":8,"156":2,"174":1,"175":1,"176":3,"177":1,"184":1,"185":1,"188":2,"192":1,"193":1}}],["styles",{"2":{"153":1}}],["style",{"2":{"153":7}}],["step",{"2":{"64":7,"70":1,"71":3,"72":1,"73":3,"81":1,"82":3,"143":6,"189":1}}],["storing",{"2":{"195":1}}],["stored",{"2":{"64":2,"198":1}}],["stores",{"2":{"64":1}}],["store",{"2":{"59":1,"195":1}}],["stopping",{"2":{"182":2}}],["stops",{"2":{"151":1}}],["stop",{"2":{"18":2,"105":3,"116":4,"122":3}}],["stay",{"2":{"82":1}}],["stackoverflow",{"2":{"73":1}}],["stack",{"2":{"69":1}}],["states",{"2":{"180":1}}],["state",{"2":{"81":1,"199":9}}],["status",{"2":{"64":31,"71":4,"73":5,"82":4,"143":1}}],["static",{"2":{"160":1}}],["staticarray",{"2":{"59":1}}],["staticarrays",{"2":{"29":1,"64":5,"70":1,"73":2,"82":6,"116":1,"143":1,"185":2}}],["staticarraysco",{"2":{"1":1,"6":1,"185":1}}],["staticarrayscore",{"2":{"1":10,"6":10,"59":1,"185":10,"191":6,"193":4}}],["statica",{"2":{"1":1,"6":1,"185":1}}],["statistics",{"2":{"13":2,"29":1}}],["stability",{"2":{"23":1,"28":1}}],["stable",{"2":{"13":1,"24":1,"177":1}}],["stage",{"2":{"7":1}}],["standardized",{"2":{"116":1}}],["standards",{"2":{"116":1}}],["standard",{"2":{"6":1,"80":1,"158":1}}],["started",{"2":{"64":1}}],["starting",{"2":{"63":2,"64":1,"66":1,"73":1,"166":4}}],["startvalue",{"2":{"14":4}}],["start",{"2":{"6":1,"18":1,"53":7,"59":1,"64":76,"66":17,"71":4,"73":4,"82":5,"91":1,"105":4,"116":44,"122":3,"137":1,"143":2,"161":1,"182":16,"191":1}}],["straightline",{"2":{"143":3}}],["straight",{"2":{"143":6,"154":1}}],["strait",{"2":{"143":1}}],["structs",{"2":{"20":1,"169":1}}],["structures",{"2":{"148":1}}],["structure",{"2":{"6":1,"148":1,"156":2,"167":1}}],["struct",{"2":{"6":2,"59":2,"64":2,"80":1,"158":3,"159":3,"160":6,"163":1,"166":2,"176":2,"181":1,"182":1,"183":1,"188":4}}],["strings",{"2":{"6":1,"63":1,"73":1}}],["string",{"2":{"1":2,"14":1,"62":1,"63":1,"172":2}}],["still",{"2":{"0":1,"56":1,"63":1,"64":3,"93":1,"182":1}}],["shp",{"2":{"195":1}}],["ships",{"2":{"192":1}}],["shifting",{"2":{"193":1}}],["shift",{"2":{"191":3}}],["shewchuck",{"2":{"7":1}}],["short",{"2":{"153":1}}],["shorthand",{"2":{"80":1}}],["show",{"2":{"9":1,"11":1,"13":1,"14":1,"58":1,"192":1,"195":1,"197":2}}],["shoelace",{"2":{"4":1,"6":1,"56":2,"66":1}}],["shouldn",{"2":{"73":1}}],["should",{"2":{"1":1,"4":1,"6":12,"17":1,"18":1,"20":2,"25":1,"30":1,"32":1,"53":3,"56":1,"63":1,"64":3,"65":1,"91":1,"116":4,"143":2,"150":1,"153":2,"156":2,"158":1,"160":1,"162":1,"169":4,"170":2,"177":2,"180":2}}],["sharing",{"2":{"107":1}}],["shares",{"2":{"73":1}}],["share",{"2":{"4":7,"6":8,"90":2,"91":8,"111":2,"112":1,"113":1,"122":1,"130":1}}],["shared",{"0":{"184":1},"2":{"3":1,"6":1,"64":2,"73":2,"122":3}}],["shapes",{"2":{"85":1,"195":7}}],["shape",{"2":{"62":1,"71":1,"73":1,"90":1,"158":1,"165":1,"191":1}}],["shaped",{"2":{"58":1}}],["shapefiles",{"2":{"195":1}}],["shapefile",{"2":{"27":1,"195":4}}],["shallower",{"2":{"1":1,"150":1,"153":1}}],["sites",{"2":{"199":1}}],["sides",{"2":{"64":3,"162":1}}],["side",{"2":{"53":4,"64":26}}],["signals",{"2":{"152":1}}],["sign",{"2":{"13":2,"14":2,"53":7,"56":2,"146":3}}],["signed",{"0":{"54":1,"55":1,"83":1,"84":1},"1":{"55":1,"56":1,"84":1,"85":1},"2":{"0":4,"4":15,"6":18,"11":3,"54":1,"55":5,"56":23,"66":3,"83":1,"84":7,"85":19}}],["six",{"2":{"6":1,"180":1}}],["size=",{"2":{"192":1}}],["sizehint",{"2":{"64":2,"71":1,"177":1}}],["size",{"2":{"6":4,"13":2,"14":5,"58":1,"82":1,"143":2,"153":2,"154":2,"180":1}}],["sin",{"2":{"191":3,"192":1,"193":2}}],["singed",{"2":{"85":1}}],["singular",{"2":{"73":1}}],["singlepoly",{"2":{"180":6}}],["single",{"2":{"4":6,"6":10,"23":1,"53":2,"56":1,"66":1,"91":5,"121":2,"143":2,"154":1,"164":1,"166":2,"170":2,"191":3,"195":1}}],["since",{"2":{"1":1,"6":2,"31":1,"53":1,"56":1,"63":1,"66":2,"81":1,"85":1,"91":1,"116":1,"122":2,"129":1,"153":1,"160":1,"172":1,"188":2,"199":1}}],["simulation",{"2":{"23":1}}],["simultaneously",{"2":{"20":1}}],["simply",{"2":{"7":1,"55":1,"60":1,"64":1,"73":1,"82":1,"88":1,"104":1,"119":1,"143":1,"168":1,"172":1,"173":1,"176":1,"191":1,"194":1}}],["simpler",{"2":{"6":1,"143":1}}],["simple",{"0":{"33":1,"77":1,"198":1},"1":{"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1},"2":{"6":3,"33":1,"59":1,"80":1,"148":3,"158":1,"160":1,"167":1,"172":1,"179":2,"180":2}}],["simplifier",{"2":{"180":4}}],["simplified",{"2":{"23":1,"179":1}}],["simplifies",{"2":{"6":3,"181":1,"182":1,"183":1}}],["simplification",{"0":{"178":1},"1":{"179":1,"180":1},"2":{"6":2,"178":2,"180":3}}],["simplifying",{"2":{"178":1}}],["simplify",{"0":{"181":1,"182":1,"183":1},"2":{"0":1,"6":15,"9":1,"29":1,"64":1,"148":1,"179":1,"180":41,"181":1,"182":2,"183":1}}],["simplifyalgs",{"2":{"184":1}}],["simplifyalg",{"2":{"0":1,"6":8,"180":5,"181":2,"182":2,"183":2}}],["similarly",{"2":{"148":1}}],["similar",{"2":{"1":1,"6":3,"18":1,"25":1,"27":1,"30":1,"60":1,"75":1,"80":1,"143":2,"150":1,"153":1,"176":2,"177":1,"186":1}}],["s",{"0":{"28":1},"2":{"0":1,"3":1,"6":11,"7":1,"9":1,"18":1,"19":1,"27":1,"53":1,"55":1,"56":4,"57":1,"58":2,"59":5,"62":3,"63":3,"64":3,"66":1,"68":1,"71":1,"73":2,"79":1,"82":3,"85":1,"91":1,"103":2,"110":3,"111":4,"112":2,"116":9,"122":1,"124":1,"125":1,"130":1,"143":5,"148":2,"153":2,"154":1,"159":2,"160":2,"163":1,"164":1,"166":3,"170":4,"175":4,"176":1,"177":2,"178":1,"180":2,"184":4,"188":6,"191":6,"192":4,"193":4,"194":2,"195":5,"200":2}}],["fn",{"2":{"195":8}}],["f``",{"2":{"158":1}}],["fc",{"2":{"153":4,"154":5,"156":13,"180":3,"189":14}}],["fj",{"2":{"143":2}}],["f2",{"2":{"64":2}}],["f1",{"2":{"64":2}}],["f64",{"2":{"13":2,"14":2}}],["few",{"2":{"162":1}}],["fetched",{"2":{"143":1}}],["fetch",{"2":{"32":2,"153":1,"154":1}}],["feb",{"0":{"8":1},"1":{"9":1,"10":1}}],["featurecollection",{"2":{"6":2,"11":1,"18":1,"143":4,"153":6,"156":1,"192":2}}],["featurecollectiontrait",{"2":{"1":1,"150":1,"151":1,"153":3,"154":2,"156":10,"189":5}}],["features",{"0":{"95":1,"109":1,"126":1,"136":1},"2":{"1":1,"6":2,"11":1,"22":1,"80":1,"143":3,"150":1,"152":1,"153":11,"154":6,"156":2,"192":1}}],["featuretrait",{"2":{"1":2,"95":4,"105":2,"109":4,"126":4,"136":4,"150":2,"151":3,"153":3,"154":3,"156":10,"189":5}}],["feature",{"2":{"1":6,"4":1,"6":4,"18":2,"22":1,"56":1,"66":1,"143":2,"148":1,"150":6,"152":1,"153":22,"154":6,"156":22,"180":2,"189":2,"195":1}}],["fra",{"2":{"199":2}}],["frame",{"2":{"194":1}}],["framework",{"2":{"148":4,"154":2}}],["fracs",{"2":{"64":20,"69":1}}],["frac",{"2":{"59":1,"64":2,"73":17,"180":2}}],["fractional",{"2":{"64":1,"73":3}}],["fractions",{"2":{"64":1,"73":4}}],["fraction",{"2":{"6":4,"73":2,"85":1,"180":1}}],["front",{"2":{"53":1}}],["from",{"2":{"1":3,"3":4,"4":16,"6":26,"7":1,"11":1,"20":1,"22":1,"29":1,"31":1,"56":2,"58":1,"59":4,"60":1,"63":1,"64":6,"66":11,"69":1,"70":1,"71":3,"72":1,"73":11,"80":1,"81":1,"82":6,"85":25,"108":2,"110":5,"111":4,"112":2,"113":1,"114":2,"116":6,"122":2,"143":7,"146":2,"153":1,"156":6,"158":1,"160":1,"166":1,"172":4,"174":1,"180":1,"181":1,"182":3,"183":1,"189":1,"190":1,"192":5,"195":1,"197":1,"198":1,"200":1}}],["footprint",{"2":{"193":1}}],["foldable",{"2":{"153":2,"154":1}}],["follows",{"2":{"64":2,"94":1,"108":1,"125":1,"135":1,"143":1}}],["followed",{"2":{"31":1}}],["following",{"2":{"6":1,"59":1,"68":1,"156":1,"162":1,"165":1,"180":1,"197":1}}],["focusing",{"2":{"25":1,"30":1}}],["foundational",{"2":{"17":1}}],["found",{"2":{"6":7,"31":1,"66":1,"69":1,"70":2,"72":2,"73":1,"81":2,"91":1,"143":5,"151":3,"153":2,"154":1,"156":5,"177":2}}],["forward",{"2":{"73":1}}],["forwards",{"2":{"64":1,"71":1,"82":1}}],["formats",{"2":{"190":1,"193":1,"195":3}}],["format",{"2":{"69":1,"195":3}}],["form",{"2":{"18":1,"64":3,"73":8,"82":3,"153":1}}],["formed",{"2":{"4":2,"6":3,"52":1,"53":4,"59":1,"64":8,"81":1,"82":1,"182":1}}],["formulae",{"2":{"6":1,"177":1}}],["formula",{"2":{"4":1,"6":1,"56":2,"66":1}}],["force",{"2":{"1":1,"153":3,"172":1,"180":1}}],["for",{"0":{"71":1,"73":1,"82":1},"2":{"0":2,"1":3,"3":1,"4":4,"5":3,"6":46,"7":4,"9":2,"13":5,"14":1,"18":1,"20":1,"22":1,"23":5,"25":3,"27":1,"29":2,"30":3,"31":1,"32":1,"33":1,"53":5,"56":8,"57":1,"58":1,"59":19,"60":3,"63":7,"64":35,"66":11,"69":5,"70":2,"71":3,"72":1,"73":7,"75":2,"78":1,"80":3,"81":1,"82":9,"84":2,"85":7,"91":13,"94":3,"100":1,"101":1,"103":1,"105":6,"108":2,"114":1,"115":1,"116":22,"121":1,"122":11,"125":2,"131":1,"132":1,"135":3,"141":1,"142":1,"143":13,"145":1,"146":5,"147":1,"148":3,"150":1,"153":7,"154":1,"156":1,"158":1,"159":1,"160":2,"161":3,"162":2,"164":3,"165":1,"166":5,"168":1,"169":5,"171":1,"172":3,"174":4,"175":7,"176":6,"177":10,"178":4,"180":12,"181":2,"182":2,"183":1,"184":6,"188":5,"189":7,"190":1,"192":4,"193":1,"195":3,"197":2,"199":2,"200":1}}],["fi",{"2":{"143":2}}],["fine",{"2":{"175":1}}],["final",{"2":{"82":1,"169":4,"176":1}}],["finally",{"2":{"58":2,"73":1,"143":1,"153":3,"154":1,"195":1}}],["findmin",{"2":{"184":1}}],["findmax",{"2":{"180":1,"182":1}}],["findall",{"2":{"169":1}}],["finding",{"2":{"73":1}}],["findfirst",{"2":{"64":6,"69":2,"78":1,"180":1}}],["findnext",{"2":{"64":3}}],["findlast",{"2":{"64":2}}],["findprev",{"2":{"64":2}}],["finds",{"2":{"64":1,"66":1}}],["find",{"2":{"53":6,"56":1,"64":12,"66":3,"69":2,"70":4,"72":2,"73":8,"81":1,"85":3,"91":1,"116":7,"143":2,"182":5,"199":1}}],["finish",{"2":{"9":1}}],["fill",{"2":{"64":1,"143":1,"177":3}}],["filled",{"2":{"64":5,"66":3,"84":1,"85":2,"116":16}}],["files",{"2":{"187":1,"195":2}}],["file",{"2":{"31":1,"32":1,"33":1,"64":1,"94":3,"108":3,"125":3,"135":3,"143":1,"147":1,"148":1,"154":1,"155":1,"156":1,"168":1,"172":1,"177":1,"178":1,"187":2,"190":1,"195":2}}],["filters",{"2":{"64":1}}],["filtering",{"2":{"6":1,"180":1}}],["filter",{"2":{"4":1,"6":2,"64":2,"153":2,"154":1,"166":2,"171":1,"180":1}}],["fit",{"2":{"17":1}}],["field",{"2":{"13":2,"64":2}}],["figure",{"2":{"13":1,"14":1,"55":1,"58":2,"79":1,"192":3}}],["fig",{"2":{"13":6,"14":6,"79":5,"191":7,"192":4,"196":2}}],["fix1",{"2":{"153":1,"154":1}}],["fixme",{"2":{"146":1}}],["fix2",{"2":{"32":1,"64":2}}],["fixed",{"2":{"6":3,"70":1,"72":1,"81":1}}],["fix",{"0":{"20":1},"2":{"6":9,"9":3,"15":3,"17":1,"20":1,"70":1,"71":11,"72":1,"73":11,"79":2,"81":1,"82":10,"162":1,"165":1,"168":1,"169":1}}],["firstisright",{"2":{"143":2}}],["firstisleft",{"2":{"143":4}}],["firstisstraight",{"2":{"143":4}}],["firstnode",{"2":{"143":9}}],["first",{"2":{"3":9,"6":10,"53":14,"56":7,"58":1,"59":9,"60":1,"63":1,"64":17,"66":2,"69":1,"70":2,"72":1,"73":5,"81":3,"85":8,"87":2,"88":2,"91":4,"93":1,"94":2,"97":1,"98":1,"99":1,"104":2,"108":3,"116":22,"122":1,"125":2,"127":1,"134":1,"135":2,"138":1,"139":1,"140":2,"143":16,"146":1,"153":3,"154":2,"156":2,"162":1,"177":3,"181":1,"182":2,"189":2,"190":1,"191":1,"192":1,"193":1,"197":1,"198":1}}],["flexijoins",{"2":{"197":2,"198":3,"199":1,"200":5}}],["flexible",{"2":{"153":1,"154":1}}],["flags",{"2":{"64":5}}],["flag",{"2":{"64":12,"69":1}}],["flattened",{"2":{"18":1}}],["flatten",{"0":{"156":1},"2":{"11":3,"13":1,"18":1,"29":2,"50":1,"59":1,"64":2,"66":3,"72":1,"80":2,"82":1,"105":1,"156":33,"166":1}}],["flattening`",{"2":{"158":1}}],["flattening",{"2":{"6":4,"154":1,"158":3,"176":2}}],["flat",{"2":{"6":2,"177":1,"184":2,"189":1}}],["floating",{"2":{"6":1,"64":1,"73":5,"143":2}}],["float",{"2":{"6":3,"70":1,"72":1,"81":1}}],["float64x2",{"2":{"13":6,"14":6,"15":2}}],["float64",{"2":{"1":6,"4":10,"6":30,"13":1,"52":1,"53":3,"56":6,"63":1,"66":4,"69":2,"70":2,"72":1,"73":3,"79":1,"81":1,"85":12,"116":4,"122":2,"146":4,"162":6,"165":26,"175":2,"176":2,"177":1,"181":4,"182":9,"183":2,"184":6,"185":6,"186":1,"189":8,"191":190,"192":7,"193":10}}],["flipping",{"0":{"167":1},"2":{"167":1}}],["flipped",{"2":{"1":2,"150":2,"153":2}}],["flipaxis",{"2":{"58":1}}],["flip",{"2":{"0":1,"6":1,"29":1,"148":2,"153":1,"167":2}}],["fancy",{"2":{"191":1}}],["fancis",{"2":{"6":1,"59":1}}],["fair",{"2":{"175":1}}],["fail",{"2":{"1":1,"6":1,"150":1,"153":2,"154":1,"156":3,"176":1}}],["fallback",{"2":{"153":1}}],["falses",{"2":{"64":2,"69":1,"70":1,"72":1}}],["false",{"0":{"24":1},"2":{"1":29,"3":7,"4":3,"6":51,"29":1,"32":2,"35":1,"36":1,"37":1,"38":1,"50":1,"53":2,"56":1,"58":5,"64":26,"66":5,"69":1,"70":1,"71":3,"73":1,"81":4,"85":2,"87":2,"90":2,"91":27,"94":8,"96":2,"97":4,"98":1,"99":1,"100":1,"101":1,"103":2,"105":11,"108":9,"110":1,"111":4,"114":1,"115":1,"116":39,"122":22,"125":8,"127":3,"128":4,"129":1,"131":1,"132":1,"134":1,"135":7,"137":2,"138":4,"139":1,"140":1,"141":1,"142":1,"143":5,"146":10,"150":4,"153":11,"154":7,"156":3,"158":1,"160":3,"162":16,"165":44,"166":4,"177":5,"180":1,"184":2,"185":20,"189":2,"191":242,"192":12,"193":18,"197":1}}],["fashion",{"2":{"55":1}}],["faster",{"2":{"59":1,"153":1}}],["fast",{"2":{"12":1}}],["f",{"2":{"1":12,"6":14,"15":1,"18":3,"19":1,"22":2,"52":1,"55":2,"58":4,"60":1,"62":2,"64":19,"65":2,"68":2,"70":2,"71":2,"72":2,"73":2,"77":2,"78":2,"81":2,"82":2,"84":5,"87":2,"90":2,"93":2,"103":2,"107":2,"116":7,"118":2,"121":2,"124":2,"134":2,"143":30,"150":7,"151":2,"153":61,"154":64,"156":52,"173":1,"175":2,"176":1,"179":2,"180":1,"184":6,"185":6,"188":5,"189":16,"191":6,"193":2,"198":3}}],["fulfilled",{"2":{"182":1}}],["fully",{"2":{"6":1,"64":4,"69":1,"122":4}}],["full",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1},"2":{"0":1,"66":5,"169":1,"199":4}}],["furthest",{"2":{"143":1}}],["further",{"2":{"62":1,"153":1}}],["furthermore",{"2":{"3":2,"6":5,"64":1,"70":1,"72":1,"81":1,"94":1,"135":1}}],["fun",{"2":{"191":1}}],["fundamental",{"2":{"31":1,"187":1}}],["func",{"2":{"13":5}}],["funcs",{"2":{"13":2,"14":3}}],["functionality",{"2":{"73":1,"167":1,"172":1,"177":1,"188":1}}],["functionalities",{"2":{"64":1}}],["functionally",{"2":{"1":1,"18":1,"27":1,"150":1,"153":1}}],["function",{"2":{"1":4,"4":1,"6":10,"7":2,"9":1,"13":3,"14":2,"18":2,"27":1,"29":1,"32":2,"53":5,"56":3,"59":13,"63":6,"64":18,"66":7,"68":2,"69":4,"70":3,"71":3,"72":2,"73":7,"74":1,"80":2,"81":2,"82":4,"85":6,"87":1,"90":1,"91":8,"93":1,"94":1,"100":1,"101":1,"103":1,"105":5,"107":1,"108":1,"114":1,"115":1,"116":9,"118":1,"121":1,"122":7,"124":1,"125":1,"131":1,"132":1,"134":1,"135":1,"141":1,"142":1,"143":16,"146":4,"147":3,"148":1,"150":2,"151":2,"153":15,"154":11,"156":5,"160":1,"163":2,"166":2,"167":2,"169":7,"170":2,"172":1,"174":2,"176":2,"177":7,"180":3,"181":2,"182":3,"183":2,"184":7,"185":3,"186":1,"188":6,"189":12,"191":1,"197":4,"200":4}}],["functions",{"0":{"1":1,"71":1,"73":1,"82":1,"150":1,"189":1},"2":{"6":1,"9":3,"17":1,"27":1,"31":1,"33":1,"56":1,"59":1,"63":1,"64":2,"66":1,"68":1,"116":1,"147":1,"148":1,"151":1,"169":2,"170":1}}],["future",{"2":{"23":1,"75":1,"85":1,"174":2}}],["wgs84",{"2":{"192":1}}],["wglmakie",{"2":{"14":1}}],["wₜₒₜ",{"2":{"59":8}}],["wᵢ",{"2":{"59":18}}],["wt",{"2":{"59":3}}],["w",{"2":{"13":13,"14":7,"85":4,"143":1}}],["wrong",{"2":{"164":1,"184":1}}],["writing",{"2":{"195":1}}],["written",{"2":{"91":1}}],["writes",{"2":{"153":1}}],["write",{"2":{"7":1,"28":1,"143":1,"153":1,"195":7}}],["wrap",{"2":{"4":1,"6":1,"32":3,"35":1,"36":1,"37":1,"38":1,"50":1,"171":1,"176":1}}],["wrapped",{"2":{"22":1,"143":2,"151":1,"153":1}}],["wrapper",{"0":{"28":1},"2":{"28":1,"53":1,"56":1,"63":1,"66":1,"85":1,"91":1,"94":1,"108":1,"122":1,"125":1,"135":1}}],["wrappers`",{"2":{"156":1}}],["wrappers",{"2":{"1":10,"6":11,"22":1,"143":1,"146":2,"156":1,"162":8,"163":1,"165":22,"175":1,"176":1,"180":1,"185":10,"189":1,"191":121,"192":5,"193":9}}],["wrappergeometry`",{"2":{"172":1}}],["wrappergeometry",{"2":{"1":1}}],["wrapping",{"2":{"1":1,"6":1,"91":1,"172":1,"186":1}}],["web",{"2":{"195":1}}],["west",{"2":{"66":8}}],["were",{"2":{"64":1,"143":1,"198":1}}],["welcome",{"2":{"25":1,"30":1}}],["well",{"2":{"17":1,"64":1,"66":1,"80":1,"160":1,"174":1,"177":1,"178":1}}],["we",{"0":{"74":2},"2":{"7":1,"11":1,"13":1,"17":3,"19":1,"23":3,"24":1,"25":2,"30":2,"31":1,"32":1,"53":1,"55":2,"56":2,"58":4,"59":8,"60":2,"63":1,"64":7,"66":4,"71":8,"72":2,"73":3,"75":1,"79":3,"80":2,"82":1,"85":1,"87":1,"88":1,"90":1,"91":5,"93":1,"94":1,"104":1,"107":1,"108":1,"116":2,"118":3,"119":1,"121":1,"122":2,"124":1,"125":1,"134":1,"135":1,"143":21,"147":1,"151":1,"153":19,"154":6,"156":3,"158":6,"160":4,"161":1,"173":1,"174":2,"175":2,"176":3,"177":1,"180":5,"184":2,"187":1,"188":1,"190":2,"191":4,"192":6,"193":4,"194":1,"195":3,"197":3,"198":7}}],["weighting",{"2":{"62":2,"63":1}}],["weights",{"2":{"57":4}}],["weight",{"2":{"6":5,"59":14,"63":1}}],["weighted",{"2":{"0":1,"6":2,"57":3,"59":4,"63":4}}],["walk",{"2":{"69":1}}],["wall2",{"2":{"66":7}}],["wall1",{"2":{"66":12}}],["walls",{"2":{"66":3}}],["wall",{"2":{"66":69}}],["wachspress",{"2":{"59":1}}],["wasincreasing",{"2":{"143":10}}],["wasn",{"2":{"64":1}}],["was",{"2":{"29":1,"32":1,"50":1,"53":1,"56":1,"58":1,"59":4,"60":1,"63":1,"64":1,"66":1,"69":1,"70":1,"71":3,"72":1,"73":2,"74":1,"80":1,"81":1,"82":3,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"122":1,"132":1,"142":1,"143":1,"146":1,"147":1,"151":1,"153":1,"154":1,"155":1,"156":1,"160":1,"163":1,"166":1,"167":1,"170":1,"171":1,"173":1,"175":1,"177":1,"184":1,"185":1,"186":1,"188":2,"189":1}}],["wanted",{"2":{"200":1}}],["wants",{"2":{"80":1,"154":1}}],["want",{"0":{"23":1,"74":1},"2":{"13":1,"18":1,"23":1,"59":1,"64":1,"146":1,"192":2,"194":1,"199":1,"200":1}}],["ways",{"2":{"164":1}}],["way",{"2":{"6":1,"17":1,"18":1,"24":1,"27":1,"57":1,"148":1,"159":1,"168":1,"177":1,"188":2,"194":1}}],["warn",{"2":{"143":2,"177":1}}],["warned",{"2":{"6":1,"188":1}}],["warning",{"2":{"0":1,"5":1,"6":3,"24":1,"59":1,"80":1,"154":1,"176":1,"187":1,"199":1}}],["wong",{"2":{"77":1,"78":1,"196":1}}],["won",{"2":{"23":1,"64":1,"154":1}}],["wouldn",{"2":{"73":1}}],["would",{"0":{"74":1},"2":{"6":3,"23":1,"70":1,"72":1,"73":1,"80":4,"81":1,"143":1,"153":1,"160":2,"192":1,"199":1,"200":1}}],["wound",{"2":{"6":1,"80":1}}],["world",{"0":{"199":1},"2":{"197":1}}],["worrying",{"2":{"24":1}}],["words",{"2":{"3":1,"6":1,"87":1,"118":1,"124":1,"125":1}}],["workflow",{"2":{"105":1,"122":1}}],["workflows",{"2":{"23":1,"25":1,"30":1}}],["works",{"2":{"31":1,"172":1,"174":1}}],["working",{"2":{"3":1,"6":1,"105":1,"192":1}}],["work",{"2":{"1":3,"6":2,"9":1,"53":1,"56":2,"63":1,"66":2,"69":2,"75":1,"85":1,"91":1,"116":1,"122":1,"146":1,"150":1,"153":1,"154":1,"172":1,"185":1,"199":1}}],["whole",{"2":{"116":1}}],["whose",{"2":{"3":1,"6":1,"105":1}}],["white",{"2":{"58":1}}],["while",{"2":{"53":1,"62":1,"63":1,"64":5,"73":2,"79":2,"84":1,"91":1,"105":1,"116":1,"143":3,"166":1,"182":1,"184":2,"198":1}}],["whichever",{"2":{"6":1,"180":1}}],["which",{"2":{"1":1,"4":2,"5":1,"6":7,"7":1,"11":1,"13":1,"14":1,"17":1,"18":4,"20":1,"23":2,"33":1,"55":1,"56":1,"57":1,"58":2,"59":5,"60":1,"64":11,"66":2,"73":2,"75":1,"80":1,"91":2,"116":3,"143":3,"147":1,"148":1,"153":1,"158":2,"159":1,"161":2,"162":1,"164":1,"165":1,"169":1,"173":1,"174":1,"175":1,"176":3,"177":2,"180":1,"182":2,"185":1,"188":4,"195":3,"197":3,"198":6,"200":1}}],["what",{"0":{"22":1,"28":1,"30":1,"52":1,"55":2,"62":1,"65":1,"68":1,"84":2,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"124":1,"134":1,"151":1},"2":{"13":1,"14":1,"24":1,"62":1,"143":1,"146":1,"160":1,"175":1,"192":1,"199":1}}],["whatever",{"2":{"1":1,"22":1,"150":1,"153":1}}],["whyatt",{"2":{"178":1}}],["why",{"0":{"22":1,"23":1},"2":{"9":1,"17":1,"28":1,"56":1}}],["wheel",{"2":{"17":1}}],["whether",{"2":{"1":4,"4":1,"6":8,"145":1,"146":1,"150":2,"155":2,"160":1,"161":1}}],["when",{"2":{"1":1,"4":2,"5":1,"6":4,"18":1,"20":1,"23":2,"24":1,"56":1,"59":3,"63":1,"64":2,"71":5,"73":6,"82":7,"116":1,"143":1,"150":1,"151":3,"153":1,"162":1,"169":1,"171":2,"180":1,"192":1,"193":2,"195":1,"200":1}}],["whereas",{"2":{"158":1}}],["wherever",{"2":{"6":1,"186":1}}],["where",{"2":{"1":2,"4":5,"6":10,"20":1,"29":2,"53":8,"56":12,"57":2,"59":24,"63":8,"64":14,"66":8,"69":5,"70":2,"71":5,"72":3,"73":18,"81":2,"82":9,"85":25,"91":1,"116":9,"143":3,"150":1,"153":18,"154":18,"156":17,"158":2,"159":5,"164":1,"172":1,"175":1,"186":1,"187":1,"189":3,"191":4}}],["widely",{"2":{"195":1}}],["widths",{"2":{"14":1}}],["wiki",{"2":{"116":1,"182":1}}],["wikipedia",{"2":{"116":1,"182":2}}],["wind",{"2":{"4":1,"6":2,"56":1,"91":1}}],["winding",{"0":{"79":1},"2":{"4":2,"6":3,"56":3,"64":7,"79":4,"80":1,"91":1,"143":1}}],["without",{"2":{"1":2,"6":1,"17":1,"24":1,"64":1,"107":1,"122":1,"153":1,"154":1,"156":2,"172":1,"185":1}}],["with",{"0":{"71":1,"73":1,"82":1,"181":1,"182":1,"183":1,"193":1,"194":1},"2":{"1":5,"3":5,"4":7,"6":22,"11":1,"20":1,"22":2,"23":1,"52":1,"53":2,"56":7,"57":4,"58":1,"59":2,"63":1,"64":14,"66":6,"71":8,"72":5,"73":15,"81":1,"82":12,"84":1,"85":2,"94":1,"107":1,"111":1,"116":28,"118":1,"121":2,"122":5,"124":1,"125":1,"128":3,"129":2,"130":2,"140":1,"143":7,"148":1,"150":3,"151":1,"153":12,"154":3,"156":4,"158":1,"160":1,"162":1,"164":1,"171":1,"172":1,"174":1,"177":2,"180":2,"182":2,"183":1,"185":1,"188":1,"190":1,"191":4,"192":6,"193":2,"194":2,"195":2,"197":1,"198":1,"199":1}}],["within",{"0":{"44":1,"133":1,"134":1,"137":1,"138":1,"140":1,"141":1,"142":1},"1":{"134":1,"135":1},"2":{"0":2,"3":9,"4":3,"5":1,"6":13,"7":1,"9":1,"29":1,"44":2,"53":2,"56":1,"57":3,"59":1,"63":1,"64":9,"65":2,"66":5,"71":1,"73":2,"81":1,"82":6,"84":1,"85":5,"87":2,"88":3,"93":2,"110":1,"116":9,"121":1,"122":9,"133":1,"134":6,"135":11,"136":6,"137":14,"138":15,"139":15,"140":7,"141":4,"142":4,"148":1,"197":1,"198":4,"199":2}}],["will",{"2":{"1":8,"4":7,"5":1,"6":38,"11":1,"18":3,"23":2,"24":1,"53":4,"56":3,"59":2,"63":1,"64":5,"66":1,"69":1,"70":4,"71":4,"72":4,"73":4,"80":1,"81":4,"82":4,"84":2,"85":4,"91":1,"105":1,"143":2,"146":1,"150":3,"151":1,"152":2,"153":4,"154":3,"156":6,"158":2,"162":1,"164":1,"166":2,"170":2,"172":3,"174":2,"176":3,"180":2,"182":1,"184":1,"185":2,"188":1,"192":1,"195":1,"197":2,"199":1,"200":1}}],["wip",{"2":{"0":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/previews/PR223/assets/chunks/VPLocalSearchBox.De6fC7pC.js b/previews/PR223/assets/chunks/VPLocalSearchBox.EmKBLzAn.js similarity index 99% rename from previews/PR223/assets/chunks/VPLocalSearchBox.De6fC7pC.js rename to previews/PR223/assets/chunks/VPLocalSearchBox.EmKBLzAn.js index bb4493e29..ec7c02225 100644 --- a/previews/PR223/assets/chunks/VPLocalSearchBox.De6fC7pC.js +++ b/previews/PR223/assets/chunks/VPLocalSearchBox.EmKBLzAn.js @@ -1,4 +1,4 @@ -var Ot=Object.defineProperty;var Ct=(a,e,t)=>e in a?Ot(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ae=(a,e,t)=>Ct(a,typeof e!="symbol"?e+"":e,t);import{V as Rt,p as ie,h as me,aj as tt,ak as At,al as Mt,q as $e,am as Lt,d as Dt,D as xe,an as nt,ao as zt,ap as Pt,s as jt,aq as Vt,v as Me,P as he,O as _e,ar as $t,as as Bt,W as Wt,R as Kt,$ as Jt,o as H,b as Ut,j as _,a0 as qt,k as L,at as Gt,au as Ht,av as Qt,c as Z,n as st,e as Se,C as it,F as rt,a as fe,t as pe,aw as Yt,ax as at,ay as Zt,a9 as Xt,af as en,az as tn,_ as nn}from"./framework.CIByTNPs.js";import{u as sn,c as rn}from"./theme.CF78cELk.js";const an={root:()=>Rt(()=>import("./@localSearchIndexroot.Dn48TCj1.js"),[])};/*! +var Ot=Object.defineProperty;var Ct=(a,e,t)=>e in a?Ot(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ae=(a,e,t)=>Ct(a,typeof e!="symbol"?e+"":e,t);import{V as Rt,p as ie,h as me,aj as tt,ak as At,al as Mt,q as $e,am as Lt,d as Dt,D as xe,an as nt,ao as zt,ap as Pt,s as jt,aq as Vt,v as Me,P as he,O as _e,ar as $t,as as Bt,W as Wt,R as Kt,$ as Jt,o as H,b as Ut,j as _,a0 as qt,k as L,at as Gt,au as Ht,av as Qt,c as Z,n as st,e as Se,C as it,F as rt,a as fe,t as pe,aw as Yt,ax as at,ay as Zt,a9 as Xt,af as en,az as tn,_ as nn}from"./framework.CIByTNPs.js";import{u as sn,c as rn}from"./theme.wg7yGm0-.js";const an={root:()=>Rt(()=>import("./@localSearchIndexroot.CiuP_dDX.js"),[])};/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE */var gt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ne=gt.join(","),bt=typeof Element>"u",ae=bt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Fe=!bt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},Oe=function a(e,t){var n;t===void 0&&(t=!0);var s=e==null||(n=e.getAttribute)===null||n===void 0?void 0:n.call(e,"inert"),r=s===""||s==="true",i=r||t&&e&&a(e.parentNode);return i},on=function(e){var t,n=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return n===""||n==="true"},yt=function(e,t,n){if(Oe(e))return[];var s=Array.prototype.slice.apply(e.querySelectorAll(Ne));return t&&ae.call(e,Ne)&&s.unshift(e),s=s.filter(n),s},wt=function a(e,t,n){for(var s=[],r=Array.from(e);r.length;){var i=r.shift();if(!Oe(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=a(l,!0,n);n.flatten?s.push.apply(s,c):s.push({scopeParent:i,candidates:c})}else{var h=ae.call(i,Ne);h&&n.filter(i)&&(t||!e.includes(i))&&s.push(i);var m=i.shadowRoot||typeof n.getShadowRoot=="function"&&n.getShadowRoot(i),f=!Oe(m,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(i));if(m&&f){var b=a(m===!0?i.children:m.children,!0,n);n.flatten?s.push.apply(s,b):s.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return s},xt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},re=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||on(e))&&!xt(e)?0:e.tabIndex},ln=function(e,t){var n=re(e);return n<0&&t&&!xt(e)?0:n},cn=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},_t=function(e){return e.tagName==="INPUT"},un=function(e){return _t(e)&&e.type==="hidden"},dn=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(n){return n.tagName==="SUMMARY"});return t},hn=function(e,t){for(var n=0;nsummary:first-of-type"),i=r?e.parentElement:e;if(ae.call(i,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="legacy-full"){if(typeof s=="function"){for(var o=e;e;){var l=e.parentElement,c=Fe(e);if(l&&!l.shadowRoot&&s(l)===!0)return ot(e);e.assignedSlot?e=e.assignedSlot:!l&&c!==e.ownerDocument?e=c.host:e=l}e=o}if(mn(e))return!e.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return ot(e);return!1},bn=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var n=0;n=0)},wn=function a(e){var t=[],n=[];return e.forEach(function(s,r){var i=!!s.scopeParent,o=i?s.scopeParent:s,l=ln(o,i),c=i?a(s.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):n.push({documentOrder:r,tabIndex:l,item:s,isScope:i,content:c})}),n.sort(cn).reduce(function(s,r){return r.isScope?s.push.apply(s,r.content):s.push(r.content),s},[]).concat(t)},xn=function(e,t){t=t||{};var n;return t.getShadowRoot?n=wt([e],t.includeContainer,{filter:Be.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:yn}):n=yt(e,t.includeContainer,Be.bind(null,t)),wn(n)},_n=function(e,t){t=t||{};var n;return t.getShadowRoot?n=wt([e],t.includeContainer,{filter:Ce.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):n=yt(e,t.includeContainer,Ce.bind(null,t)),n},oe=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ae.call(e,Ne)===!1?!1:Be(t,e)},Sn=gt.concat("iframe").join(","),Le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ae.call(e,Sn)===!1?!1:Ce(t,e)};/*! diff --git a/previews/PR223/assets/chunks/theme.CF78cELk.js b/previews/PR223/assets/chunks/theme.wg7yGm0-.js similarity index 99% rename from previews/PR223/assets/chunks/theme.CF78cELk.js rename to previews/PR223/assets/chunks/theme.wg7yGm0-.js index 422ea6a3f..77c19ea34 100644 --- a/previews/PR223/assets/chunks/theme.CF78cELk.js +++ b/previews/PR223/assets/chunks/theme.wg7yGm0-.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.De6fC7pC.js","assets/chunks/framework.CIByTNPs.js"])))=>i.map(i=>d[i]); -import{d as m,o as a,c as u,r as c,n as I,a as z,t as w,b as g,w as f,e as h,T as de,_ as $,u as Ge,i as je,f as ze,g as pe,h as y,j as v,k as i,l as K,m as re,p as T,q as F,s as Z,v as O,x as ve,y as fe,z as Ke,A as Re,B as R,F as M,C as H,D as Ve,E as x,G as k,H as E,I as Te,J as ee,K as j,L as q,M as We,N as Ne,O as ie,P as he,Q as we,R as te,S as qe,U as Je,V as Ye,W as Ie,X as me,Y as Xe,Z as Qe,$ as Ze,a0 as xe,a1 as Me,a2 as et,a3 as tt,a4 as nt}from"./framework.CIByTNPs.js";const st=m({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),u("span",{class:I(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[z(w(e.text),1)])],2))}}),ot={key:0,class:"VPBackdrop"},at=m({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),g(de,{name:"fade"},{default:f(()=>[e.show?(a(),u("div",ot)):h("",!0)]),_:1}))}}),rt=$(at,[["__scopeId","data-v-b06cdb19"]]),V=Ge;function it(o,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(o,e):(o(),(s=!0)&&setTimeout(()=>s=!1,e))}}function le(o){return/^\//.test(o)?o:`/${o}`}function _e(o){const{pathname:e,search:t,hash:s,protocol:n}=new URL(o,"http://a.com");if(je(o)||o.startsWith("#")||!n.startsWith("http")||!ze(e))return o;const{site:r}=V(),l=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${s}`);return pe(l)}function Y({correspondingLink:o=!1}={}){const{site:e,localeIndex:t,page:s,theme:n,hash:r}=V(),l=y(()=>{var p,b;return{label:(p=e.value.locales[t.value])==null?void 0:p.label,link:((b=e.value.locales[t.value])==null?void 0:b.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([p,b])=>l.value.label===b.label?[]:{text:b.label,link:lt(b.link||(p==="root"?"/":`/${p}/`),n.value.i18nRouting!==!1&&o,s.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+r.value})),currentLang:l}}function lt(o,e,t,s){return e?o.replace(/\/$/,"")+le(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):o}const ct={class:"NotFound"},ut={class:"code"},dt={class:"title"},pt={class:"quote"},vt={class:"action"},ft=["href","aria-label"],ht=m({__name:"NotFound",setup(o){const{theme:e}=V(),{currentLang:t}=Y();return(s,n)=>{var r,l,d,p,b;return a(),u("div",ct,[v("p",ut,w(((r=i(e).notFound)==null?void 0:r.code)??"404"),1),v("h1",dt,w(((l=i(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=v("div",{class:"divider"},null,-1)),v("blockquote",pt,w(((d=i(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",vt,[v("a",{class:"link",href:i(pe)(i(t).link),"aria-label":((p=i(e).notFound)==null?void 0:p.linkLabel)??"go to home"},w(((b=i(e).notFound)==null?void 0:b.linkText)??"Take me home"),9,ft)])])}}}),mt=$(ht,[["__scopeId","data-v-951cab6c"]]);function Ae(o,e){if(Array.isArray(o))return X(o);if(o==null)return[];e=le(e);const t=Object.keys(o).sort((n,r)=>r.split("/").length-n.split("/").length).find(n=>e.startsWith(le(n))),s=t?o[t]:[];return Array.isArray(s)?X(s):X(s.items,s.base)}function _t(o){const e=[];let t=0;for(const s in o){const n=o[s];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function bt(o){const e=[];function t(s){for(const n of s)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(o),e}function ce(o,e){return Array.isArray(e)?e.some(t=>ce(o,t)):K(o,e.link)?!0:e.items?ce(o,e.items):!1}function X(o,e){return[...o].map(t=>{const s={...t},n=s.base||e;return n&&s.link&&(s.link=n+s.link),s.items&&(s.items=X(s.items,n)),s})}function U(){const{frontmatter:o,page:e,theme:t}=V(),s=re("(min-width: 960px)"),n=T(!1),r=y(()=>{const C=t.value.sidebar,N=e.value.relativePath;return C?Ae(C,N):[]}),l=T(r.value);F(r,(C,N)=>{JSON.stringify(C)!==JSON.stringify(N)&&(l.value=r.value)});const d=y(()=>o.value.sidebar!==!1&&l.value.length>0&&o.value.layout!=="home"),p=y(()=>b?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),b=y(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),L=y(()=>d.value&&s.value),_=y(()=>d.value?_t(l.value):[]);function P(){n.value=!0}function S(){n.value=!1}function A(){n.value?S():P()}return{isOpen:n,sidebar:l,sidebarGroups:_,hasSidebar:d,hasAside:b,leftAside:p,isSidebarEnabled:L,open:P,close:S,toggle:A}}function kt(o,e){let t;Z(()=>{t=o.value?document.activeElement:void 0}),O(()=>{window.addEventListener("keyup",s)}),ve(()=>{window.removeEventListener("keyup",s)});function s(n){n.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function gt(o){const{page:e,hash:t}=V(),s=T(!1),n=y(()=>o.value.collapsed!=null),r=y(()=>!!o.value.link),l=T(!1),d=()=>{l.value=K(e.value.relativePath,o.value.link)};F([e,o,t],d),O(d);const p=y(()=>l.value?!0:o.value.items?ce(e.value.relativePath,o.value.items):!1),b=y(()=>!!(o.value.items&&o.value.items.length));Z(()=>{s.value=!!(n.value&&o.value.collapsed)}),fe(()=>{(l.value||p.value)&&(s.value=!1)});function L(){n.value&&(s.value=!s.value)}return{collapsed:s,collapsible:n,isLink:r,isActiveLink:l,hasActiveLink:p,hasChildren:b,toggle:L}}function $t(){const{hasSidebar:o}=U(),e=re("(min-width: 960px)"),t=re("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const ue=[];function Ce(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function be(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const s=Number(t.tagName[1]);return{element:t,title:yt(t),link:"#"+t.id,level:s}});return Pt(e,o)}function yt(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Pt(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[s,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return Vt(o,s,n)}function St(o,e){const{isAsideEnabled:t}=$t(),s=it(r,100);let n=null;O(()=>{requestAnimationFrame(r),window.addEventListener("scroll",s)}),Ke(()=>{l(location.hash)}),ve(()=>{window.removeEventListener("scroll",s)});function r(){if(!t.value)return;const d=window.scrollY,p=window.innerHeight,b=document.body.offsetHeight,L=Math.abs(d+p-b)<1,_=ue.map(({element:S,link:A})=>({link:A,top:Lt(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,A)=>S.top-A.top);if(!_.length){l(null);return}if(d<1){l(null);return}if(L){l(_[_.length-1].link);return}let P=null;for(const{link:S,top:A}of _){if(A>d+Re()+4)break;P=S}l(P)}function l(d){n&&n.classList.remove("active"),d==null?n=null:n=o.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const p=n;p?(p.classList.add("active"),e.value.style.top=p.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Lt(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}function Vt(o,e,t){ue.length=0;const s=[],n=[];return o.forEach(r=>{const l={...r,children:[]};let d=n[n.length-1];for(;d&&d.level>=l.level;)n.pop(),d=n[n.length-1];if(l.element.classList.contains("ignore-header")||d&&"shouldIgnore"in d){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=R("VPDocOutlineItem",!0);return a(),u("ul",{class:I(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),u(M,null,H(t.headers,({children:r,link:l,title:d})=>(a(),u("li",null,[v("a",{class:"outline-link",href:l,onClick:e,title:d},w(d),9,Tt),r!=null&&r.length?(a(),g(n,{key:0,headers:r},null,8,["headers"])):h("",!0)]))),256))],2)}}}),He=$(Nt,[["__scopeId","data-v-3f927ebe"]]),wt={class:"content"},It={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Mt=m({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=V(),s=Ve([]);x(()=>{s.value=be(e.value.outline??t.value.outline)});const n=T(),r=T();return St(n,r),(l,d)=>(a(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:I(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:n},[v("div",wt,[v("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),v("div",It,w(i(Ce)(i(t))),1),k(He,{headers:s.value,root:!0},null,8,["headers"])])],2))}}),At=$(Mt,[["__scopeId","data-v-b38bf2ff"]]),Ct={class:"VPDocAsideCarbonAds"},Ht=m({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,s)=>(a(),u("div",Ct,[k(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Bt={class:"VPDocAside"},Et=m({__name:"VPDocAside",setup(o){const{theme:e}=V();return(t,s)=>(a(),u("div",Bt,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),k(At),c(t.$slots,"aside-outline-after",{},void 0,!0),s[0]||(s[0]=v("div",{class:"spacer"},null,-1)),c(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(a(),g(Ht,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):h("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Dt=$(Et,[["__scopeId","data-v-6d7b3c46"]]);function Ft(){const{theme:o,page:e}=V();return y(()=>{const{text:t="Edit this page",pattern:s=""}=o.value.editLink||{};let n;return typeof s=="function"?n=s(e.value):n=s.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function Ot(){const{page:o,theme:e,frontmatter:t}=V();return y(()=>{var b,L,_,P,S,A,C,N;const s=Ae(e.value.sidebar,o.value.relativePath),n=bt(s),r=Ut(n,B=>B.link.replace(/[?#].*$/,"")),l=r.findIndex(B=>K(o.value.relativePath,B.link)),d=((b=e.value.docFooter)==null?void 0:b.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((L=e.value.docFooter)==null?void 0:L.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((_=r[l-1])==null?void 0:_.docFooterText)??((P=r[l-1])==null?void 0:P.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((S=r[l-1])==null?void 0:S.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=r[l+1])==null?void 0:A.docFooterText)??((C=r[l+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((N=r[l+1])==null?void 0:N.link)}}})}function Ut(o,e){const t=new Set;return o.filter(s=>{const n=e(s);return t.has(n)?!1:t.add(n)})}const D=m({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.tag??(e.href?"a":"span")),s=y(()=>e.href&&Te.test(e.href)||e.target==="_blank");return(n,r)=>(a(),g(E(t.value),{class:I(["VPLink",{link:n.href,"vp-external-link-icon":s.value,"no-icon":n.noIcon}]),href:n.href?i(_e)(n.href):void 0,target:n.target??(s.value?"_blank":void 0),rel:n.rel??(s.value?"noreferrer":void 0)},{default:f(()=>[c(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Gt={class:"VPLastUpdated"},jt=["datetime"],zt=m({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,lang:s}=V(),n=y(()=>new Date(t.value.lastUpdated)),r=y(()=>n.value.toISOString()),l=T("");return O(()=>{Z(()=>{var d,p,b;l.value=new Intl.DateTimeFormat((p=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&p.forceLocale?s.value:void 0,((b=e.value.lastUpdated)==null?void 0:b.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(d,p)=>{var b;return a(),u("p",Gt,[z(w(((b=i(e).lastUpdated)==null?void 0:b.text)||i(e).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:r.value},w(l.value),9,jt)])}}}),Kt=$(zt,[["__scopeId","data-v-475f71b8"]]),Rt={key:0,class:"VPDocFooter"},Wt={key:0,class:"edit-info"},qt={key:0,class:"edit-link"},Jt={key:1,class:"last-updated"},Yt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Xt={class:"pager"},Qt=["innerHTML"],Zt=["innerHTML"],xt={class:"pager"},en=["innerHTML"],tn=["innerHTML"],nn=m({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:s}=V(),n=Ft(),r=Ot(),l=y(()=>e.value.editLink&&s.value.editLink!==!1),d=y(()=>t.value.lastUpdated),p=y(()=>l.value||d.value||r.value.prev||r.value.next);return(b,L)=>{var _,P,S,A;return p.value?(a(),u("footer",Rt,[c(b.$slots,"doc-footer-before",{},void 0,!0),l.value||d.value?(a(),u("div",Wt,[l.value?(a(),u("div",qt,[k(D,{class:"edit-link-button",href:i(n).url,"no-icon":!0},{default:f(()=>[L[0]||(L[0]=v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),z(" "+w(i(n).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(a(),u("div",Jt,[k(Kt)])):h("",!0)])):h("",!0),(_=i(r).prev)!=null&&_.link||(P=i(r).next)!=null&&P.link?(a(),u("nav",Yt,[L[1]||(L[1]=v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),v("div",Xt,[(S=i(r).prev)!=null&&S.link?(a(),g(D,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:f(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=i(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,Qt),v("span",{class:"title",innerHTML:i(r).prev.text},null,8,Zt)]}),_:1},8,["href"])):h("",!0)]),v("div",xt,[(A=i(r).next)!=null&&A.link?(a(),g(D,{key:0,class:"pager-link next",href:i(r).next.link},{default:f(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=i(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,en),v("span",{class:"title",innerHTML:i(r).next.text},null,8,tn)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),sn=$(nn,[["__scopeId","data-v-4f9813fa"]]),on={class:"container"},an={class:"aside-container"},rn={class:"aside-content"},ln={class:"content"},cn={class:"content-container"},un={class:"main"},dn=m({__name:"VPDoc",setup(o){const{theme:e}=V(),t=ee(),{hasSidebar:s,hasAside:n,leftAside:r}=U(),l=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,p)=>{const b=R("Content");return a(),u("div",{class:I(["VPDoc",{"has-sidebar":i(s),"has-aside":i(n)}])},[c(d.$slots,"doc-top",{},void 0,!0),v("div",on,[i(n)?(a(),u("div",{key:0,class:I(["aside",{"left-aside":i(r)}])},[p[0]||(p[0]=v("div",{class:"aside-curtain"},null,-1)),v("div",an,[v("div",rn,[k(Dt,null,{"aside-top":f(()=>[c(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),v("div",ln,[v("div",cn,[c(d.$slots,"doc-before",{},void 0,!0),v("main",un,[k(b,{class:I(["vp-doc",[l.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),k(sn,null,{"doc-footer-before":f(()=>[c(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(d.$slots,"doc-after",{},void 0,!0)])])]),c(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),pn=$(dn,[["__scopeId","data-v-83890dd9"]]),vn=m({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.href&&Te.test(e.href)),s=y(()=>e.tag||(e.href?"a":"button"));return(n,r)=>(a(),g(E(s.value),{class:I(["VPButton",[n.size,n.theme]]),href:n.href?i(_e)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:f(()=>[z(w(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),fn=$(vn,[["__scopeId","data-v-906d7fb4"]]),hn=["src","alt"],mn=m({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const s=R("VPImage",!0);return e.image?(a(),u(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),u("img",j({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(pe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,hn)):(a(),u(M,{key:1},[k(s,j({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),k(s,j({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),Q=$(mn,[["__scopeId","data-v-35a7d0b8"]]),_n={class:"container"},bn={class:"main"},kn={key:0,class:"name"},gn=["innerHTML"],$n=["innerHTML"],yn=["innerHTML"],Pn={key:0,class:"actions"},Sn={key:0,class:"image"},Ln={class:"image-container"},Vn=m({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=q("hero-image-slot-exists");return(t,s)=>(a(),u("div",{class:I(["VPHero",{"has-image":t.image||i(e)}])},[v("div",_n,[v("div",bn,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),u("h1",kn,[v("span",{innerHTML:t.name,class:"clip"},null,8,gn)])):h("",!0),t.text?(a(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,$n)):h("",!0),t.tagline?(a(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,yn)):h("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),u("div",Pn,[(a(!0),u(M,null,H(t.actions,n=>(a(),u("div",{key:n.link,class:"action"},[k(fn,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||i(e)?(a(),u("div",Sn,[v("div",Ln,[s[0]||(s[0]=v("div",{class:"image-bg"},null,-1)),c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),g(Q,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),Tn=$(Vn,[["__scopeId","data-v-955009fc"]]),Nn=m({__name:"VPHomeHero",setup(o){const{frontmatter:e}=V();return(t,s)=>i(e).hero?(a(),g(Tn,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),wn={class:"box"},In={key:0,class:"icon"},Mn=["innerHTML"],An=["innerHTML"],Cn=["innerHTML"],Hn={key:4,class:"link-text"},Bn={class:"link-text-value"},En=m({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),g(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[v("article",wn,[typeof e.icon=="object"&&e.icon.wrap?(a(),u("div",In,[k(Q,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),g(Q,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Mn)):h("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,An),e.details?(a(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Cn)):h("",!0),e.linkText?(a(),u("div",Hn,[v("p",Bn,[z(w(e.linkText)+" ",1),t[0]||(t[0]=v("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Dn=$(En,[["__scopeId","data-v-f5e9645b"]]),Fn={key:0,class:"VPFeatures"},On={class:"container"},Un={class:"items"},Gn=m({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=y(()=>{const s=e.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,n)=>s.features?(a(),u("div",Fn,[v("div",On,[v("div",Un,[(a(!0),u(M,null,H(s.features,r=>(a(),u("div",{key:r.title,class:I(["item",[t.value]])},[k(Dn,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),jn=$(Gn,[["__scopeId","data-v-d0a190d7"]]),zn=m({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=V();return(t,s)=>i(e).features?(a(),g(jn,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):h("",!0)}}),Kn=m({__name:"VPHomeContent",setup(o){const{width:e}=We({initialWidth:0,includeScrollbar:!1});return(t,s)=>(a(),u("div",{class:"vp-doc container",style:Ne(i(e)?{"--vp-offset":`calc(50% - ${i(e)/2}px)`}:{})},[c(t.$slots,"default",{},void 0,!0)],4))}}),Rn=$(Kn,[["__scopeId","data-v-7a48a447"]]),Wn={class:"VPHome"},qn=m({__name:"VPHome",setup(o){const{frontmatter:e}=V();return(t,s)=>{const n=R("Content");return a(),u("div",Wn,[c(t.$slots,"home-hero-before",{},void 0,!0),k(Nn,null,{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(t.$slots,"home-hero-after",{},void 0,!0),c(t.$slots,"home-features-before",{},void 0,!0),k(zn),c(t.$slots,"home-features-after",{},void 0,!0),i(e).markdownStyles!==!1?(a(),g(Rn,{key:0},{default:f(()=>[k(n)]),_:1})):(a(),g(n,{key:1}))])}}}),Jn=$(qn,[["__scopeId","data-v-cbb6ec48"]]),Yn={},Xn={class:"VPPage"};function Qn(o,e){const t=R("Content");return a(),u("div",Xn,[c(o.$slots,"page-top"),k(t),c(o.$slots,"page-bottom")])}const Zn=$(Yn,[["render",Qn]]),xn=m({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=V(),{hasSidebar:s}=U();return(n,r)=>(a(),u("div",{class:I(["VPContent",{"has-sidebar":i(s),"is-home":i(t).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?c(n.$slots,"not-found",{key:0},()=>[k(mt)],!0):i(t).layout==="page"?(a(),g(Zn,{key:1},{"page-top":f(()=>[c(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(a(),g(Jn,{key:2},{"home-hero-before":f(()=>[c(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(t).layout&&i(t).layout!=="doc"?(a(),g(E(i(t).layout),{key:3})):(a(),g(pn,{key:4},{"doc-top":f(()=>[c(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[c(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[c(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[c(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[c(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),es=$(xn,[["__scopeId","data-v-91765379"]]),ts={class:"container"},ns=["innerHTML"],ss=["innerHTML"],os=m({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=U();return(n,r)=>i(e).footer&&i(t).footer!==!1?(a(),u("footer",{key:0,class:I(["VPFooter",{"has-sidebar":i(s)}])},[v("div",ts,[i(e).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,ns)):h("",!0),i(e).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,ss)):h("",!0)])],2)):h("",!0)}}),as=$(os,[["__scopeId","data-v-c970a860"]]);function rs(){const{theme:o,frontmatter:e}=V(),t=Ve([]),s=y(()=>t.value.length>0);return x(()=>{t.value=be(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:s}}const is={class:"menu-text"},ls={class:"header"},cs={class:"outline"},us=m({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=V(),s=T(!1),n=T(0),r=T(),l=T();function d(_){var P;(P=r.value)!=null&&P.contains(_.target)||(s.value=!1)}F(s,_=>{if(_){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),ie("Escape",()=>{s.value=!1}),x(()=>{s.value=!1});function p(){s.value=!s.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function b(_){_.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),he(()=>{s.value=!1}))}function L(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(_,P)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:Ne({"--vp-vh":n.value+"px"}),ref_key:"main",ref:r},[_.headers.length>0?(a(),u("button",{key:0,onClick:p,class:I({open:s.value})},[v("span",is,w(i(Ce)(i(t))),1),P[0]||(P[0]=v("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(a(),u("button",{key:1,onClick:L},w(i(t).returnToTopLabel||"Return to top"),1)),k(de,{name:"flyout"},{default:f(()=>[s.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:b},[v("div",ls,[v("a",{class:"top-link",href:"#",onClick:L},w(i(t).returnToTopLabel||"Return to top"),1)]),v("div",cs,[k(He,{headers:_.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),ds=$(us,[["__scopeId","data-v-bc9dc845"]]),ps={class:"container"},vs=["aria-expanded"],fs={class:"menu-text"},hs=m({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=U(),{headers:n}=rs(),{y:r}=we(),l=T(0);O(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),x(()=>{n.value=be(t.value.outline??e.value.outline)});const d=y(()=>n.value.length===0),p=y(()=>d.value&&!s.value),b=y(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:d.value,fixed:p.value}));return(L,_)=>i(t).layout!=="home"&&(!p.value||i(r)>=l.value)?(a(),u("div",{key:0,class:I(b.value)},[v("div",ps,[i(s)?(a(),u("button",{key:0,class:"menu","aria-expanded":L.open,"aria-controls":"VPSidebarNav",onClick:_[0]||(_[0]=P=>L.$emit("open-menu"))},[_[1]||(_[1]=v("span",{class:"vpi-align-left menu-icon"},null,-1)),v("span",fs,w(i(e).sidebarMenuLabel||"Menu"),1)],8,vs)):h("",!0),k(ds,{headers:i(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),ms=$(hs,[["__scopeId","data-v-070ab83d"]]);function _s(){const o=T(!1);function e(){o.value=!0,window.addEventListener("resize",n)}function t(){o.value=!1,window.removeEventListener("resize",n)}function s(){o.value?t():e()}function n(){window.outerWidth>=768&&t()}const r=ee();return F(()=>r.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:s}}const bs={},ks={class:"VPSwitch",type:"button",role:"switch"},gs={class:"check"},$s={key:0,class:"icon"};function ys(o,e){return a(),u("button",ks,[v("span",gs,[o.$slots.default?(a(),u("span",$s,[c(o.$slots,"default",{},void 0,!0)])):h("",!0)])])}const Ps=$(bs,[["render",ys],["__scopeId","data-v-4a1c76db"]]),Ss=m({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=V(),s=q("toggle-appearance",()=>{e.value=!e.value}),n=T("");return fe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(r,l)=>(a(),g(Ps,{title:n.value,class:"VPSwitchAppearance","aria-checked":i(e),onClick:i(s)},{default:f(()=>l[0]||(l[0]=[v("span",{class:"vpi-sun sun"},null,-1),v("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),ke=$(Ss,[["__scopeId","data-v-e40a8bb6"]]),Ls={key:0,class:"VPNavBarAppearance"},Vs=m({__name:"VPNavBarAppearance",setup(o){const{site:e}=V();return(t,s)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),u("div",Ls,[k(ke)])):h("",!0)}}),Ts=$(Vs,[["__scopeId","data-v-af096f4a"]]),ge=T();let Be=!1,ae=0;function Ns(o){const e=T(!1);if(te){!Be&&ws(),ae++;const t=F(ge,s=>{var n,r,l;s===o.el.value||(n=o.el.value)!=null&&n.contains(s)?(e.value=!0,(r=o.onFocus)==null||r.call(o)):(e.value=!1,(l=o.onBlur)==null||l.call(o))});ve(()=>{t(),ae--,ae||Is()})}return qe(e)}function ws(){document.addEventListener("focusin",Ee),Be=!0,ge.value=document.activeElement}function Is(){document.removeEventListener("focusin",Ee)}function Ee(){ge.value=document.activeElement}const Ms={class:"VPMenuLink"},As=["innerHTML"],Cs=m({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,s)=>(a(),u("div",Ms,[k(D,{class:I({active:i(K)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:f(()=>[v("span",{innerHTML:t.item.text},null,8,As)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),ne=$(Cs,[["__scopeId","data-v-acbfed09"]]),Hs={class:"VPMenuGroup"},Bs={key:0,class:"title"},Es=m({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),u("div",Hs,[e.text?(a(),u("p",Bs,w(e.text),1)):h("",!0),(a(!0),u(M,null,H(e.items,s=>(a(),u(M,null,["link"in s?(a(),g(ne,{key:0,item:s},null,8,["item"])):h("",!0)],64))),256))]))}}),Ds=$(Es,[["__scopeId","data-v-48c802d0"]]),Fs={class:"VPMenu"},Os={key:0,class:"items"},Us=m({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),u("div",Fs,[e.items?(a(),u("div",Os,[(a(!0),u(M,null,H(e.items,s=>(a(),u(M,{key:JSON.stringify(s)},["link"in s?(a(),g(ne,{key:0,item:s},null,8,["item"])):"component"in s?(a(),g(E(s.component),j({key:1,ref_for:!0},s.props),null,16)):(a(),g(Ds,{key:2,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),Gs=$(Us,[["__scopeId","data-v-7dd3104a"]]),js=["aria-expanded","aria-label"],zs={key:0,class:"text"},Ks=["innerHTML"],Rs={key:1,class:"vpi-more-horizontal icon"},Ws={class:"menu"},qs=m({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=T(!1),t=T();Ns({el:t,onBlur:s});function s(){e.value=!1}return(n,r)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=l=>e.value=!0),onMouseleave:r[2]||(r[2]=l=>e.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:r[0]||(r[0]=l=>e.value=!e.value)},[n.button||n.icon?(a(),u("span",zs,[n.icon?(a(),u("span",{key:0,class:I([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(a(),u("span",{key:1,innerHTML:n.button},null,8,Ks)):h("",!0),r[3]||(r[3]=v("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(a(),u("span",Rs))],8,js),v("div",Ws,[k(Gs,{items:n.items},{default:f(()=>[c(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=$(qs,[["__scopeId","data-v-04f5c5e9"]]),Js=["href","aria-label","innerHTML"],Ys=m({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=T();O(async()=>{var r;await he();const n=(r=t.value)==null?void 0:r.children[0];n instanceof HTMLElement&&n.className.startsWith("vpi-social-")&&(getComputedStyle(n).maskImage||getComputedStyle(n).webkitMaskImage)==="none"&&n.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${e.icon}.svg')`)});const s=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,r)=>(a(),u("a",{ref_key:"el",ref:t,class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:s.value},null,8,Js))}}),Xs=$(Ys,[["__scopeId","data-v-d26d30cb"]]),Qs={class:"VPSocialLinks"},Zs=m({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),u("div",Qs,[(a(!0),u(M,null,H(e.links,({link:s,icon:n,ariaLabel:r})=>(a(),g(Xs,{key:s,icon:n,link:s,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),ye=$(Zs,[["__scopeId","data-v-ee7a9424"]]),xs={key:0,class:"group translations"},eo={class:"trans-title"},to={key:1,class:"group"},no={class:"item appearance"},so={class:"label"},oo={class:"appearance-action"},ao={key:2,class:"group"},ro={class:"item social-links"},io=m({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=V(),{localeLinks:s,currentLang:n}=Y({correspondingLink:!0}),r=y(()=>s.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,d)=>r.value?(a(),g($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[i(s).length&&i(n).label?(a(),u("div",xs,[v("p",eo,w(i(n).label),1),(a(!0),u(M,null,H(i(s),p=>(a(),g(ne,{key:p.link,item:p},null,8,["item"]))),128))])):h("",!0),i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),u("div",to,[v("div",no,[v("p",so,w(i(t).darkModeSwitchLabel||"Appearance"),1),v("div",oo,[k(ke)])])])):h("",!0),i(t).socialLinks?(a(),u("div",ao,[v("div",ro,[k(ye,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),lo=$(io,[["__scopeId","data-v-925effce"]]),co=["aria-expanded"],uo=m({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),u("button",{type:"button",class:I(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=s=>e.$emit("click"))},t[1]||(t[1]=[v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)]),10,co))}}),po=$(uo,[["__scopeId","data-v-5dea55bf"]]),vo=["innerHTML"],fo=m({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,s)=>(a(),g(D,{class:I({VPNavBarMenuLink:!0,active:i(K)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:f(()=>[v("span",{innerHTML:t.item.text},null,8,vo)]),_:1},8,["class","href","target","rel","no-icon"]))}}),ho=$(fo,[["__scopeId","data-v-956ec74c"]]),mo=m({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=V(),s=r=>"component"in r?!1:"link"in r?K(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(s),n=y(()=>s(e.item));return(r,l)=>(a(),g($e,{class:I({VPNavBarMenuGroup:!0,active:i(K)(i(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||n.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),_o={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},bo=m({__name:"VPNavBarMenu",setup(o){const{theme:e}=V();return(t,s)=>i(e).nav?(a(),u("nav",_o,[s[0]||(s[0]=v("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(a(!0),u(M,null,H(i(e).nav,n=>(a(),u(M,{key:JSON.stringify(n)},["link"in n?(a(),g(ho,{key:0,item:n},null,8,["item"])):"component"in n?(a(),g(E(n.component),j({key:1,ref_for:!0},n.props),null,16)):(a(),g(mo,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),ko=$(bo,[["__scopeId","data-v-e6d46098"]]);function go(o){const{localeIndex:e,theme:t}=V();function s(n){var A,C,N;const r=n.split("."),l=(A=t.value.search)==null?void 0:A.options,d=l&&typeof l=="object",p=d&&((N=(C=l.locales)==null?void 0:C[e.value])==null?void 0:N.translations)||null,b=d&&l.translations||null;let L=p,_=b,P=o;const S=r.pop();for(const B of r){let G=null;const W=P==null?void 0:P[B];W&&(G=P=W);const se=_==null?void 0:_[B];se&&(G=_=se);const oe=L==null?void 0:L[B];oe&&(G=L=oe),W||(P=G),se||(_=G),oe||(L=G)}return(L==null?void 0:L[S])??(_==null?void 0:_[S])??(P==null?void 0:P[S])??""}return s}const $o=["aria-label"],yo={class:"DocSearch-Button-Container"},Po={class:"DocSearch-Button-Placeholder"},Pe=m({__name:"VPNavBarSearchButton",setup(o){const t=go({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,n)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(t)("button.buttonAriaLabel")},[v("span",yo,[n[0]||(n[0]=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),v("span",Po,w(i(t)("button.buttonText")),1)]),n[1]||(n[1]=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,$o))}}),So={class:"VPNavBarSearch"},Lo={id:"local-search"},Vo={key:1,id:"docsearch"},To=m({__name:"VPNavBarSearch",setup(o){const e=Je(()=>Ye(()=>import("./VPLocalSearchBox.De6fC7pC.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:s}=V(),n=T(!1),r=T(!1);O(()=>{});function l(){n.value||(n.value=!0,setTimeout(d,16))}function d(){const _=new Event("keydown");_.key="k",_.metaKey=!0,window.dispatchEvent(_),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function p(_){const P=_.target,S=P.tagName;return P.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const b=T(!1);ie("k",_=>{(_.ctrlKey||_.metaKey)&&(_.preventDefault(),b.value=!0)}),ie("/",_=>{p(_)||(_.preventDefault(),b.value=!0)});const L="local";return(_,P)=>{var S;return a(),u("div",So,[i(L)==="local"?(a(),u(M,{key:0},[b.value?(a(),g(i(e),{key:0,onClose:P[0]||(P[0]=A=>b.value=!1)})):h("",!0),v("div",Lo,[k(Pe,{onClick:P[1]||(P[1]=A=>b.value=!0)})])],64)):i(L)==="algolia"?(a(),u(M,{key:1},[n.value?(a(),g(i(t),{key:0,algolia:((S=i(s).search)==null?void 0:S.options)??i(s).algolia,onVnodeBeforeMount:P[2]||(P[2]=A=>r.value=!0)},null,8,["algolia"])):h("",!0),r.value?h("",!0):(a(),u("div",Vo,[k(Pe,{onClick:l})]))],64)):h("",!0)])}}}),No=m({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=V();return(t,s)=>i(e).socialLinks?(a(),g(ye,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),wo=$(No,[["__scopeId","data-v-164c457f"]]),Io=["href","rel","target"],Mo=["innerHTML"],Ao={key:2},Co=m({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=V(),{hasSidebar:s}=U(),{currentLang:n}=Y(),r=y(()=>{var p;return typeof t.value.logoLink=="string"?t.value.logoLink:(p=t.value.logoLink)==null?void 0:p.link}),l=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.rel}),d=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.target});return(p,b)=>(a(),u("div",{class:I(["VPNavBarTitle",{"has-sidebar":i(s)}])},[v("a",{class:"title",href:r.value??i(_e)(i(n).link),rel:l.value,target:d.value},[c(p.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(a(),g(Q,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):h("",!0),i(t).siteTitle?(a(),u("span",{key:1,innerHTML:i(t).siteTitle},null,8,Mo)):i(t).siteTitle===void 0?(a(),u("span",Ao,w(i(e).title),1)):h("",!0),c(p.$slots,"nav-bar-title-after",{},void 0,!0)],8,Io)],2))}}),Ho=$(Co,[["__scopeId","data-v-0f4f798b"]]),Bo={class:"items"},Eo={class:"title"},Do=m({__name:"VPNavBarTranslations",setup(o){const{theme:e}=V(),{localeLinks:t,currentLang:s}=Y({correspondingLink:!0});return(n,r)=>i(t).length&&i(s).label?(a(),g($e,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(e).langMenuLabel||"Change language"},{default:f(()=>[v("div",Bo,[v("p",Eo,w(i(s).label),1),(a(!0),u(M,null,H(i(t),l=>(a(),g(ne,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),Fo=$(Do,[["__scopeId","data-v-c80d9ad0"]]),Oo={class:"wrapper"},Uo={class:"container"},Go={class:"title"},jo={class:"content"},zo={class:"content-body"},Ko=m({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const e=o,{y:t}=we(),{hasSidebar:s}=U(),{frontmatter:n}=V(),r=T({});return fe(()=>{r.value={"has-sidebar":s.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,d)=>(a(),u("div",{class:I(["VPNavBar",r.value])},[v("div",Oo,[v("div",Uo,[v("div",Go,[k(Ho,null,{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",jo,[v("div",zo,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),k(To,{class:"search"}),k(ko,{class:"menu"}),k(Fo,{class:"translations"}),k(Ts,{class:"appearance"}),k(wo,{class:"social-links"}),k(lo,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),k(po,{class:"hamburger",active:l.isScreenOpen,onClick:d[0]||(d[0]=p=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),d[1]||(d[1]=v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1))],2))}}),Ro=$(Ko,[["__scopeId","data-v-822684d1"]]),Wo={key:0,class:"VPNavScreenAppearance"},qo={class:"text"},Jo=m({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=V();return(s,n)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),u("div",Wo,[v("p",qo,w(i(t).darkModeSwitchLabel||"Appearance"),1),k(ke)])):h("",!0)}}),Yo=$(Jo,[["__scopeId","data-v-ffb44008"]]),Xo=["innerHTML"],Qo=m({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=q("close-screen");return(t,s)=>(a(),g(D,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:f(()=>[v("span",{innerHTML:t.item.text},null,8,Xo)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Zo=$(Qo,[["__scopeId","data-v-735512b8"]]),xo=["innerHTML"],ea=m({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=q("close-screen");return(t,s)=>(a(),g(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:f(()=>[v("span",{innerHTML:t.item.text},null,8,xo)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),De=$(ea,[["__scopeId","data-v-372ae7c0"]]),ta={class:"VPNavScreenMenuGroupSection"},na={key:0,class:"title"},sa=m({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),u("div",ta,[e.text?(a(),u("p",na,w(e.text),1)):h("",!0),(a(!0),u(M,null,H(e.items,s=>(a(),g(De,{key:s.text,item:s},null,8,["item"]))),128))]))}}),oa=$(sa,[["__scopeId","data-v-4b8941ac"]]),aa=["aria-controls","aria-expanded"],ra=["innerHTML"],ia=["id"],la={key:0,class:"item"},ca={key:1,class:"item"},ua={key:2,class:"group"},da=m({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=T(!1),s=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(r,l)=>(a(),u("div",{class:I(["VPNavScreenMenuGroup",{open:t.value}])},[v("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:n},[v("span",{class:"button-text",innerHTML:r.text},null,8,ra),l[0]||(l[0]=v("span",{class:"vpi-plus button-icon"},null,-1))],8,aa),v("div",{id:s.value,class:"items"},[(a(!0),u(M,null,H(r.items,d=>(a(),u(M,{key:JSON.stringify(d)},["link"in d?(a(),u("div",la,[k(De,{item:d},null,8,["item"])])):"component"in d?(a(),u("div",ca,[(a(),g(E(d.component),j({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(a(),u("div",ua,[k(oa,{text:d.text,items:d.items},null,8,["text","items"])]))],64))),128))],8,ia)],2))}}),pa=$(da,[["__scopeId","data-v-875057a5"]]),va={key:0,class:"VPNavScreenMenu"},fa=m({__name:"VPNavScreenMenu",setup(o){const{theme:e}=V();return(t,s)=>i(e).nav?(a(),u("nav",va,[(a(!0),u(M,null,H(i(e).nav,n=>(a(),u(M,{key:JSON.stringify(n)},["link"in n?(a(),g(Zo,{key:0,item:n},null,8,["item"])):"component"in n?(a(),g(E(n.component),j({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),g(pa,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),ha=m({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=V();return(t,s)=>i(e).socialLinks?(a(),g(ye,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),ma={class:"list"},_a=m({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=Y({correspondingLink:!0}),s=T(!1);function n(){s.value=!s.value}return(r,l)=>i(e).length&&i(t).label?(a(),u("div",{key:0,class:I(["VPNavScreenTranslations",{open:s.value}])},[v("button",{class:"title",onClick:n},[l[0]||(l[0]=v("span",{class:"vpi-languages icon lang"},null,-1)),z(" "+w(i(t).label)+" ",1),l[1]||(l[1]=v("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),v("ul",ma,[(a(!0),u(M,null,H(i(e),d=>(a(),u("li",{key:d.link,class:"item"},[k(D,{class:"link",href:d.link},{default:f(()=>[z(w(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),ba=$(_a,[["__scopeId","data-v-362991c2"]]),ka={class:"container"},ga=m({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=T(null),t=Ie(te?document.body:null);return(s,n)=>(a(),g(de,{name:"fade",onEnter:n[0]||(n[0]=r=>t.value=!0),onAfterLeave:n[1]||(n[1]=r=>t.value=!1)},{default:f(()=>[s.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[v("div",ka,[c(s.$slots,"nav-screen-content-before",{},void 0,!0),k(fa,{class:"menu"}),k(ba,{class:"translations"}),k(Yo,{class:"appearance"}),k(ha,{class:"social-links"}),c(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),$a=$(ga,[["__scopeId","data-v-833aabba"]]),ya={key:0,class:"VPNav"},Pa=m({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=_s(),{frontmatter:n}=V(),r=y(()=>n.value.navbar!==!1);return me("close-screen",t),Z(()=>{te&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(l,d)=>r.value?(a(),u("header",ya,[k(Ro,{"is-screen-open":i(e),onToggleScreen:i(s)},{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),k($a,{open:i(e)},{"nav-screen-content-before":f(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),Sa=$(Pa,[["__scopeId","data-v-f1e365da"]]),La=["role","tabindex"],Va={key:1,class:"items"},Ta=m({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:s,isLink:n,isActiveLink:r,hasActiveLink:l,hasChildren:d,toggle:p}=gt(y(()=>e.item)),b=y(()=>d.value?"section":"div"),L=y(()=>n.value?"a":"div"),_=y(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),P=y(()=>n.value?void 0:"button"),S=y(()=>[[`level-${e.depth}`],{collapsible:s.value},{collapsed:t.value},{"is-link":n.value},{"is-active":r.value},{"has-active":l.value}]);function A(N){"key"in N&&N.key!=="Enter"||!e.item.link&&p()}function C(){e.item.link&&p()}return(N,B)=>{const G=R("VPSidebarItem",!0);return a(),g(E(b.value),{class:I(["VPSidebarItem",S.value])},{default:f(()=>[N.item.text?(a(),u("div",j({key:0,class:"item",role:P.value},Qe(N.item.items?{click:A,keydown:A}:{},!0),{tabindex:N.item.items&&0}),[B[1]||(B[1]=v("div",{class:"indicator"},null,-1)),N.item.link?(a(),g(D,{key:0,tag:L.value,class:"link",href:N.item.link,rel:N.item.rel,target:N.item.target},{default:f(()=>[(a(),g(E(_.value),{class:"text",innerHTML:N.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),g(E(_.value),{key:1,class:"text",innerHTML:N.item.text},null,8,["innerHTML"])),N.item.collapsed!=null&&N.item.items&&N.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:Xe(C,["enter"]),tabindex:"0"},B[0]||(B[0]=[v("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):h("",!0)],16,La)):h("",!0),N.item.items&&N.item.items.length?(a(),u("div",Va,[N.depth<5?(a(!0),u(M,{key:0},H(N.item.items,W=>(a(),g(G,{key:W.text,item:W,depth:N.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),Na=$(Ta,[["__scopeId","data-v-196b2e5f"]]),wa=m({__name:"VPSidebarGroup",props:{items:{}},setup(o){const e=T(!0);let t=null;return O(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),Ze(()=>{t!=null&&(clearTimeout(t),t=null)}),(s,n)=>(a(!0),u(M,null,H(s.items,r=>(a(),u("div",{key:r.text,class:I(["group",{"no-transition":e.value}])},[k(Na,{item:r,depth:0},null,8,["item"])],2))),128))}}),Ia=$(wa,[["__scopeId","data-v-9e426adc"]]),Ma={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Aa=m({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=U(),s=o,n=T(null),r=Ie(te?document.body:null);F([s,n],()=>{var d;s.open?(r.value=!0,(d=n.value)==null||d.focus()):r.value=!1},{immediate:!0,flush:"post"});const l=T(0);return F(e,()=>{l.value+=1},{deep:!0}),(d,p)=>i(t)?(a(),u("aside",{key:0,class:I(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:n,onClick:p[0]||(p[0]=xe(()=>{},["stop"]))},[p[2]||(p[2]=v("div",{class:"curtain"},null,-1)),v("nav",Ma,[p[1]||(p[1]=v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(d.$slots,"sidebar-nav-before",{},void 0,!0),(a(),g(Ia,{items:i(e),key:l.value},null,8,["items"])),c(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),Ca=$(Aa,[["__scopeId","data-v-18756405"]]),Ha=m({__name:"VPSkipLink",setup(o){const e=ee(),t=T();F(()=>e.path,()=>t.value.focus());function s({target:n}){const r=document.getElementById(decodeURIComponent(n.hash).slice(1));if(r){const l=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",l)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",l),r.focus(),window.scrollTo(0,0)}}return(n,r)=>(a(),u(M,null,[v("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),Ba=$(Ha,[["__scopeId","data-v-c3508ec8"]]),Ea=m({__name:"Layout",setup(o){const{isOpen:e,open:t,close:s}=U(),n=ee();F(()=>n.path,s),kt(e,s);const{frontmatter:r}=V(),l=Me(),d=y(()=>!!l["home-hero-image"]);return me("hero-image-slot-exists",d),(p,b)=>{const L=R("Content");return i(r).layout!==!1?(a(),u("div",{key:0,class:I(["Layout",i(r).pageClass])},[c(p.$slots,"layout-top",{},void 0,!0),k(Ba),k(rt,{class:"backdrop",show:i(e),onClick:i(s)},null,8,["show","onClick"]),k(Sa,null,{"nav-bar-title-before":f(()=>[c(p.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(p.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(p.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(p.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[c(p.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(p.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),k(ms,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),k(Ca,{open:i(e)},{"sidebar-nav-before":f(()=>[c(p.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[c(p.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),k(es,null,{"page-top":f(()=>[c(p.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(p.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[c(p.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[c(p.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(p.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(p.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(p.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(p.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(p.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(p.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(p.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(p.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[c(p.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(p.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(p.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[c(p.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(p.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[c(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),k(as),c(p.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),g(L,{key:1}))}}}),Da=$(Ea,[["__scopeId","data-v-a9a9e638"]]),Se={Layout:Da,enhanceApp:({app:o})=>{o.component("Badge",st)}},Fa=o=>{if(typeof document>"u")return{stabilizeScrollPosition:n=>async(...r)=>n(...r)};const e=document.documentElement;return{stabilizeScrollPosition:s=>async(...n)=>{const r=s(...n),l=o.value;if(!l)return r;const d=l.offsetTop-e.scrollTop;return await he(),e.scrollTop=l.offsetTop-d,r}}},Fe="vitepress:tabSharedState",J=typeof localStorage<"u"?localStorage:null,Oe="vitepress:tabsSharedState",Oa=()=>{const o=J==null?void 0:J.getItem(Oe);if(o)try{return JSON.parse(o)}catch{}return{}},Ua=o=>{J&&J.setItem(Oe,JSON.stringify(o))},Ga=o=>{const e=et({});F(()=>e.content,(t,s)=>{t&&s&&Ua(t)},{deep:!0}),o.provide(Fe,e)},ja=(o,e)=>{const t=q(Fe);if(!t)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");O(()=>{t.content||(t.content=Oa())});const s=T(),n=y({get(){var p;const l=e.value,d=o.value;if(l){const b=(p=t.content)==null?void 0:p[l];if(b&&d.includes(b))return b}else{const b=s.value;if(b)return b}return d[0]},set(l){const d=e.value;d?t.content&&(t.content[d]=l):s.value=l}});return{selected:n,select:l=>{n.value=l}}};let Le=0;const za=()=>(Le++,""+Le);function Ka(){const o=Me();return y(()=>{var s;const t=(s=o.default)==null?void 0:s.call(o);return t?t.filter(n=>typeof n.type=="object"&&"__name"in n.type&&n.type.__name==="PluginTabsTab"&&n.props).map(n=>{var r;return(r=n.props)==null?void 0:r.label}):[]})}const Ue="vitepress:tabSingleState",Ra=o=>{me(Ue,o)},Wa=()=>{const o=q(Ue);if(!o)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return o},qa={class:"plugin-tabs"},Ja=["id","aria-selected","aria-controls","tabindex","onClick"],Ya=m({__name:"PluginTabs",props:{sharedStateKey:{}},setup(o){const e=o,t=Ka(),{selected:s,select:n}=ja(t,tt(e,"sharedStateKey")),r=T(),{stabilizeScrollPosition:l}=Fa(r),d=l(n),p=T([]),b=_=>{var A;const P=t.value.indexOf(s.value);let S;_.key==="ArrowLeft"?S=P>=1?P-1:t.value.length-1:_.key==="ArrowRight"&&(S=P(a(),u("div",qa,[v("div",{ref_key:"tablist",ref:r,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:b},[(a(!0),u(M,null,H(i(t),S=>(a(),u("button",{id:`tab-${S}-${i(L)}`,ref_for:!0,ref_key:"buttonRefs",ref:p,key:S,role:"tab",class:"plugin-tabs--tab","aria-selected":S===i(s),"aria-controls":`panel-${S}-${i(L)}`,tabindex:S===i(s)?0:-1,onClick:()=>i(d)(S)},w(S),9,Ja))),128))],544),c(_.$slots,"default")]))}}),Xa=["id","aria-labelledby"],Qa=m({__name:"PluginTabsTab",props:{label:{}},setup(o){const{uid:e,selected:t}=Wa();return(s,n)=>i(t)===s.label?(a(),u("div",{key:0,id:`panel-${s.label}-${i(e)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${s.label}-${i(e)}`},[c(s.$slots,"default",{},void 0,!0)],8,Xa)):h("",!0)}}),Za=$(Qa,[["__scopeId","data-v-9b0d03d2"]]),xa=o=>{Ga(o),o.component("PluginTabs",Ya),o.component("PluginTabsTab",Za)},tr={extends:Se,Layout(){return nt(Se.Layout,null,{})},enhanceApp({app:o,router:e,siteData:t}){xa(o)}};export{tr as R,go as c,V as u}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.EmKBLzAn.js","assets/chunks/framework.CIByTNPs.js"])))=>i.map(i=>d[i]); +import{d as m,o as a,c as u,r as c,n as I,a as z,t as w,b as g,w as f,e as h,T as de,_ as $,u as Ge,i as je,f as ze,g as pe,h as y,j as v,k as i,l as K,m as re,p as T,q as F,s as Z,v as O,x as ve,y as fe,z as Ke,A as Re,B as R,F as M,C as H,D as Ve,E as x,G as k,H as E,I as Te,J as ee,K as j,L as q,M as We,N as Ne,O as ie,P as he,Q as we,R as te,S as qe,U as Je,V as Ye,W as Ie,X as me,Y as Xe,Z as Qe,$ as Ze,a0 as xe,a1 as Me,a2 as et,a3 as tt,a4 as nt}from"./framework.CIByTNPs.js";const st=m({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),u("span",{class:I(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[z(w(e.text),1)])],2))}}),ot={key:0,class:"VPBackdrop"},at=m({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),g(de,{name:"fade"},{default:f(()=>[e.show?(a(),u("div",ot)):h("",!0)]),_:1}))}}),rt=$(at,[["__scopeId","data-v-b06cdb19"]]),V=Ge;function it(o,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(o,e):(o(),(s=!0)&&setTimeout(()=>s=!1,e))}}function le(o){return/^\//.test(o)?o:`/${o}`}function _e(o){const{pathname:e,search:t,hash:s,protocol:n}=new URL(o,"http://a.com");if(je(o)||o.startsWith("#")||!n.startsWith("http")||!ze(e))return o;const{site:r}=V(),l=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${s}`);return pe(l)}function Y({correspondingLink:o=!1}={}){const{site:e,localeIndex:t,page:s,theme:n,hash:r}=V(),l=y(()=>{var p,b;return{label:(p=e.value.locales[t.value])==null?void 0:p.label,link:((b=e.value.locales[t.value])==null?void 0:b.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([p,b])=>l.value.label===b.label?[]:{text:b.label,link:lt(b.link||(p==="root"?"/":`/${p}/`),n.value.i18nRouting!==!1&&o,s.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+r.value})),currentLang:l}}function lt(o,e,t,s){return e?o.replace(/\/$/,"")+le(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):o}const ct={class:"NotFound"},ut={class:"code"},dt={class:"title"},pt={class:"quote"},vt={class:"action"},ft=["href","aria-label"],ht=m({__name:"NotFound",setup(o){const{theme:e}=V(),{currentLang:t}=Y();return(s,n)=>{var r,l,d,p,b;return a(),u("div",ct,[v("p",ut,w(((r=i(e).notFound)==null?void 0:r.code)??"404"),1),v("h1",dt,w(((l=i(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=v("div",{class:"divider"},null,-1)),v("blockquote",pt,w(((d=i(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",vt,[v("a",{class:"link",href:i(pe)(i(t).link),"aria-label":((p=i(e).notFound)==null?void 0:p.linkLabel)??"go to home"},w(((b=i(e).notFound)==null?void 0:b.linkText)??"Take me home"),9,ft)])])}}}),mt=$(ht,[["__scopeId","data-v-951cab6c"]]);function Ae(o,e){if(Array.isArray(o))return X(o);if(o==null)return[];e=le(e);const t=Object.keys(o).sort((n,r)=>r.split("/").length-n.split("/").length).find(n=>e.startsWith(le(n))),s=t?o[t]:[];return Array.isArray(s)?X(s):X(s.items,s.base)}function _t(o){const e=[];let t=0;for(const s in o){const n=o[s];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function bt(o){const e=[];function t(s){for(const n of s)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(o),e}function ce(o,e){return Array.isArray(e)?e.some(t=>ce(o,t)):K(o,e.link)?!0:e.items?ce(o,e.items):!1}function X(o,e){return[...o].map(t=>{const s={...t},n=s.base||e;return n&&s.link&&(s.link=n+s.link),s.items&&(s.items=X(s.items,n)),s})}function U(){const{frontmatter:o,page:e,theme:t}=V(),s=re("(min-width: 960px)"),n=T(!1),r=y(()=>{const C=t.value.sidebar,N=e.value.relativePath;return C?Ae(C,N):[]}),l=T(r.value);F(r,(C,N)=>{JSON.stringify(C)!==JSON.stringify(N)&&(l.value=r.value)});const d=y(()=>o.value.sidebar!==!1&&l.value.length>0&&o.value.layout!=="home"),p=y(()=>b?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),b=y(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),L=y(()=>d.value&&s.value),_=y(()=>d.value?_t(l.value):[]);function P(){n.value=!0}function S(){n.value=!1}function A(){n.value?S():P()}return{isOpen:n,sidebar:l,sidebarGroups:_,hasSidebar:d,hasAside:b,leftAside:p,isSidebarEnabled:L,open:P,close:S,toggle:A}}function kt(o,e){let t;Z(()=>{t=o.value?document.activeElement:void 0}),O(()=>{window.addEventListener("keyup",s)}),ve(()=>{window.removeEventListener("keyup",s)});function s(n){n.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function gt(o){const{page:e,hash:t}=V(),s=T(!1),n=y(()=>o.value.collapsed!=null),r=y(()=>!!o.value.link),l=T(!1),d=()=>{l.value=K(e.value.relativePath,o.value.link)};F([e,o,t],d),O(d);const p=y(()=>l.value?!0:o.value.items?ce(e.value.relativePath,o.value.items):!1),b=y(()=>!!(o.value.items&&o.value.items.length));Z(()=>{s.value=!!(n.value&&o.value.collapsed)}),fe(()=>{(l.value||p.value)&&(s.value=!1)});function L(){n.value&&(s.value=!s.value)}return{collapsed:s,collapsible:n,isLink:r,isActiveLink:l,hasActiveLink:p,hasChildren:b,toggle:L}}function $t(){const{hasSidebar:o}=U(),e=re("(min-width: 960px)"),t=re("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const ue=[];function Ce(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function be(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const s=Number(t.tagName[1]);return{element:t,title:yt(t),link:"#"+t.id,level:s}});return Pt(e,o)}function yt(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Pt(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[s,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return Vt(o,s,n)}function St(o,e){const{isAsideEnabled:t}=$t(),s=it(r,100);let n=null;O(()=>{requestAnimationFrame(r),window.addEventListener("scroll",s)}),Ke(()=>{l(location.hash)}),ve(()=>{window.removeEventListener("scroll",s)});function r(){if(!t.value)return;const d=window.scrollY,p=window.innerHeight,b=document.body.offsetHeight,L=Math.abs(d+p-b)<1,_=ue.map(({element:S,link:A})=>({link:A,top:Lt(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,A)=>S.top-A.top);if(!_.length){l(null);return}if(d<1){l(null);return}if(L){l(_[_.length-1].link);return}let P=null;for(const{link:S,top:A}of _){if(A>d+Re()+4)break;P=S}l(P)}function l(d){n&&n.classList.remove("active"),d==null?n=null:n=o.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const p=n;p?(p.classList.add("active"),e.value.style.top=p.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Lt(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}function Vt(o,e,t){ue.length=0;const s=[],n=[];return o.forEach(r=>{const l={...r,children:[]};let d=n[n.length-1];for(;d&&d.level>=l.level;)n.pop(),d=n[n.length-1];if(l.element.classList.contains("ignore-header")||d&&"shouldIgnore"in d){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=R("VPDocOutlineItem",!0);return a(),u("ul",{class:I(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),u(M,null,H(t.headers,({children:r,link:l,title:d})=>(a(),u("li",null,[v("a",{class:"outline-link",href:l,onClick:e,title:d},w(d),9,Tt),r!=null&&r.length?(a(),g(n,{key:0,headers:r},null,8,["headers"])):h("",!0)]))),256))],2)}}}),He=$(Nt,[["__scopeId","data-v-3f927ebe"]]),wt={class:"content"},It={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Mt=m({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=V(),s=Ve([]);x(()=>{s.value=be(e.value.outline??t.value.outline)});const n=T(),r=T();return St(n,r),(l,d)=>(a(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:I(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:n},[v("div",wt,[v("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),v("div",It,w(i(Ce)(i(t))),1),k(He,{headers:s.value,root:!0},null,8,["headers"])])],2))}}),At=$(Mt,[["__scopeId","data-v-b38bf2ff"]]),Ct={class:"VPDocAsideCarbonAds"},Ht=m({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,s)=>(a(),u("div",Ct,[k(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Bt={class:"VPDocAside"},Et=m({__name:"VPDocAside",setup(o){const{theme:e}=V();return(t,s)=>(a(),u("div",Bt,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),k(At),c(t.$slots,"aside-outline-after",{},void 0,!0),s[0]||(s[0]=v("div",{class:"spacer"},null,-1)),c(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(a(),g(Ht,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):h("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Dt=$(Et,[["__scopeId","data-v-6d7b3c46"]]);function Ft(){const{theme:o,page:e}=V();return y(()=>{const{text:t="Edit this page",pattern:s=""}=o.value.editLink||{};let n;return typeof s=="function"?n=s(e.value):n=s.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function Ot(){const{page:o,theme:e,frontmatter:t}=V();return y(()=>{var b,L,_,P,S,A,C,N;const s=Ae(e.value.sidebar,o.value.relativePath),n=bt(s),r=Ut(n,B=>B.link.replace(/[?#].*$/,"")),l=r.findIndex(B=>K(o.value.relativePath,B.link)),d=((b=e.value.docFooter)==null?void 0:b.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((L=e.value.docFooter)==null?void 0:L.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((_=r[l-1])==null?void 0:_.docFooterText)??((P=r[l-1])==null?void 0:P.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((S=r[l-1])==null?void 0:S.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=r[l+1])==null?void 0:A.docFooterText)??((C=r[l+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((N=r[l+1])==null?void 0:N.link)}}})}function Ut(o,e){const t=new Set;return o.filter(s=>{const n=e(s);return t.has(n)?!1:t.add(n)})}const D=m({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.tag??(e.href?"a":"span")),s=y(()=>e.href&&Te.test(e.href)||e.target==="_blank");return(n,r)=>(a(),g(E(t.value),{class:I(["VPLink",{link:n.href,"vp-external-link-icon":s.value,"no-icon":n.noIcon}]),href:n.href?i(_e)(n.href):void 0,target:n.target??(s.value?"_blank":void 0),rel:n.rel??(s.value?"noreferrer":void 0)},{default:f(()=>[c(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Gt={class:"VPLastUpdated"},jt=["datetime"],zt=m({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,lang:s}=V(),n=y(()=>new Date(t.value.lastUpdated)),r=y(()=>n.value.toISOString()),l=T("");return O(()=>{Z(()=>{var d,p,b;l.value=new Intl.DateTimeFormat((p=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&p.forceLocale?s.value:void 0,((b=e.value.lastUpdated)==null?void 0:b.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(d,p)=>{var b;return a(),u("p",Gt,[z(w(((b=i(e).lastUpdated)==null?void 0:b.text)||i(e).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:r.value},w(l.value),9,jt)])}}}),Kt=$(zt,[["__scopeId","data-v-475f71b8"]]),Rt={key:0,class:"VPDocFooter"},Wt={key:0,class:"edit-info"},qt={key:0,class:"edit-link"},Jt={key:1,class:"last-updated"},Yt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Xt={class:"pager"},Qt=["innerHTML"],Zt=["innerHTML"],xt={class:"pager"},en=["innerHTML"],tn=["innerHTML"],nn=m({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:s}=V(),n=Ft(),r=Ot(),l=y(()=>e.value.editLink&&s.value.editLink!==!1),d=y(()=>t.value.lastUpdated),p=y(()=>l.value||d.value||r.value.prev||r.value.next);return(b,L)=>{var _,P,S,A;return p.value?(a(),u("footer",Rt,[c(b.$slots,"doc-footer-before",{},void 0,!0),l.value||d.value?(a(),u("div",Wt,[l.value?(a(),u("div",qt,[k(D,{class:"edit-link-button",href:i(n).url,"no-icon":!0},{default:f(()=>[L[0]||(L[0]=v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),z(" "+w(i(n).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(a(),u("div",Jt,[k(Kt)])):h("",!0)])):h("",!0),(_=i(r).prev)!=null&&_.link||(P=i(r).next)!=null&&P.link?(a(),u("nav",Yt,[L[1]||(L[1]=v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),v("div",Xt,[(S=i(r).prev)!=null&&S.link?(a(),g(D,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:f(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=i(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,Qt),v("span",{class:"title",innerHTML:i(r).prev.text},null,8,Zt)]}),_:1},8,["href"])):h("",!0)]),v("div",xt,[(A=i(r).next)!=null&&A.link?(a(),g(D,{key:0,class:"pager-link next",href:i(r).next.link},{default:f(()=>{var C;return[v("span",{class:"desc",innerHTML:((C=i(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,en),v("span",{class:"title",innerHTML:i(r).next.text},null,8,tn)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),sn=$(nn,[["__scopeId","data-v-4f9813fa"]]),on={class:"container"},an={class:"aside-container"},rn={class:"aside-content"},ln={class:"content"},cn={class:"content-container"},un={class:"main"},dn=m({__name:"VPDoc",setup(o){const{theme:e}=V(),t=ee(),{hasSidebar:s,hasAside:n,leftAside:r}=U(),l=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,p)=>{const b=R("Content");return a(),u("div",{class:I(["VPDoc",{"has-sidebar":i(s),"has-aside":i(n)}])},[c(d.$slots,"doc-top",{},void 0,!0),v("div",on,[i(n)?(a(),u("div",{key:0,class:I(["aside",{"left-aside":i(r)}])},[p[0]||(p[0]=v("div",{class:"aside-curtain"},null,-1)),v("div",an,[v("div",rn,[k(Dt,null,{"aside-top":f(()=>[c(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),v("div",ln,[v("div",cn,[c(d.$slots,"doc-before",{},void 0,!0),v("main",un,[k(b,{class:I(["vp-doc",[l.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),k(sn,null,{"doc-footer-before":f(()=>[c(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(d.$slots,"doc-after",{},void 0,!0)])])]),c(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),pn=$(dn,[["__scopeId","data-v-83890dd9"]]),vn=m({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.href&&Te.test(e.href)),s=y(()=>e.tag||(e.href?"a":"button"));return(n,r)=>(a(),g(E(s.value),{class:I(["VPButton",[n.size,n.theme]]),href:n.href?i(_e)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:f(()=>[z(w(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),fn=$(vn,[["__scopeId","data-v-906d7fb4"]]),hn=["src","alt"],mn=m({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const s=R("VPImage",!0);return e.image?(a(),u(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),u("img",j({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(pe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,hn)):(a(),u(M,{key:1},[k(s,j({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),k(s,j({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),Q=$(mn,[["__scopeId","data-v-35a7d0b8"]]),_n={class:"container"},bn={class:"main"},kn={key:0,class:"name"},gn=["innerHTML"],$n=["innerHTML"],yn=["innerHTML"],Pn={key:0,class:"actions"},Sn={key:0,class:"image"},Ln={class:"image-container"},Vn=m({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=q("hero-image-slot-exists");return(t,s)=>(a(),u("div",{class:I(["VPHero",{"has-image":t.image||i(e)}])},[v("div",_n,[v("div",bn,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),u("h1",kn,[v("span",{innerHTML:t.name,class:"clip"},null,8,gn)])):h("",!0),t.text?(a(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,$n)):h("",!0),t.tagline?(a(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,yn)):h("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),u("div",Pn,[(a(!0),u(M,null,H(t.actions,n=>(a(),u("div",{key:n.link,class:"action"},[k(fn,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||i(e)?(a(),u("div",Sn,[v("div",Ln,[s[0]||(s[0]=v("div",{class:"image-bg"},null,-1)),c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),g(Q,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),Tn=$(Vn,[["__scopeId","data-v-955009fc"]]),Nn=m({__name:"VPHomeHero",setup(o){const{frontmatter:e}=V();return(t,s)=>i(e).hero?(a(),g(Tn,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),wn={class:"box"},In={key:0,class:"icon"},Mn=["innerHTML"],An=["innerHTML"],Cn=["innerHTML"],Hn={key:4,class:"link-text"},Bn={class:"link-text-value"},En=m({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),g(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[v("article",wn,[typeof e.icon=="object"&&e.icon.wrap?(a(),u("div",In,[k(Q,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),g(Q,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Mn)):h("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,An),e.details?(a(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Cn)):h("",!0),e.linkText?(a(),u("div",Hn,[v("p",Bn,[z(w(e.linkText)+" ",1),t[0]||(t[0]=v("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Dn=$(En,[["__scopeId","data-v-f5e9645b"]]),Fn={key:0,class:"VPFeatures"},On={class:"container"},Un={class:"items"},Gn=m({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=y(()=>{const s=e.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,n)=>s.features?(a(),u("div",Fn,[v("div",On,[v("div",Un,[(a(!0),u(M,null,H(s.features,r=>(a(),u("div",{key:r.title,class:I(["item",[t.value]])},[k(Dn,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),jn=$(Gn,[["__scopeId","data-v-d0a190d7"]]),zn=m({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=V();return(t,s)=>i(e).features?(a(),g(jn,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):h("",!0)}}),Kn=m({__name:"VPHomeContent",setup(o){const{width:e}=We({initialWidth:0,includeScrollbar:!1});return(t,s)=>(a(),u("div",{class:"vp-doc container",style:Ne(i(e)?{"--vp-offset":`calc(50% - ${i(e)/2}px)`}:{})},[c(t.$slots,"default",{},void 0,!0)],4))}}),Rn=$(Kn,[["__scopeId","data-v-7a48a447"]]),Wn={class:"VPHome"},qn=m({__name:"VPHome",setup(o){const{frontmatter:e}=V();return(t,s)=>{const n=R("Content");return a(),u("div",Wn,[c(t.$slots,"home-hero-before",{},void 0,!0),k(Nn,null,{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(t.$slots,"home-hero-after",{},void 0,!0),c(t.$slots,"home-features-before",{},void 0,!0),k(zn),c(t.$slots,"home-features-after",{},void 0,!0),i(e).markdownStyles!==!1?(a(),g(Rn,{key:0},{default:f(()=>[k(n)]),_:1})):(a(),g(n,{key:1}))])}}}),Jn=$(qn,[["__scopeId","data-v-cbb6ec48"]]),Yn={},Xn={class:"VPPage"};function Qn(o,e){const t=R("Content");return a(),u("div",Xn,[c(o.$slots,"page-top"),k(t),c(o.$slots,"page-bottom")])}const Zn=$(Yn,[["render",Qn]]),xn=m({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=V(),{hasSidebar:s}=U();return(n,r)=>(a(),u("div",{class:I(["VPContent",{"has-sidebar":i(s),"is-home":i(t).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?c(n.$slots,"not-found",{key:0},()=>[k(mt)],!0):i(t).layout==="page"?(a(),g(Zn,{key:1},{"page-top":f(()=>[c(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(a(),g(Jn,{key:2},{"home-hero-before":f(()=>[c(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(t).layout&&i(t).layout!=="doc"?(a(),g(E(i(t).layout),{key:3})):(a(),g(pn,{key:4},{"doc-top":f(()=>[c(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[c(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[c(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[c(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[c(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),es=$(xn,[["__scopeId","data-v-91765379"]]),ts={class:"container"},ns=["innerHTML"],ss=["innerHTML"],os=m({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=U();return(n,r)=>i(e).footer&&i(t).footer!==!1?(a(),u("footer",{key:0,class:I(["VPFooter",{"has-sidebar":i(s)}])},[v("div",ts,[i(e).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,ns)):h("",!0),i(e).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,ss)):h("",!0)])],2)):h("",!0)}}),as=$(os,[["__scopeId","data-v-c970a860"]]);function rs(){const{theme:o,frontmatter:e}=V(),t=Ve([]),s=y(()=>t.value.length>0);return x(()=>{t.value=be(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:s}}const is={class:"menu-text"},ls={class:"header"},cs={class:"outline"},us=m({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=V(),s=T(!1),n=T(0),r=T(),l=T();function d(_){var P;(P=r.value)!=null&&P.contains(_.target)||(s.value=!1)}F(s,_=>{if(_){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),ie("Escape",()=>{s.value=!1}),x(()=>{s.value=!1});function p(){s.value=!s.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function b(_){_.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),he(()=>{s.value=!1}))}function L(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(_,P)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:Ne({"--vp-vh":n.value+"px"}),ref_key:"main",ref:r},[_.headers.length>0?(a(),u("button",{key:0,onClick:p,class:I({open:s.value})},[v("span",is,w(i(Ce)(i(t))),1),P[0]||(P[0]=v("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(a(),u("button",{key:1,onClick:L},w(i(t).returnToTopLabel||"Return to top"),1)),k(de,{name:"flyout"},{default:f(()=>[s.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:b},[v("div",ls,[v("a",{class:"top-link",href:"#",onClick:L},w(i(t).returnToTopLabel||"Return to top"),1)]),v("div",cs,[k(He,{headers:_.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),ds=$(us,[["__scopeId","data-v-bc9dc845"]]),ps={class:"container"},vs=["aria-expanded"],fs={class:"menu-text"},hs=m({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=U(),{headers:n}=rs(),{y:r}=we(),l=T(0);O(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),x(()=>{n.value=be(t.value.outline??e.value.outline)});const d=y(()=>n.value.length===0),p=y(()=>d.value&&!s.value),b=y(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:d.value,fixed:p.value}));return(L,_)=>i(t).layout!=="home"&&(!p.value||i(r)>=l.value)?(a(),u("div",{key:0,class:I(b.value)},[v("div",ps,[i(s)?(a(),u("button",{key:0,class:"menu","aria-expanded":L.open,"aria-controls":"VPSidebarNav",onClick:_[0]||(_[0]=P=>L.$emit("open-menu"))},[_[1]||(_[1]=v("span",{class:"vpi-align-left menu-icon"},null,-1)),v("span",fs,w(i(e).sidebarMenuLabel||"Menu"),1)],8,vs)):h("",!0),k(ds,{headers:i(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),ms=$(hs,[["__scopeId","data-v-070ab83d"]]);function _s(){const o=T(!1);function e(){o.value=!0,window.addEventListener("resize",n)}function t(){o.value=!1,window.removeEventListener("resize",n)}function s(){o.value?t():e()}function n(){window.outerWidth>=768&&t()}const r=ee();return F(()=>r.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:s}}const bs={},ks={class:"VPSwitch",type:"button",role:"switch"},gs={class:"check"},$s={key:0,class:"icon"};function ys(o,e){return a(),u("button",ks,[v("span",gs,[o.$slots.default?(a(),u("span",$s,[c(o.$slots,"default",{},void 0,!0)])):h("",!0)])])}const Ps=$(bs,[["render",ys],["__scopeId","data-v-4a1c76db"]]),Ss=m({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=V(),s=q("toggle-appearance",()=>{e.value=!e.value}),n=T("");return fe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(r,l)=>(a(),g(Ps,{title:n.value,class:"VPSwitchAppearance","aria-checked":i(e),onClick:i(s)},{default:f(()=>l[0]||(l[0]=[v("span",{class:"vpi-sun sun"},null,-1),v("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),ke=$(Ss,[["__scopeId","data-v-e40a8bb6"]]),Ls={key:0,class:"VPNavBarAppearance"},Vs=m({__name:"VPNavBarAppearance",setup(o){const{site:e}=V();return(t,s)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),u("div",Ls,[k(ke)])):h("",!0)}}),Ts=$(Vs,[["__scopeId","data-v-af096f4a"]]),ge=T();let Be=!1,ae=0;function Ns(o){const e=T(!1);if(te){!Be&&ws(),ae++;const t=F(ge,s=>{var n,r,l;s===o.el.value||(n=o.el.value)!=null&&n.contains(s)?(e.value=!0,(r=o.onFocus)==null||r.call(o)):(e.value=!1,(l=o.onBlur)==null||l.call(o))});ve(()=>{t(),ae--,ae||Is()})}return qe(e)}function ws(){document.addEventListener("focusin",Ee),Be=!0,ge.value=document.activeElement}function Is(){document.removeEventListener("focusin",Ee)}function Ee(){ge.value=document.activeElement}const Ms={class:"VPMenuLink"},As=["innerHTML"],Cs=m({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,s)=>(a(),u("div",Ms,[k(D,{class:I({active:i(K)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:f(()=>[v("span",{innerHTML:t.item.text},null,8,As)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),ne=$(Cs,[["__scopeId","data-v-acbfed09"]]),Hs={class:"VPMenuGroup"},Bs={key:0,class:"title"},Es=m({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),u("div",Hs,[e.text?(a(),u("p",Bs,w(e.text),1)):h("",!0),(a(!0),u(M,null,H(e.items,s=>(a(),u(M,null,["link"in s?(a(),g(ne,{key:0,item:s},null,8,["item"])):h("",!0)],64))),256))]))}}),Ds=$(Es,[["__scopeId","data-v-48c802d0"]]),Fs={class:"VPMenu"},Os={key:0,class:"items"},Us=m({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),u("div",Fs,[e.items?(a(),u("div",Os,[(a(!0),u(M,null,H(e.items,s=>(a(),u(M,{key:JSON.stringify(s)},["link"in s?(a(),g(ne,{key:0,item:s},null,8,["item"])):"component"in s?(a(),g(E(s.component),j({key:1,ref_for:!0},s.props),null,16)):(a(),g(Ds,{key:2,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),Gs=$(Us,[["__scopeId","data-v-7dd3104a"]]),js=["aria-expanded","aria-label"],zs={key:0,class:"text"},Ks=["innerHTML"],Rs={key:1,class:"vpi-more-horizontal icon"},Ws={class:"menu"},qs=m({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=T(!1),t=T();Ns({el:t,onBlur:s});function s(){e.value=!1}return(n,r)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=l=>e.value=!0),onMouseleave:r[2]||(r[2]=l=>e.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:r[0]||(r[0]=l=>e.value=!e.value)},[n.button||n.icon?(a(),u("span",zs,[n.icon?(a(),u("span",{key:0,class:I([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(a(),u("span",{key:1,innerHTML:n.button},null,8,Ks)):h("",!0),r[3]||(r[3]=v("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(a(),u("span",Rs))],8,js),v("div",Ws,[k(Gs,{items:n.items},{default:f(()=>[c(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=$(qs,[["__scopeId","data-v-04f5c5e9"]]),Js=["href","aria-label","innerHTML"],Ys=m({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=T();O(async()=>{var r;await he();const n=(r=t.value)==null?void 0:r.children[0];n instanceof HTMLElement&&n.className.startsWith("vpi-social-")&&(getComputedStyle(n).maskImage||getComputedStyle(n).webkitMaskImage)==="none"&&n.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${e.icon}.svg')`)});const s=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,r)=>(a(),u("a",{ref_key:"el",ref:t,class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:s.value},null,8,Js))}}),Xs=$(Ys,[["__scopeId","data-v-d26d30cb"]]),Qs={class:"VPSocialLinks"},Zs=m({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),u("div",Qs,[(a(!0),u(M,null,H(e.links,({link:s,icon:n,ariaLabel:r})=>(a(),g(Xs,{key:s,icon:n,link:s,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),ye=$(Zs,[["__scopeId","data-v-ee7a9424"]]),xs={key:0,class:"group translations"},eo={class:"trans-title"},to={key:1,class:"group"},no={class:"item appearance"},so={class:"label"},oo={class:"appearance-action"},ao={key:2,class:"group"},ro={class:"item social-links"},io=m({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=V(),{localeLinks:s,currentLang:n}=Y({correspondingLink:!0}),r=y(()=>s.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,d)=>r.value?(a(),g($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[i(s).length&&i(n).label?(a(),u("div",xs,[v("p",eo,w(i(n).label),1),(a(!0),u(M,null,H(i(s),p=>(a(),g(ne,{key:p.link,item:p},null,8,["item"]))),128))])):h("",!0),i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),u("div",to,[v("div",no,[v("p",so,w(i(t).darkModeSwitchLabel||"Appearance"),1),v("div",oo,[k(ke)])])])):h("",!0),i(t).socialLinks?(a(),u("div",ao,[v("div",ro,[k(ye,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),lo=$(io,[["__scopeId","data-v-925effce"]]),co=["aria-expanded"],uo=m({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),u("button",{type:"button",class:I(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=s=>e.$emit("click"))},t[1]||(t[1]=[v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)]),10,co))}}),po=$(uo,[["__scopeId","data-v-5dea55bf"]]),vo=["innerHTML"],fo=m({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,s)=>(a(),g(D,{class:I({VPNavBarMenuLink:!0,active:i(K)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:f(()=>[v("span",{innerHTML:t.item.text},null,8,vo)]),_:1},8,["class","href","target","rel","no-icon"]))}}),ho=$(fo,[["__scopeId","data-v-956ec74c"]]),mo=m({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=V(),s=r=>"component"in r?!1:"link"in r?K(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(s),n=y(()=>s(e.item));return(r,l)=>(a(),g($e,{class:I({VPNavBarMenuGroup:!0,active:i(K)(i(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||n.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),_o={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},bo=m({__name:"VPNavBarMenu",setup(o){const{theme:e}=V();return(t,s)=>i(e).nav?(a(),u("nav",_o,[s[0]||(s[0]=v("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(a(!0),u(M,null,H(i(e).nav,n=>(a(),u(M,{key:JSON.stringify(n)},["link"in n?(a(),g(ho,{key:0,item:n},null,8,["item"])):"component"in n?(a(),g(E(n.component),j({key:1,ref_for:!0},n.props),null,16)):(a(),g(mo,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),ko=$(bo,[["__scopeId","data-v-e6d46098"]]);function go(o){const{localeIndex:e,theme:t}=V();function s(n){var A,C,N;const r=n.split("."),l=(A=t.value.search)==null?void 0:A.options,d=l&&typeof l=="object",p=d&&((N=(C=l.locales)==null?void 0:C[e.value])==null?void 0:N.translations)||null,b=d&&l.translations||null;let L=p,_=b,P=o;const S=r.pop();for(const B of r){let G=null;const W=P==null?void 0:P[B];W&&(G=P=W);const se=_==null?void 0:_[B];se&&(G=_=se);const oe=L==null?void 0:L[B];oe&&(G=L=oe),W||(P=G),se||(_=G),oe||(L=G)}return(L==null?void 0:L[S])??(_==null?void 0:_[S])??(P==null?void 0:P[S])??""}return s}const $o=["aria-label"],yo={class:"DocSearch-Button-Container"},Po={class:"DocSearch-Button-Placeholder"},Pe=m({__name:"VPNavBarSearchButton",setup(o){const t=go({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,n)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(t)("button.buttonAriaLabel")},[v("span",yo,[n[0]||(n[0]=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),v("span",Po,w(i(t)("button.buttonText")),1)]),n[1]||(n[1]=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,$o))}}),So={class:"VPNavBarSearch"},Lo={id:"local-search"},Vo={key:1,id:"docsearch"},To=m({__name:"VPNavBarSearch",setup(o){const e=Je(()=>Ye(()=>import("./VPLocalSearchBox.EmKBLzAn.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:s}=V(),n=T(!1),r=T(!1);O(()=>{});function l(){n.value||(n.value=!0,setTimeout(d,16))}function d(){const _=new Event("keydown");_.key="k",_.metaKey=!0,window.dispatchEvent(_),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function p(_){const P=_.target,S=P.tagName;return P.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const b=T(!1);ie("k",_=>{(_.ctrlKey||_.metaKey)&&(_.preventDefault(),b.value=!0)}),ie("/",_=>{p(_)||(_.preventDefault(),b.value=!0)});const L="local";return(_,P)=>{var S;return a(),u("div",So,[i(L)==="local"?(a(),u(M,{key:0},[b.value?(a(),g(i(e),{key:0,onClose:P[0]||(P[0]=A=>b.value=!1)})):h("",!0),v("div",Lo,[k(Pe,{onClick:P[1]||(P[1]=A=>b.value=!0)})])],64)):i(L)==="algolia"?(a(),u(M,{key:1},[n.value?(a(),g(i(t),{key:0,algolia:((S=i(s).search)==null?void 0:S.options)??i(s).algolia,onVnodeBeforeMount:P[2]||(P[2]=A=>r.value=!0)},null,8,["algolia"])):h("",!0),r.value?h("",!0):(a(),u("div",Vo,[k(Pe,{onClick:l})]))],64)):h("",!0)])}}}),No=m({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=V();return(t,s)=>i(e).socialLinks?(a(),g(ye,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),wo=$(No,[["__scopeId","data-v-164c457f"]]),Io=["href","rel","target"],Mo=["innerHTML"],Ao={key:2},Co=m({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=V(),{hasSidebar:s}=U(),{currentLang:n}=Y(),r=y(()=>{var p;return typeof t.value.logoLink=="string"?t.value.logoLink:(p=t.value.logoLink)==null?void 0:p.link}),l=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.rel}),d=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.target});return(p,b)=>(a(),u("div",{class:I(["VPNavBarTitle",{"has-sidebar":i(s)}])},[v("a",{class:"title",href:r.value??i(_e)(i(n).link),rel:l.value,target:d.value},[c(p.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(a(),g(Q,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):h("",!0),i(t).siteTitle?(a(),u("span",{key:1,innerHTML:i(t).siteTitle},null,8,Mo)):i(t).siteTitle===void 0?(a(),u("span",Ao,w(i(e).title),1)):h("",!0),c(p.$slots,"nav-bar-title-after",{},void 0,!0)],8,Io)],2))}}),Ho=$(Co,[["__scopeId","data-v-0f4f798b"]]),Bo={class:"items"},Eo={class:"title"},Do=m({__name:"VPNavBarTranslations",setup(o){const{theme:e}=V(),{localeLinks:t,currentLang:s}=Y({correspondingLink:!0});return(n,r)=>i(t).length&&i(s).label?(a(),g($e,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(e).langMenuLabel||"Change language"},{default:f(()=>[v("div",Bo,[v("p",Eo,w(i(s).label),1),(a(!0),u(M,null,H(i(t),l=>(a(),g(ne,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),Fo=$(Do,[["__scopeId","data-v-c80d9ad0"]]),Oo={class:"wrapper"},Uo={class:"container"},Go={class:"title"},jo={class:"content"},zo={class:"content-body"},Ko=m({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const e=o,{y:t}=we(),{hasSidebar:s}=U(),{frontmatter:n}=V(),r=T({});return fe(()=>{r.value={"has-sidebar":s.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,d)=>(a(),u("div",{class:I(["VPNavBar",r.value])},[v("div",Oo,[v("div",Uo,[v("div",Go,[k(Ho,null,{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",jo,[v("div",zo,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),k(To,{class:"search"}),k(ko,{class:"menu"}),k(Fo,{class:"translations"}),k(Ts,{class:"appearance"}),k(wo,{class:"social-links"}),k(lo,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),k(po,{class:"hamburger",active:l.isScreenOpen,onClick:d[0]||(d[0]=p=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),d[1]||(d[1]=v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1))],2))}}),Ro=$(Ko,[["__scopeId","data-v-822684d1"]]),Wo={key:0,class:"VPNavScreenAppearance"},qo={class:"text"},Jo=m({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=V();return(s,n)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(a(),u("div",Wo,[v("p",qo,w(i(t).darkModeSwitchLabel||"Appearance"),1),k(ke)])):h("",!0)}}),Yo=$(Jo,[["__scopeId","data-v-ffb44008"]]),Xo=["innerHTML"],Qo=m({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=q("close-screen");return(t,s)=>(a(),g(D,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:f(()=>[v("span",{innerHTML:t.item.text},null,8,Xo)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Zo=$(Qo,[["__scopeId","data-v-735512b8"]]),xo=["innerHTML"],ea=m({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=q("close-screen");return(t,s)=>(a(),g(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:f(()=>[v("span",{innerHTML:t.item.text},null,8,xo)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),De=$(ea,[["__scopeId","data-v-372ae7c0"]]),ta={class:"VPNavScreenMenuGroupSection"},na={key:0,class:"title"},sa=m({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),u("div",ta,[e.text?(a(),u("p",na,w(e.text),1)):h("",!0),(a(!0),u(M,null,H(e.items,s=>(a(),g(De,{key:s.text,item:s},null,8,["item"]))),128))]))}}),oa=$(sa,[["__scopeId","data-v-4b8941ac"]]),aa=["aria-controls","aria-expanded"],ra=["innerHTML"],ia=["id"],la={key:0,class:"item"},ca={key:1,class:"item"},ua={key:2,class:"group"},da=m({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=T(!1),s=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(r,l)=>(a(),u("div",{class:I(["VPNavScreenMenuGroup",{open:t.value}])},[v("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:n},[v("span",{class:"button-text",innerHTML:r.text},null,8,ra),l[0]||(l[0]=v("span",{class:"vpi-plus button-icon"},null,-1))],8,aa),v("div",{id:s.value,class:"items"},[(a(!0),u(M,null,H(r.items,d=>(a(),u(M,{key:JSON.stringify(d)},["link"in d?(a(),u("div",la,[k(De,{item:d},null,8,["item"])])):"component"in d?(a(),u("div",ca,[(a(),g(E(d.component),j({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(a(),u("div",ua,[k(oa,{text:d.text,items:d.items},null,8,["text","items"])]))],64))),128))],8,ia)],2))}}),pa=$(da,[["__scopeId","data-v-875057a5"]]),va={key:0,class:"VPNavScreenMenu"},fa=m({__name:"VPNavScreenMenu",setup(o){const{theme:e}=V();return(t,s)=>i(e).nav?(a(),u("nav",va,[(a(!0),u(M,null,H(i(e).nav,n=>(a(),u(M,{key:JSON.stringify(n)},["link"in n?(a(),g(Zo,{key:0,item:n},null,8,["item"])):"component"in n?(a(),g(E(n.component),j({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),g(pa,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),ha=m({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=V();return(t,s)=>i(e).socialLinks?(a(),g(ye,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),ma={class:"list"},_a=m({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=Y({correspondingLink:!0}),s=T(!1);function n(){s.value=!s.value}return(r,l)=>i(e).length&&i(t).label?(a(),u("div",{key:0,class:I(["VPNavScreenTranslations",{open:s.value}])},[v("button",{class:"title",onClick:n},[l[0]||(l[0]=v("span",{class:"vpi-languages icon lang"},null,-1)),z(" "+w(i(t).label)+" ",1),l[1]||(l[1]=v("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),v("ul",ma,[(a(!0),u(M,null,H(i(e),d=>(a(),u("li",{key:d.link,class:"item"},[k(D,{class:"link",href:d.link},{default:f(()=>[z(w(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),ba=$(_a,[["__scopeId","data-v-362991c2"]]),ka={class:"container"},ga=m({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=T(null),t=Ie(te?document.body:null);return(s,n)=>(a(),g(de,{name:"fade",onEnter:n[0]||(n[0]=r=>t.value=!0),onAfterLeave:n[1]||(n[1]=r=>t.value=!1)},{default:f(()=>[s.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[v("div",ka,[c(s.$slots,"nav-screen-content-before",{},void 0,!0),k(fa,{class:"menu"}),k(ba,{class:"translations"}),k(Yo,{class:"appearance"}),k(ha,{class:"social-links"}),c(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),$a=$(ga,[["__scopeId","data-v-833aabba"]]),ya={key:0,class:"VPNav"},Pa=m({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=_s(),{frontmatter:n}=V(),r=y(()=>n.value.navbar!==!1);return me("close-screen",t),Z(()=>{te&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(l,d)=>r.value?(a(),u("header",ya,[k(Ro,{"is-screen-open":i(e),onToggleScreen:i(s)},{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),k($a,{open:i(e)},{"nav-screen-content-before":f(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),Sa=$(Pa,[["__scopeId","data-v-f1e365da"]]),La=["role","tabindex"],Va={key:1,class:"items"},Ta=m({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:s,isLink:n,isActiveLink:r,hasActiveLink:l,hasChildren:d,toggle:p}=gt(y(()=>e.item)),b=y(()=>d.value?"section":"div"),L=y(()=>n.value?"a":"div"),_=y(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),P=y(()=>n.value?void 0:"button"),S=y(()=>[[`level-${e.depth}`],{collapsible:s.value},{collapsed:t.value},{"is-link":n.value},{"is-active":r.value},{"has-active":l.value}]);function A(N){"key"in N&&N.key!=="Enter"||!e.item.link&&p()}function C(){e.item.link&&p()}return(N,B)=>{const G=R("VPSidebarItem",!0);return a(),g(E(b.value),{class:I(["VPSidebarItem",S.value])},{default:f(()=>[N.item.text?(a(),u("div",j({key:0,class:"item",role:P.value},Qe(N.item.items?{click:A,keydown:A}:{},!0),{tabindex:N.item.items&&0}),[B[1]||(B[1]=v("div",{class:"indicator"},null,-1)),N.item.link?(a(),g(D,{key:0,tag:L.value,class:"link",href:N.item.link,rel:N.item.rel,target:N.item.target},{default:f(()=>[(a(),g(E(_.value),{class:"text",innerHTML:N.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),g(E(_.value),{key:1,class:"text",innerHTML:N.item.text},null,8,["innerHTML"])),N.item.collapsed!=null&&N.item.items&&N.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:Xe(C,["enter"]),tabindex:"0"},B[0]||(B[0]=[v("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):h("",!0)],16,La)):h("",!0),N.item.items&&N.item.items.length?(a(),u("div",Va,[N.depth<5?(a(!0),u(M,{key:0},H(N.item.items,W=>(a(),g(G,{key:W.text,item:W,depth:N.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),Na=$(Ta,[["__scopeId","data-v-196b2e5f"]]),wa=m({__name:"VPSidebarGroup",props:{items:{}},setup(o){const e=T(!0);let t=null;return O(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),Ze(()=>{t!=null&&(clearTimeout(t),t=null)}),(s,n)=>(a(!0),u(M,null,H(s.items,r=>(a(),u("div",{key:r.text,class:I(["group",{"no-transition":e.value}])},[k(Na,{item:r,depth:0},null,8,["item"])],2))),128))}}),Ia=$(wa,[["__scopeId","data-v-9e426adc"]]),Ma={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Aa=m({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=U(),s=o,n=T(null),r=Ie(te?document.body:null);F([s,n],()=>{var d;s.open?(r.value=!0,(d=n.value)==null||d.focus()):r.value=!1},{immediate:!0,flush:"post"});const l=T(0);return F(e,()=>{l.value+=1},{deep:!0}),(d,p)=>i(t)?(a(),u("aside",{key:0,class:I(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:n,onClick:p[0]||(p[0]=xe(()=>{},["stop"]))},[p[2]||(p[2]=v("div",{class:"curtain"},null,-1)),v("nav",Ma,[p[1]||(p[1]=v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(d.$slots,"sidebar-nav-before",{},void 0,!0),(a(),g(Ia,{items:i(e),key:l.value},null,8,["items"])),c(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),Ca=$(Aa,[["__scopeId","data-v-18756405"]]),Ha=m({__name:"VPSkipLink",setup(o){const e=ee(),t=T();F(()=>e.path,()=>t.value.focus());function s({target:n}){const r=document.getElementById(decodeURIComponent(n.hash).slice(1));if(r){const l=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",l)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",l),r.focus(),window.scrollTo(0,0)}}return(n,r)=>(a(),u(M,null,[v("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),Ba=$(Ha,[["__scopeId","data-v-c3508ec8"]]),Ea=m({__name:"Layout",setup(o){const{isOpen:e,open:t,close:s}=U(),n=ee();F(()=>n.path,s),kt(e,s);const{frontmatter:r}=V(),l=Me(),d=y(()=>!!l["home-hero-image"]);return me("hero-image-slot-exists",d),(p,b)=>{const L=R("Content");return i(r).layout!==!1?(a(),u("div",{key:0,class:I(["Layout",i(r).pageClass])},[c(p.$slots,"layout-top",{},void 0,!0),k(Ba),k(rt,{class:"backdrop",show:i(e),onClick:i(s)},null,8,["show","onClick"]),k(Sa,null,{"nav-bar-title-before":f(()=>[c(p.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(p.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(p.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(p.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[c(p.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(p.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),k(ms,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),k(Ca,{open:i(e)},{"sidebar-nav-before":f(()=>[c(p.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[c(p.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),k(es,null,{"page-top":f(()=>[c(p.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(p.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[c(p.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[c(p.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(p.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(p.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(p.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(p.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(p.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(p.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(p.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(p.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[c(p.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(p.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(p.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[c(p.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(p.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[c(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),k(as),c(p.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),g(L,{key:1}))}}}),Da=$(Ea,[["__scopeId","data-v-a9a9e638"]]),Se={Layout:Da,enhanceApp:({app:o})=>{o.component("Badge",st)}},Fa=o=>{if(typeof document>"u")return{stabilizeScrollPosition:n=>async(...r)=>n(...r)};const e=document.documentElement;return{stabilizeScrollPosition:s=>async(...n)=>{const r=s(...n),l=o.value;if(!l)return r;const d=l.offsetTop-e.scrollTop;return await he(),e.scrollTop=l.offsetTop-d,r}}},Fe="vitepress:tabSharedState",J=typeof localStorage<"u"?localStorage:null,Oe="vitepress:tabsSharedState",Oa=()=>{const o=J==null?void 0:J.getItem(Oe);if(o)try{return JSON.parse(o)}catch{}return{}},Ua=o=>{J&&J.setItem(Oe,JSON.stringify(o))},Ga=o=>{const e=et({});F(()=>e.content,(t,s)=>{t&&s&&Ua(t)},{deep:!0}),o.provide(Fe,e)},ja=(o,e)=>{const t=q(Fe);if(!t)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");O(()=>{t.content||(t.content=Oa())});const s=T(),n=y({get(){var p;const l=e.value,d=o.value;if(l){const b=(p=t.content)==null?void 0:p[l];if(b&&d.includes(b))return b}else{const b=s.value;if(b)return b}return d[0]},set(l){const d=e.value;d?t.content&&(t.content[d]=l):s.value=l}});return{selected:n,select:l=>{n.value=l}}};let Le=0;const za=()=>(Le++,""+Le);function Ka(){const o=Me();return y(()=>{var s;const t=(s=o.default)==null?void 0:s.call(o);return t?t.filter(n=>typeof n.type=="object"&&"__name"in n.type&&n.type.__name==="PluginTabsTab"&&n.props).map(n=>{var r;return(r=n.props)==null?void 0:r.label}):[]})}const Ue="vitepress:tabSingleState",Ra=o=>{me(Ue,o)},Wa=()=>{const o=q(Ue);if(!o)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return o},qa={class:"plugin-tabs"},Ja=["id","aria-selected","aria-controls","tabindex","onClick"],Ya=m({__name:"PluginTabs",props:{sharedStateKey:{}},setup(o){const e=o,t=Ka(),{selected:s,select:n}=ja(t,tt(e,"sharedStateKey")),r=T(),{stabilizeScrollPosition:l}=Fa(r),d=l(n),p=T([]),b=_=>{var A;const P=t.value.indexOf(s.value);let S;_.key==="ArrowLeft"?S=P>=1?P-1:t.value.length-1:_.key==="ArrowRight"&&(S=P(a(),u("div",qa,[v("div",{ref_key:"tablist",ref:r,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:b},[(a(!0),u(M,null,H(i(t),S=>(a(),u("button",{id:`tab-${S}-${i(L)}`,ref_for:!0,ref_key:"buttonRefs",ref:p,key:S,role:"tab",class:"plugin-tabs--tab","aria-selected":S===i(s),"aria-controls":`panel-${S}-${i(L)}`,tabindex:S===i(s)?0:-1,onClick:()=>i(d)(S)},w(S),9,Ja))),128))],544),c(_.$slots,"default")]))}}),Xa=["id","aria-labelledby"],Qa=m({__name:"PluginTabsTab",props:{label:{}},setup(o){const{uid:e,selected:t}=Wa();return(s,n)=>i(t)===s.label?(a(),u("div",{key:0,id:`panel-${s.label}-${i(e)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${s.label}-${i(e)}`},[c(s.$slots,"default",{},void 0,!0)],8,Xa)):h("",!0)}}),Za=$(Qa,[["__scopeId","data-v-9b0d03d2"]]),xa=o=>{Ga(o),o.component("PluginTabs",Ya),o.component("PluginTabsTab",Za)},tr={extends:Se,Layout(){return nt(Se.Layout,null,{})},enhanceApp({app:o,router:e,siteData:t}){xa(o)}};export{tr as R,go as c,V as u}; diff --git a/previews/PR223/assets/clsahjp.CBuzfdrZ.png b/previews/PR223/assets/clsahjp.CBuzfdrZ.png new file mode 100644 index 0000000000000000000000000000000000000000..051c54c90731c41e03fd22dfb92b50b0352a429c GIT binary patch literal 81329 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

+ORa83Qo%HM!j3%+#*y9Bge;tNLK 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

XlY->$8S{zR<^kBE&r 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 literal 0 HcmV?d00001 diff --git a/previews/PR223/assets/ehlpjgx.Bb2iK8_l.png b/previews/PR223/assets/ehlpjgx.Bb2iK8_l.png deleted file mode 100644 index 398542aae986d50252ded0be01956036e2c97049..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64305 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Μ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 diff --git a/previews/PR223/assets/ahqcxdg.DHcwB147.png b/previews/PR223/assets/eqdgkry.DHcwB147.png similarity index 100% rename from previews/PR223/assets/ahqcxdg.DHcwB147.png rename to previews/PR223/assets/eqdgkry.DHcwB147.png diff --git a/previews/PR223/assets/rpjfmvk.CULn5saZ.png b/previews/PR223/assets/eqkkufv.CULn5saZ.png similarity index 100% rename from previews/PR223/assets/rpjfmvk.CULn5saZ.png rename to previews/PR223/assets/eqkkufv.CULn5saZ.png diff --git a/previews/PR223/assets/experiments_predicates.md.BztvbZKA.js b/previews/PR223/assets/experiments_predicates.md.BbLqJ2-y.js similarity index 99% rename from previews/PR223/assets/experiments_predicates.md.BztvbZKA.js rename to previews/PR223/assets/experiments_predicates.md.BbLqJ2-y.js index ade16d35d..1c0fd555d 100644 --- a/previews/PR223/assets/experiments_predicates.md.BztvbZKA.js +++ b/previews/PR223/assets/experiments_predicates.md.BbLqJ2-y.js @@ -1,4 +1,4 @@ -import{_ as i,c as a,a5 as h,o as k}from"./chunks/framework.CIByTNPs.js";const n="/GeometryOps.jl/previews/PR223/assets/rtydpiz.jvJAV00l.png",y=JSON.parse('{"title":"Predicates","description":"","frontmatter":{},"headers":[],"relativePath":"experiments/predicates.md","filePath":"experiments/predicates.md","lastUpdated":null}'),p={name:"experiments/predicates.md"};function l(t,s,E,e,r,d){return k(),a("div",null,s[0]||(s[0]=[h(`

Predicates

Exact vs fast predicates

Orient

julia
using CairoMakie
+import{_ as i,c as a,a5 as h,o as k}from"./chunks/framework.CIByTNPs.js";const n="/GeometryOps.jl/previews/PR223/assets/ptydxfc.BiK0M_qB.png",y=JSON.parse('{"title":"Predicates","description":"","frontmatter":{},"headers":[],"relativePath":"experiments/predicates.md","filePath":"experiments/predicates.md","lastUpdated":null}'),p={name:"experiments/predicates.md"};function l(t,s,E,e,r,d){return k(),a("div",null,s[0]||(s[0]=[h(`

Predicates

Exact vs fast predicates

Orient

julia
using CairoMakie
 import GeometryOps as GO, GeoInterface as GI, LibGEOS as LG
 import ExactPredicates
 using MultiFloats
diff --git a/previews/PR223/assets/experiments_predicates.md.BztvbZKA.lean.js b/previews/PR223/assets/experiments_predicates.md.BbLqJ2-y.lean.js
similarity index 99%
rename from previews/PR223/assets/experiments_predicates.md.BztvbZKA.lean.js
rename to previews/PR223/assets/experiments_predicates.md.BbLqJ2-y.lean.js
index ade16d35d..1c0fd555d 100644
--- a/previews/PR223/assets/experiments_predicates.md.BztvbZKA.lean.js
+++ b/previews/PR223/assets/experiments_predicates.md.BbLqJ2-y.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as h,o as k}from"./chunks/framework.CIByTNPs.js";const n="/GeometryOps.jl/previews/PR223/assets/rtydpiz.jvJAV00l.png",y=JSON.parse('{"title":"Predicates","description":"","frontmatter":{},"headers":[],"relativePath":"experiments/predicates.md","filePath":"experiments/predicates.md","lastUpdated":null}'),p={name:"experiments/predicates.md"};function l(t,s,E,e,r,d){return k(),a("div",null,s[0]||(s[0]=[h(`

Predicates

Exact vs fast predicates

Orient

julia
using CairoMakie
+import{_ as i,c as a,a5 as h,o as k}from"./chunks/framework.CIByTNPs.js";const n="/GeometryOps.jl/previews/PR223/assets/ptydxfc.BiK0M_qB.png",y=JSON.parse('{"title":"Predicates","description":"","frontmatter":{},"headers":[],"relativePath":"experiments/predicates.md","filePath":"experiments/predicates.md","lastUpdated":null}'),p={name:"experiments/predicates.md"};function l(t,s,E,e,r,d){return k(),a("div",null,s[0]||(s[0]=[h(`

Predicates

Exact vs fast predicates

Orient

julia
using CairoMakie
 import GeometryOps as GO, GeoInterface as GI, LibGEOS as LG
 import ExactPredicates
 using MultiFloats
diff --git a/previews/PR223/assets/ffmcoxo.Do_Oyd1s.png b/previews/PR223/assets/ffmcoxo.Do_Oyd1s.png
new file mode 100644
index 0000000000000000000000000000000000000000..8e647a39ab50752363f96f3c90401ea5a1a75638
GIT binary patch
literal 231091
zcmeFY1#?@`vMg*Tc1$rdGgHiL$IQ&k%*=LTjG394nK@==W|o;PGd$(obL*@6{=$1p
zrP7jW*WS|XwPt#{TVV=v;_$FIuwY3RwP0XhgP^~FKH*2yuL8Y%Gm;h;
z0sH*-$n7dg00ScelN1qD@yI;iG&evSTnD>e?b_0YhRI8r`5Lr^EHVZc{wo}o=1Vv%
zNkG6{1W{KQk*GpCBvK*VTw%(L_Aev}p;Mrq+v9ue8*2Q<=A|w}iuC2PZ@~E0=0SZ2
z$Mgitv;mqZG3d(w8M{!7XW#z!4HYgD(!Z|;8b4D5ej)wO6s!*oBIv(Uq+%i>i2s@Y
z`T+_4zo!YJhK2_JpO1-T1b;&R_h>`dFGByFLM#7Yc4{|G4lpnQLoBr=+5d!qDupVX
z=8WQ(0yxY67fgc?q(pl`tZfo#5_^XY8jpmOyZy(M^XutY>l
zOG^mBfq{WqjmkMc#*w-&qJO{tzu^D>S7UD8q7^QO-PD7jE7L+W%di*N7dJxL`t?)w&&*TV2`}YV-oxJcfNiMbasN&&RbUYwyQP
z-8!SeZr@j{g;L~J_Wy2;H*j#`YYHA7?}zi%4?g$ZzTmc50~?$3U*KQ!^Yfz#_`Hs1
z^0Zs*fLGg}b4AiV`~taAkpHs{p1yq%+W96KA49;$?Qy*mj!vtjr1a(yTv=JE*%wAl(%Wc*{`62fYJyfLf
zQM;1eA8J}C;(@5z##6)1MgrRlDmHoS`>(4e
zcFp{NH9W9=)>~|hX|Kfjcm39G!m{l%Mn5;fI9zy=AUv)<=bj22_F}&+YnRu=Vausv
z-vtzGpq{{J;ch*megYMmN+3achrAT45Gef;BYY83Pywxkc>S4bT^@b?-(;gfK@dR-
zC30EepN;xGer=zvE+lP!Jmip9BZ
zOv&UI4pzx{Z3M;Op~%g;q6miVre+(Ye8b)3uf@p1Z9#bkRRzlQt*#O??^Im3+CX_0
zG}9G!iu$I3(`{Lft9XV0D+SC?i`r5F@Lf!vzmGPb-^Nm-FP{jLZ{}lb1i;V
z9m-<7Po*8vww7X|ja-_LP0ER!NK&WE5#%xL%}1u?#qu1pZEj6+$jPpjR`m7ng_@V|
zsZd9S>^!}P2eQO|T{7mr)%Q-Fq~e@r)h|a}d43fThnUX-SO7CK++RwdaswsTQ&@yiN#4l;xzN8Id}cw_Sh6=Kc7OEVOvOwko)+yJw&+o2QMnINIX9jiz$`3{QEPbS9-`zo60LdWqOH|
zAhDwl(La8?SWUQE$X<+VCB&pHu8cglkt=f{502`Fde2GWm2;ukkgMC@%*14eQ&15tLN)smH`nObFC+*(
zzu>uzg_%7k!f9Drpitg5J4ObNKUNR|oT%b=`>9dMjrmN4%-yuka3?}|Kz=PDhFW-q
z&5*FYN_=5yO^V^EHnOPyPTv(?*rkhl&#`vsA3~?ehd!Hvp=l(}hK+*;MfRx}mWo4@
zqDRYj*e7HFPr14@=
zw6Je?t1N?G`CTegGdX6{ZOMRU%u-V*-d(5j^I0-mFALb&FPd8^DpSrc+AZvX?k}u^
z2T6iRtSO(xUaGN0ge(
ziLqnuaS{~9VS(v^f!0RnTbN)+*Kzr~PFtSAC2t-kPE-pseH$0LYK0oGB&?eVnxtFu
z)NgJ7N4cu7Y7p~5`z#g%-%
zOq18xYmrCTr$hre!meNC8leZW;I
zlkt|+mFP)onjV$U69fIy_a2PRr=OJUO0TBy3N1bN{GHy#gJe|fy7}$1^PZ!0w0iT#
zLzdT4Cfgu{U?ua#PuQ!%O7r&)^k>02Jj;5sFCAA7`xp*qi-+cL>Ak!nJ}w*m!hY3v
zIfyEx(yKaIkhVMMwYW8_jL_nsbW}0Myt7vL4)x#65dRjFR+H7?NB_kafr`a+9$<>U#_@iA
z9lP%Wrh8jiTmn=<2m-uOpkA$43}8f!+I0GC8XIY>{rA+TXd`YcN40$|l8oN44MLkr
zDbI8z1HG>K?C8r;`9~B3fja~YwN>DFky}sggDA%(kG?fw5a8ELQnf3?nu&*tq)^)3
zQnMooovnVe99F(b!xyeL7lFm(xSb{i*kIe|D5|1al6aA9SZ@rgfJxu(oQGuXh`Lz4dmG
z(C)Ft-@nM`DX3KIU=zFC0VekZx?IoHE(LJdZLk*1k|rqM+nTt&v3mMT8H8Ei*D&xe
zyD}{_8+G3=aDbVzr+i2E2B+Ri4P`_v!7+z
zY&r$)A9jOET(2uvFU))y=lBy_|0rSqpm|m*ON&3s*jh)AsZZ&;WlKAhbC&e{e)QKHVEUPaMobTr_ee*mjEePcd7izYdjNW%&
zUl~7-zpP{zet+%h@yx*P@Rabp`Q2v68be;PZBr{=5nJIGr;ohFLy+?EBO^hlR+jIH
zbUydD#lep$>#w84#_(qkmH~L!V$@jVrV`__%xuuSfx)RfxTJgol*N?wj7J^vgOBoR
z2!Vk*l`3onv)BT)rmTyD778odlp7n{M#fJO7{rqJzIBhJxDP5dS=8fEqK~>ibe^484ftQ=wH1z(oR3VRQ->;(L
z8}JabS2gJtDiM0(8!aTPNYEt)A*FvR~YEZ7O8
zfcVp;Ds7ej3^zBokHD|rzFVv{QVSjL#|Zd6T^n8oB7_=)khY|xBvy!Q7I%|PIxaLD
zXO-ak0oLobY4ve%|KIlRN^Nh
zL!CUncuyqdlaY#!qHOvol8)8cY@haYYGEnN{Q1MtWz6hmia(P;?0j?MUdP--r~?Td
zvBqW7L>w8n-)5^thZo=*aBh1s1x45*RiM^Rub2>l(}Tvq(w=Gd9vOMaRg_lB`fxGT
zeejQVKAA>J|9Z_#QJ4onVi7Sxb)2%i+e7%-NH#8rEP_7iL+flQYp(pnzPX)sE8?>W
z=QxlLH_-See?pXpS6SiLlz^G1>Oc#mARK6DLCM2|0~51<14X1ag*(J>z1bEuVsJW}
zuL1=BK`qwn!$pNs8N2;fBvLw)u~-JX?O5etk>#?#mw55=Ga<@)J?)Pyu8c50h&4+9
zQP2~f&!mr{3@&_MI6^dR1uno>erPCYD8+>7syh(f{x0IB(-f%p*LRaYYtcG~kyOxg
zuXuDE{5RW;E@V&n5ib)4*Db2LK}CoPSSSPT*3(F*P5Qw-!s23AIjXj*GsT~fNH!fg
zmj;i@&W6Jo{YcFd@YhSfss^lGR%ePN9Be6j{l@m$&K3a{lIGBJTMS>d7L{Fdz+-q0
z)@JxTvt($}$0Mapu-yoqe9vseu)~-IoAa~FNA=(<0=Wz;^lx|=VjKu!Xt9!?mX>Rc
zC#wzSp@@Xpv9S(^V@VrO=&*zC+rE#WMmo`UU21v|;wA6$=<#cVRtznXWk)}qpdLDE
z+n+ACbmrYU*KJ8@EgCTt32Z@E%W-NwI7*kwjk0I=k`d`Ki}~);*%}NfLK5oJbNulv
zve0=^)d-_5JVt)^Wd7DQ|BVkN9RrkWiyN+|G0(S}p7|33H2l*ck?2Q(h6h_^ewyNM
zlgR~Z0)DZWj8lek$x|O8SR9K_P7&d3c~Ububr1!6B9ST)J4Yza#WS5DamLIyoqRpTykS33PV%ZTz#ZHCK7zW45;?!I^G^gUO{biU)(HV
zU}CxhPZu*d?6=yShpn2_YV^9CkEVDDrsr?af9drb5UpaR$`h4y=Xw8hj$|%YK<{|s
z4tU}wR_7h6s!=b$!UwKMqN{OqzB91p3g>-gCz!kZj5?b8gEW>=_?~tqME7$0Rnt;%
zbLfXw?`pk9_haX7PQp~C3c^XB2(0=(r_+Kpa~pJiuaJ@xp8p5gjYj!wuU1p)ycwTj
z=br!bU@~{+Dr*83vni2zG9XGdQtGi&@@p{uS}w1%lE5df;K{}AQe9r@KJz{6xZ_Rs
zq6M)rO1iouCZblu_KOos}6Titci>
zLT~GwbksH&u|2O?>W9bvo?yE
z39`v`tqB@A#vVPkZ`fQb&!C-7`UQ)*euq+c7FFl!a?CJ*h2HtQ3yp6
z`h#ldcUAl*D_i;5DzvT|dmEQ~zSG>abX5AFe+V;XwQ)
zO(ljPiq*TIXl;%$TdHwo3LlR)9(l8dyllkT!{_s4;1pl1nZLghrtyrZn
z?xr1gJEi9Sz+Xm`F}>r6`W9MO)|Yy~+C#6`nw^i8qv=BV*twWNKXZ6Z@{6nOmsG
zm2|j>p;0iWu-fmI(@sa$-~I66^neX6-@;BdG0B;4bc3Q<1!o68Ca`B#^g%4;S66Oq
zsJeZXuh-IgZF+rNvtCjF?#b|bQea0rJK@4cPw2!q41I~EYVq!QZ5^Jm{fKMMr-M8i
zR-+G}QhN!xDAQJUnV&|7Ug{51E!
zq+cPG<>luvSWkq^i5)+t&AjU|d@1}+nJ?u=3wQCW&xlf7jv0p#^TH)wZ0knfQ&RF&
zHDQbyy<8=X6px#2vifjrBz}qDyI>&qxZafrewUR@>rw4mtWvaV80Nq-_274hs^7Ee
z?J}~1&y6KMWY722i$$*b=5VOo6j9V(HENQps3A`*5TuxOhxtEF9r=9hKFuqR=932e
z^l4AG`jD&c+hi24)aI6~bt~MpKg{r>1fW1OPe8Qy&*nPyD80P>^x;dL`W^BR-Rnh=t`!X%0%xM5#F)
zO*hEqm^T)q!GGn91B@mp6j&KDC8^`Ef0zo%*?(0{jB0rP^^#%u@!hPf@cg7-)xzWB
zYqw~URp8lO8byD9fH#HVQK3F^WorO}i!vj24eY|29OEpJq$0=E*1~pMOqxuh0+}V+
zdZls0-%eUEzp~Wr0jr?-5$h3QXzf+gul;%xI
zyJztnhb-n(2ZWUHGC>3{&6Q3!Y;p0$bljY*yER1v)Ef6u>GUepNl`i!j)8
z--`*kL>jbwf@UU7&bCmK8&x8SVwnR@my+j8T-$W&K&<9x3*nQ0=28~FxWyb7TChoy
z&c(V>zt`AmC2aT478SlW@t&8*k1XbqBQi-=xAxVim3P_wS;<8XUSI$d_(jBjc_%6|P8=0?ov?t6*&)QdyvWR7N
zo?IM`A50PT*-0oTYXBo?s^xjpd(7DO7C)V}O?IBL*y!d%bfHuP+bR<4EVQ$~SyR0XKDKnb0X}GMhRU8uti6
zG^NkDY-**=aJb7L30gS_)z_dM7j}1!Zj=#|ZjPVBM`tDyfo3bGSa}Mx?qxiMIvOaX
zzH&FAuDoH?>?SxhFB`ghob0)3;gjEMujCY$P^midY3cdVE%yv(_SWps@d5zfE*AU|
zw;!<^FuR?;LGeR7TdF6^5Te}#nKP<{R#^mga{tmO3e!G
zdvT|V^y5!wu5IO*Ef&=hn9rf6(qcYk-TmTMri_z|N#A>LJ;J`Zaw}&wjYo(FwmF2K
zw%W)6UhUN^HI}d3q5d191-tXk_eel$@ucNgA*arQe1+p96N(TtG0=7}!qEDpui($o!a<4ZH@*k__2Z=TH
zx|+4vH|)^`yY7)WT~TMG99DvK82ci-aS~|g@uI3>m!3}|dTvD-Lro5}{h`&PiI$;f
zW=o2S^NFcko{_Tzv#S0d^aE%5ZB
z2i~ZzqpZFCCuAT?Cpbr&sc`(p@^Yfo>nFn$m?Tf%zPHLEmofaAZ6vtHmPZ(IAi=ddfe
zwbO{$pd9fai-nO~Os=Ot`@*#*q^+Fje}r)nLB;TP
zwB7Ml0p&k?a^cTG_e-AJmAum>DcGv(Ar^Q-{2Erp%$mU}$t3Ed`!%^$vM1xJ*4uYCT2=1vUF;t$dsz3&?qx
zoDS-xbxDNq{8RO#Bu`*25s%;IF+a{*4$mhQs+Z>8*_@3FGG0r36`YyF#>WXh_8#`U
z4Q(=)kLUa;|FnQi*$cB0|*S;NpKW5cwPY$uU_JuGU{(g0-G0l49u$LpV2_dWRQ}W
zb}d@3NhnO5p71NTlWjEN6~a##kSXHlGt2EKnpB$KxR+eq2R7r_{i?>j5}vP(!F_V$
ztpG%}t%F+fJZ1zO^(?HM%h`-=!_dKAJrh%o<%J&s)D`RBr)`93e4I!e?!;N?_uH7u
zD*?`E8AZQ(a&1db)7Kxpi9*Ln{LIHh?saSHwSXWlPTYniX13YRKllg
z4;Lo#F=p*z37v^PMAxKKAi$V--6d$>lbRkeAWukN?Qr(BGPFee)gRbRzNDzd;CbFj
zoK7Q(!g+oZ`~HaQ;&dWlj*B>?{1f|M^>VT_pj`bGz3@9CB&Y+VT~HsC$|~DUdlYA!
z!losf4N!^ZN*9JyecEMkeA-QSGmc&m?<#3e0swWwgRTW#K*V#o+tAH5T5~SwI|XK_
zg7)vT_tw$^AMZdKV3&V50bmXq(GF>=yF!nR`e11)DP+Rr#e;&J+T-ILn^wQcrq*1g&u#>AYqDupHq@qtUrpjEz08rq|7WwBal=K$AXZ&fDwIiB0vfRLiN&SuXzJ
zNj`)d#qlfZ3<=Z3Z5%A<^|8cEs(7>*Linz*$@r~~;Bq{v&Y=Jq*`)<7(yPh)B$>!7
zyT4S*89Wl_DUVzUAe@B@m?aXDSgS(i28jzW_MN?No8ZuiKd?~0fuXUqRzRT6oDUH!
zXKNZ^Ut8TFZ?*}j*e%Z~uulO@_kzTe_XM0;LF6PJC@8NlY-`qTm9ap(L5u6xzd5X%
zm-F5OWUB4Lz`S3ig;)5u1N;v}zUJ=n{gfxD59Q&Nh-8fc?`Mgq>ZQm+++Pa>#G9vb
zmL9CgcSSQSqEECN!Fdt%im+v?xuoqb7HO^uWk(&~I%WQ3UiL$$XmLLC&^A1TkVa&6
z`bJh?E^qx3RrV>$dcZOzn@@5@z)Xt&>2DpsyxdZy-))H{$lGIrL
zAX#m7pA3rGcHucx$?2RiU9tEJf_;GmwM2b!Is=zn1ILG8a^!adc}05goqeR#R?})V
z5n`E@Nw}LXgG=YLYdH}S0@+t5kcU7rvG)`0Q8jaR*_sH}8@a9AFeI8^rCKi5(8%R#
z9SdLku+JLXp$HhOp@vm@-U=pn)j88ovkR;}=AjAM^X5tou$(E*Lq+j?uWt1`tQd2w=)?mQTEj1^Ytitc34oQhq==|5wIgC(3l$~p
zR~XAt0N<5OtU9Co)ancO&Y)Y9CbwdcRaicF)tLaUMJmVr>e-JLu_R^6Js%fu
z1|I8#09T&Ys`Xic_Hzwo-~C;$V56>
zRQXfcD-r8I@~Ll`qhAFEzcRy3YmVSr_Z!0y@!;%|Th>U-%ed!n25Y?#8Fr&(%l)p<
zpvmw;rG;+D5_M@y2dmNzd7~L!=UsQ@i3?n`^Z^$0Im*DIq8~UC6lsT^!Gc3nr*k5m
zB^fWfFfqE-7`{!DR!MfD=hvpFPIHA{*5(JHxekCpklH9Td<^hP8~G$R!N(0>s}c6k
zTFjAmIAO&~iLhEI+&U(%zG#wO>uM_;#W^b9UVLP@J6{zNF``SOFOD-^(Cz~?!LbdM
z6(K?|YN8+UqiWcg)rIwof?AaVG(6%Ok(@%MiH|+p_4+nWQ&*OT;V5SM^gUrab9D5A
zHjyM=EM-ICE$8?46=6k&AS5~8>)+Fl{A+E!pBPnVUS|GrP)s6CUEWL=r)!gTYYI{^M+xK=*2ovWqiVb*lNKpy{8ui@;<`eXOCs
z9?CA3HWby*%|Q)}=VFH{s16xbVznsXt?cxQo1ZF$)1VAd+>FLiG`w-G_2_g$(f0jJ
zt+#+eF4=pvHjAPI?mjPk7h|c5$zG@Q>C50BJ)s67V6Id8>&&5I4bSFI)eC0%daD&i
zvK*13zfgUG3x0@EbO&s3%3BTp2rpx2jI|Ym-c77c&okFIGSUBRiS?wG)3FWqo%Nc$
zvt~XR>-aPf65p>LDkG%vS)(r0f=H>VZ(U%WU(V8kF!m4TXdlVuTh83bb7+Xo5Pk5{
zUv7!AFQ93h-6=9oX-A9rb~kw3z`&@9-{iq9^k;bg+JpZp9Q>yxbOZqirt(g16?S*7
z%VKV46YFti)ylDT_jwc`e5xohpMv;)y0vHHFg%8Kr)VSWg0>#BCJ39N!Pn%y)R`M4
z7JF$7+V6P%7{1l*Thr~fIpl0%7mf9;Lit{N%da)zIBIZW^%zq&zmaf<)0Z)1Qq8oQ
zS41r$9x}M%0QQu|O$9l<$oD}=wMcLXitBhT)ZVNEDkTjDABPR
z{;8Kmy_@F2<9Z|?=@o-EkFMcY@G3$bIj>Z$4n5VJEu8x$v$$e|NR8Ek=*I};K&=B)OLuq7Y1hqrffZiL@vpInsNCJym<#ygASmei
zA$Q=QSjOcRqyUuCVIMzov8I^K?LV=)y=S~Ns^^Zpefe$9l~a({=nq%s7UlzluHKvh)YZaq5f6BCx(7PJ^S
zJJ$JyK!||ft`-G;>eH~7I;+e%yUlbKM=}`V3Xd`}5t6gD{bnG&%ry*BW4v8RU~jta
zN`jx~qVSwRo4mT}Y8&D9kQawTg`O-5K{G26I-U&i>5mH2ZTUBE5^
zYC4`TnxwvRsEYNQ^*6902vF_*Ihc48+b!(^2G772-U#Nv0D=`gAP+DNV)RtO|Gg)~;(RX*CdBpaSsG$ljx
z0Tf1*bdA5hGjMyUba*8)jnXe(39D9H4*rb6m9iVF
z6mec~<(6lI&2e`YO
z>-B0owADRY0srhI*U1QqufQgkY4vIh{8v+wr8Ubj5JcmntejS6nhU0;iNn{fgK~*I
zT)y{8KlDgGObovsT70&_2tgWK;F@HwKQMLr67lR8XoJw;i0vn;U5z-#6A2qS=afs*
z_v1S;S`ca~(H~0r>>NH?m9jpn5{3mb-sWOco+6=6)5>3lDP5mLU$`uyRoIt4Zhfhz
zkN{GnjxyRtYTFENVs!O-m=_zILBWHy2@jLj$r<5{)X&2Wh-W&cq^b&v`XA
z)}mdk+1Trr9h>=88s@}Kd)2ovn9Kz8)%Vot(G*(;KkiX8X;)M~gD=CF+iM*hkMtvL
zi57ZoQ)T{++oA}H63-5>Y|m;>MULMLPkl>7L`F&HrgCvl9_&pPLJ|
zV|-#%n|+jooGq#bAveT@_VvOcO(bwsaylow{ZC0Tbkk`vBC3V{-5X`X+T(@FfnbxC
z?a4}=RFxK;TG@7N;8Nh1Lr9Rq*BS8Z#}fmkR!oQ}rRIaA&}7o1%CxjUgF=fH#x<@O
zOp)f9J~^Rc1J$
z`LPZfNSL6Vs9xpju}Pw5>IQ5W)xY}m&AH+;688I^M4427HaV%x!ohc
zO!_1;xY8(yBBNopmJKVs`qY3v*|Z9ht2yx3pQzoQS>2SbcQ_#-Pwxnaqub&a(6cT+
zF?f{UFz{O$(R1Jx{Mf-ZJQ|r$^Eg;VxEr;NX1RSd-atTsUY_OsD;G5V1>GhISeMl@6T
zMT9^W>;9rSV>8(Ik~}$htBtwVc7vZ#nxAfSIB}6%k87$gqr2AX$1!a;1KfVRV{Mv^
zJ5W`xFnQe%lICu@a*aBk7EBt)*4~L5_8rID!SxMScxt{swklaz)`I6E#_BNEjMs)<
zfAk~{*)Y0PML$b>ft0s&x6zi$bL-H<6CC@N7o|Qj<@>kfo{U!lP|()iALb_`+~2G)
z!HT|^L4zBZY?BYy`MbW5!8kb~32jI?&p&|l!*SDm*reBkC3oq}!qNQ=(Y>B>U3y?3
zH&m;ZK_6+v<6dTBR)bN6*GUS2c=T{rS*ypy`NR!pxo$%NMYkQK{MVr$FTHS)=nP-+
zqXV
z$Kv%z5~(SzA1!?)QOMu^)`rVmphCTS`yxm>a8!%iro2A7fPG;o?0E)*hGYmhkKU}|a-yscu|D5%&mACUa)41k(
za&OSggns;bnzYv#(L)DxVm6gS5fmULR!nkP%J1BXIH7dr+?)AeO`SNJ#lIV-?&8~=
z?qfki&)*Ee#$7lANJhq(LQ0=Q>$vN8`-FIm+83$rZC{dYsy*J2U4-xHg;$YXt+a)e
z9##w3xc#Evj$dDYHYg2+gEc$
z?~Zf*Dm^&}KMjJ9v+#e-%=)HY-kglt`5(+do6CszO3KjCev;1|ogNcNN-+Pu%19IR
zkCdh)>Z%U2*NE!zWUE;`vyv<1x+2D)E-xZ{N^=|HoXs+SNX%p&5rHjcw>^omTxZuY
zgFa)=?NPB_Fi#XzR~wLe0Z6K_4rg{8e9}jd(kt>ROR?iGQJkx`<#3SJC9I=+Pn}5b
z`*P9Y)%mnNDz5xyx#!B+n#3zR2=>2R0H-i_vaWD*p^PWxj@Ufc5%2gtwysjpRvfX
z89}i%UQ9O6s?9#y8G~B!7Iqc%ff8$Ybv%I(wBm>;QT6hAs>(?EO&+Z8
zp9%Ik14kH-r#ai|uJxb}^&|RKqtU9#4y|sSa-EDOCU#AL)GL3@%Ze(31eK4T-%k0jB@9^izI3gP?nwG&lFZsQiTf#SyWT
zh9r2W>vBed7zHio?9=f4=kl*z@PWYf>YSKz9^cOr?Y84gO
zO{UhBDN~lUOnhRpz5Ug1tN_{$(ux_v#2J|COY~0n*+w7!7A+A`+Mp3rV`sCSZ9iku
zdpmxrZEsx8_pE08?z_@`v^Y|X4m$lU>on63gPX`h?uR-^5gSu8pN>`>dj3aK@l5|f{t;%YbpZ;>$h^Mt2O%ICEp^MSxdF%s-HocGEa^M$n;4|Tgg3%`}7V*U`iHSTC_Z^gK
zLD$PGmV=PYc2Pdsl|3EIMg;Ad--c(BjY6QK*e(;5dbIy(-`C
zSW>j7HQO}m!JjAn^I;O>Jy&IZboGc_dC!a0xYr%5O+k%3rQ}YU;<$p5ttzQ>j?`*b
zxtwrhuNV$Op=p86xKGYeZSY-^OgS;hRJD%JwserAlijwjk{TuG_L8fjt@=f`iA6wZ
zMD+ZG1;4>u8-_lx4n6X8oB9C7&N=M4a#UE=!s6qr&{c-gi|xyDrak4VBx*qf4(57^
zuj*+SuAfL?n^h!EF`>Vv8OJ=K*2Ew{mzzeq?t>nTzn7|p92*Q;6Dx!`Na_{B?z8x%
zFNgIVMaN|ORr?o9Ts5VpJ6>ZUzabYLU3Y5f`md+lo}gVhQw$z16Dq;g&Z^^t#bsOF
z3D(=RdNtp>U&DytsN6&Hb&Q|c!Z@3u=6h=|vJvDy?V1sLAhf6NCyK)DzDXD9b@=sS
zC^=H2dU<8S;Za&8O0t;
z-!b6@KsG~u4%fQX9xOjl8?Y-2dtj%^QWJhsBI=WrSjE(qY`eV8O?pp&p=Mq3>CWO?N+H&ff1p4x~>UX0tGpS4Dud(qGztJc1FEWlUhEwgxeHv
za&j1$a_K;@Ste23wANdECJDQEOLOefqYE9Y)dL?%lM^Xh=R@F3MfyW5JOs*=GM9C?
zfH{75LhZh#8V5_ZX#KKilHoWk@)=IOvI5^QS4qz@SgJd&=nt*g{!X{^oM;_Ystz?)
z1ncGCntELc-!?sTt14i<)s22+nklI$Og;_A{Kl(q;u@_I2Xfdah~ZBiDmPgv+xPUb
z)*^DaQF86!25t!__SG2a^r-BJ%cK^$N8^bqs!iu`iOK32oUF{qmR`TB0av&Aa$4w|
z=G@ifMezfXkdj4;r=C}r-C8o_L9J|18A1p)1ivHl!e95y#NgTI=?bH@XVe0AP{xdP
zml)f<*!WA{+|zvPxUD{_BiA_bA+>Y(q1F~`)_)%0y+5YAR?suHNx)ccsnPPcrM1hb
zBgcxzaWTD!0@7!p6THQ>(%?!{*$8FVCHD{Xy^^(GZU}KFl_6`YbOF=Wo3H;wk~7;v
znN7Szk~lesm7?T}q2#+ECYhq!iE+zoE
z2W)f?-|h9Kjm@yUn_xB2m;m0u`38d5T-|LobCUw7PYifWrtUi+a`A2#I&_}s`eKRu
zjJW=MiUvq6h(&G$87M!xQcucQTWSKO&)N26Ph#4ZR9?36Q&v9L#_kF@l4*7KIsGQ%
zvu
zjT*RigzHmyuQZ5S1j
z+;(m4U(vnrin^|1Ko(YwR{*n2n3HrSK#V14ebnI|^O1TVYUebEpu?)fo}T7ro4;T{
zJa&>9^C!mtF)aKIi=4N)@UT@yNv%QyJV!YkCJHCee$Xa9n*|=aBt|7tVj&}b#QXQ4T-)RdD>yLl7ONO=-h7H;Te{HB8-GBmAA);CHJ
z(pj`sD6k8}5%eGhlllUp3oSY~r3*i~fa76O;$C^#;6v_iUYkE0C5U5Js(PNqU4ZyHa#tdW
zN}w(Ab!UI{A_0m;KCy-2kycB_4c2TvSiZ`EFe
z8}e3Fds;f&`Oz&3DpXND;0764eVb1KRmr-cqGjC1Uj*8+qP}nwryu)+uS4@
z+fFuivhl{r#J+!w
z4f^((vuUEiJ*-Eac8JC4w2!LLMutkaIfa?POU^WJ_X4R8_F_jXn*^N+dyM6M6pgW~
zbkdjG^ZzDxKg3h5TxasgE1AD?q}u4>ZeBPw$A3IVeT_0qnhx{mH(5H^N;A0#7ztK8
z8!Ps0xoY-z@hIIBRhrLx^uHo`+@B;D44DcAmB4R63Pb;w0#f$YmYm^S|_4Lnd8>Y?@n9;%&C5gAOQ*!FM==M8$3wi@sP(E
zKp1kK(L$O;EQ%EL3;`LII)^WBnI)Bn<7;-xuCxD%549-*t<4&eQ16-sr(;AmmIdt{
zHxR5$t!4bkhxILFSO9MWtd3Fn&>C%ho2#e?U=5hh_S
z=CfWC3*?OsXxm%UgWeQn73}4Hxg7GgqMIjxes5JjP6Z1TdZ0{V9V*>xV(
zEQmMU!+(>DP(OM$MVs7uy+82H#@d%$zRR!J#RYEp7H12GnR=DYgWg>X1`QL5=2O4b
zr@nrjdf$RSG$M?`X@levYj>>e28xaAlec+*Mbc|FT-ATWLtxMgbOdH3BFCt>jI>%0
zVz(_U3~U`CGv)M4eC}pBmA7}a1$r}a?UT*RI<~g42b~DkXS$bdApswLJ`qV=QFWn+
zDy}F^`S`jSYYsu?sgLV&7ShEo`|v@RboJFWm8}+^PIz_5=v_4=^%u=rb(Vs?edU
zS7SVC&QMafh<7FIvX%!vkDyoY$L#j9gDFJI@<Cdt+HSpRJUP{evRtKR);%B~!$K)JZX)q!kB0=C`=4
z)uQE6g_cDh<}y73c{HKn&k0d?n=l}~jB)>WE%>XR7TCa9&nHg|O?&|uu`F(^uZj%e
zb6+{oN;*-_UOzI#Ag`{}XE8jqkW6mQSrAd=ZaS_+BAe1NT;`^UkUr$(LtdvVN|QMa
z1$tZ+l#*2Ff_t5#UiHC6l$7UJKEEmw^cyo`l?=DSUn33qw$tWrZ7}ISI%G*IZ#5W;
zCOJCx6Rf6E<|H0ogB=7T4%jF{mqhXM%vmRr7Az2f3BUa3FGFUnXujA*aachJy652;
z))Rp9FeJ0cdp4q(kHJ-PhW9&EnA(fq<{eJ|$G($*vK)_CYyGD?a&GH-<&$(_`29Jj
z(W+<6_ra-$zUv0-)CCcWBuu$`7Q&5N2ItA?=r6+@?3e13yZag9+qKjCxXaPk5^w5RKM)dN~guzmG+k(?r?MR9Jw
zSzH>vt+fP|s6pmFHPxBTM+#SSq43P#hBTH=`jju8;YVu_6ttYD=L^tOiCzH@=|x5x
zKfituZWe$4>+>Lxa)Kyg_yT&w*82^%`_UHdqbm^+;bN@va
zC9KtmSi=MUYwQ5RGBg&=jr{9n`c>`8vCDHFSI7m7@re8`m|IWls|hfAY<|o^QWut1
zT@$)ICvZRBF<*8JSg=hSp(3eXK+i)7$=E2OU*DDkZL%GPKnJi5ow|@j>{~`*
z+ZwBr95o-+b2;{ExXZYmRcE19MdZV=Pi5BK3r#4$4D9=k=W!gQtT}1M(2p3YP#-2s
zt9m_p>$ZqfPahByu0Qq8%_ozKnSS>0g+4Glsw0+7-brHec{Z2W548|DweoG=?+}*u
z%2XF>q^wL-8KTn9!Ct!{yn(|F){y;@5^Ln43~5;%ppBuF+hi7{tm?4BJQ@XkYyfB|
zQNljQh`U1Y{Q|Ms8uPlT(SI=p8s|LQc*ORGdZnBleOV=oTTD+15h^YL9E%Z9d@}X}
z*voa6Z$jVVN9Hue%wfo;$uZhPQAHPZE{9A&NQj{abxbIN92PMU#o;;p**0`0Jr8{DNa{Iwm3bmj|RP|I2E1&x6$dM+$ZB_Rq_libcEhA
zT3ZfH3(vUAPIaM?CJAbZJ^o~bz2tW4vGrFFbz8UZJeF+xqAwy;swHVjx-j%w{=pp7
zVU@Q9&3bDq0()^VowA(x^FP;2^7^ij&e2iyzV&HlRmoOd(1nMk0BQ;);iy}TSxtTyD$%3XfmA540Opm`n3@DJ3VO|{
zNBF@2d4+xYNNL%Gq}^)G$+YeF(?YFmtla)(biSc$v#s4f)yw;-tGVOh{i^yT-wAIn
zp?GChX}_V0v-FNk)R~<*soA`cP5TWu_Zvvwt}%WaR$IOPT_)Gv77UUcBmPrgX4{y9
zRCU)XHk*WGsSHh(>~oowH8)^isc1{evAno(%m7U4RJP+#EZgsqVsE*>vZs*&3AeqC
zOdS%-EIx<&k#vSdLX+}XZk2cL>M0}EP6>QZ?8b$n+82C~37j+am%>o8;
zQZf2zua_vXFtm)c^xAfLpioL8dG1>NntAhDm`@;0Cm$Q1!?oWW&-D+J8ymjE^2_Zn
zutJmP15*jIV@{;tQB;X?#k45R4`I=VPi#rH!Dln`>tk5Im;&#)#glj+0Dy~-gu#}1
zjf9Lf?&Q+DdqzYP`jDgM--;>)6TL?^%7_tnrkqVsjHL`_U?jc4
zRfVD8aq+K3872V05*ZcT*cCTGwE1XvM~dBSy_GhjL}rm>XXXbq+6Y{vyX$kk2DQcL
zHUq2?xc6JZ>zTl?F*qnl#V2987F?(H?rN5XyoE~m(fThsM<=0#!P}YO6qMdiUKytA
zF&bL?`#(J#kD|Yg%4f($Q=44gQHkK`KlU(^*@2N^#S|>rzgduRL3?-P)$3LFR&~%X
z1qD1jl*;L#XufUtVxyu{x${_25iLw^VJu8Q#|Bj?S=MfHZ#kReqoDtBR?$8g2Mnm9
z<5M@D5)H-MHSpvkNfWCUok^1pl@Q0Bnxejp*KjNjQ>U1*vrU)JU@lZ<&@@lDO)R$H$aEJZH(Tpw9*pDotUQ?b+8MAaIhJ~JIzo~
zLGNk&78J>RlM#JS;Dd!7e48g7@q^q~Q@Ve26o@W8zYJThbwaZ_WHKoK4lqd|CU=IM
zBLG1mhXE53C?XS7E_fTOeWn2j>rVWwS7?mNAPV9_qkQ%f1aa6Ie{aw+X}MjdS}D{-
zN#M^HBKm;ybaH;ewtjDtQpqjz9f_f-N^VAY8$+i;&fv409l=2D&*0-#`PaXZAvLEA
z4l=;8Hx1=D7f}&n^B}bpq#*q(=*QokwCO?8kmP&LGr|IOQ1;{9LV)v^5^F`<*SiyW
zc=c@Us8S8T!{5%Crn0f8s0RP*)R#ZhuK#|WwUz`ppU~4=Kx-m5HGtzMrd|p;w3G`e
zgYsMXf=4IoI?OcpE6aq9bXR2Ch%#-q18wB`pzU>Jw8>=~Uk8RE0Ry6-6XOPaT<5_!
zfZr4V$$%=3)`#ZE*BX9S@qrVHnzVOe`wQ;Moo>y&yI$zn-6xWP-S;vCA=v}d_5mmo
zq%V&~=XKQHr{wdv)as_hPe?j!LjS3;TJ(Ipz5eeKzZ+!j2Ykjt_{3qM3u=3V+&A{J
z{^I^~RU_5H_Uk?rh3qq8`6aa{R|O9u_RLEosl^Gh`()OwU`xHNiqMnTN#pF)soO&7
zUDux@_uh+^s$-3>CK-o2(J^HD(R=2D3b?t%>~j7`eVuAx*ZfJdn{3}b!r;iOcCy;w
zkwIwYXDw_{?@Z|`doRCb&@NGOWLXqY$DIdNCB=>rJ<;AY(E?!pyl2dP6!ALnc9v4TU
z?Ihn?#V4J}tvY9dz_8(sK{1Pb(BMc|7JlXW93k6Er4Fj_$OG7{kNZRN@OrHJKhUQnPY$R^7Y*Qz3Ws)6gY)O`iPIj$T~|W}
z;1JMSmKUZJbK0tCafmjUcDj8jLBwUgXqQ}#@)%Vl>a&66Ir=IHul~E}&AA5vE_3dP
z2upDYRfb@LjXXq`p$9TJ{-)HfcTAdK83!__nt$p`FFF*DNM|@-
z%*JNB?%3$vz9ux6#auh)g$r}}v7tj+CJPHwo-o{f$XtSfbyrlp;qm1)cA<#?3Q(?-
zcKCElhXydFa`HUd4cwO7j8fC;U_Y7Ok{l<_WEH|rLEkjF&%t#;{T^+V>T`FFc
zen>Y5d<7uE>A?G
z7VQ0|2V;&cf>v_V#mQ`FL@NGC1Z3|#(j7vS-2EV=_ULy?B4lQDoS(!?3ty|v`(-05S&38HG+<0SvwK)PRb-iRcbOPsRc(G
zWZ>}SQxfFzBh*|)#?L5oo1IEVlDSVU9gb60m9s%idTOdNDd2}wB1A37SaoFo)}S)-
z{pP33RTl=p0M5&8vp38}Ug
zkE=%7G3JY$SN^xkLKG}OxcY4yhBmdp5W~!Jht4n+;oCEvhlVg_h!OiC@GOn%C6E>48oWs8ktG)Ef0lhxv~tws%u5y
zkHRpo137xJ!tUY$=Qpfqh8Nz7M`k!hu<*l!TV;)V8QhH|9U0VAF4yT8e~(_-U?>3K
zfN~+g7I%VlZ=$cn!A4mGCB-rI^~cwP8F;k1SEb+MS0hJG!1pi>qcn83{+y{@wkhNl
zXT9`8P+^Z?%j{@pW2PT1Q*iK|^TS);{OAjGCy`KZ$iq^fI`NTLW(bulb>u+^+UI{<
zpRwL?iQoil$&WnkGq8QN3r*Ww9&o;kU3)|8uTFm8_eli4^Q!ZGLf!sU_ywa;;@uxy*=c)rR6u
zKEe&sYWHft@XrAASx)J(Px~tF7}n{T+Sa-1$7=&Ydl8$
zNh}zL&hgGv+@`Uww(!D=q;irRIev%Yf&-upDgRuNk{&{&l9`y$3^kyLVrBqBCgSpl
z`C&vu$X5xMjChAyDdj+BLG(p&Z5+P^1^XM715ud3AVn{s#Fr`^6OY$i>F
z8~=nET5sKbvbh99P}>Zv!0!E2SI3E%YRl%wAOdy14fcPD%+fs@fy0dWIk%$~@FjS!
zzFILD%35Q$9I@H)w-Mt6md`0)chS^cwBbA=PCR=V$7@o*Ci?-(%cfgLs4V-J_;SvYaA?&*Do;OJ
zM{QYiLMw&=wgV
zL>0a{P-Kris#J&SoGF~oX=rq-$q3`m7Q(jospM_~(dTy3e(#NAErl{=fBuElH&FcxHpuo
z&vl_0HWH5MQ!i`P!LAnQv`qz4XL-RRJw(ah!VQH*WE&nWQ@
z3+Tlz9Q8^D^-slq-`>;6kUtI8baP3VoQsF|-Pj+8lxFGdjZ_|ty;J^a_swSn3bj)q
zGgLlXKuh{w-JgbN1BP7Nx74;(8S`E#-P%7ilsHaKAED+1nE6y~`tFw1K>zG?hr(1=
z&UIX$o(7Xkw~snL%T+^y02E<9(@{;wbJ-oVy|Za!jZJQ0IW5wF1tO|SjkvHJP@CJO
z5r=l9x4A}wTSz;`#H{iqQ&z-4G|D6IS5R=(5W;yM?>%
zK%UMXP7?Jkyi5v|`glwf;)NSTo`;;BycS^wR!~$V^i5%P330&&Tv@(8L%=CakOC@^
zWaDFgMo10y{1y6g%#qf-N=6#PW)MR~pJS&`pdUZbm&u$uoN_int+`8=+J
zz18pflUZn&-(=hlg$G}slI6eaZR)hKssNAYMekXQ*>D9|_E#-u^%A*LbHfY%|Hut;
ziC{Wt;xcP7Y#CCnid^5;G5n~vk_Yj+R8>%&n)P6r!bxV`Ifr{Xmr$Kcms}SZz?k>8
zIDYAk&H2SMD+KGpa|Hrse!`5#GTs-i1Sc`oaQ!`8%vh6Eys)&O_7z>-79fOVs%<}-)Iu+rcym7OKg6nVaz^y}Ae#c~WPu7W
zUO)!ITX#8iyYfWDdn3$<*z&z4{dE6LC25pKoQzI`xsB7g9?;2=L3qfS;PH
zE0iF;kBSfhx|{2@@|@#9ru~0_RfR+J&$C@~w=^QXm;X1zjseYX_Wc7%<-Qe7pjV`)
z%AJ_N$RxMydqv`%%#0RJlwd-c^39<~I2b|=bv7I>kJl?{T?^_+6|m(}M0ttMgmr?v|QMb__gK$|EPVVcvZ)iw^1HtSlC+H=H
zH!`&oc!dC=JrYy`ImoAklka=p{5U3BQ%^|)M;JZ*kCCL=N!NiR1U!*GN^oWz!jf;t
znk6wUIs@9?Az@A05wf{M;d@Ir%Q<&s%a{}l=`i`+=6@Q{O$#R-|~(ek<5VGbGIkfkgl*Y0HX48r#05rFlp%JfW+0xALtRVL=e7KFs7=R
z!xW^UJ2oPSL&oMxkK+Zu&xln$q9kWk-K~gQ$@9IRRlst@LF?u;AOGVp0a?OC)}%Tet*(F(9PsN@
zg-TYk!pFaEV+X5#$(WNt=**c>pk%ARn;&T(z1oT=`6OD!6l9L*05;4*?pl|wcu
z+6{bWKIJA7SmNPS{n+423ahrZ1b~YQ>5Szq1v+{Zi`!|D!38Z+?x=%Ye2Yejg)OuB
z^U0zT9P#GP<6wt>u|7O3NB&k&+cYnvR|WYf!Yf<{Rc|AnO$nkTdLJ$1+-1V3X7t0T;W72FBJ$BR^@BR`6A&
zqs5TYtOp)RAe&TbknH%)6)_#Cv|gThfb8i3|5%sHFzn3AxaQclpDy~kca|b^`PC3^
zpE)h#Z4a$eTZs`&>O&S@ZJi+jTLjshtXU8HRZ3*JiUZr|f|X0I
zNHU=|(4$S>tQDmz->c8BY~;R)MN-g#)TcOZsbf%)uF$B^AEn;lm&Q5Sg7d((KMc^R;K9{@pv#3q_utH
z&IEhqcUsX4vR=zd?_oF7E6&|ObuuTejk!@6K(dTH7m?ZdLwv5(G`tZjx*1X3;
zCQ$1}9oSml1X?{x!rKehPu)aOsHQzfa41?Px#e$nzQYUVEYEAs)s0S
zd+H5@j8rU9Ya=~0Jg{p@_-%TS&!6FfN8dq3kI*H6|I(xuP2#`9HWnTQ*;wPb?@AQ>KwZP>BKU<*QfwGf~Ay=Wa
zD=s%QH1UXcZS03Lz-}@xf4VdD=v%QOH}|91>4V?&`DMVLBM3TrEGjo@jVdJaRM^-f
zPmV(M3z1Zh^8h1HDueN>+w93-2L#4pYu}!y9-Yqc8x3dp+W~{!EB)%xL1ViDU25--
zdXqp8HKAWv;g)xPiSv@JMZTc6%o=OjNMzhusjdEE+aA(bt~QR%F$jQ|1Xp*8|BlUM
z-xi&zZqg$^anX8#gACWs$N%?XNDM|%;<{{!=%g-vzyj5oV*F+9^IFP&ScM9pBaD1$
zyMjmXjLc%7AYSlSlr1vgr|N{Gy4~M{2?QiFLiGwAF4kYven7C@D@^`+#hcrhW=jkl
z`tq^|IqLFpIJGpDIfAS3^Si5F@aMZzEFJ=6a=h=kXs9tb$yB&2?}#);ia(nolq`Iq
z39AZcUGT)L*u%cyZ2O^H;|kF+^wz18bjZg88%|d5>9Y~Lqrn+XYvq{qmX<)J(tiGN
zn;O?ewodREm8hZa_=8Eb1
zuj^5Pa^N_0T-kfak?<};)a)jtW(v#gb4`7h;J6hN1mN9p0SX|uA~EZWkSX6dHqf5!
zu`+m=BA_tTcq|l5e_j}AQ8*{?Usft?qlSy2p1$j8XG97SZA
zBRpuwL6@`nuTGX?Xd-}aj>NdJ9w^g!17jnHkVHEm1c=kM@(;QOcL$$#f!~oE?
zxsN~1SH}*~rjq~;>x&PU$2kjnEGL5};avxI4=!5)P|#kCHIj6JPkj_>Qc+>b&AP?E
z_0g#*p;P?%*vinuI>}&e*1(lmo>Ek?=n4P2%{I7|<~7j?(7Q3}iY`^{u9EwN0N~nf
zobXk;=%-!OpOVeyuN3?%@dl?UBQmmxRZ3-07pQ
zRw)#^Ao#W}-ZAX3g=4cacH7lIT70zlK;?%<1jsK`bxk0O`0N!;=XCZly1Whr}4C+(onDL815dO84tye8FF;rYUT8|P+BPMF9Y}Y{q*&Kj8Mj=qFKc3
z-h(8+`
z-~AC$R<1VB`Qu|JFT-_*y$niRYmU#6lKO0(!IILPWaO1wxP@7)%R)?&Fo>cu#97?W
ztZD*r1+hnD1t0V!Z$`I%Zuc351X`be*gaFKeV((!EVo_9#*DKfEaX+g&N{x6Z%J9d
zG+O9+-{KmDvdGYz^Dc}wyYZ_xAZq?y0o6jcR~eoDSqBVbr)t37o%cSp_d8;{moWPg
zmvjPML0orBvi0p59+Ac;*9eGo(}@3Dx7suxkr(>qPM5+%3wk1!TM|MNB(FAWnZS92
zQw_#H^LS+*aQrhclN`&ng|&uW(n0QMTT7{t*E?|U{Ad$%_??#P4M~A1OLl32;?J9C
ztky9DFH4K=Mc?2iyM%59cUs@S+S@0C7L8C>
z{T)C;2Mv}?MUzmScp=G#ld_0b0q!eZ&|&fAA*fI`RHyJkS~nvg<04NmHrGA8kK>~;
zR9EPK{|hS;7vA~5!xEBKd4>hNc!zRAyY@FQ05kbH=a0ofM4^jPGqFc^+0UnMW=IM{
zzgM}`fjW8p4)Y0Jl&fk}UTJR~3>Eh0SCREq(2kGEa}5vyed9+!deBa~K)@2UVHj;F
z9W`&z2p?km4J7O}WAZWQ=T6GwZ#QeM)MPZrl_ri-uC0Djmod@~?aBEKIXrRQCdOre
zOSGB50{|(+2)x-=2pZ>$r$PP-+1KvXZ^C81J|>TM61E*$?q9rdzJ$Se;oWm*kzRBQ
zIfGaGn!!G|3JP;+K?NM})<)_IFNjqlm>DS)!i!zn+S?XwpH|#o-7yRGBe%Mo0hpFe
z^X`e`IB}?>Snl)8sBh0P>3g&!vlRrrbKKv*SuGpe<}x$33pd{58sZEq_yXqihaEJb
zP1q+GiE{kzlnlH!n0Fagv|ORicAC}rm!eT2mY=r?Cu9Rn;^vpo@%iNnfw2~^b
z0{Nmm2|^?VEyE^rE``!yp4jPEhe+5jxzzeft=Z&wof?UTL95QCL`*ky#5pr!kf*?*
z%^a@Ugb5U}iEMVbr_vCpXrQI>`7scg$GWBVC(izw-NVl3a>;K8SsiG4M1HciB!`Y#
zCX9-BK~ZYejBvh~(kx>82Z~rGrb;MzW=EbnD%k3IL}4&5uRAJUtO7Rl
za~X;qrJt7|evp4h{r5DjC@n2q{i20k-kQK#1xXRyDs}N<7yX+KnJu;2YjI*KKA~^m
z0x+0#@n*Yvh#KW5GPepT=S1LfXS_)rh#Ua)mibMD++0Q(U%LeNsdoE}I*uAWrq?iF
zD0#3SMu!84W>o)=%1B(Wz0u&7q2bkJsfylzWFY+mD=61|Ut9NTOPtvC
z1|Z}y*@tfx;4+Z9Be{SvQ`vo_h`^6S>%E(+q~X%|7WckX%5hf}!9#ZUS*Z%~!nnmr
z!h%|L(?0fd&L{l`cEN&pui=)uE@$)|i$&)OU=(T@B4Zwai7
z>UEOlo6lEdpg3TqvJxoEyRk0^2aB1n^{G76|Nel-;&E92?L*n<2oDb@`LAnmi-WCb
z=xrUXGzc9M7qjbWPs|`LJ)>yU0Gzs%Et#i@eAlV0?4h74Z8X%p{YV
zd>i>$&Jbqd$#&vx>crWX8KST(eV@t>wVC}!P@oQv4huQ6aN}bsQr&*
z+RW;e>hz22c(FV8DDIoZ$DT8zp
z0)r!fx1)?_zbItAKUoYO-wZ+P{connqRMAcyle1bCoDK{Z|x0W>vonI35?F1cD-Uo
zYyY@K8^#5>=>;4WbczL>X+!{TubCh{)WVxQO2$YfYtm%LeC}R7YQb~bZeM7qD6Hxq
z8nzgc$e0ocy0r=2Q>*Pg9%ZcKXmdT@2WxfI%oeW8xGLcr^l(#r5dV=C{~@M#_wsK{
zw6e{@jYrd8E?W0BMYh->zye=bPD(1MU!L;2IVqLJ4j-e)lAVZvC#&C@S7u)M`$Hv?iAqT
zFT#E-c^tV&IP@&k%r9A(kyUlMP6eTdr8p4O;?&6Wa6vy`w2}&~vH_35)lLebC+?YY
z+EoU%kOp5LAV(QP2xp2@w~Hcyv#(xFN=Wl}a~J72JXbLf~*`ytdJXAw58rM6BAPm$pW8P_$pQn9>Z<994G#{
znGFLM6jz6-(-Gg?(8Jddk`z7yrQCK8Y}4XFv47U-K%$=&&d3^+uvjsEAfJ##0BYc0BLP+NRZLg`S2)+#bB5{-PM6fxZ2Vr6jy;RoLGQ;akv*P>M
zH)Ic@N@K0B_ovUXk>3Tctr+l3KCX0~nsBC&@g!M7D9!crTfdc@5{(>&lgxVY;u~Ote+x2F4xRF09)>V+!|q}C
zp6xgZU|PAG6Kb&k8=O(^7uE8KeweI*t~3eEL{en#bkPHGU;GMO+!K?!&!qPteZ49=2I!Qe%o9q^Ihp
z5s65J_NQCLH5!#XDyApsYzqAdUcv{7cK94*p9eiv&BkJo11$wZWLDX}oOEz1#AMQJp3nS&d00^i*dWr8<^HL4Lmp6xv7H
zt*B-GN|;*`MCGtui9UT7tF+5>m=;W5|69V4|MgOe?{;>!>yh_wisEB;AjE=oiB&k7;T$!V8ogv#H89&Hynp9s
zfGdg8B#U^J9WJFmO3vca!MwB)+d|N5
zwvt+2!O(x3GAhg_gr8vKQapU)q%c|zk#X<*GU786rB$XdMc$I*d?k6gHKYy~!tH;Y
zWXV}&z+Poe%M8Kq{g2A_2Il3!?oGK!d+$uU?YJe|{m*73m8YDB>rnY++D<_7JpqzF
ztE0|QI4I@x;K;d0|BT0$%KY-r0plW#P(bifcOnf0iAahU(`M^t-`JuJ3?WiIwnnE}
z>|HX61P?i8hAQlTWj03KK80X$feX3}01Ryw%V8|eD(xjA6SK4dZD^7!+k
zbQZ^`a~VUG#Ol-=fiw{pGkk%<*>Bcb{pCRZ_t?jCGplJ`p+E(0voE^_bKM@
zuWjExkHjOih&!K)hpfY`kly|OmQR#c_e5E51+5c}f;wNin=83}L*8DXtlNty%LAV=
z5k7X<&lA0+(%{K}=u9#i_i<^P_rxzv2pC-<}|h%AM*YUFpId@yDdD!I=w`OFr!m!b)tOcaD;|6^T{
zJ>dBzh3aSR`^B{aI=X!66P}n~tX08%O9Etc@?7^}w>&t=f@!uPw^@(tru{xq^?{UA
z7IW`2NKl*`n_#AZtsE*Pjpy8=N~?Knk3A%Ui*2DA4F2iWtdnZbWj|Ml=x$+0DmHI(Ar+X!%|KoLo*T6l1?AD&z{$2py4LmApH`yM2Ue
zMY?vb(G>&-v4LLbpt-eBqNr6LpQ>Ao_*P7b&@vqy2$#sJDz3Hi>WKQhLXMN40FKT*
z41J-n2>K@+z0Wn1SZD?fDjM=rF@9uuQblNx;QUVTk~&tQX~*ZxnOnphyIg^wQd=3+
z%Sj!&5X)3TK$8*-fXZYC+1o;&KNpMWh6lFexBW6^DOezds=omh2-hA*gtWed*byFV
zr&JRbepP{db=qAJL#1Z;XD%(J&KA;;OyY3*vg@Z&kTz)R8c=?Act4;0-m@G*rWE>|
z#4H}iQrz$x5MJ+PZf@;UuMwzNJcGrNoMk;CuX$^D@1fLACQ%93ek_QrygcFzs_XvR
zH5?);bL+%UAx_q)hN~KAXZLeIyi2}k@N2z4GoE!4+Wh#PA=W)OAV(q94{1T7mo0|OZ+|#D{_d1Rh
z%y2mILa=_loUc_adkzy~&vILf
z!AIO3zasY~y6~>Ts&-M3Th~}1B#iaCdQ_q5yJh;6q(Spv+?#U1cOT;==4Yqq0)^0L
zWj@c}$6P@<55g_V@|qanTTPe*&C?mh$Hes1Oqtj$s=w{F%(-1d@8#RQ_$HI4tQ~7>p%DW_7F$8`
zd`+5@Xy_x})3h)iyl$WUZQj^_i1)q@hYTa}b+kWZc6DZ(8`3!6;HeK{D%mH8|J>$<
zm$o?H#IT(Ipn^(R51CDNks#oTge97Bymq)j~x%`1G-kiz(
z;fx&)88PtISv5*z2a+hr=>AL#%)W{Uz?{p6gl=|zhY8Y$J6eh{C7-X>dN^pqFq}W<
z@}ER_jQ2i^8z!K7T%@{7sk3eZ_AP^3?ia2ru!86e8}*Ja6JSX(TqC^HYO^YI_~d%s
z^DKq^N;eK{ulF^6rRw$jn&eH8;$q`frv%giB^=uHX%?peIRzfd&~R*2uTw_mg`HAn
znX?x8Qm2d4YS!T+pSY6?n+QEK6B?BN6+(5$7Ol~T1cvM3I!Rpbq$nNcX-B$WWiy-z*D&1}nAgY+Y`o2DOhwjyAAUfEX2E-w
z^^!=$sdkjImQ~&z++($v(e{=R4GpS>{2%|ACMv?=ouQ^JbUGST?_h%Ohy%)_8tEiKpG}8=eR7O#9sLa;>dU%l8$LGSX+^6*n9m0E%N{(5
z+{1u_Jj|VbV$bQ%%>$(Bvio!(k%&t1Z(z!gBh7b`Ga&R@DD{M+#L{Hol;ZZq4V=J+
z#e*yuB7)_7u=&Ft=#Ssvi**XDHRMz~<5wHIx$0>&Syr4x4C0&aL`D7DU+bfOYN*vS
zWzbGe9*c_giGoC)>V**5ZZ%NXmea0m1o(tYkJsOc_(_V%sH#Wz$pplZij$hGZ${a<
zoh#jAhA)bu)>r`Kb_Z90w&s_Ji@HOg)YllT7y^DRaaWz02{g)VwytAkrURxvPYo4vY*C-Esz{L+#id0
zl*s-ymMr^Om@X=+{@d-dk2&)v28e#(Zv`Je_H-)vmHf@hU*o(H<3|A=V0;VxF+n*s
zUyuj=HSWey=liLS!U}UXm>?{*FRppZLYgv#Eh<+#c5PIC^Q^z@w4echy2A$r2X2me
zS!}!l!tX?DR1r*xtfyP`*vU&?m;S<<;Mjg{1UgXg{->l+%$tPtjG_XG{UN%-k@Uj>gPSWZBf2n0
ziO=P^OlMw-7lHq(^dgB|dzR5=QgU0Khf&@7%CFRbyI@h;Le}3MM6J=8`o|r=LcN|F
zEML@y%0^r#DYFaq82fuV?&T$7-k20BMr65oJo)Ue_nte{DfKU6Selg
zTmD@it+&^X$u;N^0Eo*Fk56fGSgIy50s3$vr6f@zQmNut=$ObV%2=b%8eBCNTPED_!J8SpHm|tz?{e2M(O51Ps8vK*8(X*hq3^k%|0w{x_iep%
zXU(-u2%H2yG`#s$t$f1;tYoJI==B4+bd!$;)&@_OPRRhF;eui=-
zI|x80lo387>lHHWYdhVl!^=fNBnvmVmfgHCJ?7@;Lu^L>_l2W&3@N$g$=I~lj88po
zhcw%fkGh8^LKa2R|7;kIX!OScD+95fO7w!ql06=K{D>yA&#`f*!&*-<*E`I$Mx>gu
z+nt$v5oBE@pxgk$iC5@B4hwlN*Dy1q-7O4p`%y&J
zI${g1$-~j8Op65IGLn%nVf^(w6Sa17x~mxgz$pC+r9n|=l!B@LT+!A9wSSJQLGNKl
zpthFMtbAXwZJ6;;{mJurOT8nt01u>y`5|W)5!C@7d3>JUpBPT2FZIy1o404Opbj{Y
z_TyLAdqxM*G(d0$kq5UEYde2KxLikHEGqlq9#8Y3D-*jqSrz;e)FemCQA)1siLN`)QQZYOXJ~T}`e-Ov__;|~zMEMSi5XIP>#d^OS
z6EU~0I;ly)Mq9^h6N9XmDK<)}(=N6DiQ7fy2Dzh*R73U4w=q$52{t~cdCjuo&@Kvp
zO65e)jyDRZKn?Tbg~?fetBVJ%Mk;~>CDiZjX|ViNft=5L&stLt{kvd^K+EiWb@mZI
z!>p|f1i;-PcF>O5N&>rG&&D3~1tK}e5x_4g^r5#u*Uz(#un@7dDpL|ac^0w0)dHu<
ztEo8eozA4}Z;Lz@eXNvvW#EHM^o}ZVe~7!}pnEP_KX4`ZLfzy$bZgY}xzi@*OTqYg
zXu3E{6N3zYr2RS=nanZ!jEB?aX`yZ*Sy1YfEGxkjkwCiHj?<&s@35Z`-@8r;7hC9a
zj5z{avu%#RHM`&O1)5FGgjKVG4K4M0OO(c?Q7@~A?4gR{B%AwO@d3JiRsrfs5%!wwpZQHhO+qRR5
zZQFJxo+K07w(U&t?dM(VoS*w&@9w^QCSp*bf<6AV5D@Wv!DwSys
zsR95YXfl!_p`aDg9SxjO!o@@22J%dHx*(EJ!&j*5g6){nTb
z8-aE5`~E{q#+D5zZl2CqQqN9$As~w^o=P=2L#(5i{3hzsHhmUg_v)isYaDAXuV>Eh
zA!d|CLI2SId|Cg699oF(!;GAxM&W
zmv=x@GXo%m1n5WPV2nFpFeuaSrCqlC(0g+^uY0Q}u^fRTvOf^=)kU+qS%i772|+P;
z>FL=UQb3-UHlf5;)#x)T6o_&M4K-<(wK-X^cyYt4!&%6-Vx0+tC+RxqI9pTsYZMZy
z+$8RH>!s1DJ+Akbe*H)=9(?={s461cxqI+t?it?ix2R<&)t%nS%M%f8Uu3{7=k*=-
zeRWuUmrh%#ONb9!Vvoflt|GYdxhQ*GiA&Y7qw+B0Din@H4cFPe35vU{1iDW&i(~oZ
zAJPKBPxt)D)Gb#oR49x}GqEB@PT8l*`%W{-S%(5sS8mag0&Up#IB+SQPMgk@ca7QaLQb_En9Nc57r#yLNfG$xO6V8dttiK*c{>s4)e76&h$%ArwwH9
z%`HY73n%~Bas2Cf!)`mZ4+bE`F3}hHsNNn=YBeznPJnuGD8Jm9j=q!W{V8jhAW)(7
z_8QxAQ1bQe&yf@#IDMt85l3sCWPP{vW1BmmyU_<&i&hjUbUW^64c{_j?#5=}1>B0Ygy
zOuq4jVqeV?nRo=O=fI*{hL_dPgM-)SodC}m_~hBTD@Uay)#xRaMW-{^E6lqqoWTDi
zeqmu#ye394oY#FVqq)y1O=iATn@-9%?FTTjz~Mpon#F_n9O5Loo2v&|g*%$Gak@bo
zg=Hb`HgY(A-c;f0LTS+$)%U|Hl&
zfsFpIiPmC_^Rn-%t$;bnS8lziiJ%b$LXaK1^x;$X^?esuBVkK5o~w*^w+wzblVhBR
zs)66Xd+YLAVtR}2g^E5;AVA0YJv)>-oC|NiWZuE(-B@o#AH^u?RM<~@b*C$<=xfJGe7pL#=<-h|=b`57I7#TDu?RFs^KRkD@
z*603j^0%z_JD92E(x_g8Rr#$ar_n?p0>9AbaX$pxVzGM=%Rm3c+ZpPkf_OR%l|X?7
zKY<6v%{2b}VIRVNQCQCD0_1hypjdmj)oVNyvmQ-FxIJl>dA2@VADJurw3VjpX1FDT
zeR&2(TOAb)h-AY*zuH@os!4~dAX%6n=WooTmEJc3RSJp;;o#t0R#TMFf#^P2qJQZ~
z#<|Q)i=4!hgnJ~6%=P2-mw=&6gWDr#kxGc5?Ap5xL#&~EM~OU6Pu-q9{zt}VqKcAcHb@FTNu*EClJQ-b6Uy;i
z8?do2uT06rD${iCgPUtLZqs4ls=bud^7`Y$>-}jWm+)K)k~OID++~)DhlU0tUbIgk$i<%uah0;K2DLrl{ZRG9{B-Xck#>UkjFg$OSOTT
zYzjD;!vB>3{XvY3ZvA-tKA!1cg*~qnORiihz&|<2J+)ZvWyqGzuE}&k!<{KD_^sa<
z^GYbOA9r2~i^y)j^H;3-{uizn+t4ITur^v$Ppy|A$Q=`+QKqdZiUDLKOcE}af`ji!
ze*-G<&{7O}amL12J)8@Z2jW9(9PpAu{^lT@8*Y
z=9$7icY(pK$3782PgFv9BHi9ktZ$lelMS
zvX!yVg96n1ApQrTf+8fQFwVv9Nh<<;8Kt}vEc-fE{I)S5zk9W3>*(a!3r_pk=V4UMr$`V>adX2%-N(
zAh9B)2C|n}5Tzo)n3I}B_prG*5Oo-zZrh9{4?M0EvY)aKVu-dcSX&F8C{BXR5Ni$i
zmEIsQ#o&l`wY${M?~EHn8rZ=u_Na9K#pJ!c+UlCp9{3t{xP3Uom8XtL=1S_<
zJFFPjJe0HnJ&#&cl
z6(}{BLvbOIb~AR)>7eF_qn&!<`f&6L@0pBC>g2yC=&D
zuweZf+${OEa6tq2Fm7yQG#36p0s3e`T~l;GabD6pVUvT$&Y>ciKw-U@?=2uOUibU%
z{3p;Lgj6=AC+7Ye6383j6$9wdh2uwRmUOmw|+KfD{_+k@kvzJ98JG<9-?z$LwKB*=8!2l5oFEPw5G~#*YB&7E(so
ztE_q6Px@D(AK0z1`nQwn|ub;fS(cPk-Jb@K6Z_umB(BOUC&${Cm%o?7ifh*Z|
zZwbAK_ufi5VPO3{Z|$0^!zgWwMvU|_J;-!d~rt*k8mHf!6Y@%n8TY`bVmb6$31Fr2ndl*{&yqlk2C
z9mL@9;Ol4D!Mn=E`<0}64sHRk7zvb;5<3|66YOhyqgOG8bUrU*Q<0DqRs1~vP-iRk
z?+qyNf6RofwV3@2hc!m)^M}7Yekw_R`+?P`7Pc9DpsM^ky$&=SGB-Z?hKA<_^2*%_Q`mU7sPh=sa=``5R!32r!c7s$hb
z%A^Kpf8F|xM?WVRVL*R_P)`1dw=_o0##%uNcxe9UW_}IC(yq?DeI>_dHO|_?j>@(p
zn!}3pTieff7mFYwF;QaNI^16s=dT|mMhh>$`5h?iGpQDLzlmsLu0w&QDCb6CSC@*U
zmyH?2Y3i*DovPot+JsE=_aYCAAlQIF#y|E7MN(6-F|=Mn9cKogg>tZgN678qrhb*H
zjkuc~<$C-=U;xQ!;a(l9Dc=Hc(`h_6l)zM?s*nqRb*P1N!;OZ
zD3?Yq%&m&+D*9ni&o}TXjLfddf2<6+b>I+z`;~X`|2Z`Ywk$ZAwXoF9w&6kYD3(5E
z+jvqhBIK|Ll=wR|5#qv1X$OH+4Z8O=KM6Sl)cUBd;NfH!yJMs?Q?#Eu+Y6X29KDm;$4KhX08
zl&$2GxlrD7XNm^Tjt$p~2xw+QBfDMiZw8Q}s(W5p3oiBSfc~)nPZFQ^6UTcXeBV%4
zWz;DS|65q2^mrn)Ub!Ks-9L_-35?5sD(gLb_dzI?Qa;|CxsvgO>6cZU
zzWjX$48omL1d2M||71t19TUO+-qH^$8EranV=-8PjGf!^mf@xs%*<>m9M>iSTMv9$
zV;&Wk8QbZ(3vk5H?UQ)}zYvOVg6^&h)S095(-EIrK$Xk!IYr9b2CLUV9OeGKWCQn7
zGS-`X2nm5`l35h8SF-1&#L!Yw
zq(wyaA^x8uD?qZAg5p_Yi`PbMvm_N1VC_1)5=pyfcpq*@+0XZD-UZ5Zg@F?~Ia@_k
z_}fmUwZ%K=8lWr>=^`8Yh#)|06Oa9Q7PJ@7;zh8WMJK8{~5y-wt^znu|cKB}A
zLaB9dT^x_MB2OH@KXw44A?^PFZqYOlf_E&pMqJ>>0eAduxb=WDHe1IBcsmzadOJY3
z$l7r3jvVP)Zgml*5(btP!dr|y
zR1)hTbMKi1W4VAox~}zw6bgK!bf_-nhw^qv@s&rZfTiI$5^d
zOx?Jo&om2yOb(m2jyZygcebsrbR`y*vMLMa0bi;D$F(H#=7dZ`&dV6|=k^k>2h~e!
z*XjD=bi3%j1u&6d3=O7#W~!>f_sXq0lj9@mFGDk}Ak)S7%Bi$FvUYlY
z{q}$p%Qc2uLdOPSDI`Tp-Pd5sU+W?U+Pwd%)Yh#V(*;#y6Rmz#cbEm#HsoOSlL7!J
zhE-YNMhmevy-TkjL+{*+N$fDWBct4j~*Z{vhG4aJxCqNSBJ$tl9&;Mx>ub-
z-kVDpNM^5>RWdg+26pP_Ef8S9W>|!rhQ5k`=&-EOZK?WS*Y&7oFheVggpvfX}9<{lRbqdSrhM1q!s#wjQ0|<
z_6F&0s^;>3T=IM0@`NO*2YRHrF-8g0&<@Ly3w^o7IyL_D;&V0RP3G~>YkVL@XdnP^Y@a2_>A6qS
zM4`o(jc^ig(xHVP<_byQP9uyJD%S_cg1?*uFz>h1IzrOxFzh!trbw^*CO^YdS5uDqc#eB)DyHb9cmgIAa-0X2%Wmd0V&kxg
zvmOEg85>yct?uua@-Nt2FAMHLC|Phw)Zw>ph3ceR2VUX4Y+7SMfeSYkAOI}DpHHYZ
zF`T}9dfHz1f;_ADygx&^K(m_xGx^N|5k$Yr%53(^*-&139ZCrI(bvtZ7^FuuY9+_g
z&w$0cY&;}8D_FVu<9q$7Xs3T4WI$|4v!8_Mysf$E}^mE70L_R&nik+wHbZ1mJ1}LD
zl~u6c@qSM0{dy|_fX6ySc-&VX#WkL7($Vq@h4@RJ>8_%tCnH&?k*jjoGWt}
zs50EjlP%Vcy^CVSBN1aNX?8v~?(Qn%-)JSn0dlnV3GNsB$~k!_1ij~#)GMoYjmdMxJzsVQ(pUEAZ
zUOuk+;+C{K746D(Qa%K}O>TI>iYvMpeJ$EvF6m)lh>!?F0Yrk9g`t6{XlIm!krkAn
z=vk<#+u-0SWrUQ=8lt38=LJUl!;
zJ3iB13g^3sue=#hP(cl#{%VB4arHS^k1voov2&DtU2j|03`(%N$&z!YRN-tg5G9?m
z@Cg#X@ACF)MKR$(wIHt9T$mjD!qe)@)-&mXDG$%VbTn<$#q8}&NbNABT+Ki3{i>Jb
zmud%WP>ISs`Xf+_ns=XyDn3TZC3;IlT?7!cc!YRvSi}-SyIq@%4^?}(wwm!mb8Nd6&$BP*B{K+5Cva_)wF9>o9*guMSyl|OJe^FA5CvsLxtc5=w
zc*K;-RMv{FRtsfMCFYkOIdc&$so~0tdH5=;Fk8}^!v5N6my2vpx&sf+yXK>ESMQc;&Q6Rbq}PGbX^HZQQDj(u}hU0Eu-qoPFciH4ClyA9PWID>+uqkyVfkk
zNFBbiJ#6GwKbNV=s(ct@4`q~1MF}r-sOp}B4Ltp}7^$$`Q1FwUH;
zi75iyfm4gHmUPJRc+h9ke$hBzW|WBXVkVwMss!SQ>6V5P=`X^Us+F;;RW_sB3r0&A
z7};Gnm>|a6=W3L%xSBZ?(yWatVgo1yEd2U^-Z892>oTUsX-QVuFS%2W0u`RCP^s$%
zc!mT^-PSy;DT6^O<-krEC%eA*^EJH%PINQ;M`y~4lO;?$rb1>!E+YE=OmREfv%Zy!fpvC*P4-Bh=ol7%?8
zTNG`RyeC%?am6^9eI7s-I*A{EwPfIbRuIzE5!+bcyaDBaIxPQ&lEY-7O8BE@-65x7
zM7~*vMbB$U`EPE(Qgi5P4PuXHwpk@)eEn*Q>nj5|>X<|4*5=oJz%h;meau&pTRZ!a
zkDK&`Q)-P&gBRQeTZI}`1T_b6K=t;@15b&b&lj|`(hp~R_SG+y@w0E?;~C{{r-d-V
z59p852*HeB@#1NIAkg&w?`2{pgw@rYzvTW1q4c%F-omZmYg_n^71EZ9{3wxX2*@R*
znCXs2%irs-^ul3XL71StXl7g?06-7QIv|p)awyarh!93G&TE{)2+PS`yi)#{B&%ml
zx80rB3IPQm1vT4=WIUXqN9W?QsKjs4qhoqFPo71E2!td{xVez82Zx+}ZQ7Ew*Zu5L
z4GBBFhOFJFf9udV(~*;vGm@1fio%X>$|#Z5K2pIHM*aQ5zu=%b?&jBd|7)h#aeP>;
zo3Zu$fa(l>wC3j&b^V6L$8Gy^mefnOvsb|EP~LM_q5hhfaV4aJ9nb37Z9aW|5~rP$
z0IhuWr(e%$*K&w=7Smy29agzx4N)CqhX-{
z_+T0mM126%a0FjU56YoXQo0RG80kQ8seBgR`-G1wL!eFmnt1O^*xot580tp9&<8SDD6>eO~h=L`v&7@P-B-oD7PFyf9fO(1v~UgQ`Y{2%21}
zZW&>1H|l2zsQT*pqyE^tExmmJmU|%&kK1(7z21BEk%vtdl1i@gjWPGI*Dc*kr9b72JqDNdq|)T^F@V0tD5m};xTKY0M7pg$ZARDp
z?5nqI3UIlE$oinJ*-o$VM(nx_w6wz
zO=zH{}emfU$pAmDt4le%e!J>d@oM(hh7xasUK~#hA({1vlcN
z944yc+f_$L4*f51RqSU)hPd7-0<{f2?
z{O@elNn!iei{;8e|MHk!PN%zBt^Ij3DQDzDMm9`LUit-?_$ea;FA!g8H3vx
zQ?V21-5$X!i{%JxVGtOVTarjLs!3cg8$hV=?}xIyIv1h54;KzE`HveH;o`H`otcT0bE
z6A0^)->%?t+!^GNL8&l+cZ3kh+|yQ@(n&J!#lxaULY+Q(i7UwbP>YWZPfQ6(iLM}9
z(Je07J?=pykYi_e(|ytN8|289P?>9qIqsji1Q(9Wv|#^OQ9FoH`OjD;B}?jLx){ny
zct9?XQvCA$u>hyK-RQL*`YIE00f6DJdU>VYBcYY*>O?gp9E{3cdGF82`+C|c?zCVW
z_}~UB+tMw=i8;SKgV?3a8g%WipLwibpEfXbxjf(YDefx!Eg%5qkgD=l*%+U41Cdr-
zKmz*1K>_fM=(_Z*Ap4sq#%3h((DR#LT<4m5UN5Qoj4uK>C8{L?0VXM*D{=
zb7_98B2fafpb&JBU0Kg{MU+FTxk>iW-(lQ|s&?cG(H2VMdUJ
zl1N0z=p1yl7-TRMmK@$w6f2qV$+gR-^|?^
ze2JQ52WG>Yg=US&(fC*+Ns0vpBY_4nF4Q+4P8y)b3h)C6yGm=N8AOIe<|bl7I8Cn%
z1K1ILjWW8hWw;KBlLAflk6fTnG{RSO-qz?65+P&9SlY2hL`P=FxKdL#Oe);Jx!Z#k
zRVQxO0{h3A!aaZWUZF~?o5Uw=g{~-C|COv3R)!(kxvvD$maW!N3v}JC9iAEH@XJ1e
zUMFgxs6v};7b3_daxdVse1*#Tk$eiw5BmhOYK))&<7C7;f9>q{lX#?N9R(6N1*EMF
zKO-jaeTphae++QYJ1i!)FeSXRb7-YXzd@d$-r(|b3m>ZDUjd3KL4F{6GQk7FCFX04
zAy9f-2nI~Rhjpf(%SPj#_F2%O{A(MBSyWO-ZI~?L#jHU9Yf0yAyc@gU&4`1#zFvo4
z;m^rn!sEo?OR{RL!O-}2m|~^h>VN$LfDl|5D;Cebzhp_bg+lw~{B!IdX9C{-vETmn
zwoWEgRa%eSv3qwFjq;0b9buq8sKECT4MTxj-(WnaxkMSu{v8fikF09_
zy>G)SsuVT^j0ucn4BRj>pEEs*LKS-=nSP@BD3T~OYsFk&3^Q3|5Gg?UkeW75YqKnN
znc*Y(R$KN!Zt!eW8^KD?i?v{Se^}+~r?{oZ7ZNz-N)}zAg8hN^B>C&Xj`EYOgF&B4
zdg5R+jwfZjs@Q6`t1uK9M4{uuo>}mO5W0U+@6OEEXkS@OMC4GoG^*(W`QPq(YSKYz
zN!f}5AVy1xigMT;R^Dfj@A!t9PP;xl3rD)LjhXVQZ%~q?e15a#o#Ao@IcrH7B&f;3
z%+9pE@e~xp`Bds-*!8D^t>toYKisqTF(TEi5yiepD=ML!AjbMzn&w6p3A7RkTCDL_
zDNqnJevkm4K(`-UsH9v#P9D8_X`7j%fom+c9G*iNIvPvTtU!#m-5}y#$L8=n2jf~h
z7M)pj_za1rb`yH2%Wr+?U*|Hd)gCcs>iR`1vm7oxoCZ{j6|9V{yz?K`5Td121fhzO
z_Ev-6dR%Wl9?Z4f@j6XSfS{0Fq**SZT?~bEXOqU{;xe2TDtdWT4YN!RjKY_#GnU1X
z)r1~<3EQ_4YD1`|tB&gzw?SnGC}bXetOS7;76DGoa8N=Jq2VP%C+DU{D2w{NPOrcr
z;4!wm(pZEqGD#7}4QWUR{ijFq9j?H`9d^7Vy!wGd(nLe!#pUggi??fv8GeZNYGb8B
zC1U9AeY$u?T`{2w6g4!VY8;LPx*d1!^DR1oHBD2|SuG7w{GbPgS7z{cg7trM%Dc-w
z@tXv}r!(Thu}DHn2FE{wm^33Lybv-oeq!AdpZ4$Xg10(0AMf`m&#ShOF+?#U_@v)I
z9ytCQ6PJCHe|gQRQWYwrl@_pQVx+FIMx~6)svhgwRmX8zO50h69R_XRtJU|D5@ZDL
z3qEM+o2O{Up$;{90H>
z(2J&uxDNt&G#4fc@`{H~Kuz`CNJ_lgeMmt6A(~pca4CQPDJ5=_Wz!5EH`rziqs+lN
z%eMFCbL?fnSOV2f5IVQ|`QkqzwdVOK0qsz%#Zn9Vuk!HZ1dI~ce>qTNY4^#c9h)|b
z>W^Lqg%W`4VW8vrQ{TvoGOEPhpPlXc4lj#IgM21d!B#!*mpY^ef8OlrnO_zN#YWHe
zoebohBp7Nak^ra;G!atY9pT2;jrqztaOIMw7l=vnQ#nS`;iW8qU86X^1?OKfz?#?b
zP*Nb%b|1FpSeA;AGf+g@8jHt`OyXH}keDpJ06GbiMk=QEu<9>apG~Zly%|a&#)%mO2!W5Kzc5an^>_Tnn>#$^I
z_-{{7wIAAcal5G#x>Z5|0BFUlTy?YdNVr631K0W$&C4m!JN7-h
z{xqMcVtco&h%W~ZQbl)Uf)09(b>oq}Ce$<8UCG~-RBOBv{$}JhmlL9{vrU6u_N0mrpZtIqP{=i?&|-W7bsGs05GrtZv|z(*V&92Q+Q2A@as!Pv%&@}-d^d^1>0(E
zfNt%a)ZxAT6Dw%;i_=`Qv%5Y&ic*1uj5ezX0U1jSOnf7#BC$YPNkyxVE5)~noI*+e
zfDkyY7M+eHsrqfG!$cY=iqNa4BA?36w&XVg2(=Hpty`B3mu4h8+35$LOE%;Yyg|)o
zB~>+Ke)4<1w;bP9#kLxoykwH$B&gi-+q^>pE8Mg#hOetax4k`*Uwtm^B$HdAm`D3x
z3mGuMb(mX;P^WiO`(#Ohmr9eNUpQq)J4DmLMePZGFgY7iVjhF&zE!BVvo?se)f`$b
z4&zi2K-NZ4T3ctQUEoMb!+Qs)J^)OcY=1S}t)6qpdvYFR$eLNwkt5EGVy$5XTvoaK
zbC%P?k1L8-W5efAh{T(RI(88z{4b0Lc?#xjzwM~G1f``&&AK-hy|YoLtW(rqQ~ov6
z#6ivT(WLk2*Fz6Coegdna(WAXnn&D5+fCkw`epD+4
z1ctkTeI8)Wi#47g!o_v=Z7ZIKaLCk5Gl6}bxi+5}C1w;}>JIsZfdJfU+z*^#DI_~H
z-~t!eTJNu?ZJDTXv&cltt$z0(g?K?b7mvT7de`xv}dQsFpE40y&qyz+_8vXmCI;oav2dFYz*Nxj}{I!ofEYXCh4)zwJ^n`k4@z
zB#eG{H7$Q54wC)qg2;43v@jlvsEf^>ud(~-?h+)Z&s`;-1p&UV(bV!sqM4Os`{=8U
z^>oKTHJ}zg>$cGl_#|ecs&vM$F(rCU+T?1Eg=jY(dE^mZ-tsHre{mYpEy*;nlHQL7
z70rlIABM8JZy8*0;g+__JP6(>GVB)S$C3bcuGGc$38!4JbpM_-%a%pdwVyQVj61=(
zIXe}!3(sXZj!*v%^L`+3%P(xRvSDhTVo6_gd65mxBPzyRiJ~vl=H<2pPSZma0l(Sw
z$CB^hvwB#$z~i#-!!A+c3{Vry$4V+vuK{OWHh5b}-B736w8PvIDARw$8F{7d{f`89
zD}RnLxwOk1<>k?48-81XoQMCLT9wtak#F9=w6OBi|7*ImL{;ZeN#@wR#H=v~9{j!u
z1S1$&;bYt=FIfC_p-;Cbx0hA%eMt2jr3zQ;YpYnnH1>c)FO
zQ7&(ZDCI$WG53&P*Q~)a+0vX%DI%IBbcbyKy;R8UJO5Lt);?`4l)+dFMUAZVLf-ta
zg6|M8w@~OEcn>hV{!DA0LE31L>U#RuN@^$499@YnEzP**bKoD
z!VLEj;JoRy8=NRU%O6tk@0#K!DcjEV2n5(H1`xRV3Tct;T7Z>+g1*$IVDStk`);{A
z_ROct|D>ufCt%{Ph_uB8YIh57x|MTCNARz
z<2TQ=uhummN{7swFsU$Vs`o7NpG=C}@1Ba_ryjG)M=8q=nZ!|4nyp
z2|o4!>*MQ-Mve1Md-zwvk~ZsUSA@|JH}YU&yz;o-kKxOSr-Rx}i~Ls;v(-Bds9zfO
zG4_~J5A821%tiP3a|C@}<6_A$&rU&tx`6+3G)Q!NM(zArY%b1@W(r5Mr^jOcL)Vxm
z+8qYj;hm=7?tO*J52qkL2~bM#f)vWl#l~zGS%XrEfg+==l-8>3>pDkkiWE-
z5fxd`u=TCTeZnf`TIjRayoed9VLvdJVp#b24}?;)u6`LmAaC7X*NFOGF{+R4xmkNE
z8hd|Nes0=DufYbVTAm!Eq_z}Myk$?VF7?#aE4zgIZn7RY(0I}NNH#orA9i4+5794c
z7d++al1n*qOk`D)38!v`BTrrrggYN6rtBJ(T|DeE0AI=k$}S
zt6fJKXyEt8DiHo5L`dIFCLGmb;Y@OOSFFr-Da#A)MxglIR*~57AnX*CY)jdq-?&IsCqCipL_wB!1h1jX?);{!@sMo9
zdZN68OCQ7el^_68F)k-<1#c6k0%iq>3!t{+fCf#V?~Rw^2er=4_6hE}wfA
zZF7cVcS?X8))WX%Wvsxs_O_SCs-6%bdJyYs9SLRl5DR#TiD4Fy2^K4T4#$%<=phhQ
zfu*T|M^ufdrlS<78W2_lm-4N~@vP1sHeNCI4pUawpswmT+;>!r_Z5Q4j-6ucrg9wm
zixf%lAG~8kC=l_aoGR#1m)dS`YNuPxEAS5L!e*%eY
zMcue8YStD+Vk^?ET82IO*Twd8<(2Wr0A8e~_{cEvP#4rM2!H*HY+KPcZ?Cz9Z?%CW
z6;wR}(9rX5>fCt|WYPX=P_z)VP>NxvGIz70D#gFrec`)3PVWYN=?yEP@4Rj2aAFC&
z@5h@ouE7l|1aMJZJw>eKABR6&g5rEXLVtS;!bB$R@PPU`>+`+mJ#C1Y7Vdz7~C_Rj0
zI2C*R^ZSUjb(-C{25B7?k+)Rx?z7N-|uFOsa_vsaEpZC-5yhZ`uSxAQW*2v(Ymiz4idJ2BeAhv$}jb
z**`~wpykx#tOX3^8lW3Zvf@emB|O}QXXTs6UgBg{+^lupS_P@{SD2$)vf)fWu;04b
zAF(b8x1Ejg8lN?mea^!r<)W``=WQM;2E{SaIpjRly&Ihq_O6hfSUd8l;uyJ@n>5{
zRH2F$6zQD)K;;nsa{uUX&hfn@*R|nJWi`_+Z2oK%aOJT7a$zIF8uCQH;gGw`bkI2r
zQCh*B067@_hvhp8{|G+LYvGRs@_}PB-{8fbtu>GGBlB>#5n9;MsAG{euT{Gvh4z6t
zQrk6fHWS8BvI+7ka^lsYWcqDSRSMfP@Qi3U0N~~sJ>ZEzi`!5QUi1|AD|`h`>&e`B
zhs$K-XE3SI6yswnyD~piVw57tOmlUi72e#8ix@i3+m~p_5pqcAPl(1?U;DRFNiNJb
z#Ap0LpH{lh-BhTwwFSQa23wb}g+)9ViS6
zO8U{^zb^(V+cHD;1g@X>L)w;uBAgO+*g70Y-Lk(w_D%K{VXh(2B5=8qyxh?aPr$T&
z5VpM9%*Qv?Vyj9vr@`31?VSIeRQ!?8I@=#&)3zpwE`8B(V|(4*J}BpTS&{9jWVX7}
z^*4{@e*RO!&d1~2c{F*fNNqMY#ogBD9AhpkeZo=ITw@U?sL%YrYm0eL{xXiQ@YO%I
z<}dusOD?Xwm{0L|Qjg?KH~2Gfy|q$kt7KS(+W>%|&)floMF|rH{84(gu@RF}PQsJ3
z%yeGTxjx(a3r|RJm9fojQU&AAaY$X8<2W=Uu~-0gZg`cFJcW5=qsK8dIsJI)A+-4=
z{98l6?egjV6$08FJB*9O`TiB?4?h1evc1KUBNqDw)~KShm4g&|{@F{Vdo|2UpHy`G
zQPb(HD8H6pyT|}&aCvIB@ESN?1>fi(f{o|Z_yfvXm->LKf^1dH*@oV0^^&<#`F2(c
zX6a7B<-lKnfkN*{GA)OQrqVm49&q-aoHU+65*qn;?5N{MFx`jfr;o_iv_Qx6Wf36`
zu{!{Fs<&p{5erynM!;JYWpXMnQWlBki4{Z7t=7lV^pZ)6oFxZB=Z1)9b`SgbO`L6V
z9nVm{)ofJF-8odkLtf73&0j?W0KbtQF3(Qm`>dE}I@M!j?4_yfBIh8{e~GU6F0xUbh4skketL{e`F8lP#i<`qtvnhmztfr$?H7oT6&{4z_>L0w
zEQr6qa!)2b5+$ObbMj?dd)Av=H!)dut36H~^!C?aLjwh0t$kE;{2q0fcYJeqaIL86
z&Gd+)8127<=r{eyhg+;7NKWc97-5m*{a{ExT2B
znrUo+@w0L{W1-vS?hKH3+zUTqA>^#P%X++VTg?{wf~b|#vvp+0qqiQBE8NKX?F%YV
zlM8G1LPC18G(J`AP3z5Di<2@}SJ~uZ
zggp)B4deB`oYSSw44}tet~*3tFN){C0OkC|SbJo%ot8|Mn4<6-%BOe=u#=#THwy$p
z#sKND^YaKqu?a}WQzc2xVs9FuFm-Qymvg{I2A~jwek*2*;L5n%aI-y2Vyw;`i4t59
zK(|0IthvDHo6#uehluKbDo$
zkw8&Vp+s}u#xr|&`_>rVb^HhcMDWhs_n0G*
zsc26VsnJ~5#>Z-Uz^MTCc-^yk|4pzHPKpnTf*H){@Mdy)qIL#{J~RV^6^0H)gJtS+
z%~`*rVsq?>E!ZM~0s#1(Zj;6mCw5<7X8c_>+oiJ$XEfhPt}B7i1oWT0E732PImuHj
zT%POv^aN7MYor6h(@B{;llC_`*DK)l?p8b>6eN(Szfp-_GNLI5pM}K)FuJ*6kszTk
z@hjG3iRj@)%K1?=nCnDkW2p;Y2qkHbixFY!y$=8}y1FHx?PKaADF4D4PBJ+&Nh*PGnPrIIE3ly1Asf(Pf*4Z
zSDBtIl!ywtWk85T0180_z7OI{Ki`!7_JIH?L|J9u=^5gczxpbvEg=%htw|8E|8Iuq}ENt%J;gt|@Z%XU#{ArCpRU~lG;;m8C>%cQJ
z?FfXoMvV?WS;y@~Or5L5RHpk$!(_@O6tucE4yMsj6eaK3pQa`Kz7cw_sRr{TI{%NV
zZ;Xz!``(_Ijcwbu?WD2M*mly`Y?8*dZQDtc#GIOR0!Rol=q!PRMMexqeV+9AixA8)6a!VeW&4?g^C
zd$`~#W6Y*LP1N%q>%Lefh$rjI->PNpK%3zWH3y4-C49cqIFrob@oubEnio$5|FSU|
z?b&FDxY)`gVcgXN=R;Iu4$(XpD{F>o!=8kjr$nU9J2XFpesBTpXx<8eGkrKrKQL&M
zBDGn7J?}W}lO+Pp{PQ)2f8++Sab@;TtA(6z@>(u5^p3OgmqGcGb@(GtX59D7`EF*b
zePwdYgHdbM
zjp$_8n!2{PR~(RQcsaKu@XF2Xc?aQb(9>(KMqi5b(@(W_#-r_Mw4n?UCmndc$PSuSxN=@uLzYakBa^W2~o=k!+f
zx`ty!p|t2QGqo$un;``fbRn0T4Kr*2IB0`_sv?Vtdt9qj0?Hy2L;4iv?W|YAv0m}s
z^uF)h^bjI5ObgyvtG`
zg;KwqNY1wmGmGO0UT~YIsYTjdSnA|~f(BQ?z#t78E-wah(iiu(7U^p{+8
zGPHHdW+NvgB
z7|x<)r&H_`Dc^G*zJHTbafwbAxbosLiuVFi@kEV3D&r&p1a~^M8ML-jv%JE}9MkHc
z0?dcDJ-%w#miYA8Z^c%NVW%^%6~}8DDY(Fu>u4buuF)gu*VCP&5_etgc$wV%mHZZ2
zw0+mw&YZKxZO5wmE5qGtp1-fc`KJ((X#lbabYZ58EyLOB`^#4=AZgSQUio_UX+Ys?
zhl6EUO{*L0bjWXAKi>`70J~tmcy_8&0m^3R2RoquRuvb+Wc}zk-;(Q~cqXhc*00}i
z>A`~v*32(=`ts=gEcNpfZ2SZOOD<(GeUX)WT@#}C!**YpWdKXrl@?IB%DvBTI4#@l
z_6wYU1#c39Jy7dINGue>;!P|uUuDK4m+I7g__f*jCIo+0v^M(l`(AvI{!=8Gp|lwL
zXF4`bR~nb=M0^FYNK)owopJJC+xu2~Uhyrr?QyV)WN){Mta9YZ6C6h0ukRhd%1on_
zRI;NTf9F!A-l5x%qh*{8hf=XSBoWh8p1K}T?*qRRJFr+eLUk!rDE#Bj%<$P-SR@FvDsm%CbNY3!M1Sy*P1|V4j1LV7r?3qnVR}Ba4@Ej7dhLp8%o0_J-hQ^PA
zQoS-aFMgQP{ss-!%|d0}WnXwdV$HlQ+n$g{7~j=~bWlsFkyKZBRDBCgykV86P08a@
z_sY`lYBRg}(e~3V0KItMcd;kY+f5^$vqMVJ#@vC-YBPnKKn>c+Ox-xU*`H3K1!K-t
zj(`j=guXi)iX*#wU!pyRtsxz^e+2dQc%y0d7>{xzE4b}g=F305Cod-I-v8}eNbr0E
z5Pk1@rUFU>Q`(#9!=#ZGBg)x?p#kA#)bBQ~YKI#yq=9J$Ng%%;MXE@fva=119gn(}e$e^|puu!w#?C=mR)y2cZoTc{~j0*F?
znvzjX=3o3#20g@ojTQ1nk+n+np9TxH7rI{C1r8^(QJb3Wt#sv{(x3D9r1{tU-kWE1
z|LITvqrwti3jR{^rZ%5D>=#E$7XTcjg~O9wh^BqUVm@Y4%9lWvyQdTW8gM$se=Q}=
z{7Jng&v?ranN#^sYqTD?uuYTMK|@*XdxqL05o
z{a&+y;)k1<_YI5bY%UdMusBi|4;(KW0$tHa;wX~eJMMDwhMk~=pXlF`+34Bb*2TkTYVt#)^C|
zcmD|Y617Lm;mY%FUItZ!U|llczuD@}d%DJ5TLVd!`yV;WfNxTSZ<6!z_GmJq@!iAp
zf{+UC>lwpU0pamt`KPAV=49=3Du{z^-I!ANN7?->q{C;l-36a#24v!eAaFLl^-OjN
zJcRB~rBf!pGW@5h!SR`~edh!q3e^3T-wHqZF2uhQz2STyMOJF0&6hDEP$P$8%wEI_
z4l_VXqq@zxCwc%?=Cud5lu|=H#kL0pVTUD2ZjSC67YEhn6iN?|CY%zjX5cw+`{sA{
zi;clJ&|F`R&V_zol3dd}DLpmh?^6ox>p?s_#t{GFBPv$#Ro$WJ!bmiVeu?bG8I&w26
zDcoUG!2%zaP=U>E?O@WMh(aDTSTfvNbJb;VDhDy*
zMy)2t9p(9>f8_2IJyJr$!dYm|)_2dQ#nM2wYI?C}J8PvJ)UBVk!K?x@c!G;LO@W(c
zFTaIRe;daoPLv8Dq|GY6Ep#x3-#-wHATaCNa8Yc!D{S=yon>^kbj(zUXp*Z#2kk)V
zDF^%8mJrTf-h*sN+CxD=RNJEbU*9t*iPvGoQp_CQrRQA=@;RNWbyI>da*P4K@>_L`
z`tb1^?Fzyt@bY}USS+D77GVU(lTn(QD^31r=yMuAmRBp(>8#Xwzx#3op;C-pF9B0E
zk4-;cvHOk2Tw{T=RDQgw&?}1Rm%rE*b|qNi{hlO*q*R0P^suN>#x$!DV+^9rs{h+F
z)()Aj(#QsVYP|o*RH#=}Ltc%tB=u|EenR1BhXcVNaw&FL@R&9N0r5U=?JAy($(*I;
zigBy|&E4UqwFM}$$(5MehF6P`n);s3jDXN0Tp^*KH4GQmXK0r>HtQBCx$8coujtX$
zWnT;)!1P~7L#m)(57t|&J6kj+h2jA$6DdnCDDQt)BSZ3&AgL%T1C?2GOlr!9J56_!
zpf+2~ItQ@*MQgQtI>|qu{huKu&$;I+yo(64YvogSXMp;1_?#%Zw2?34_OZ{uLoX2)
zQS`5!b2RipWb1i)GGq@4|3pTZ6{EvR2Wz2X1;u0|Y;pv+94pav9qEg4_~YjgoiP))DBA}9d%xhB(i8X}MTS*erD
zp3^qR|72-uwP^6QfWNiN^C^TAEPKRDk^*IS=KO_%-49Hvb6-$6f0xdFC_~$(B5|TQ
zOMiWk&~sBNrR)Cs?rifrl?^C|{w8VK9NR^|2UY&Qwp@UgK>S`~p3$Qvl*C>xE*9%9
zQ0HcQc?54e3Kt|Z4goE`g@XnlqHgfsV+A&w7J}Cc4NEmGU7o844ekS{L;knb_GY)B
z13R_tFeI6PCXBGo%>T|IG(m@*ElOSs#$WFlY(H%>2#>TqUT#eHa>|q1qP+zGAkr`!
za9P=?iKL*^!7-2SsEqNMn8PmU^9>@;8l2B%mxvt;IIbBXbJy7u;PK}e=+r3LvKT)!
zN|e~S*$RHTv|N;XYNBZ59qUj$ccaAC$|B6C>PnmA(Y{^NcA8>19~Y0MmXt~mDs&rU
zbM@mBA}9{FLQ=7G;D#0)JRdcMu5q1yA9%epkqqLf57uwabXnN|^9+@QR8#smWQGk{
z5_P5uY|Q38d2U~&N4!enshlBn&tG@0>fj)J3sA+$)%yXOvyL}4KnQ)uQvrk#8WmisjyGIa#40o
zeFF0zK{tDAn|v`|PFo%CuR_aVNGM9Z&_K+Dl%)J7!)3%`)rZu0BzR|&g|E{u$}>PW
zo&pl!!=?28fQ{0sh<89!6~v>VU7fWs&Ibv|WmnUdL+O_?3otpU8NQcQnWF=2YwcHg
zD|Slr3*?!PT9L{J&bP?pn{=Ilxf}$Tu32IC>S6Bi$*40f2g`dS;+Tl|M2dwoq>p?!
z#r}CLywA!+#FOnCG%{rUK(@lVwWrs_Yqnwze5EAb^^=j9e&{G13l1OZtNZh9FaMq8
zn?d3y(b-9r>YUxtc%kbau4iEkbs`IcuFAyVFmZ19K1K~$EY|i88!^(=f7cD~VT?*l
zADh;Z-uosI%E)rrW4P5OO0WdJvs{hC10g2$={?8c^Z~^6%}fu`V4zGCQh8G4B0qaY
z*Uu?R&|j#WauXQWQqFa7KSe6j>Nf-fNnPP>V&gy2uCUIkPSER5HF$eZjFT}RY2d+N
z+OSqRgnVRFQ@2}^-yh!C%oPhlOGv7-!X5dJ;bVPa)x`s#Y+{izJfCE4AD#!zHnXj$
zRqRW6)vIECoof8*psqp}$tB_}@wR$Le%*X?uil_ss*VAEH2p^35SoX4naOCHJO$BbZ$ub0-B
z!%!s_#=#W5qsA(!8l-UCO{88UU1DKI{IFGgwIN22Rgm@TeGB>EYuKyy-XH))DsjSg$%3XB8)J
z&;$VhMa5%UzgW@xNW!K_kOaTg1i764E%yeERDFrOjFM#J&};jtxIIKDMqNI2(Xjl?
zi+Ds|snbKTCmfAg!xZaT2+JCiCB$=MwL|=11-V4~l|+oh_}?zD4t4#Ga0WTaaqHNv
zMcG~wZL&(@FeR+;Lp6yR
zQ5@D#KyMIHh*z0Ju#{u;SR-NY%rL39nJVLS8fkZ~`j1F}z#xp9^+F7^&iuLmero>D
z&{PomCfviIE~gp#VkCmpv%8;c-Vk?ddz3=^7OU}82wVL!aHd!?)ptXqyX5;e^T84p
zVkY#_87(Wx$V3pf&tmVlLnWshrV8>8o79IrT|ydkTbhI44oe^IKFE1*mq5<<+=|cF
zHa(q3DtGg?x$wcZ;o8A<2<&e{M-SF})#>a?ufp#KgKnUxBsf2tIQ;znmOex>e%ikI
z@X7oTD6fRtt$W-*ZZf_LePbEMv)N>w{V8p8xY59i;BCUvO}syBI?VhyF?o_Z9e)~a
zl3m`fIRyiHL;LT%Fv8tQmYtEc>&L@3wuytL=3v63`y@c|_IFO^-f(wVyUCT+kchF=4c9-cae=UE6)a
zKXP;3=27>K9QL0o@Uw32Z%-S=0OzZ7p8a@^o$eyo`eO`^c?SQ?dL)W&
zQd%obHgKNRDEOM3Bs~Y2`C)Iu0KKtwCet6NASXo8da8ig%vPh0CN?7aC@%3QcU*SJ
z+;*z?0V&x{(-<1ihd7KeN#n@rc52>Ii~+o=>EDth$d-J#yYldO@`cL*|8`6=q;z0R
zSYsGs{;(v=PiGLBh<9(j!`LkK{XjAK~
zo=euk;#>~aaa1K_*9c<%!5C{#brXq1!#C-TvW8%aFj-|Hs$eOLknT0T8_?F2o_KiA
zsE%8V4S;fRoppmbrrH3s(Ezkriz4IA2j*!J@^VCvX;ND%yl7c^72BPFM(IKKrz`84
zW?K5{#ww+-K3o0^_MccCp;7y8m&Fr&$#VQv!mK-_A}WATb7#6VRRo23xeJzz_vJDnJP-L8+Hzv$VDL-P$YI
zY<~Yb-aI0ipTyL+++=p15^)9f1J-+b4n|9JfDo?{Y&b
z(?vg4&HVNn%~CLm-cO5bO7d@%U1ElaKX-wu?U;}18a!3woR)YS6fNbwG?_sgQbc{W
zP2cc6@KWSJH+%Xr{M~s*?VB`sf^a4bBR8D#G%l=aRxo;_hHqDl|t|(#A@bUlC0<;y@ng^}e$SRIGXxgeI=j+Sa4pTsF?yVjf
zaLV@V{K?Vu0KHL&)1iZe#)#76b&_k{wDpdY{X?(Kkacik#7cN{3g;qH$HY=@#%)}J
z6{@w`Qlngg5GLMi1#z3wm%KPzY@!1Qcu(Sf4OITj7sLfqfO~#&7#5@O4j#S@0YyW*lT=W*bL>=te
zN2!M4R^43dA@>$-A{p$r6;u2l!_ZDf^Fa?y43GRZ9anGnxbXWjN-I-GL2^=y$9uzu
z>hteFKP4n%`q7(26!46_L;v$i$q2#pFLba$`I{|2T(N4u86grrxJoH7GiFZewp<^Y
zx9@C31qPGBNX*Rhb&cY6KmRD+X-a{I+hPXhmNdAu*J-0(ghF&%yWCLCFk2RHycSN{
z^NFyZR%_jt#jPuq!(#BZJyq^ZgY}z%^;zvFFOpE1V6AvaJuS)b0K>LKfkuW|
z_@X)0jmX~7lt9AOtpT&d&&#~u4TBlNJ`8rKj_$34ehCl+=Mt!bq)s(At|8)MRB%ZV
zEVLrz9OW?C`(-m69Bu6};{WEU42c6?qtwzhl$}ckRQIC!Apg0JAczagQMdxH&-LyC
z%SeQng1`R8H1#mtCw#8BN_^dM!VVh&$%km~3aQVjH+0^fpkxME>#`S1iYz;}mGG7@
zz;@w>nrJCIE)dx>c)wiD+MiXVd$egu=uP>kO(O&j&*5SHd@~xz>PVUj3@=jsC2<^I
z4I450g;5zW2~=Kzl~i$a1B8VvsE${Z0aF*t6wrseB9027*O%1H`y8W!?!h0$lPN4A6GD^8K(Hc(bSaLH8VT;Y{w6?
zq(|KAzJBf1Ae`Qx@Y+ZS_$KDm9WJSJ&Hy`~Yh+Xdmp0p{=L8@#`-O(Q&6RMo9kF1M
zP=?+_I>4vWoDBDGflzYCo{*%_jbE$+m4W2?J$JVbbbV!oGEHQ$t#cygV}mQ+l%n}4
zE}#DrXr^2R6|8i(DSqlcoN()|VikXe!kPXm=6z|2iGBUa>=nzndZFvQVt}vCxqWOc
z{MliLp&2@f#?iY~1oc%r%1`sCHh94FMXtymI~>JmcFi9H0(E({nXPcW^_tvs^6sE=
ziPaTU@`Uaxdp6DRD#?eI?^IFP$g-uw-x69nk|_5N3?A_e9nSJ9->bsda(c=@0r6-}
zF4*GpJmeoqUXnT=KL<%d($Y=e%rI(#+5dbI-}fKfagB@HH24_&Bgdg(ln;9nq4|)5
z@e#fra&<;ZA)AiFigY^&Is7Gfbs{8+Rl?X$1}~#CFzKVZ%PtY&Fc^NLqJLj|s(}jt
zNBj3qL*MmkU&!o}kxW3?5>M0qiwPotkZJ|3!%jC>3dM*+jq9vbhtxk=JIgp*ce^;^
zQW=d+J3aJ+!gP0kQr~X0XUCXZBpqT+BEG-hv
z?zUM^IHi-qG_y0L1hfKMX@99tLDnf=*5S>NM^u7I7T|O$vJU^KFUOdIqbUO-tYw~F
z&X@i1$x-iExj{nuX8+1mn!z+&4uGaD!JVlBz~{#(F-Gprl#3STF?e)ib+@uu0;t@~
zZ7x5KWH6WzWnGe!I*U-*^&flSRm_b|{Z;(7%K*F5qWtNlBPquI#ia>J;p{)h>$Ew`j5z>x&)5y5Mw~D@Fhy;#!up{{o_!x2|sTGDx|{`$(ocSDy*?b$n4JYB12W
z&Y3I5KFu3$m+8M8YZ{wM<|v+@E3)u-}W9%TOtY&_A=QRdsACMES_dV@bo}I9hsM2hqM|B
zl9biqnDb};w_gDBN_ZnHJne~h2^vR9TwpIFYsd7lxdMj8B^7ptKAMw<>}=3E%{(G9
z`gXKQaH4q&V;9`aC<_-i&U}MOwqhMnM!~tya2Uh^p**)3v=7gYo~Jc<#}28|h=UOweZSsc9LO_A{6id7
z!_{NJp|s%7u2VP|=9b!=>Cd8Cs>zqGmUQ{Tux_7!iVRvw>hj$<<`9Jx-nXALsn1RE
z1y0qgENJpJ!a0AND^$)OL){o>3XY2-oEmo|;~sjy@IlC9D3GHWIy2T}sr5ol8VVqA_4ao~74|w^`O6kM^)6J&>%^DjXI*s5)SAU!~wg_*=gE
zc}i-9zq_SS?;)weCrd4t=1
z{&t@_m&!=<0n#=d9HP&z4k;Y-pQyeJsj7gy-=Tm$iUE?OrY3{suVAt&D8Z|=0s8UV
zJ4j1~P+RJJE1cUK(Ewk?kmYaxsc|vN;$nwe_`5lA@M`)j%*b(@0!l7zaaKY~IA^--
zDe|f6T`)AKy`NrXDy)u7&g`l+oU;b@^Re6U(du=&#FKt>A~eS6xWA?Km-~akFyYVC
zogL+wd&a+dvtwfIf*x`np7cWWS08RwDNu`POaO0vXX9V7$1#ZOW~hy)RTa3e=fewv
z(q0yD1HLs<>5Wqtb_BWqO#p+Dyw6(R-}Z{pZTsumRp
zyR}ZKfph0SpUDD)yI0fv;4#p22b6>ahgIlMJ5>?R2Y}pYtJL3PYtMMh4<;2me==*Xu4wJJtLs0uBrTW(@
ztj#xFbo`WQ2`V(WXS9z&F`{BbCTwuwAt50#ZpBgNYY&vVnz{;=iuP+3a$)`3C1dmW
za2f3kcJZ-qtFSY&MNnz6jdmxF!mX{?#zNbkKW;s)}FI%I%ZnWNkW#T!a`HgS%_EkfaEK
z@1<#iLg#97U5kX^{gvJ*3vVd`bW-1;1*HiSPf%7E8;p!=Z#bYeCw!Oh@?xDS)6lSB
z))pIp&Z7zx7MDFeHW(E+2MR_{porzAUiujpn&1&nYu_gH=@X9?)ht(_v&Zqlt8TD*hN=7b!0eIerYKcRsP}zk99?r
zt93bkXtRYEPb
zT#&QU!otFu=ZQ#AQ}Olwt|7cZA
z_DM5k*anG4Nab)WZNBoJ4TDjDYnGX{oZWR~nU}hM*OOnArTrF4BASLz(#Eu}%RTGl
zBpV-M{XiZ!2%udX@C6{)H8h^l=CJBQ?lDNCTho=MXe#hcP@s=Vmk4k9GECt8*mTx@
z;)APCB@V!{MThWzj}0F(1Oq7GX_RGi(Pd!IO57++Xn!x;;*G`*vek_Q`P+xDAS#G|
z=T^;q$yX%d+R6zA`{5kA=+wzcA&Qw^<)ncE`ecjjVxcfApLYltFtjkgnVmksO$98+
zb^bKE9)Mr@6Pph9wTz|+QFNh+-Ti8IAwMsGqNW0L4!(9z+NWUmyr`Q`*L1!QmKNl&
z!-;|SxaF=E0oT5=aU|Hphm|JmZ_DxA<3Tk~K)P|JyPo}KpZTC9%zk@&)X@9e{86ns
z{f^f8=oM%{G^e}U@w?|Uuch}*xaB(%M}~GrLGCqE5>a99H9QNk@8)Qv^@18YMS8Y*
zdc$leni>~|$oHa%FDWq0#C_Z&X`@j+m~pdSUt@jx1A%GwO)2KGCQW?m^)~XSsbgx%
zADG17&6jP)$I&gASodB*Rxmwp<(+R-Fq$A$WM;%>LHF22KD3-Ams@@=F&_HY_4<`3
zDmot^Ho$1py+fTWNIdVd9_(C*@KS5aoo&y!=;?H4QC=X!a4TI$Ljm+_K!Gt#>(BT3
zvgpQ0uf_bQzgD7KT>(+N6|P{xV%aEN1*eR;a}^MldP!c=
z6dmPs+KPsT7OWH)ADGW!#8l9Lxx9H!raT^nTdyVPRgdm5NBS|GWBYm}0vLby_BNd4
zl&N!I>FH*yqtk6v|0>3zqkKxY8KGV%%|>7s&5Z^jimq)+9~8|O9WS|h)xV#BIS6T}
zy@WtyohNPwI0&Y+|DM{N`-?Zn<*UcD=H`Ob2IrHd4r
z(s%Ofw)`7Wb><}{CYj=_MvizgBtZ^nU)}A(JUL(UQ)dTa4(=D1)#zBR4!jG`1O}GX
z%e9`H4eHGC9H(BOTL7`e55${M0uK|b0w6_2WV8E>z`r)VVz*E?#P1=UC4UyAzhp_l
zbLVwMoHgvf-Ty-bcj4QIpQCcZ?Mo1R)MhUR9Bz}1wI*9C{su)&NkImGQJsdBud<&rme17xW7p$FSlD|wHSeyEdQ@aG8j?Ez|eNw-~c
zzaffwX1|<@E%!Pl-B0!(`BqnoBK<6FZbBEG6zFp-wkcjyNBdwx2Uqlgkhp&8^m9@62iheX#cGiWFo;yTqf(m
z(VPwRAo@zWWB~J3PCfag(QTkHeW7=K9Zz-mo6#*$`r*YUWMzRxO<6t=
z^$uOt+u7i`rp3#i01laNSBR1VC+fE44;@*N?`sI;TS0sEf&*%V?p0d(tG@4nvx#Bg
zCav9@4u~nY(wvU`{u_r?9D3>@Kh04#T_veh$a*rBV*P7m@b<#dbzZ{WFUe!Y`yi;`
ze}23jY319bt9{O&`CBsMMSC{u~5rKxfF%<>LIB9J0&z3L)1WDo(Ky#qZ&R
z8L*=&N-vIrr?kMDm-~!(>t^=;UFokT8{}GvELz3k_1yIMU&X<8I^{q7Cv91CJ0_KH
zjL52jP=Hj}h#>#VEHr)ra#{_bp}iv0+qUQYSDAKOsEzbojCWHiwte4d=FFBeh^VB>6`(
zsu7+J6k5E`q-Rq>0x2lj15RRJly8yeE-a3MspZA$|H6j~!s93K&l|HDkIck6n)SlH
zMO4|lyAvfJ(zoNr(BF_BTXJ)A9YAD|RFpgr(FOzza;JK1O9Y6^%`bFmxm=QkP>t1%
z8A(EyIs0O``x$?qjZUHhuFpXnlTH>gJcJ$PoQ%prb$gD7{gYCWXQ*!ofJr;Lj$VfnJiY|C{J_Lek
z4(3R+D8M*RQG(nqY9Kqfd2^BmxIaQr18bE`+it|Zw%d^F5--)Y@GG;3%jWyL;bQSi
z^*WN&F2?MA*WkosZnPUw4U0T$N2mcpc@1`2W3C*LO;i;;9mXEQ-_qrz923Shhdvfh
zT(sW*nIkC^ToKQGBMe!=D`6X
zXwE&L+5`Z<_w8g$xb@2%&TM$z`*W(v1xH_yQ&hl_|Kn%|ChV`>v;ilW&~`Po->#=W
z0`Xu=IIE3d9-nKlo!1x?78r2)`{GZksr`h^!`7y#aySgIPuH~lIM(rBUn1#8poV!M
zSSC=XtFHBO1axN1+s2)rw)(qoFP+j2E{DGvHgMTgM{f#4YG3Tx&D?m1XRRtZXp3YP
zau=*R9-pvtoJ(*p`6_~psKEJetd&w{`Q4-#Aq&a{oFh&>VJ&ZNk4-K
z%3?&DIvyLP6wOxX003G!@7Y{#zWsseuNw5RpYg=GU8Jp)
zc~}hscCTj6`6AmsMB(^+L!ntgtf8&`Y1Gjqnv-SShnmI{Hya3X@xuf&xYvyGv$eQf
zXbaz*umXuF5-W=<1#Zs8f;!>@sMJRw8$4NSf)f0jPZ`VA;+ZTMH2+t#%O=>_b=fH*
z&x$327An@J9!n=L05Hm~4wHj002)UqVqUM;S~5dl>$I#C#iZ_%ib@alF&M2U_(%Pn
zp~pKQ%xWAXktkLit8xTR4fuEUJ}!Ab?iH@P4sGT-^Pd!vDJGW-$4GqnT+Th8YjkZJ
z!CULbuXtR|P-`$i(ixB?dwog(MNVQN0cv+K6lAO|&;v|8LOB+G4>hnG9gnjv&zc^G
zqGig~#mp?AxHLR2cATwHQ9}SgA-{*Z!wY0VEkG!KNRWuBThHSMSY{VG29-)&=0Q=(
zO(PAMK`ERq+N+&Lc5kxRHX0g107@_#n!ZSN0|3|YHX4ERvrdP$Z$)2KnQ^0#3b^c(L%&v=g^5_%n4S8
zBxE_m;{jc8^0^`(;>vQshl{A>@+j>O4lsQ_1<2um
zd%o}4>on-I>0!0W+Mmac81L^h95)0A#%$%fCm7pHKbQG09m{!C*nG!MIne(aijx@d
zwY5C+jv-Ez$#ElOV6T?ixz2zB08D7I+6`6T=l)`h>M2Hc?r?8&3PXA;|AsK(yaa*S+rG`wd$Vd{3UU*rm=FAo7=lbZ=h9@
zTgp8O?(!4YL<=@<^jV8p8sjSg&sa^L%l!EiyW6Y(5eE4zSou@%Y5oO~XKzT5+q1kMFIUG{McE
zoL5Z_rNmS&i^>M4^V8$KX9`Y*@jcE>76*1EXXBwzbsb_iI&9m$NMxvU9f(6Zp2kp?
zCBDZy*{Dd$dg>kbS0}bP(rOib`-R@Nb64B&7HJRHhiw^ZoFK5~((CW$;_R9U!w_l2
z&OKIdg9;fVkJK8nX4CUlG+)8wpMG3MTk6eCw}EiqL_74JDSb~#;wIAq`?WTmL?Z+9
z4*{Y`6LFfg>@cLC>eKI%4-vbisB<~nk|90RlM
zb{!HCG@*TRUl1XVbuJ;RC)b;B=HbE|gML5B0IP_Kl(~K3xmeMIg9$eD9d@M}z2V#E
zS5S>Zm$1}V{C)m>J;dzJwCbs!ZnK_jFm{ir8$W2Eiwp63k#RI
zk8Xc43B~iWfOQ2yZ?V{Hc@jEaM#zVaw;P+0Bvnsv`bHW!9bRkLua{X%sd*_Y*ahc)
zf@N%c?hlitTn5!>QanK75lusUDmvwl#V#u4FsEF6%?nD+E*ipG
zEVbgfxfVJfz@tdVFo3$d#^@D^`uv%8Hwyu^KM*t6q>yY_$s_E(L4%h&#V5G2+iU!N
zD144j6d?2(0hhIP{Y@PlG}UKMeYT}yLb5Q|;oE<&p12c2X@Rytjr*D_N-yM@2dS!B
zfch8n_<&&4#gd!(YImyLL0#79kQLhKYI}GQ>xx~WrJ6QdEkc(qDMOaJ*?~DmYSRq#
zei4mcQjHL3VRgo>pbvc(V|+|xACe^}Eusbvb*D-()kqT&nF$vYU`L*;I
z6hoZOJ&#?{o#dmPuOe87sSRU-1v`^52?3Zj4ZY?Vwj_jG=iZqH9Wb1BNP93jmx*N9
z3kgvOA`!v5z_|kuseKO0R9l4i=@xV-aZSwo+)bObA7Qf%LbGyPNRh6UcE2lqv55Pg
zM-muhB|LChmuUD9sjB54?&n2{6n+IZO9(iB
zL?;V*Z9>QTRbloZi4GbAkYTk4;2jtYf$)Yj6mm%5r81(58W>RI~%
zhcgpwZ?&47@pOZuM{H8$>gNCO(tQrU**z3oizQT9T?@LS%etm_Rk>_;7K4Rd$^|Ee
z2zfGO-FBTwGw?51H18rdIc|0rP>=JU8A1mFtzEP?38n6K1v)Yw=q=7?mfh(xQ84c0
zpOG`gUGsC(xb{WZAViVxVtH#P#oZTrOO!4+jm87Ik9Pml0wkWF5Z!Igw^zzRGxzx<
zREaxVcpx(Wet3L_JhDv?I?1pKFxuZlw~^r?
z?=A@at^Ge#CD$rUaeq+q*NNt&j*)VoYdc)EA=;2A4EC1XwShr!GV*1-x~g_a#p+9P
z>6d=*@C2?t=6|cN0rP0|*_K^**GO}NQao;w2R(_RB|;MKcy-qw#AgEjukMc;nqL1y
zQ9{DQj|3+?V(|}Gpj@^5R+!0Ql?64|(+{c%d_40gE0$cWlxL+cB79~nW&^@jNge%K
zMCy!_ez1)oRD>DM4W2?I#q&I##r6ZGyE7^IgikDBc5_kpfGkGbPZN6TB@VIlu;&0MA`kU4F`Sj;kdh$k31
ztBioU3r4VV$4-iT^Xlc&^&9-Y0v7hAAJimFt<0o%>w5B6&88eJzyEn3#CxhEO}vXF
z!VWxLR#bXCfRsDt-@|ekVe>O^Kqx_vxL|$k?-krX
z{uV8)V@6aPK^7MBO<>t#7rx
zHJ+}&7R`>3c33^`Mi7y#gQ9vE2k(t|>^q>LDg0}3Bhv$QO*WjBn?8RUzd4%Te&7A{
zUWiSVM6@dEC;Z-16*=NJk;BS4{~+y+kK@3BZocX6p+yyrJ^(*hP0)nGle{lh1|v5^
zr|Q|-;(?BQKCpfdHqg_Qp9mZHa(GFKUQx0LDo81<&qo?NKISV^b2R~fQQC_uCQ2Dy
z3USj50JKGBn$@E4lQSJ#!3y)rB!adzk{UOa_NlD8*=DeqYZX^IEj`#s_jc9vSZ;NQ
zHcgh3C|(Mpr@`>7NXe~6OQzWo9Pd7YIj$`}pU`Yw0E@v|GdcfktrXj|w42?z%e{y*
z|DIOIr>4E%>^N7hD@H8GGq_?NR`wDhr!q5$4v@OX&vp%cU3{)wu&}pE#06+*3yO8a
z^&SNjN1@=$<0)f^V7;)jF*s4(OVtu3sFQD*f-kZK@}@mp#Cm3$OnDMBTckE?wvbfW
zQHsB*dHfaE7W9n>0DxZzAULp<;KOu55y@!WN60ECe}3X9X9lJMU`*DGEzJU6?&U>=
zk;e^xhKJtk+d}B7C;I@h#!~cxYq1?+(zZ4zgF1CQ*Xu&b7?TZ`zt06X80j`MLh-mf^T)Mdl5rl<=ym$_cZ6w{i0G?W3Yu*6mT
zHyr6e00JVQWDtFV7GTuZRK;RmDrhazQ%;ZH_?CHkOstth3ZMdd$sOrjbu3Dv_uFU5
z<{_}~aP#I<`kFuit#r>%3;D?%`<#k5$`@ZVFu^b)?0XV@dOAE$a+;q&!-F7-A?;hV
z8DOrVm-DEu7X0PZQiW$quL4Irpy1Qb7RULM%ttU9S!@p2y~RWSKbpRQJJP0Ww_`h*
zWP*up+n(6AJ+W=uwrx*r+Y{UN>F52{$sg#Is=I3MeW_p?;s*j(rTKXk!=6{?Mz2uUcXQ2jFj&;&2W?s;3}
z_SS^ueaL|hVkp7UL`?Z@^6@ctCGCfdK0x=`)v9DmwJX6IDSn~^Y`%g)p+mUjuv6BE
z37`B;|Bj$nIPFjv_k&ZKq@mks$x|+K)o_!IXQ%Kw6rsJ
z
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%0DyR#PgYv{BHJgE
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 S>#Jw5OmwvjG>b5|1OEjLP;=%0 diff --git a/previews/PR223/assets/gnddxfg.MvHnQDQM.png b/previews/PR223/assets/gnddxfg.MvHnQDQM.png deleted file mode 100644 index 0b51064257bd9dce8bd68f68ef75ceabd1706b5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64781 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 bEB^EEUh$2GlYjXFP~dpF`njxgN@xNAgz@8| literal 0 HcmV?d00001 diff --git a/previews/PR223/assets/nwqegug.0f3Lq4Lw.png b/previews/PR223/assets/mzjksah.0f3Lq4Lw.png similarity index 100% rename from previews/PR223/assets/nwqegug.0f3Lq4Lw.png rename to previews/PR223/assets/mzjksah.0f3Lq4Lw.png diff --git a/previews/PR223/assets/vxbkshs.D5-bot8v.png b/previews/PR223/assets/nlzqgxh.D5-bot8v.png similarity index 100% rename from previews/PR223/assets/vxbkshs.D5-bot8v.png rename to previews/PR223/assets/nlzqgxh.D5-bot8v.png diff --git a/previews/PR223/assets/ptydxfc.BiK0M_qB.png b/previews/PR223/assets/ptydxfc.BiK0M_qB.png new file mode 100644 index 0000000000000000000000000000000000000000..945f08bff4bb065c24b53f90710a9d3960e8a8c8 GIT binary patch literal 60315 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 |ZK{klm|=r#wgIe`bCa?5Eo?4|%h(n3sd0v9N&d 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 YgDY8PTv$JO3E8@O+B@hunl`8Z3)oI+vH$=8 diff --git a/previews/PR223/assets/solzdcc.DufL5FKR.png b/previews/PR223/assets/solzdcc.DufL5FKR.png deleted file mode 100644 index 8d6d6b93fbd52e04170e895262e16823a12eaab7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231615 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 z 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

    VL# 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

    ?DP>(W%bKE#7nNkhW28 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

julia
export angles

What is angles?

Angles are the angles formed by a given geometries line segments, if it has line segments.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/chngknt.Dig-DWOQ.png",y=JSON.parse('{"title":"Angles","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/angles.md","filePath":"source/methods/angles.md","lastUpdated":null}'),k={name:"source/methods/angles.md"};function t(p,s,e,r,E,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Angles

julia
export angles

What is angles?

Angles are the angles formed by a given geometries line segments, if it has line segments.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie, CairoMakie
 
diff --git a/previews/PR223/assets/source_methods_angles.md.Dzxr20g4.lean.js b/previews/PR223/assets/source_methods_angles.md.CFyV85aU.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_angles.md.Dzxr20g4.lean.js
rename to previews/PR223/assets/source_methods_angles.md.CFyV85aU.lean.js
index 36b4eb219..b81beedf4 100644
--- a/previews/PR223/assets/source_methods_angles.md.Dzxr20g4.lean.js
+++ b/previews/PR223/assets/source_methods_angles.md.CFyV85aU.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/necauet.Dig-DWOQ.png",y=JSON.parse('{"title":"Angles","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/angles.md","filePath":"source/methods/angles.md","lastUpdated":null}'),k={name:"source/methods/angles.md"};function t(p,s,e,r,E,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Angles

julia
export angles

What is angles?

Angles are the angles formed by a given geometries line segments, if it has line segments.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/chngknt.Dig-DWOQ.png",y=JSON.parse('{"title":"Angles","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/angles.md","filePath":"source/methods/angles.md","lastUpdated":null}'),k={name:"source/methods/angles.md"};function t(p,s,e,r,E,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Angles

julia
export angles

What is angles?

Angles are the angles formed by a given geometries line segments, if it has line segments.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie, CairoMakie
 
diff --git a/previews/PR223/assets/source_methods_area.md.hMXm3ro6.js b/previews/PR223/assets/source_methods_area.md.Dor8_EOc.js
similarity index 99%
rename from previews/PR223/assets/source_methods_area.md.hMXm3ro6.js
rename to previews/PR223/assets/source_methods_area.md.Dor8_EOc.js
index 6ce3f01ff..47eb4a2ab 100644
--- a/previews/PR223/assets/source_methods_area.md.hMXm3ro6.js
+++ b/previews/PR223/assets/source_methods_area.md.Dor8_EOc.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/necauet.Dig-DWOQ.png",e="/GeometryOps.jl/previews/PR223/assets/rpjfmvk.CULn5saZ.png",y=JSON.parse('{"title":"Area and signed area","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/area.md","filePath":"source/methods/area.md","lastUpdated":null}'),l={name:"source/methods/area.md"};function p(k,s,r,d,g,E){return h(),a("div",null,s[0]||(s[0]=[n(`

Area and signed area

julia
export area, signed_area

What is area? What is signed area?

Area is the amount of space occupied by a two-dimensional figure. It is always a positive value. Signed area is simply the integral over the exterior path of a polygon, minus the sum of integrals over its interior holes. It is signed such that a clockwise path has a positive area, and a counterclockwise path has a negative area. The area is the absolute value of the signed area.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/chngknt.Dig-DWOQ.png",e="/GeometryOps.jl/previews/PR223/assets/eqkkufv.CULn5saZ.png",y=JSON.parse('{"title":"Area and signed area","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/area.md","filePath":"source/methods/area.md","lastUpdated":null}'),l={name:"source/methods/area.md"};function p(k,s,r,d,g,E){return h(),a("div",null,s[0]||(s[0]=[n(`

Area and signed area

julia
export area, signed_area

What is area? What is signed area?

Area is the amount of space occupied by a two-dimensional figure. It is always a positive value. Signed area is simply the integral over the exterior path of a polygon, minus the sum of integrals over its interior holes. It is signed such that a clockwise path has a positive area, and a counterclockwise path has a negative area. The area is the absolute value of the signed area.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_area.md.hMXm3ro6.lean.js b/previews/PR223/assets/source_methods_area.md.Dor8_EOc.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_area.md.hMXm3ro6.lean.js
rename to previews/PR223/assets/source_methods_area.md.Dor8_EOc.lean.js
index 6ce3f01ff..47eb4a2ab 100644
--- a/previews/PR223/assets/source_methods_area.md.hMXm3ro6.lean.js
+++ b/previews/PR223/assets/source_methods_area.md.Dor8_EOc.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/necauet.Dig-DWOQ.png",e="/GeometryOps.jl/previews/PR223/assets/rpjfmvk.CULn5saZ.png",y=JSON.parse('{"title":"Area and signed area","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/area.md","filePath":"source/methods/area.md","lastUpdated":null}'),l={name:"source/methods/area.md"};function p(k,s,r,d,g,E){return h(),a("div",null,s[0]||(s[0]=[n(`

Area and signed area

julia
export area, signed_area

What is area? What is signed area?

Area is the amount of space occupied by a two-dimensional figure. It is always a positive value. Signed area is simply the integral over the exterior path of a polygon, minus the sum of integrals over its interior holes. It is signed such that a clockwise path has a positive area, and a counterclockwise path has a negative area. The area is the absolute value of the signed area.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/chngknt.Dig-DWOQ.png",e="/GeometryOps.jl/previews/PR223/assets/eqkkufv.CULn5saZ.png",y=JSON.parse('{"title":"Area and signed area","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/area.md","filePath":"source/methods/area.md","lastUpdated":null}'),l={name:"source/methods/area.md"};function p(k,s,r,d,g,E){return h(),a("div",null,s[0]||(s[0]=[n(`

Area and signed area

julia
export area, signed_area

What is area? What is signed area?

Area is the amount of space occupied by a two-dimensional figure. It is always a positive value. Signed area is simply the integral over the exterior path of a polygon, minus the sum of integrals over its interior holes. It is signed such that a clockwise path has a positive area, and a counterclockwise path has a negative area. The area is the absolute value of the signed area.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_barycentric.md.BOm5-3sa.js b/previews/PR223/assets/source_methods_barycentric.md.IQ3avhuX.js
similarity index 99%
rename from previews/PR223/assets/source_methods_barycentric.md.BOm5-3sa.js
rename to previews/PR223/assets/source_methods_barycentric.md.IQ3avhuX.js
index d5d58bb1c..edd45ea1e 100644
--- a/previews/PR223/assets/source_methods_barycentric.md.BOm5-3sa.js
+++ b/previews/PR223/assets/source_methods_barycentric.md.IQ3avhuX.js
@@ -1,4 +1,4 @@
-import{_ as k,c as n,a5 as t,j as s,a,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/pshwumy.pAYw0Yqf.png",m=JSON.parse('{"title":"Barycentric coordinates","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/barycentric.md","filePath":"source/methods/barycentric.md","lastUpdated":null}'),p={name:"source/methods/barycentric.md"},e={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},E={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"10.692ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 4726 1000","aria-hidden":"true"},r={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},g={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},y={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},F={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},o={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"14.876ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 6575.4 1000","aria-hidden":"true"};function C(c,i,B,A,D,u){return h(),n("div",null,[i[14]||(i[14]=t(`

Barycentric coordinates

julia
export barycentric_coordinates, barycentric_coordinates!, barycentric_interpolate
+import{_ as k,c as n,a5 as t,j as s,a,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/ygymlzv.pAYw0Yqf.png",m=JSON.parse('{"title":"Barycentric coordinates","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/barycentric.md","filePath":"source/methods/barycentric.md","lastUpdated":null}'),p={name:"source/methods/barycentric.md"},e={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},E={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"10.692ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 4726 1000","aria-hidden":"true"},r={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},g={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},y={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},F={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},o={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"14.876ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 6575.4 1000","aria-hidden":"true"};function C(c,i,B,A,D,u){return h(),n("div",null,[i[14]||(i[14]=t(`

Barycentric coordinates

julia
export barycentric_coordinates, barycentric_coordinates!, barycentric_interpolate
 export MeanValue

Generalized barycentric coordinates are a generalization of barycentric coordinates, which are typically used in triangles, to arbitrary polygons.

They provide a way to express a point within a polygon as a weighted average of the polygon's vertices.

`,4)),s("p",null,[i[2]||(i[2]=a("In the case of a triangle, barycentric coordinates are a set of three numbers ")),s("mjx-container",e,[(h(),n("svg",E,i[0]||(i[0]=[t('',1)]))),i[1]||(i[1]=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mo",{stretchy:"false"},"("),s("msub",null,[s("mi",null,"λ"),s("mn",null,"1")]),s("mo",null,","),s("msub",null,[s("mi",null,"λ"),s("mn",null,"2")]),s("mo",null,","),s("msub",null,[s("mi",null,"λ"),s("mn",null,"3")]),s("mo",{stretchy:"false"},")")])],-1))]),i[3]||(i[3]=a(", each associated with a vertex of the triangle. Any point within the triangle can be expressed as a weighted average of the vertices, where the weights are the barycentric coordinates. The weights sum to 1, and each is non-negative."))]),s("p",null,[i[10]||(i[10]=a("For a polygon with ")),s("mjx-container",r,[(h(),n("svg",d,i[4]||(i[4]=[s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1)]))),i[5]||(i[5]=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n")])],-1))]),i[11]||(i[11]=a(" vertices, generalized barycentric coordinates are a set of ")),s("mjx-container",g,[(h(),n("svg",y,i[6]||(i[6]=[s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1)]))),i[7]||(i[7]=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n")])],-1))]),i[12]||(i[12]=a(" numbers ")),s("mjx-container",F,[(h(),n("svg",o,i[8]||(i[8]=[t('',1)]))),i[9]||(i[9]=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mo",{stretchy:"false"},"("),s("msub",null,[s("mi",null,"λ"),s("mn",null,"1")]),s("mo",null,","),s("msub",null,[s("mi",null,"λ"),s("mn",null,"2")]),s("mo",null,","),s("mo",null,"."),s("mo",null,"."),s("mo",null,"."),s("mo",null,","),s("msub",null,[s("mi",null,"λ"),s("mi",null,"n")]),s("mo",{stretchy:"false"},")")])],-1))]),i[13]||(i[13]=a(", each associated with a vertex of the polygon. Any point within the polygon can be expressed as a weighted average of the vertices, where the weights are the generalized barycentric coordinates."))]),i[15]||(i[15]=t(`

As with the triangle case, the weights sum to 1, and each is non-negative.

Example

This example was taken from this page of CGAL's documentation.

julia
using GeometryOps
 using GeometryOps.GeometryBasics
 using Makie
diff --git a/previews/PR223/assets/source_methods_barycentric.md.BOm5-3sa.lean.js b/previews/PR223/assets/source_methods_barycentric.md.IQ3avhuX.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_barycentric.md.BOm5-3sa.lean.js
rename to previews/PR223/assets/source_methods_barycentric.md.IQ3avhuX.lean.js
index d5d58bb1c..edd45ea1e 100644
--- a/previews/PR223/assets/source_methods_barycentric.md.BOm5-3sa.lean.js
+++ b/previews/PR223/assets/source_methods_barycentric.md.IQ3avhuX.lean.js
@@ -1,4 +1,4 @@
-import{_ as k,c as n,a5 as t,j as s,a,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/pshwumy.pAYw0Yqf.png",m=JSON.parse('{"title":"Barycentric coordinates","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/barycentric.md","filePath":"source/methods/barycentric.md","lastUpdated":null}'),p={name:"source/methods/barycentric.md"},e={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},E={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"10.692ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 4726 1000","aria-hidden":"true"},r={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},g={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},y={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},F={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},o={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"14.876ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 6575.4 1000","aria-hidden":"true"};function C(c,i,B,A,D,u){return h(),n("div",null,[i[14]||(i[14]=t(`

Barycentric coordinates

julia
export barycentric_coordinates, barycentric_coordinates!, barycentric_interpolate
+import{_ as k,c as n,a5 as t,j as s,a,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/ygymlzv.pAYw0Yqf.png",m=JSON.parse('{"title":"Barycentric coordinates","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/barycentric.md","filePath":"source/methods/barycentric.md","lastUpdated":null}'),p={name:"source/methods/barycentric.md"},e={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},E={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"10.692ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 4726 1000","aria-hidden":"true"},r={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},g={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},y={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},F={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},o={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"14.876ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 6575.4 1000","aria-hidden":"true"};function C(c,i,B,A,D,u){return h(),n("div",null,[i[14]||(i[14]=t(`

Barycentric coordinates

julia
export barycentric_coordinates, barycentric_coordinates!, barycentric_interpolate
 export MeanValue

Generalized barycentric coordinates are a generalization of barycentric coordinates, which are typically used in triangles, to arbitrary polygons.

They provide a way to express a point within a polygon as a weighted average of the polygon's vertices.

`,4)),s("p",null,[i[2]||(i[2]=a("In the case of a triangle, barycentric coordinates are a set of three numbers ")),s("mjx-container",e,[(h(),n("svg",E,i[0]||(i[0]=[t('',1)]))),i[1]||(i[1]=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mo",{stretchy:"false"},"("),s("msub",null,[s("mi",null,"λ"),s("mn",null,"1")]),s("mo",null,","),s("msub",null,[s("mi",null,"λ"),s("mn",null,"2")]),s("mo",null,","),s("msub",null,[s("mi",null,"λ"),s("mn",null,"3")]),s("mo",{stretchy:"false"},")")])],-1))]),i[3]||(i[3]=a(", each associated with a vertex of the triangle. Any point within the triangle can be expressed as a weighted average of the vertices, where the weights are the barycentric coordinates. The weights sum to 1, and each is non-negative."))]),s("p",null,[i[10]||(i[10]=a("For a polygon with ")),s("mjx-container",r,[(h(),n("svg",d,i[4]||(i[4]=[s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1)]))),i[5]||(i[5]=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n")])],-1))]),i[11]||(i[11]=a(" vertices, generalized barycentric coordinates are a set of ")),s("mjx-container",g,[(h(),n("svg",y,i[6]||(i[6]=[s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1)]))),i[7]||(i[7]=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n")])],-1))]),i[12]||(i[12]=a(" numbers ")),s("mjx-container",F,[(h(),n("svg",o,i[8]||(i[8]=[t('',1)]))),i[9]||(i[9]=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mo",{stretchy:"false"},"("),s("msub",null,[s("mi",null,"λ"),s("mn",null,"1")]),s("mo",null,","),s("msub",null,[s("mi",null,"λ"),s("mn",null,"2")]),s("mo",null,","),s("mo",null,"."),s("mo",null,"."),s("mo",null,"."),s("mo",null,","),s("msub",null,[s("mi",null,"λ"),s("mi",null,"n")]),s("mo",{stretchy:"false"},")")])],-1))]),i[13]||(i[13]=a(", each associated with a vertex of the polygon. Any point within the polygon can be expressed as a weighted average of the vertices, where the weights are the generalized barycentric coordinates."))]),i[15]||(i[15]=t(`

As with the triangle case, the weights sum to 1, and each is non-negative.

Example

This example was taken from this page of CGAL's documentation.

julia
using GeometryOps
 using GeometryOps.GeometryBasics
 using Makie
diff --git a/previews/PR223/assets/source_methods_centroid.md.CZ5i0Tz0.js b/previews/PR223/assets/source_methods_centroid.md.B3tICoCs.js
similarity index 99%
rename from previews/PR223/assets/source_methods_centroid.md.CZ5i0Tz0.js
rename to previews/PR223/assets/source_methods_centroid.md.B3tICoCs.js
index 3903ab522..4b78bd265 100644
--- a/previews/PR223/assets/source_methods_centroid.md.CZ5i0Tz0.js
+++ b/previews/PR223/assets/source_methods_centroid.md.B3tICoCs.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/fezdlry.BD0hVfse.png",k="/GeometryOps.jl/previews/PR223/assets/ahqcxdg.DHcwB147.png",o=JSON.parse('{"title":"Centroid","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/centroid.md","filePath":"source/methods/centroid.md","lastUpdated":null}'),l={name:"source/methods/centroid.md"};function p(e,s,r,E,d,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Centroid

julia
export centroid, centroid_and_length, centroid_and_area

What is the centroid?

The centroid is the geometric center of a line string or area(s). Note that the centroid does not need to be inside of a concave area.

Further note that by convention a line, or linear ring, is calculated by weighting the line segments by their length, while polygons and multipolygon centroids are calculated by weighting edge's by their 'area components'.

To provide an example, consider this concave polygon in the shape of a 'C':

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/zqouyml.BD0hVfse.png",k="/GeometryOps.jl/previews/PR223/assets/eqdgkry.DHcwB147.png",o=JSON.parse('{"title":"Centroid","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/centroid.md","filePath":"source/methods/centroid.md","lastUpdated":null}'),l={name:"source/methods/centroid.md"};function p(e,s,r,E,d,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Centroid

julia
export centroid, centroid_and_length, centroid_and_area

What is the centroid?

The centroid is the geometric center of a line string or area(s). Note that the centroid does not need to be inside of a concave area.

Further note that by convention a line, or linear ring, is calculated by weighting the line segments by their length, while polygons and multipolygon centroids are calculated by weighting edge's by their 'area components'.

To provide an example, consider this concave polygon in the shape of a 'C':

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_centroid.md.CZ5i0Tz0.lean.js b/previews/PR223/assets/source_methods_centroid.md.B3tICoCs.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_centroid.md.CZ5i0Tz0.lean.js
rename to previews/PR223/assets/source_methods_centroid.md.B3tICoCs.lean.js
index 3903ab522..4b78bd265 100644
--- a/previews/PR223/assets/source_methods_centroid.md.CZ5i0Tz0.lean.js
+++ b/previews/PR223/assets/source_methods_centroid.md.B3tICoCs.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/fezdlry.BD0hVfse.png",k="/GeometryOps.jl/previews/PR223/assets/ahqcxdg.DHcwB147.png",o=JSON.parse('{"title":"Centroid","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/centroid.md","filePath":"source/methods/centroid.md","lastUpdated":null}'),l={name:"source/methods/centroid.md"};function p(e,s,r,E,d,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Centroid

julia
export centroid, centroid_and_length, centroid_and_area

What is the centroid?

The centroid is the geometric center of a line string or area(s). Note that the centroid does not need to be inside of a concave area.

Further note that by convention a line, or linear ring, is calculated by weighting the line segments by their length, while polygons and multipolygon centroids are calculated by weighting edge's by their 'area components'.

To provide an example, consider this concave polygon in the shape of a 'C':

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/zqouyml.BD0hVfse.png",k="/GeometryOps.jl/previews/PR223/assets/eqdgkry.DHcwB147.png",o=JSON.parse('{"title":"Centroid","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/centroid.md","filePath":"source/methods/centroid.md","lastUpdated":null}'),l={name:"source/methods/centroid.md"};function p(e,s,r,E,d,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Centroid

julia
export centroid, centroid_and_length, centroid_and_area

What is the centroid?

The centroid is the geometric center of a line string or area(s). Note that the centroid does not need to be inside of a concave area.

Further note that by convention a line, or linear ring, is calculated by weighting the line segments by their length, while polygons and multipolygon centroids are calculated by weighting edge's by their 'area components'.

To provide an example, consider this concave polygon in the shape of a 'C':

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_clipping_coverage.md.Bd2PlN2T.js b/previews/PR223/assets/source_methods_clipping_coverage.md.DJG8fTlE.js
similarity index 99%
rename from previews/PR223/assets/source_methods_clipping_coverage.md.Bd2PlN2T.js
rename to previews/PR223/assets/source_methods_clipping_coverage.md.DJG8fTlE.js
index c6226ba8d..8ed76e569 100644
--- a/previews/PR223/assets/source_methods_clipping_coverage.md.Bd2PlN2T.js
+++ b/previews/PR223/assets/source_methods_clipping_coverage.md.DJG8fTlE.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/xhpmtze.Cb0_DiYE.png",y=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/clipping/coverage.md","filePath":"source/methods/clipping/coverage.md","lastUpdated":null}'),k={name:"source/methods/clipping/coverage.md"};function p(t,s,e,E,r,d){return h(),a("div",null,s[0]||(s[0]=[n(`
julia
export coverage

What is coverage?

Coverage is the amount of geometry area within a bounding box defined by the minimum and maximum x and y-coordinates of that bounding box, or an Extent containing that information.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/wfvzrpb.Cb0_DiYE.png",y=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/clipping/coverage.md","filePath":"source/methods/clipping/coverage.md","lastUpdated":null}'),k={name:"source/methods/clipping/coverage.md"};function p(t,s,e,E,r,d){return h(),a("div",null,s[0]||(s[0]=[n(`
julia
export coverage

What is coverage?

Coverage is the amount of geometry area within a bounding box defined by the minimum and maximum x and y-coordinates of that bounding box, or an Extent containing that information.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_clipping_coverage.md.Bd2PlN2T.lean.js b/previews/PR223/assets/source_methods_clipping_coverage.md.DJG8fTlE.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_clipping_coverage.md.Bd2PlN2T.lean.js
rename to previews/PR223/assets/source_methods_clipping_coverage.md.DJG8fTlE.lean.js
index c6226ba8d..8ed76e569 100644
--- a/previews/PR223/assets/source_methods_clipping_coverage.md.Bd2PlN2T.lean.js
+++ b/previews/PR223/assets/source_methods_clipping_coverage.md.DJG8fTlE.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/xhpmtze.Cb0_DiYE.png",y=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/clipping/coverage.md","filePath":"source/methods/clipping/coverage.md","lastUpdated":null}'),k={name:"source/methods/clipping/coverage.md"};function p(t,s,e,E,r,d){return h(),a("div",null,s[0]||(s[0]=[n(`
julia
export coverage

What is coverage?

Coverage is the amount of geometry area within a bounding box defined by the minimum and maximum x and y-coordinates of that bounding box, or an Extent containing that information.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/wfvzrpb.Cb0_DiYE.png",y=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/clipping/coverage.md","filePath":"source/methods/clipping/coverage.md","lastUpdated":null}'),k={name:"source/methods/clipping/coverage.md"};function p(t,s,e,E,r,d){return h(),a("div",null,s[0]||(s[0]=[n(`
julia
export coverage

What is coverage?

Coverage is the amount of geometry area within a bounding box defined by the minimum and maximum x and y-coordinates of that bounding box, or an Extent containing that information.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_clipping_cut.md.DcYuqVoa.js b/previews/PR223/assets/source_methods_clipping_cut.md.DZpjAZPm.js
similarity index 99%
rename from previews/PR223/assets/source_methods_clipping_cut.md.DcYuqVoa.js
rename to previews/PR223/assets/source_methods_clipping_cut.md.DZpjAZPm.js
index 438eb88f3..ab924836e 100644
--- a/previews/PR223/assets/source_methods_clipping_cut.md.DcYuqVoa.js
+++ b/previews/PR223/assets/source_methods_clipping_cut.md.DZpjAZPm.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/kblkfvg.-VpeHhXX.png",y=JSON.parse('{"title":"Polygon cutting","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/clipping/cut.md","filePath":"source/methods/clipping/cut.md","lastUpdated":null}'),l={name:"source/methods/clipping/cut.md"};function p(k,s,e,r,E,d){return h(),a("div",null,s[0]||(s[0]=[n(`

Polygon cutting

julia
export cut

What is cut?

The cut function cuts a polygon through a line segment. This is inspired by functions such as Matlab's cutpolygon function.

To provide an example, consider the following polygon and line:

julia
import GeoInterface as GI, GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/zlfuoxk.-VpeHhXX.png",y=JSON.parse('{"title":"Polygon cutting","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/clipping/cut.md","filePath":"source/methods/clipping/cut.md","lastUpdated":null}'),l={name:"source/methods/clipping/cut.md"};function p(k,s,e,r,E,d){return h(),a("div",null,s[0]||(s[0]=[n(`

Polygon cutting

julia
export cut

What is cut?

The cut function cuts a polygon through a line segment. This is inspired by functions such as Matlab's cutpolygon function.

To provide an example, consider the following polygon and line:

julia
import GeoInterface as GI, GeometryOps as GO
 using CairoMakie
 using Makie
 
diff --git a/previews/PR223/assets/source_methods_clipping_cut.md.DcYuqVoa.lean.js b/previews/PR223/assets/source_methods_clipping_cut.md.DZpjAZPm.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_clipping_cut.md.DcYuqVoa.lean.js
rename to previews/PR223/assets/source_methods_clipping_cut.md.DZpjAZPm.lean.js
index 438eb88f3..ab924836e 100644
--- a/previews/PR223/assets/source_methods_clipping_cut.md.DcYuqVoa.lean.js
+++ b/previews/PR223/assets/source_methods_clipping_cut.md.DZpjAZPm.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/kblkfvg.-VpeHhXX.png",y=JSON.parse('{"title":"Polygon cutting","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/clipping/cut.md","filePath":"source/methods/clipping/cut.md","lastUpdated":null}'),l={name:"source/methods/clipping/cut.md"};function p(k,s,e,r,E,d){return h(),a("div",null,s[0]||(s[0]=[n(`

Polygon cutting

julia
export cut

What is cut?

The cut function cuts a polygon through a line segment. This is inspired by functions such as Matlab's cutpolygon function.

To provide an example, consider the following polygon and line:

julia
import GeoInterface as GI, GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/zlfuoxk.-VpeHhXX.png",y=JSON.parse('{"title":"Polygon cutting","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/clipping/cut.md","filePath":"source/methods/clipping/cut.md","lastUpdated":null}'),l={name:"source/methods/clipping/cut.md"};function p(k,s,e,r,E,d){return h(),a("div",null,s[0]||(s[0]=[n(`

Polygon cutting

julia
export cut

What is cut?

The cut function cuts a polygon through a line segment. This is inspired by functions such as Matlab's cutpolygon function.

To provide an example, consider the following polygon and line:

julia
import GeoInterface as GI, GeometryOps as GO
 using CairoMakie
 using Makie
 
diff --git a/previews/PR223/assets/source_methods_convex_hull.md.H6dVDSs8.js b/previews/PR223/assets/source_methods_convex_hull.md.BsqZtIMn.js
similarity index 99%
rename from previews/PR223/assets/source_methods_convex_hull.md.H6dVDSs8.js
rename to previews/PR223/assets/source_methods_convex_hull.md.BsqZtIMn.js
index f42b93f36..4c417bc7f 100644
--- a/previews/PR223/assets/source_methods_convex_hull.md.H6dVDSs8.js
+++ b/previews/PR223/assets/source_methods_convex_hull.md.BsqZtIMn.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/fsaauym.CJl_CExE.png",h="/GeometryOps.jl/previews/PR223/assets/mbwtmui.mCtKcWOr.png",e="/GeometryOps.jl/previews/PR223/assets/bykgbez.DdZwFL14.png",c=JSON.parse('{"title":"Convex hull","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/convex_hull.md","filePath":"source/methods/convex_hull.md","lastUpdated":null}'),p={name:"source/methods/convex_hull.md"};function k(r,s,o,d,E,g){return l(),a("div",null,s[0]||(s[0]=[n(`

Convex hull

The convex hull of a set of points is the smallest convex polygon that contains all the points.

GeometryOps.jl provides a number of methods for computing the convex hull of a set of points, usually linked to other Julia packages.

For now, we expose one algorithm, MonotoneChainMethod, which uses the DelaunayTriangulation.jl package. The GEOS() interface also supports convex hulls.

Future work could include other algorithms, such as Quickhull.jl, or similar, via package extensions.

Example

Simple hull

julia
import GeometryOps as GO, GeoInterface as GI
+import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const h="/GeometryOps.jl/previews/PR223/assets/mpnpywm.D34hDgvP.png",t="/GeometryOps.jl/previews/PR223/assets/xhczifw.mCtKcWOr.png",e="/GeometryOps.jl/previews/PR223/assets/aobwfey.4Jhg0EL5.png",c=JSON.parse('{"title":"Convex hull","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/convex_hull.md","filePath":"source/methods/convex_hull.md","lastUpdated":null}'),p={name:"source/methods/convex_hull.md"};function k(r,s,o,d,E,g){return l(),a("div",null,s[0]||(s[0]=[n(`

Convex hull

The convex hull of a set of points is the smallest convex polygon that contains all the points.

GeometryOps.jl provides a number of methods for computing the convex hull of a set of points, usually linked to other Julia packages.

For now, we expose one algorithm, MonotoneChainMethod, which uses the DelaunayTriangulation.jl package. The GEOS() interface also supports convex hulls.

Future work could include other algorithms, such as Quickhull.jl, or similar, via package extensions.

Example

Simple hull

julia
import GeometryOps as GO, GeoInterface as GI
 using CairoMakie # to plot
 
 points = randn(GO.Point2f, 100)
@@ -6,7 +6,7 @@ import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const t
 hull_poly = GO.convex_hull(points)
 lines!(a, hull_poly; label = "Convex hull", color = Makie.wong_colors()[2])
 axislegend(a)
-f

Convex hull of the USA

julia
import GeometryOps as GO, GeoInterface as GI
+f

Convex hull of the USA

julia
import GeometryOps as GO, GeoInterface as GI
 using CairoMakie # to plot
 using NaturalEarth # for data
 
@@ -14,7 +14,7 @@ import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const t
 usa = all_adm0.geometry[findfirst(==("USA"), all_adm0.ADM0_A3)]
 f, a, p = lines(usa)
 lines!(a, GO.convex_hull(usa); color = Makie.wong_colors()[2])
-f

Investigating the winding order

The winding order of the monotone chain method is counterclockwise, while the winding order of the GEOS method is clockwise.

GeometryOps' convexity detection says that the GEOS hull is convex, while the monotone chain method hull is not. However, they are both going over the same points (we checked), it's just that the winding order is different.

In reality, both sets are convex, but we need to fix the GeometryOps convexity detector (isconcave)!

We may also decide at a later date to change the returned winding order of the polygon, but most algorithms are robust to that, and you can always fix it...

julia
import GeoInterface as GI, GeometryOps as GO, LibGEOS as LG
+f

Investigating the winding order

The winding order of the monotone chain method is counterclockwise, while the winding order of the GEOS method is clockwise.

GeometryOps' convexity detection says that the GEOS hull is convex, while the monotone chain method hull is not. However, they are both going over the same points (we checked), it's just that the winding order is different.

In reality, both sets are convex, but we need to fix the GeometryOps convexity detector (isconcave)!

We may also decide at a later date to change the returned winding order of the polygon, but most algorithms are robust to that, and you can always fix it...

julia
import GeoInterface as GI, GeometryOps as GO, LibGEOS as LG
 using CairoMakie # to plot
 
 points = rand(Point2{Float64}, 100)
diff --git a/previews/PR223/assets/source_methods_convex_hull.md.H6dVDSs8.lean.js b/previews/PR223/assets/source_methods_convex_hull.md.BsqZtIMn.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_convex_hull.md.H6dVDSs8.lean.js
rename to previews/PR223/assets/source_methods_convex_hull.md.BsqZtIMn.lean.js
index f42b93f36..4c417bc7f 100644
--- a/previews/PR223/assets/source_methods_convex_hull.md.H6dVDSs8.lean.js
+++ b/previews/PR223/assets/source_methods_convex_hull.md.BsqZtIMn.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/fsaauym.CJl_CExE.png",h="/GeometryOps.jl/previews/PR223/assets/mbwtmui.mCtKcWOr.png",e="/GeometryOps.jl/previews/PR223/assets/bykgbez.DdZwFL14.png",c=JSON.parse('{"title":"Convex hull","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/convex_hull.md","filePath":"source/methods/convex_hull.md","lastUpdated":null}'),p={name:"source/methods/convex_hull.md"};function k(r,s,o,d,E,g){return l(),a("div",null,s[0]||(s[0]=[n(`

Convex hull

The convex hull of a set of points is the smallest convex polygon that contains all the points.

GeometryOps.jl provides a number of methods for computing the convex hull of a set of points, usually linked to other Julia packages.

For now, we expose one algorithm, MonotoneChainMethod, which uses the DelaunayTriangulation.jl package. The GEOS() interface also supports convex hulls.

Future work could include other algorithms, such as Quickhull.jl, or similar, via package extensions.

Example

Simple hull

julia
import GeometryOps as GO, GeoInterface as GI
+import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const h="/GeometryOps.jl/previews/PR223/assets/mpnpywm.D34hDgvP.png",t="/GeometryOps.jl/previews/PR223/assets/xhczifw.mCtKcWOr.png",e="/GeometryOps.jl/previews/PR223/assets/aobwfey.4Jhg0EL5.png",c=JSON.parse('{"title":"Convex hull","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/convex_hull.md","filePath":"source/methods/convex_hull.md","lastUpdated":null}'),p={name:"source/methods/convex_hull.md"};function k(r,s,o,d,E,g){return l(),a("div",null,s[0]||(s[0]=[n(`

Convex hull

The convex hull of a set of points is the smallest convex polygon that contains all the points.

GeometryOps.jl provides a number of methods for computing the convex hull of a set of points, usually linked to other Julia packages.

For now, we expose one algorithm, MonotoneChainMethod, which uses the DelaunayTriangulation.jl package. The GEOS() interface also supports convex hulls.

Future work could include other algorithms, such as Quickhull.jl, or similar, via package extensions.

Example

Simple hull

julia
import GeometryOps as GO, GeoInterface as GI
 using CairoMakie # to plot
 
 points = randn(GO.Point2f, 100)
@@ -6,7 +6,7 @@ import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const t
 hull_poly = GO.convex_hull(points)
 lines!(a, hull_poly; label = "Convex hull", color = Makie.wong_colors()[2])
 axislegend(a)
-f

Convex hull of the USA

julia
import GeometryOps as GO, GeoInterface as GI
+f

Convex hull of the USA

julia
import GeometryOps as GO, GeoInterface as GI
 using CairoMakie # to plot
 using NaturalEarth # for data
 
@@ -14,7 +14,7 @@ import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const t
 usa = all_adm0.geometry[findfirst(==("USA"), all_adm0.ADM0_A3)]
 f, a, p = lines(usa)
 lines!(a, GO.convex_hull(usa); color = Makie.wong_colors()[2])
-f

Investigating the winding order

The winding order of the monotone chain method is counterclockwise, while the winding order of the GEOS method is clockwise.

GeometryOps' convexity detection says that the GEOS hull is convex, while the monotone chain method hull is not. However, they are both going over the same points (we checked), it's just that the winding order is different.

In reality, both sets are convex, but we need to fix the GeometryOps convexity detector (isconcave)!

We may also decide at a later date to change the returned winding order of the polygon, but most algorithms are robust to that, and you can always fix it...

julia
import GeoInterface as GI, GeometryOps as GO, LibGEOS as LG
+f

Investigating the winding order

The winding order of the monotone chain method is counterclockwise, while the winding order of the GEOS method is clockwise.

GeometryOps' convexity detection says that the GEOS hull is convex, while the monotone chain method hull is not. However, they are both going over the same points (we checked), it's just that the winding order is different.

In reality, both sets are convex, but we need to fix the GeometryOps convexity detector (isconcave)!

We may also decide at a later date to change the returned winding order of the polygon, but most algorithms are robust to that, and you can always fix it...

julia
import GeoInterface as GI, GeometryOps as GO, LibGEOS as LG
 using CairoMakie # to plot
 
 points = rand(Point2{Float64}, 100)
diff --git a/previews/PR223/assets/source_methods_distance.md.Wp7q1S1Y.js b/previews/PR223/assets/source_methods_distance.md.CGmX1xZt.js
similarity index 99%
rename from previews/PR223/assets/source_methods_distance.md.Wp7q1S1Y.js
rename to previews/PR223/assets/source_methods_distance.md.CGmX1xZt.js
index c9252b7d9..38ec2353c 100644
--- a/previews/PR223/assets/source_methods_distance.md.Wp7q1S1Y.js
+++ b/previews/PR223/assets/source_methods_distance.md.CGmX1xZt.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/savojqb.DiwGEg2f.png",k="/GeometryOps.jl/previews/PR223/assets/tsayejq.DuBHk1fh.png",F=JSON.parse('{"title":"Distance and signed distance","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/distance.md","filePath":"source/methods/distance.md","lastUpdated":null}'),p={name:"source/methods/distance.md"};function l(e,s,d,E,r,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Distance and signed distance

julia
export distance, signed_distance

What is distance? What is signed distance?

Distance is the distance of a point to another geometry. This is always a positive number. If a point is inside of geometry, so on a curve or inside of a polygon, the distance will be zero. Signed distance is mainly used for polygons and multipolygons. If a point is outside of a geometry, signed distance has the same value as distance. However, points within the geometry have a negative distance representing the distance of a point to the closest boundary. Therefore, for all "non-filled" geometries, like curves, the distance will either be positive or 0.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/iwjures.DiwGEg2f.png",k="/GeometryOps.jl/previews/PR223/assets/pzlohxn.DuBHk1fh.png",F=JSON.parse('{"title":"Distance and signed distance","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/distance.md","filePath":"source/methods/distance.md","lastUpdated":null}'),p={name:"source/methods/distance.md"};function l(e,s,d,E,r,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Distance and signed distance

julia
export distance, signed_distance

What is distance? What is signed distance?

Distance is the distance of a point to another geometry. This is always a positive number. If a point is inside of geometry, so on a curve or inside of a polygon, the distance will be zero. Signed distance is mainly used for polygons and multipolygons. If a point is outside of a geometry, signed distance has the same value as distance. However, points within the geometry have a negative distance representing the distance of a point to the closest boundary. Therefore, for all "non-filled" geometries, like curves, the distance will either be positive or 0.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_distance.md.Wp7q1S1Y.lean.js b/previews/PR223/assets/source_methods_distance.md.CGmX1xZt.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_distance.md.Wp7q1S1Y.lean.js
rename to previews/PR223/assets/source_methods_distance.md.CGmX1xZt.lean.js
index c9252b7d9..38ec2353c 100644
--- a/previews/PR223/assets/source_methods_distance.md.Wp7q1S1Y.lean.js
+++ b/previews/PR223/assets/source_methods_distance.md.CGmX1xZt.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/savojqb.DiwGEg2f.png",k="/GeometryOps.jl/previews/PR223/assets/tsayejq.DuBHk1fh.png",F=JSON.parse('{"title":"Distance and signed distance","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/distance.md","filePath":"source/methods/distance.md","lastUpdated":null}'),p={name:"source/methods/distance.md"};function l(e,s,d,E,r,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Distance and signed distance

julia
export distance, signed_distance

What is distance? What is signed distance?

Distance is the distance of a point to another geometry. This is always a positive number. If a point is inside of geometry, so on a curve or inside of a polygon, the distance will be zero. Signed distance is mainly used for polygons and multipolygons. If a point is outside of a geometry, signed distance has the same value as distance. However, points within the geometry have a negative distance representing the distance of a point to the closest boundary. Therefore, for all "non-filled" geometries, like curves, the distance will either be positive or 0.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/iwjures.DiwGEg2f.png",k="/GeometryOps.jl/previews/PR223/assets/pzlohxn.DuBHk1fh.png",F=JSON.parse('{"title":"Distance and signed distance","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/distance.md","filePath":"source/methods/distance.md","lastUpdated":null}'),p={name:"source/methods/distance.md"};function l(e,s,d,E,r,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Distance and signed distance

julia
export distance, signed_distance

What is distance? What is signed distance?

Distance is the distance of a point to another geometry. This is always a positive number. If a point is inside of geometry, so on a curve or inside of a polygon, the distance will be zero. Signed distance is mainly used for polygons and multipolygons. If a point is outside of a geometry, signed distance has the same value as distance. However, points within the geometry have a negative distance representing the distance of a point to the closest boundary. Therefore, for all "non-filled" geometries, like curves, the distance will either be positive or 0.

To provide an example, consider this rectangle:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_equals.md.Bgy6zE0e.js b/previews/PR223/assets/source_methods_equals.md.DytUbGKX.js
similarity index 99%
rename from previews/PR223/assets/source_methods_equals.md.Bgy6zE0e.js
rename to previews/PR223/assets/source_methods_equals.md.DytUbGKX.js
index 70cc88b03..7588ca793 100644
--- a/previews/PR223/assets/source_methods_equals.md.Bgy6zE0e.js
+++ b/previews/PR223/assets/source_methods_equals.md.DytUbGKX.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/dbhfjxg.CgiryX2p.png",F=JSON.parse('{"title":"Equals","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/equals.md","filePath":"source/methods/equals.md","lastUpdated":null}'),p={name:"source/methods/equals.md"};function h(k,s,e,r,d,g){return l(),a("div",null,s[0]||(s[0]=[n(`

Equals

julia
export equals

What is equals?

The equals function checks if two geometries are equal. They are equal if they share the same set of points and edges to define the same shape.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/dqcpxyw.CgiryX2p.png",F=JSON.parse('{"title":"Equals","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/equals.md","filePath":"source/methods/equals.md","lastUpdated":null}'),p={name:"source/methods/equals.md"};function h(k,s,e,r,d,g){return l(),a("div",null,s[0]||(s[0]=[n(`

Equals

julia
export equals

What is equals?

The equals function checks if two geometries are equal. They are equal if they share the same set of points and edges to define the same shape.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_equals.md.Bgy6zE0e.lean.js b/previews/PR223/assets/source_methods_equals.md.DytUbGKX.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_equals.md.Bgy6zE0e.lean.js
rename to previews/PR223/assets/source_methods_equals.md.DytUbGKX.lean.js
index 70cc88b03..7588ca793 100644
--- a/previews/PR223/assets/source_methods_equals.md.Bgy6zE0e.lean.js
+++ b/previews/PR223/assets/source_methods_equals.md.DytUbGKX.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/dbhfjxg.CgiryX2p.png",F=JSON.parse('{"title":"Equals","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/equals.md","filePath":"source/methods/equals.md","lastUpdated":null}'),p={name:"source/methods/equals.md"};function h(k,s,e,r,d,g){return l(),a("div",null,s[0]||(s[0]=[n(`

Equals

julia
export equals

What is equals?

The equals function checks if two geometries are equal. They are equal if they share the same set of points and edges to define the same shape.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/dqcpxyw.CgiryX2p.png",F=JSON.parse('{"title":"Equals","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/equals.md","filePath":"source/methods/equals.md","lastUpdated":null}'),p={name:"source/methods/equals.md"};function h(k,s,e,r,d,g){return l(),a("div",null,s[0]||(s[0]=[n(`

Equals

julia
export equals

What is equals?

The equals function checks if two geometries are equal. They are equal if they share the same set of points and edges to define the same shape.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_contains.md.D79teMCm.js b/previews/PR223/assets/source_methods_geom_relations_contains.md.BNRpA5-5.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_contains.md.D79teMCm.js
rename to previews/PR223/assets/source_methods_geom_relations_contains.md.BNRpA5-5.js
index f2b68dfff..a94d82034 100644
--- a/previews/PR223/assets/source_methods_geom_relations_contains.md.D79teMCm.js
+++ b/previews/PR223/assets/source_methods_geom_relations_contains.md.BNRpA5-5.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as t}from"./chunks/framework.CIByTNPs.js";const e="/GeometryOps.jl/previews/PR223/assets/egqgrjf._0R9BbFk.png",E=JSON.parse('{"title":"Contains","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/contains.md","filePath":"source/methods/geom_relations/contains.md","lastUpdated":null}'),h={name:"source/methods/geom_relations/contains.md"};function l(p,s,k,r,o,d){return t(),a("div",null,s[0]||(s[0]=[n(`

Contains

julia
export contains

What is contains?

The contains function checks if a given geometry completely contains another geometry, or in other words, that the second geometry is completely within the first. This requires that the two interiors intersect and that the interior and boundary of the second geometry is not in the exterior of the first geometry.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as t}from"./chunks/framework.CIByTNPs.js";const e="/GeometryOps.jl/previews/PR223/assets/dalqbic._0R9BbFk.png",E=JSON.parse('{"title":"Contains","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/contains.md","filePath":"source/methods/geom_relations/contains.md","lastUpdated":null}'),h={name:"source/methods/geom_relations/contains.md"};function l(p,s,k,r,o,d){return t(),a("div",null,s[0]||(s[0]=[n(`

Contains

julia
export contains

What is contains?

The contains function checks if a given geometry completely contains another geometry, or in other words, that the second geometry is completely within the first. This requires that the two interiors intersect and that the interior and boundary of the second geometry is not in the exterior of the first geometry.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_contains.md.D79teMCm.lean.js b/previews/PR223/assets/source_methods_geom_relations_contains.md.BNRpA5-5.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_contains.md.D79teMCm.lean.js
rename to previews/PR223/assets/source_methods_geom_relations_contains.md.BNRpA5-5.lean.js
index f2b68dfff..a94d82034 100644
--- a/previews/PR223/assets/source_methods_geom_relations_contains.md.D79teMCm.lean.js
+++ b/previews/PR223/assets/source_methods_geom_relations_contains.md.BNRpA5-5.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as t}from"./chunks/framework.CIByTNPs.js";const e="/GeometryOps.jl/previews/PR223/assets/egqgrjf._0R9BbFk.png",E=JSON.parse('{"title":"Contains","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/contains.md","filePath":"source/methods/geom_relations/contains.md","lastUpdated":null}'),h={name:"source/methods/geom_relations/contains.md"};function l(p,s,k,r,o,d){return t(),a("div",null,s[0]||(s[0]=[n(`

Contains

julia
export contains

What is contains?

The contains function checks if a given geometry completely contains another geometry, or in other words, that the second geometry is completely within the first. This requires that the two interiors intersect and that the interior and boundary of the second geometry is not in the exterior of the first geometry.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as t}from"./chunks/framework.CIByTNPs.js";const e="/GeometryOps.jl/previews/PR223/assets/dalqbic._0R9BbFk.png",E=JSON.parse('{"title":"Contains","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/contains.md","filePath":"source/methods/geom_relations/contains.md","lastUpdated":null}'),h={name:"source/methods/geom_relations/contains.md"};function l(p,s,k,r,o,d){return t(),a("div",null,s[0]||(s[0]=[n(`

Contains

julia
export contains

What is contains?

The contains function checks if a given geometry completely contains another geometry, or in other words, that the second geometry is completely within the first. This requires that the two interiors intersect and that the interior and boundary of the second geometry is not in the exterior of the first geometry.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_coveredby.md.DD9DKlUL.js b/previews/PR223/assets/source_methods_geom_relations_coveredby.md.UEXW7fRZ.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_coveredby.md.DD9DKlUL.js
rename to previews/PR223/assets/source_methods_geom_relations_coveredby.md.UEXW7fRZ.js
index c23f06736..e5328351e 100644
--- a/previews/PR223/assets/source_methods_geom_relations_coveredby.md.DD9DKlUL.js
+++ b/previews/PR223/assets/source_methods_geom_relations_coveredby.md.UEXW7fRZ.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as e}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/qerraex.DC3TvBOO.png",o=JSON.parse('{"title":"CoveredBy","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/coveredby.md","filePath":"source/methods/geom_relations/coveredby.md","lastUpdated":null}'),h={name:"source/methods/geom_relations/coveredby.md"};function t(p,s,k,r,E,d){return e(),a("div",null,s[0]||(s[0]=[n(`

CoveredBy

julia
export coveredby

What is coveredby?

The coveredby function checks if one geometry is covered by another geometry. This is an extension of within that does not require the interiors of the two geometries to intersect, but still does require that the interior and boundary of the first geometry isn't outside of the second geometry.

To provide an example, consider this point and line:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as e}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/bhapuoz.DC3TvBOO.png",o=JSON.parse('{"title":"CoveredBy","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/coveredby.md","filePath":"source/methods/geom_relations/coveredby.md","lastUpdated":null}'),h={name:"source/methods/geom_relations/coveredby.md"};function t(p,s,k,r,E,d){return e(),a("div",null,s[0]||(s[0]=[n(`

CoveredBy

julia
export coveredby

What is coveredby?

The coveredby function checks if one geometry is covered by another geometry. This is an extension of within that does not require the interiors of the two geometries to intersect, but still does require that the interior and boundary of the first geometry isn't outside of the second geometry.

To provide an example, consider this point and line:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_coveredby.md.DD9DKlUL.lean.js b/previews/PR223/assets/source_methods_geom_relations_coveredby.md.UEXW7fRZ.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_coveredby.md.DD9DKlUL.lean.js
rename to previews/PR223/assets/source_methods_geom_relations_coveredby.md.UEXW7fRZ.lean.js
index c23f06736..e5328351e 100644
--- a/previews/PR223/assets/source_methods_geom_relations_coveredby.md.DD9DKlUL.lean.js
+++ b/previews/PR223/assets/source_methods_geom_relations_coveredby.md.UEXW7fRZ.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as e}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/qerraex.DC3TvBOO.png",o=JSON.parse('{"title":"CoveredBy","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/coveredby.md","filePath":"source/methods/geom_relations/coveredby.md","lastUpdated":null}'),h={name:"source/methods/geom_relations/coveredby.md"};function t(p,s,k,r,E,d){return e(),a("div",null,s[0]||(s[0]=[n(`

CoveredBy

julia
export coveredby

What is coveredby?

The coveredby function checks if one geometry is covered by another geometry. This is an extension of within that does not require the interiors of the two geometries to intersect, but still does require that the interior and boundary of the first geometry isn't outside of the second geometry.

To provide an example, consider this point and line:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as e}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/bhapuoz.DC3TvBOO.png",o=JSON.parse('{"title":"CoveredBy","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/coveredby.md","filePath":"source/methods/geom_relations/coveredby.md","lastUpdated":null}'),h={name:"source/methods/geom_relations/coveredby.md"};function t(p,s,k,r,E,d){return e(),a("div",null,s[0]||(s[0]=[n(`

CoveredBy

julia
export coveredby

What is coveredby?

The coveredby function checks if one geometry is covered by another geometry. This is an extension of within that does not require the interiors of the two geometries to intersect, but still does require that the interior and boundary of the first geometry isn't outside of the second geometry.

To provide an example, consider this point and line:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_covers.md.KU20wwkA.js b/previews/PR223/assets/source_methods_geom_relations_covers.md.laP1lMiQ.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_covers.md.KU20wwkA.js
rename to previews/PR223/assets/source_methods_geom_relations_covers.md.laP1lMiQ.js
index 7ad3c2bda..f65c7825a 100644
--- a/previews/PR223/assets/source_methods_geom_relations_covers.md.KU20wwkA.js
+++ b/previews/PR223/assets/source_methods_geom_relations_covers.md.laP1lMiQ.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as e,o as n}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/qerraex.DC3TvBOO.png",g=JSON.parse('{"title":"Covers","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/covers.md","filePath":"source/methods/geom_relations/covers.md","lastUpdated":null}'),p={name:"source/methods/geom_relations/covers.md"};function l(h,s,k,r,o,d){return n(),a("div",null,s[0]||(s[0]=[e(`

Covers

julia
export covers

What is covers?

The covers function checks if a given geometry completely covers another geometry. For this to be true, the "contained" geometry's interior and boundaries must be covered by the "covering" geometry's interior and boundaries. The interiors do not need to overlap.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as e,o as n}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/bhapuoz.DC3TvBOO.png",g=JSON.parse('{"title":"Covers","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/covers.md","filePath":"source/methods/geom_relations/covers.md","lastUpdated":null}'),p={name:"source/methods/geom_relations/covers.md"};function l(h,s,k,r,o,d){return n(),a("div",null,s[0]||(s[0]=[e(`

Covers

julia
export covers

What is covers?

The covers function checks if a given geometry completely covers another geometry. For this to be true, the "contained" geometry's interior and boundaries must be covered by the "covering" geometry's interior and boundaries. The interiors do not need to overlap.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_covers.md.KU20wwkA.lean.js b/previews/PR223/assets/source_methods_geom_relations_covers.md.laP1lMiQ.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_covers.md.KU20wwkA.lean.js
rename to previews/PR223/assets/source_methods_geom_relations_covers.md.laP1lMiQ.lean.js
index 7ad3c2bda..f65c7825a 100644
--- a/previews/PR223/assets/source_methods_geom_relations_covers.md.KU20wwkA.lean.js
+++ b/previews/PR223/assets/source_methods_geom_relations_covers.md.laP1lMiQ.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as e,o as n}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/qerraex.DC3TvBOO.png",g=JSON.parse('{"title":"Covers","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/covers.md","filePath":"source/methods/geom_relations/covers.md","lastUpdated":null}'),p={name:"source/methods/geom_relations/covers.md"};function l(h,s,k,r,o,d){return n(),a("div",null,s[0]||(s[0]=[e(`

Covers

julia
export covers

What is covers?

The covers function checks if a given geometry completely covers another geometry. For this to be true, the "contained" geometry's interior and boundaries must be covered by the "covering" geometry's interior and boundaries. The interiors do not need to overlap.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as e,o as n}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/bhapuoz.DC3TvBOO.png",g=JSON.parse('{"title":"Covers","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/covers.md","filePath":"source/methods/geom_relations/covers.md","lastUpdated":null}'),p={name:"source/methods/geom_relations/covers.md"};function l(h,s,k,r,o,d){return n(),a("div",null,s[0]||(s[0]=[e(`

Covers

julia
export covers

What is covers?

The covers function checks if a given geometry completely covers another geometry. For this to be true, the "contained" geometry's interior and boundaries must be covered by the "covering" geometry's interior and boundaries. The interiors do not need to overlap.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_disjoint.md.AbnUxwHq.js b/previews/PR223/assets/source_methods_geom_relations_disjoint.md.1YDXNaXQ.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_disjoint.md.AbnUxwHq.js
rename to previews/PR223/assets/source_methods_geom_relations_disjoint.md.1YDXNaXQ.js
index b59a1a4bc..1e47318e8 100644
--- a/previews/PR223/assets/source_methods_geom_relations_disjoint.md.AbnUxwHq.js
+++ b/previews/PR223/assets/source_methods_geom_relations_disjoint.md.1YDXNaXQ.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as t}from"./chunks/framework.CIByTNPs.js";const h="/GeometryOps.jl/previews/PR223/assets/tlxuqqs.C3SxJ3x-.png",o=JSON.parse('{"title":"Disjoint","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/disjoint.md","filePath":"source/methods/geom_relations/disjoint.md","lastUpdated":null}'),l={name:"source/methods/geom_relations/disjoint.md"};function p(k,s,e,r,E,g){return t(),a("div",null,s[0]||(s[0]=[n(`

Disjoint

julia
export disjoint

What is disjoint?

The disjoint function checks if one geometry is outside of another geometry, without sharing any boundaries or interiors.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as t}from"./chunks/framework.CIByTNPs.js";const h="/GeometryOps.jl/previews/PR223/assets/uloakgu.C3SxJ3x-.png",o=JSON.parse('{"title":"Disjoint","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/disjoint.md","filePath":"source/methods/geom_relations/disjoint.md","lastUpdated":null}'),l={name:"source/methods/geom_relations/disjoint.md"};function p(k,s,e,r,E,g){return t(),a("div",null,s[0]||(s[0]=[n(`

Disjoint

julia
export disjoint

What is disjoint?

The disjoint function checks if one geometry is outside of another geometry, without sharing any boundaries or interiors.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_disjoint.md.AbnUxwHq.lean.js b/previews/PR223/assets/source_methods_geom_relations_disjoint.md.1YDXNaXQ.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_disjoint.md.AbnUxwHq.lean.js
rename to previews/PR223/assets/source_methods_geom_relations_disjoint.md.1YDXNaXQ.lean.js
index b59a1a4bc..1e47318e8 100644
--- a/previews/PR223/assets/source_methods_geom_relations_disjoint.md.AbnUxwHq.lean.js
+++ b/previews/PR223/assets/source_methods_geom_relations_disjoint.md.1YDXNaXQ.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as t}from"./chunks/framework.CIByTNPs.js";const h="/GeometryOps.jl/previews/PR223/assets/tlxuqqs.C3SxJ3x-.png",o=JSON.parse('{"title":"Disjoint","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/disjoint.md","filePath":"source/methods/geom_relations/disjoint.md","lastUpdated":null}'),l={name:"source/methods/geom_relations/disjoint.md"};function p(k,s,e,r,E,g){return t(),a("div",null,s[0]||(s[0]=[n(`

Disjoint

julia
export disjoint

What is disjoint?

The disjoint function checks if one geometry is outside of another geometry, without sharing any boundaries or interiors.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as t}from"./chunks/framework.CIByTNPs.js";const h="/GeometryOps.jl/previews/PR223/assets/uloakgu.C3SxJ3x-.png",o=JSON.parse('{"title":"Disjoint","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/disjoint.md","filePath":"source/methods/geom_relations/disjoint.md","lastUpdated":null}'),l={name:"source/methods/geom_relations/disjoint.md"};function p(k,s,e,r,E,g){return t(),a("div",null,s[0]||(s[0]=[n(`

Disjoint

julia
export disjoint

What is disjoint?

The disjoint function checks if one geometry is outside of another geometry, without sharing any boundaries or interiors.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_intersects.md.DA6RFE_y.js b/previews/PR223/assets/source_methods_geom_relations_intersects.md.Ddn0QZ2q.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_intersects.md.DA6RFE_y.js
rename to previews/PR223/assets/source_methods_geom_relations_intersects.md.Ddn0QZ2q.js
index 47b4de272..d1ce44512 100644
--- a/previews/PR223/assets/source_methods_geom_relations_intersects.md.DA6RFE_y.js
+++ b/previews/PR223/assets/source_methods_geom_relations_intersects.md.Ddn0QZ2q.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as e,o as n}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/rtiomkb.DeeQUply.png",g=JSON.parse('{"title":"Intersection checks","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/intersects.md","filePath":"source/methods/geom_relations/intersects.md","lastUpdated":null}'),p={name:"source/methods/geom_relations/intersects.md"};function l(h,s,k,r,o,d){return n(),a("div",null,s[0]||(s[0]=[e(`

Intersection checks

julia
export intersects

What is intersects?

The intersects function checks if a given geometry intersects with another geometry, or in other words, the either the interiors or boundaries of the two geometries intersect.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as e,o as n}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/hmjcayg.DeeQUply.png",g=JSON.parse('{"title":"Intersection checks","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/intersects.md","filePath":"source/methods/geom_relations/intersects.md","lastUpdated":null}'),p={name:"source/methods/geom_relations/intersects.md"};function l(h,s,k,r,o,d){return n(),a("div",null,s[0]||(s[0]=[e(`

Intersection checks

julia
export intersects

What is intersects?

The intersects function checks if a given geometry intersects with another geometry, or in other words, the either the interiors or boundaries of the two geometries intersect.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_intersects.md.DA6RFE_y.lean.js b/previews/PR223/assets/source_methods_geom_relations_intersects.md.Ddn0QZ2q.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_intersects.md.DA6RFE_y.lean.js
rename to previews/PR223/assets/source_methods_geom_relations_intersects.md.Ddn0QZ2q.lean.js
index 47b4de272..d1ce44512 100644
--- a/previews/PR223/assets/source_methods_geom_relations_intersects.md.DA6RFE_y.lean.js
+++ b/previews/PR223/assets/source_methods_geom_relations_intersects.md.Ddn0QZ2q.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as e,o as n}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/rtiomkb.DeeQUply.png",g=JSON.parse('{"title":"Intersection checks","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/intersects.md","filePath":"source/methods/geom_relations/intersects.md","lastUpdated":null}'),p={name:"source/methods/geom_relations/intersects.md"};function l(h,s,k,r,o,d){return n(),a("div",null,s[0]||(s[0]=[e(`

Intersection checks

julia
export intersects

What is intersects?

The intersects function checks if a given geometry intersects with another geometry, or in other words, the either the interiors or boundaries of the two geometries intersect.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as e,o as n}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/hmjcayg.DeeQUply.png",g=JSON.parse('{"title":"Intersection checks","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/intersects.md","filePath":"source/methods/geom_relations/intersects.md","lastUpdated":null}'),p={name:"source/methods/geom_relations/intersects.md"};function l(h,s,k,r,o,d){return n(),a("div",null,s[0]||(s[0]=[e(`

Intersection checks

julia
export intersects

What is intersects?

The intersects function checks if a given geometry intersects with another geometry, or in other words, the either the interiors or boundaries of the two geometries intersect.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_overlaps.md.CmUkPIPU.js b/previews/PR223/assets/source_methods_geom_relations_overlaps.md.Cy6j2gxd.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_overlaps.md.CmUkPIPU.js
rename to previews/PR223/assets/source_methods_geom_relations_overlaps.md.Cy6j2gxd.js
index 16b4626fe..102c2c88d 100644
--- a/previews/PR223/assets/source_methods_geom_relations_overlaps.md.CmUkPIPU.js
+++ b/previews/PR223/assets/source_methods_geom_relations_overlaps.md.Cy6j2gxd.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const p="/GeometryOps.jl/previews/PR223/assets/dbhfjxg.CgiryX2p.png",o=JSON.parse('{"title":"Overlaps","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/overlaps.md","filePath":"source/methods/geom_relations/overlaps.md","lastUpdated":null}'),t={name:"source/methods/geom_relations/overlaps.md"};function e(h,s,k,r,d,g){return l(),a("div",null,s[0]||(s[0]=[n(`

Overlaps

julia
export overlaps

What is overlaps?

The overlaps function checks if two geometries overlap. Two geometries can only overlap if they have the same dimension, and if they overlap, but one is not contained, within, or equal to the other.

Note that this means it is impossible for a single point to overlap with a single point and a line only overlaps with another line if only a section of each line is collinear.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const p="/GeometryOps.jl/previews/PR223/assets/dqcpxyw.CgiryX2p.png",o=JSON.parse('{"title":"Overlaps","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/overlaps.md","filePath":"source/methods/geom_relations/overlaps.md","lastUpdated":null}'),t={name:"source/methods/geom_relations/overlaps.md"};function e(h,s,k,r,d,g){return l(),a("div",null,s[0]||(s[0]=[n(`

Overlaps

julia
export overlaps

What is overlaps?

The overlaps function checks if two geometries overlap. Two geometries can only overlap if they have the same dimension, and if they overlap, but one is not contained, within, or equal to the other.

Note that this means it is impossible for a single point to overlap with a single point and a line only overlaps with another line if only a section of each line is collinear.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_overlaps.md.CmUkPIPU.lean.js b/previews/PR223/assets/source_methods_geom_relations_overlaps.md.Cy6j2gxd.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_overlaps.md.CmUkPIPU.lean.js
rename to previews/PR223/assets/source_methods_geom_relations_overlaps.md.Cy6j2gxd.lean.js
index 16b4626fe..102c2c88d 100644
--- a/previews/PR223/assets/source_methods_geom_relations_overlaps.md.CmUkPIPU.lean.js
+++ b/previews/PR223/assets/source_methods_geom_relations_overlaps.md.Cy6j2gxd.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const p="/GeometryOps.jl/previews/PR223/assets/dbhfjxg.CgiryX2p.png",o=JSON.parse('{"title":"Overlaps","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/overlaps.md","filePath":"source/methods/geom_relations/overlaps.md","lastUpdated":null}'),t={name:"source/methods/geom_relations/overlaps.md"};function e(h,s,k,r,d,g){return l(),a("div",null,s[0]||(s[0]=[n(`

Overlaps

julia
export overlaps

What is overlaps?

The overlaps function checks if two geometries overlap. Two geometries can only overlap if they have the same dimension, and if they overlap, but one is not contained, within, or equal to the other.

Note that this means it is impossible for a single point to overlap with a single point and a line only overlaps with another line if only a section of each line is collinear.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as l}from"./chunks/framework.CIByTNPs.js";const p="/GeometryOps.jl/previews/PR223/assets/dqcpxyw.CgiryX2p.png",o=JSON.parse('{"title":"Overlaps","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/overlaps.md","filePath":"source/methods/geom_relations/overlaps.md","lastUpdated":null}'),t={name:"source/methods/geom_relations/overlaps.md"};function e(h,s,k,r,d,g){return l(),a("div",null,s[0]||(s[0]=[n(`

Overlaps

julia
export overlaps

What is overlaps?

The overlaps function checks if two geometries overlap. Two geometries can only overlap if they have the same dimension, and if they overlap, but one is not contained, within, or equal to the other.

Note that this means it is impossible for a single point to overlap with a single point and a line only overlaps with another line if only a section of each line is collinear.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_touches.md.BbdRz1Yc.js b/previews/PR223/assets/source_methods_geom_relations_touches.md.B_MXYi3l.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_touches.md.BbdRz1Yc.js
rename to previews/PR223/assets/source_methods_geom_relations_touches.md.B_MXYi3l.js
index 4262b3056..bf85c8eb6 100644
--- a/previews/PR223/assets/source_methods_geom_relations_touches.md.BbdRz1Yc.js
+++ b/previews/PR223/assets/source_methods_geom_relations_touches.md.B_MXYi3l.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as t}from"./chunks/framework.CIByTNPs.js";const h="/GeometryOps.jl/previews/PR223/assets/waxkrcm.BEFUMtlf.png",o=JSON.parse('{"title":"Touches","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/touches.md","filePath":"source/methods/geom_relations/touches.md","lastUpdated":null}'),l={name:"source/methods/geom_relations/touches.md"};function e(p,s,k,r,E,g){return t(),a("div",null,s[0]||(s[0]=[n(`

Touches

julia
export touches

What is touches?

The touches function checks if one geometry touches another geometry. In other words, the interiors of the two geometries don't interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as t}from"./chunks/framework.CIByTNPs.js";const h="/GeometryOps.jl/previews/PR223/assets/jcorxxr.BEFUMtlf.png",o=JSON.parse('{"title":"Touches","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/touches.md","filePath":"source/methods/geom_relations/touches.md","lastUpdated":null}'),l={name:"source/methods/geom_relations/touches.md"};function e(p,s,k,r,E,g){return t(),a("div",null,s[0]||(s[0]=[n(`

Touches

julia
export touches

What is touches?

The touches function checks if one geometry touches another geometry. In other words, the interiors of the two geometries don't interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_touches.md.BbdRz1Yc.lean.js b/previews/PR223/assets/source_methods_geom_relations_touches.md.B_MXYi3l.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_touches.md.BbdRz1Yc.lean.js
rename to previews/PR223/assets/source_methods_geom_relations_touches.md.B_MXYi3l.lean.js
index 4262b3056..bf85c8eb6 100644
--- a/previews/PR223/assets/source_methods_geom_relations_touches.md.BbdRz1Yc.lean.js
+++ b/previews/PR223/assets/source_methods_geom_relations_touches.md.B_MXYi3l.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as t}from"./chunks/framework.CIByTNPs.js";const h="/GeometryOps.jl/previews/PR223/assets/waxkrcm.BEFUMtlf.png",o=JSON.parse('{"title":"Touches","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/touches.md","filePath":"source/methods/geom_relations/touches.md","lastUpdated":null}'),l={name:"source/methods/geom_relations/touches.md"};function e(p,s,k,r,E,g){return t(),a("div",null,s[0]||(s[0]=[n(`

Touches

julia
export touches

What is touches?

The touches function checks if one geometry touches another geometry. In other words, the interiors of the two geometries don't interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as t}from"./chunks/framework.CIByTNPs.js";const h="/GeometryOps.jl/previews/PR223/assets/jcorxxr.BEFUMtlf.png",o=JSON.parse('{"title":"Touches","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/touches.md","filePath":"source/methods/geom_relations/touches.md","lastUpdated":null}'),l={name:"source/methods/geom_relations/touches.md"};function e(p,s,k,r,E,g){return t(),a("div",null,s[0]||(s[0]=[n(`

Touches

julia
export touches

What is touches?

The touches function checks if one geometry touches another geometry. In other words, the interiors of the two geometries don't interact, but one of the geometries must have a boundary point that interacts with either the other geometry's interior or boundary.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_within.md.Clrdm6IA.js b/previews/PR223/assets/source_methods_geom_relations_within.md.DmqtYGtr.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_within.md.Clrdm6IA.js
rename to previews/PR223/assets/source_methods_geom_relations_within.md.DmqtYGtr.js
index edd34cae6..8415ee7a7 100644
--- a/previews/PR223/assets/source_methods_geom_relations_within.md.Clrdm6IA.js
+++ b/previews/PR223/assets/source_methods_geom_relations_within.md.DmqtYGtr.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/egqgrjf._0R9BbFk.png",o=JSON.parse('{"title":"Within","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/within.md","filePath":"source/methods/geom_relations/within.md","lastUpdated":null}'),l={name:"source/methods/geom_relations/within.md"};function e(p,s,k,r,E,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Within

julia
export within

What is within?

The within function checks if one geometry is inside another geometry. This requires that the two interiors intersect and that the interior and boundary of the first geometry is not in the exterior of the second geometry.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/dalqbic._0R9BbFk.png",o=JSON.parse('{"title":"Within","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/within.md","filePath":"source/methods/geom_relations/within.md","lastUpdated":null}'),l={name:"source/methods/geom_relations/within.md"};function e(p,s,k,r,E,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Within

julia
export within

What is within?

The within function checks if one geometry is inside another geometry. This requires that the two interiors intersect and that the interior and boundary of the first geometry is not in the exterior of the second geometry.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_methods_geom_relations_within.md.Clrdm6IA.lean.js b/previews/PR223/assets/source_methods_geom_relations_within.md.DmqtYGtr.lean.js
similarity index 99%
rename from previews/PR223/assets/source_methods_geom_relations_within.md.Clrdm6IA.lean.js
rename to previews/PR223/assets/source_methods_geom_relations_within.md.DmqtYGtr.lean.js
index edd34cae6..8415ee7a7 100644
--- a/previews/PR223/assets/source_methods_geom_relations_within.md.Clrdm6IA.lean.js
+++ b/previews/PR223/assets/source_methods_geom_relations_within.md.DmqtYGtr.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/egqgrjf._0R9BbFk.png",o=JSON.parse('{"title":"Within","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/within.md","filePath":"source/methods/geom_relations/within.md","lastUpdated":null}'),l={name:"source/methods/geom_relations/within.md"};function e(p,s,k,r,E,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Within

julia
export within

What is within?

The within function checks if one geometry is inside another geometry. This requires that the two interiors intersect and that the interior and boundary of the first geometry is not in the exterior of the second geometry.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/dalqbic._0R9BbFk.png",o=JSON.parse('{"title":"Within","description":"","frontmatter":{},"headers":[],"relativePath":"source/methods/geom_relations/within.md","filePath":"source/methods/geom_relations/within.md","lastUpdated":null}'),l={name:"source/methods/geom_relations/within.md"};function e(p,s,k,r,E,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Within

julia
export within

What is within?

The within function checks if one geometry is inside another geometry. This requires that the two interiors intersect and that the interior and boundary of the first geometry is not in the exterior of the second geometry.

To provide an example, consider these two lines:

julia
import GeometryOps as GO
 import GeoInterface as GI
 using Makie
 using CairoMakie
diff --git a/previews/PR223/assets/source_src_apply.md.DpVaRYHq.js b/previews/PR223/assets/source_src_apply.md.CGHlLp3H.js
similarity index 99%
rename from previews/PR223/assets/source_src_apply.md.DpVaRYHq.js
rename to previews/PR223/assets/source_src_apply.md.CGHlLp3H.js
index a218da2e3..f4e215196 100644
--- a/previews/PR223/assets/source_src_apply.md.DpVaRYHq.js
+++ b/previews/PR223/assets/source_src_apply.md.CGHlLp3H.js
@@ -5,7 +5,7 @@ import{_ as h,c as l,a5 as a,j as i,a as t,G as n,B as p,o as k}from"./chunks/fr
 
 flipped_geom = GO.apply(GI.PointTrait, geom) do p
     (GI.y(p), GI.x(p))
-end

source

`,10))]),i("details",g,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOpsCore.applyreduce-source-src-apply",href:"#GeometryOpsCore.applyreduce-source-src-apply"},[i("span",{class:"jlbinding"},"GeometryOpsCore.applyreduce")],-1)),s[4]||(s[4]=t()),n(e,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=a('
julia
applyreduce(f, op, target::Union{TraitTarget, GI.AbstractTrait}, obj; threaded)

Apply function f to all objects with the target trait, and reduce the result with an op like +.

The order and grouping of application of op is not guaranteed.

If threaded==true threads will be used over arrays and iterables, feature collections and nested geometries.

source

',5))]),s[7]||(s[7]=a(`

What is apply?

apply applies some function to every geometry matching the Target GeoInterface trait, in some arbitrarily nested object made up of:

  • AbstractArrays (we also try to iterate other non-GeoInteface compatible object)

  • FeatureCollectionTrait objects

  • FeatureTrait objects

  • AbstractGeometryTrait objects

apply recursively calls itself through these nested layers until it reaches objects with the Target GeoInterface trait. When found apply applies the function f, and stops.

The outer recursive functions then progressively rebuild the object using GeoInterface objects matching the original traits.

If PointTrait is found but it is not the Target, an error is thrown. This likely means the object contains a different geometry trait to the target, such as MultiPointTrait when LineStringTrait was specified.

To handle this possibility it may be necessary to make Target a Union of traits found at the same level of nesting, and define methods of f to handle all cases.

Be careful making a union across "levels" of nesting, e.g. Union{FeatureTrait,PolygonTrait}, as _apply will just never reach PolygonTrait when all the polygons are wrapped in a FeatureTrait object.

Embedding:

extent and crs can be embedded in all geometries, features, and feature collections as part of apply. Geometries deeper than Target will of course not have new extent or crs embedded.

  • calc_extent signals to recalculate an Extent and embed it.

  • crs will be embedded as-is

Threading

Threading is used at the outermost level possible - over an array, feature collection, or e.g. a MultiPolygonTrait where each PolygonTrait sub-geometry may be calculated on a different thread.

Currently, threading defaults to false for all objects, but can be turned on by passing the keyword argument threaded=true to apply.

julia
"""
+end

source

`,10))]),i("details",g,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOpsCore.applyreduce-source-src-apply",href:"#GeometryOpsCore.applyreduce-source-src-apply"},[i("span",{class:"jlbinding"},"GeometryOpsCore.applyreduce")],-1)),s[4]||(s[4]=t()),n(e,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=a('
julia
applyreduce(f, op, target::Union{TraitTarget, GI.AbstractTrait}, obj; threaded)

Apply function f to all objects with the target trait, and reduce the result with an op like +.

The order and grouping of application of op is not guaranteed.

If threaded==true threads will be used over arrays and iterables, feature collections and nested geometries.

source

',5))]),s[7]||(s[7]=a(`

What is apply?

apply applies some function to every geometry matching the Target GeoInterface trait, in some arbitrarily nested object made up of:

  • AbstractArrays (we also try to iterate other non-GeoInteface compatible object)

  • FeatureCollectionTrait objects

  • FeatureTrait objects

  • AbstractGeometryTrait objects

apply recursively calls itself through these nested layers until it reaches objects with the Target GeoInterface trait. When found apply applies the function f, and stops.

The outer recursive functions then progressively rebuild the object using GeoInterface objects matching the original traits.

If PointTrait is found but it is not the Target, an error is thrown. This likely means the object contains a different geometry trait to the target, such as MultiPointTrait when LineStringTrait was specified.

To handle this possibility it may be necessary to make Target a Union of traits found at the same level of nesting, and define methods of f to handle all cases.

Be careful making a union across "levels" of nesting, e.g. Union{FeatureTrait,PolygonTrait}, as _apply will just never reach PolygonTrait when all the polygons are wrapped in a FeatureTrait object.

Embedding:

extent and crs can be embedded in all geometries, features, and feature collections as part of apply. Geometries deeper than Target will of course not have new extent or crs embedded.

  • calc_extent signals to recalculate an Extent and embed it.

  • crs will be embedded as-is

Threading

Threading is used at the outermost level possible - over an array, feature collection, or e.g. a MultiPolygonTrait where each PolygonTrait sub-geometry may be calculated on a different thread.

Currently, threading defaults to false for all objects, but can be turned on by passing the keyword argument threaded=true to apply.

julia
"""
     apply(f, target::Union{TraitTarget, GI.AbstractTrait}, obj; kw...)
 
 Reconstruct a geometry, feature, feature collection, or nested vectors of
diff --git a/previews/PR223/assets/source_src_apply.md.DpVaRYHq.lean.js b/previews/PR223/assets/source_src_apply.md.CGHlLp3H.lean.js
similarity index 99%
rename from previews/PR223/assets/source_src_apply.md.DpVaRYHq.lean.js
rename to previews/PR223/assets/source_src_apply.md.CGHlLp3H.lean.js
index a218da2e3..f4e215196 100644
--- a/previews/PR223/assets/source_src_apply.md.DpVaRYHq.lean.js
+++ b/previews/PR223/assets/source_src_apply.md.CGHlLp3H.lean.js
@@ -5,7 +5,7 @@ import{_ as h,c as l,a5 as a,j as i,a as t,G as n,B as p,o as k}from"./chunks/fr
 
 flipped_geom = GO.apply(GI.PointTrait, geom) do p
     (GI.y(p), GI.x(p))
-end

source

`,10))]),i("details",g,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOpsCore.applyreduce-source-src-apply",href:"#GeometryOpsCore.applyreduce-source-src-apply"},[i("span",{class:"jlbinding"},"GeometryOpsCore.applyreduce")],-1)),s[4]||(s[4]=t()),n(e,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=a('
julia
applyreduce(f, op, target::Union{TraitTarget, GI.AbstractTrait}, obj; threaded)

Apply function f to all objects with the target trait, and reduce the result with an op like +.

The order and grouping of application of op is not guaranteed.

If threaded==true threads will be used over arrays and iterables, feature collections and nested geometries.

source

',5))]),s[7]||(s[7]=a(`

What is apply?

apply applies some function to every geometry matching the Target GeoInterface trait, in some arbitrarily nested object made up of:

  • AbstractArrays (we also try to iterate other non-GeoInteface compatible object)

  • FeatureCollectionTrait objects

  • FeatureTrait objects

  • AbstractGeometryTrait objects

apply recursively calls itself through these nested layers until it reaches objects with the Target GeoInterface trait. When found apply applies the function f, and stops.

The outer recursive functions then progressively rebuild the object using GeoInterface objects matching the original traits.

If PointTrait is found but it is not the Target, an error is thrown. This likely means the object contains a different geometry trait to the target, such as MultiPointTrait when LineStringTrait was specified.

To handle this possibility it may be necessary to make Target a Union of traits found at the same level of nesting, and define methods of f to handle all cases.

Be careful making a union across "levels" of nesting, e.g. Union{FeatureTrait,PolygonTrait}, as _apply will just never reach PolygonTrait when all the polygons are wrapped in a FeatureTrait object.

Embedding:

extent and crs can be embedded in all geometries, features, and feature collections as part of apply. Geometries deeper than Target will of course not have new extent or crs embedded.

  • calc_extent signals to recalculate an Extent and embed it.

  • crs will be embedded as-is

Threading

Threading is used at the outermost level possible - over an array, feature collection, or e.g. a MultiPolygonTrait where each PolygonTrait sub-geometry may be calculated on a different thread.

Currently, threading defaults to false for all objects, but can be turned on by passing the keyword argument threaded=true to apply.

julia
"""
+end

source

`,10))]),i("details",g,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOpsCore.applyreduce-source-src-apply",href:"#GeometryOpsCore.applyreduce-source-src-apply"},[i("span",{class:"jlbinding"},"GeometryOpsCore.applyreduce")],-1)),s[4]||(s[4]=t()),n(e,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=a('
julia
applyreduce(f, op, target::Union{TraitTarget, GI.AbstractTrait}, obj; threaded)

Apply function f to all objects with the target trait, and reduce the result with an op like +.

The order and grouping of application of op is not guaranteed.

If threaded==true threads will be used over arrays and iterables, feature collections and nested geometries.

source

',5))]),s[7]||(s[7]=a(`

What is apply?

apply applies some function to every geometry matching the Target GeoInterface trait, in some arbitrarily nested object made up of:

  • AbstractArrays (we also try to iterate other non-GeoInteface compatible object)

  • FeatureCollectionTrait objects

  • FeatureTrait objects

  • AbstractGeometryTrait objects

apply recursively calls itself through these nested layers until it reaches objects with the Target GeoInterface trait. When found apply applies the function f, and stops.

The outer recursive functions then progressively rebuild the object using GeoInterface objects matching the original traits.

If PointTrait is found but it is not the Target, an error is thrown. This likely means the object contains a different geometry trait to the target, such as MultiPointTrait when LineStringTrait was specified.

To handle this possibility it may be necessary to make Target a Union of traits found at the same level of nesting, and define methods of f to handle all cases.

Be careful making a union across "levels" of nesting, e.g. Union{FeatureTrait,PolygonTrait}, as _apply will just never reach PolygonTrait when all the polygons are wrapped in a FeatureTrait object.

Embedding:

extent and crs can be embedded in all geometries, features, and feature collections as part of apply. Geometries deeper than Target will of course not have new extent or crs embedded.

  • calc_extent signals to recalculate an Extent and embed it.

  • crs will be embedded as-is

Threading

Threading is used at the outermost level possible - over an array, feature collection, or e.g. a MultiPolygonTrait where each PolygonTrait sub-geometry may be calculated on a different thread.

Currently, threading defaults to false for all objects, but can be turned on by passing the keyword argument threaded=true to apply.

julia
"""
     apply(f, target::Union{TraitTarget, GI.AbstractTrait}, obj; kw...)
 
 Reconstruct a geometry, feature, feature collection, or nested vectors of
diff --git a/previews/PR223/assets/source_src_other_primitives.md.86xxcY8J.js b/previews/PR223/assets/source_src_other_primitives.md.Cym_d8cs.js
similarity index 99%
rename from previews/PR223/assets/source_src_other_primitives.md.86xxcY8J.js
rename to previews/PR223/assets/source_src_other_primitives.md.Cym_d8cs.js
index 5c977d01d..e49d74e66 100644
--- a/previews/PR223/assets/source_src_other_primitives.md.86xxcY8J.js
+++ b/previews/PR223/assets/source_src_other_primitives.md.Cym_d8cs.js
@@ -1,6 +1,6 @@
 import{_ as e,c as p,j as i,a,G as h,a5 as t,B as l,o as k}from"./chunks/framework.CIByTNPs.js";const B=JSON.parse('{"title":"Other primitives (unwrap, flatten, etc)","description":"","frontmatter":{},"headers":[],"relativePath":"source/src/other_primitives.md","filePath":"source/src/other_primitives.md","lastUpdated":null}'),r={name:"source/src/other_primitives.md"},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""};function o(F,s,c,C,u,m){const n=l("Badge");return k(),p("div",null,[s[12]||(s[12]=i("h1",{id:"Other-primitives-(unwrap,-flatten,-etc)",tabindex:"-1"},[a("Other primitives (unwrap, flatten, etc) "),i("a",{class:"header-anchor",href:"#Other-primitives-(unwrap,-flatten,-etc)","aria-label":'Permalink to "Other primitives (unwrap, flatten, etc) {#Other-primitives-(unwrap,-flatten,-etc)}"'},"​")],-1)),s[13]||(s[13]=i("p",null,"This file defines the following primitives:",-1)),i("details",d,[i("summary",null,[s[0]||(s[0]=i("a",{id:"GeometryOpsCore.unwrap-source-src-other_primitives",href:"#GeometryOpsCore.unwrap-source-src-other_primitives"},[i("span",{class:"jlbinding"},"GeometryOpsCore.unwrap")],-1)),s[1]||(s[1]=a()),h(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[2]||(s[2]=t(`
julia
unwrap(target::Type{<:AbstractTrait}, obj)
-unwrap(f, target::Type{<:AbstractTrait}, obj)

Unwrap the object to vectors, down to the target trait.

If f is passed in it will be applied to the target geometries as they are found.

source

`,4))]),i("details",g,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOpsCore.flatten-source-src-other_primitives",href:"#GeometryOpsCore.flatten-source-src-other_primitives"},[i("span",{class:"jlbinding"},"GeometryOpsCore.flatten")],-1)),s[4]||(s[4]=a()),h(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=t(`
julia
flatten(target::Type{<:GI.AbstractTrait}, obj)
-flatten(f, target::Type{<:GI.AbstractTrait}, obj)

Lazily flatten any AbstractArray, iterator, FeatureCollectionTrait, FeatureTrait or AbstractGeometryTrait object obj, so that objects with the target trait are returned by the iterator.

If f is passed in it will be applied to the target geometries.

source

`,4))]),i("details",E,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeometryOpsCore.reconstruct-source-src-other_primitives",href:"#GeometryOpsCore.reconstruct-source-src-other_primitives"},[i("span",{class:"jlbinding"},"GeometryOpsCore.reconstruct")],-1)),s[7]||(s[7]=a()),h(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=t('
julia
reconstruct(geom, components)

Reconstruct geom from an iterable of component objects that match its structure.

All objects in components must have the same GeoInterface.trait.

Usually used in combination with flatten.

source

',5))]),i("details",y,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeometryOpsCore.rebuild-source-src-other_primitives",href:"#GeometryOpsCore.rebuild-source-src-other_primitives"},[i("span",{class:"jlbinding"},"GeometryOpsCore.rebuild")],-1)),s[10]||(s[10]=a()),h(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=t('
julia
rebuild(geom, child_geoms)

Rebuild a geometry from child geometries.

By default geometries will be rebuilt as a GeoInterface.Wrappers geometry, but rebuild can have methods added to it to dispatch on geometries from other packages and specify how to rebuild them.

(Maybe it should go into GeoInterface.jl)

source

',5))]),s[14]||(s[14]=t(`
julia
"""
+unwrap(f, target::Type{<:AbstractTrait}, obj)

Unwrap the object to vectors, down to the target trait.

If f is passed in it will be applied to the target geometries as they are found.

source

`,4))]),i("details",g,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOpsCore.flatten-source-src-other_primitives",href:"#GeometryOpsCore.flatten-source-src-other_primitives"},[i("span",{class:"jlbinding"},"GeometryOpsCore.flatten")],-1)),s[4]||(s[4]=a()),h(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=t(`
julia
flatten(target::Type{<:GI.AbstractTrait}, obj)
+flatten(f, target::Type{<:GI.AbstractTrait}, obj)

Lazily flatten any AbstractArray, iterator, FeatureCollectionTrait, FeatureTrait or AbstractGeometryTrait object obj, so that objects with the target trait are returned by the iterator.

If f is passed in it will be applied to the target geometries.

source

`,4))]),i("details",E,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeometryOpsCore.reconstruct-source-src-other_primitives",href:"#GeometryOpsCore.reconstruct-source-src-other_primitives"},[i("span",{class:"jlbinding"},"GeometryOpsCore.reconstruct")],-1)),s[7]||(s[7]=a()),h(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=t('
julia
reconstruct(geom, components)

Reconstruct geom from an iterable of component objects that match its structure.

All objects in components must have the same GeoInterface.trait.

Usually used in combination with flatten.

source

',5))]),i("details",y,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeometryOpsCore.rebuild-source-src-other_primitives",href:"#GeometryOpsCore.rebuild-source-src-other_primitives"},[i("span",{class:"jlbinding"},"GeometryOpsCore.rebuild")],-1)),s[10]||(s[10]=a()),h(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=t('
julia
rebuild(geom, child_geoms)

Rebuild a geometry from child geometries.

By default geometries will be rebuilt as a GeoInterface.Wrappers geometry, but rebuild can have methods added to it to dispatch on geometries from other packages and specify how to rebuild them.

(Maybe it should go into GeoInterface.jl)

source

',5))]),s[14]||(s[14]=t(`
julia
"""
     unwrap(target::Type{<:AbstractTrait}, obj)
     unwrap(f, target::Type{<:AbstractTrait}, obj)
 
diff --git a/previews/PR223/assets/source_src_other_primitives.md.86xxcY8J.lean.js b/previews/PR223/assets/source_src_other_primitives.md.Cym_d8cs.lean.js
similarity index 99%
rename from previews/PR223/assets/source_src_other_primitives.md.86xxcY8J.lean.js
rename to previews/PR223/assets/source_src_other_primitives.md.Cym_d8cs.lean.js
index 5c977d01d..e49d74e66 100644
--- a/previews/PR223/assets/source_src_other_primitives.md.86xxcY8J.lean.js
+++ b/previews/PR223/assets/source_src_other_primitives.md.Cym_d8cs.lean.js
@@ -1,6 +1,6 @@
 import{_ as e,c as p,j as i,a,G as h,a5 as t,B as l,o as k}from"./chunks/framework.CIByTNPs.js";const B=JSON.parse('{"title":"Other primitives (unwrap, flatten, etc)","description":"","frontmatter":{},"headers":[],"relativePath":"source/src/other_primitives.md","filePath":"source/src/other_primitives.md","lastUpdated":null}'),r={name:"source/src/other_primitives.md"},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""};function o(F,s,c,C,u,m){const n=l("Badge");return k(),p("div",null,[s[12]||(s[12]=i("h1",{id:"Other-primitives-(unwrap,-flatten,-etc)",tabindex:"-1"},[a("Other primitives (unwrap, flatten, etc) "),i("a",{class:"header-anchor",href:"#Other-primitives-(unwrap,-flatten,-etc)","aria-label":'Permalink to "Other primitives (unwrap, flatten, etc) {#Other-primitives-(unwrap,-flatten,-etc)}"'},"​")],-1)),s[13]||(s[13]=i("p",null,"This file defines the following primitives:",-1)),i("details",d,[i("summary",null,[s[0]||(s[0]=i("a",{id:"GeometryOpsCore.unwrap-source-src-other_primitives",href:"#GeometryOpsCore.unwrap-source-src-other_primitives"},[i("span",{class:"jlbinding"},"GeometryOpsCore.unwrap")],-1)),s[1]||(s[1]=a()),h(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[2]||(s[2]=t(`
julia
unwrap(target::Type{<:AbstractTrait}, obj)
-unwrap(f, target::Type{<:AbstractTrait}, obj)

Unwrap the object to vectors, down to the target trait.

If f is passed in it will be applied to the target geometries as they are found.

source

`,4))]),i("details",g,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOpsCore.flatten-source-src-other_primitives",href:"#GeometryOpsCore.flatten-source-src-other_primitives"},[i("span",{class:"jlbinding"},"GeometryOpsCore.flatten")],-1)),s[4]||(s[4]=a()),h(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=t(`
julia
flatten(target::Type{<:GI.AbstractTrait}, obj)
-flatten(f, target::Type{<:GI.AbstractTrait}, obj)

Lazily flatten any AbstractArray, iterator, FeatureCollectionTrait, FeatureTrait or AbstractGeometryTrait object obj, so that objects with the target trait are returned by the iterator.

If f is passed in it will be applied to the target geometries.

source

`,4))]),i("details",E,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeometryOpsCore.reconstruct-source-src-other_primitives",href:"#GeometryOpsCore.reconstruct-source-src-other_primitives"},[i("span",{class:"jlbinding"},"GeometryOpsCore.reconstruct")],-1)),s[7]||(s[7]=a()),h(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=t('
julia
reconstruct(geom, components)

Reconstruct geom from an iterable of component objects that match its structure.

All objects in components must have the same GeoInterface.trait.

Usually used in combination with flatten.

source

',5))]),i("details",y,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeometryOpsCore.rebuild-source-src-other_primitives",href:"#GeometryOpsCore.rebuild-source-src-other_primitives"},[i("span",{class:"jlbinding"},"GeometryOpsCore.rebuild")],-1)),s[10]||(s[10]=a()),h(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=t('
julia
rebuild(geom, child_geoms)

Rebuild a geometry from child geometries.

By default geometries will be rebuilt as a GeoInterface.Wrappers geometry, but rebuild can have methods added to it to dispatch on geometries from other packages and specify how to rebuild them.

(Maybe it should go into GeoInterface.jl)

source

',5))]),s[14]||(s[14]=t(`
julia
"""
+unwrap(f, target::Type{<:AbstractTrait}, obj)

Unwrap the object to vectors, down to the target trait.

If f is passed in it will be applied to the target geometries as they are found.

source

`,4))]),i("details",g,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOpsCore.flatten-source-src-other_primitives",href:"#GeometryOpsCore.flatten-source-src-other_primitives"},[i("span",{class:"jlbinding"},"GeometryOpsCore.flatten")],-1)),s[4]||(s[4]=a()),h(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[5]||(s[5]=t(`
julia
flatten(target::Type{<:GI.AbstractTrait}, obj)
+flatten(f, target::Type{<:GI.AbstractTrait}, obj)

Lazily flatten any AbstractArray, iterator, FeatureCollectionTrait, FeatureTrait or AbstractGeometryTrait object obj, so that objects with the target trait are returned by the iterator.

If f is passed in it will be applied to the target geometries.

source

`,4))]),i("details",E,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeometryOpsCore.reconstruct-source-src-other_primitives",href:"#GeometryOpsCore.reconstruct-source-src-other_primitives"},[i("span",{class:"jlbinding"},"GeometryOpsCore.reconstruct")],-1)),s[7]||(s[7]=a()),h(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[8]||(s[8]=t('
julia
reconstruct(geom, components)

Reconstruct geom from an iterable of component objects that match its structure.

All objects in components must have the same GeoInterface.trait.

Usually used in combination with flatten.

source

',5))]),i("details",y,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeometryOpsCore.rebuild-source-src-other_primitives",href:"#GeometryOpsCore.rebuild-source-src-other_primitives"},[i("span",{class:"jlbinding"},"GeometryOpsCore.rebuild")],-1)),s[10]||(s[10]=a()),h(n,{type:"info",class:"jlObjectType jlFunction",text:"Function"})]),s[11]||(s[11]=t('
julia
rebuild(geom, child_geoms)

Rebuild a geometry from child geometries.

By default geometries will be rebuilt as a GeoInterface.Wrappers geometry, but rebuild can have methods added to it to dispatch on geometries from other packages and specify how to rebuild them.

(Maybe it should go into GeoInterface.jl)

source

',5))]),s[14]||(s[14]=t(`
julia
"""
     unwrap(target::Type{<:AbstractTrait}, obj)
     unwrap(f, target::Type{<:AbstractTrait}, obj)
 
diff --git a/previews/PR223/assets/source_transformations_correction_geometry_correction.md.MWvAI45e.js b/previews/PR223/assets/source_transformations_correction_geometry_correction.md.Cpkfa6z_.js
similarity index 97%
rename from previews/PR223/assets/source_transformations_correction_geometry_correction.md.MWvAI45e.js
rename to previews/PR223/assets/source_transformations_correction_geometry_correction.md.Cpkfa6z_.js
index 65898c639..c9a4dcaf9 100644
--- a/previews/PR223/assets/source_transformations_correction_geometry_correction.md.MWvAI45e.js
+++ b/previews/PR223/assets/source_transformations_correction_geometry_correction.md.Cpkfa6z_.js
@@ -1,4 +1,4 @@
-import{_ as r,c as o,a5 as e,j as i,a as t,G as n,B as l,o as p}from"./chunks/framework.CIByTNPs.js";const G=JSON.parse('{"title":"Geometry Corrections","description":"","frontmatter":{},"headers":[],"relativePath":"source/transformations/correction/geometry_correction.md","filePath":"source/transformations/correction/geometry_correction.md","lastUpdated":null}'),h={name:"source/transformations/correction/geometry_correction.md"},k={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""};function m(E,s,u,F,f,C){const a=l("Badge");return p(),o("div",null,[s[15]||(s[15]=e('

Geometry Corrections

julia
export fix

This file simply defines the GeometryCorrection abstract type, and the interface that any GeometryCorrection must implement.

A geometry correction is a transformation that is applied to a geometry to correct it in some way.

For example, a ClosedRing correction might be applied to a Polygon to ensure that its exterior ring is closed.

Interface

All GeometryCorrections are callable structs which, when called, apply the correction to the given geometry, and return either a copy or the original geometry (if nothing needed to be corrected).

See below for the full interface specification.

',8)),i("details",k,[i("summary",null,[s[0]||(s[0]=i("a",{id:"GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction",href:"#GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.GeometryCorrection")],-1)),s[1]||(s[1]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=e('
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

',5))]),s[16]||(s[16]=e(`

Any geometry correction must implement the interface as given above.

julia
"""
+import{_ as r,c as o,a5 as e,j as i,a as t,G as n,B as l,o as p}from"./chunks/framework.CIByTNPs.js";const G=JSON.parse('{"title":"Geometry Corrections","description":"","frontmatter":{},"headers":[],"relativePath":"source/transformations/correction/geometry_correction.md","filePath":"source/transformations/correction/geometry_correction.md","lastUpdated":null}'),h={name:"source/transformations/correction/geometry_correction.md"},k={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""};function m(E,s,u,F,C,f){const a=l("Badge");return p(),o("div",null,[s[15]||(s[15]=e('

Geometry Corrections

julia
export fix

This file simply defines the GeometryCorrection abstract type, and the interface that any GeometryCorrection must implement.

A geometry correction is a transformation that is applied to a geometry to correct it in some way.

For example, a ClosedRing correction might be applied to a Polygon to ensure that its exterior ring is closed.

Interface

All GeometryCorrections are callable structs which, when called, apply the correction to the given geometry, and return either a copy or the original geometry (if nothing needed to be corrected).

See below for the full interface specification.

',8)),i("details",k,[i("summary",null,[s[0]||(s[0]=i("a",{id:"GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction",href:"#GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.GeometryCorrection")],-1)),s[1]||(s[1]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=e('
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

',5))]),s[16]||(s[16]=e(`

Any geometry correction must implement the interface as given above.

julia
"""
     abstract type GeometryCorrection
 
 This abstract type represents a geometry correction.
@@ -28,4 +28,4 @@ import{_ as r,c as o,a5 as e,j as i,a as t,G as n,B as l,o as p}from"./chunks/fr
         final_geometry = apply(net_function, Trait, final_geometry; kwargs...)
     end
     return final_geometry
-end

Available corrections

`,3)),i("details",c,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOps.ClosedRing-source-transformations-correction-geometry_correction",href:"#GeometryOps.ClosedRing-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.ClosedRing")],-1)),s[4]||(s[4]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=e('
julia
ClosedRing() <: GeometryCorrection

This correction ensures that a polygon's exterior and interior rings are closed.

It can be called on any geometry correction as usual.

See also GeometryCorrection.

source

',5))]),i("details",d,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeometryOps.DiffIntersectingPolygons-source-transformations-correction-geometry_correction",href:"#GeometryOps.DiffIntersectingPolygons-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.DiffIntersectingPolygons")],-1)),s[7]||(s[7]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=e('
julia
DiffIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygons included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be made nonintersecting through the difference operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area. See also GeometryCorrection, UnionIntersectingPolygons.

source

',3))]),i("details",y,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction-2",href:"#GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction-2"},[i("span",{class:"jlbinding"},"GeometryOps.GeometryCorrection")],-1)),s[10]||(s[10]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[11]||(s[11]=e('
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

',5))]),i("details",g,[i("summary",null,[s[12]||(s[12]=i("a",{id:"GeometryOps.UnionIntersectingPolygons-source-transformations-correction-geometry_correction",href:"#GeometryOps.UnionIntersectingPolygons-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.UnionIntersectingPolygons")],-1)),s[13]||(s[13]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[14]||(s[14]=e('
julia
UnionIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygon's included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be combined through the union operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area.

See also GeometryCorrection.

source

',4))]),s[17]||(s[17]=i("hr",null,null,-1)),s[18]||(s[18]=i("p",null,[i("em",null,[t("This page was generated using "),i("a",{href:"https://github.com/fredrikekre/Literate.jl",target:"_blank",rel:"noreferrer"},"Literate.jl"),t(".")])],-1))])}const A=r(h,[["render",m]]);export{G as __pageData,A as default}; +end

Available corrections

`,3)),i("details",c,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOps.ClosedRing-source-transformations-correction-geometry_correction",href:"#GeometryOps.ClosedRing-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.ClosedRing")],-1)),s[4]||(s[4]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=e('
julia
ClosedRing() <: GeometryCorrection

This correction ensures that a polygon's exterior and interior rings are closed.

It can be called on any geometry correction as usual.

See also GeometryCorrection.

source

',5))]),i("details",d,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeometryOps.DiffIntersectingPolygons-source-transformations-correction-geometry_correction",href:"#GeometryOps.DiffIntersectingPolygons-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.DiffIntersectingPolygons")],-1)),s[7]||(s[7]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=e('
julia
DiffIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygons included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be made nonintersecting through the difference operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area. See also GeometryCorrection, UnionIntersectingPolygons.

source

',3))]),i("details",y,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction-2",href:"#GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction-2"},[i("span",{class:"jlbinding"},"GeometryOps.GeometryCorrection")],-1)),s[10]||(s[10]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[11]||(s[11]=e('
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

',5))]),i("details",g,[i("summary",null,[s[12]||(s[12]=i("a",{id:"GeometryOps.UnionIntersectingPolygons-source-transformations-correction-geometry_correction",href:"#GeometryOps.UnionIntersectingPolygons-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.UnionIntersectingPolygons")],-1)),s[13]||(s[13]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[14]||(s[14]=e('
julia
UnionIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygon's included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be combined through the union operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area.

See also GeometryCorrection.

source

',4))]),s[17]||(s[17]=i("hr",null,null,-1)),s[18]||(s[18]=i("p",null,[i("em",null,[t("This page was generated using "),i("a",{href:"https://github.com/fredrikekre/Literate.jl",target:"_blank",rel:"noreferrer"},"Literate.jl"),t(".")])],-1))])}const A=r(h,[["render",m]]);export{G as __pageData,A as default}; diff --git a/previews/PR223/assets/source_transformations_correction_geometry_correction.md.MWvAI45e.lean.js b/previews/PR223/assets/source_transformations_correction_geometry_correction.md.Cpkfa6z_.lean.js similarity index 97% rename from previews/PR223/assets/source_transformations_correction_geometry_correction.md.MWvAI45e.lean.js rename to previews/PR223/assets/source_transformations_correction_geometry_correction.md.Cpkfa6z_.lean.js index 65898c639..c9a4dcaf9 100644 --- a/previews/PR223/assets/source_transformations_correction_geometry_correction.md.MWvAI45e.lean.js +++ b/previews/PR223/assets/source_transformations_correction_geometry_correction.md.Cpkfa6z_.lean.js @@ -1,4 +1,4 @@ -import{_ as r,c as o,a5 as e,j as i,a as t,G as n,B as l,o as p}from"./chunks/framework.CIByTNPs.js";const G=JSON.parse('{"title":"Geometry Corrections","description":"","frontmatter":{},"headers":[],"relativePath":"source/transformations/correction/geometry_correction.md","filePath":"source/transformations/correction/geometry_correction.md","lastUpdated":null}'),h={name:"source/transformations/correction/geometry_correction.md"},k={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""};function m(E,s,u,F,f,C){const a=l("Badge");return p(),o("div",null,[s[15]||(s[15]=e('

Geometry Corrections

julia
export fix

This file simply defines the GeometryCorrection abstract type, and the interface that any GeometryCorrection must implement.

A geometry correction is a transformation that is applied to a geometry to correct it in some way.

For example, a ClosedRing correction might be applied to a Polygon to ensure that its exterior ring is closed.

Interface

All GeometryCorrections are callable structs which, when called, apply the correction to the given geometry, and return either a copy or the original geometry (if nothing needed to be corrected).

See below for the full interface specification.

',8)),i("details",k,[i("summary",null,[s[0]||(s[0]=i("a",{id:"GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction",href:"#GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.GeometryCorrection")],-1)),s[1]||(s[1]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=e('
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

',5))]),s[16]||(s[16]=e(`

Any geometry correction must implement the interface as given above.

julia
"""
+import{_ as r,c as o,a5 as e,j as i,a as t,G as n,B as l,o as p}from"./chunks/framework.CIByTNPs.js";const G=JSON.parse('{"title":"Geometry Corrections","description":"","frontmatter":{},"headers":[],"relativePath":"source/transformations/correction/geometry_correction.md","filePath":"source/transformations/correction/geometry_correction.md","lastUpdated":null}'),h={name:"source/transformations/correction/geometry_correction.md"},k={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""};function m(E,s,u,F,C,f){const a=l("Badge");return p(),o("div",null,[s[15]||(s[15]=e('

Geometry Corrections

julia
export fix

This file simply defines the GeometryCorrection abstract type, and the interface that any GeometryCorrection must implement.

A geometry correction is a transformation that is applied to a geometry to correct it in some way.

For example, a ClosedRing correction might be applied to a Polygon to ensure that its exterior ring is closed.

Interface

All GeometryCorrections are callable structs which, when called, apply the correction to the given geometry, and return either a copy or the original geometry (if nothing needed to be corrected).

See below for the full interface specification.

',8)),i("details",k,[i("summary",null,[s[0]||(s[0]=i("a",{id:"GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction",href:"#GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.GeometryCorrection")],-1)),s[1]||(s[1]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[2]||(s[2]=e('
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

',5))]),s[16]||(s[16]=e(`

Any geometry correction must implement the interface as given above.

julia
"""
     abstract type GeometryCorrection
 
 This abstract type represents a geometry correction.
@@ -28,4 +28,4 @@ import{_ as r,c as o,a5 as e,j as i,a as t,G as n,B as l,o as p}from"./chunks/fr
         final_geometry = apply(net_function, Trait, final_geometry; kwargs...)
     end
     return final_geometry
-end

Available corrections

`,3)),i("details",c,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOps.ClosedRing-source-transformations-correction-geometry_correction",href:"#GeometryOps.ClosedRing-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.ClosedRing")],-1)),s[4]||(s[4]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=e('
julia
ClosedRing() <: GeometryCorrection

This correction ensures that a polygon's exterior and interior rings are closed.

It can be called on any geometry correction as usual.

See also GeometryCorrection.

source

',5))]),i("details",d,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeometryOps.DiffIntersectingPolygons-source-transformations-correction-geometry_correction",href:"#GeometryOps.DiffIntersectingPolygons-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.DiffIntersectingPolygons")],-1)),s[7]||(s[7]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=e('
julia
DiffIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygons included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be made nonintersecting through the difference operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area. See also GeometryCorrection, UnionIntersectingPolygons.

source

',3))]),i("details",y,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction-2",href:"#GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction-2"},[i("span",{class:"jlbinding"},"GeometryOps.GeometryCorrection")],-1)),s[10]||(s[10]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[11]||(s[11]=e('
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

',5))]),i("details",g,[i("summary",null,[s[12]||(s[12]=i("a",{id:"GeometryOps.UnionIntersectingPolygons-source-transformations-correction-geometry_correction",href:"#GeometryOps.UnionIntersectingPolygons-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.UnionIntersectingPolygons")],-1)),s[13]||(s[13]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[14]||(s[14]=e('
julia
UnionIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygon's included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be combined through the union operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area.

See also GeometryCorrection.

source

',4))]),s[17]||(s[17]=i("hr",null,null,-1)),s[18]||(s[18]=i("p",null,[i("em",null,[t("This page was generated using "),i("a",{href:"https://github.com/fredrikekre/Literate.jl",target:"_blank",rel:"noreferrer"},"Literate.jl"),t(".")])],-1))])}const A=r(h,[["render",m]]);export{G as __pageData,A as default}; +end

Available corrections

`,3)),i("details",c,[i("summary",null,[s[3]||(s[3]=i("a",{id:"GeometryOps.ClosedRing-source-transformations-correction-geometry_correction",href:"#GeometryOps.ClosedRing-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.ClosedRing")],-1)),s[4]||(s[4]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[5]||(s[5]=e('
julia
ClosedRing() <: GeometryCorrection

This correction ensures that a polygon's exterior and interior rings are closed.

It can be called on any geometry correction as usual.

See also GeometryCorrection.

source

',5))]),i("details",d,[i("summary",null,[s[6]||(s[6]=i("a",{id:"GeometryOps.DiffIntersectingPolygons-source-transformations-correction-geometry_correction",href:"#GeometryOps.DiffIntersectingPolygons-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.DiffIntersectingPolygons")],-1)),s[7]||(s[7]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[8]||(s[8]=e('
julia
DiffIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygons included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be made nonintersecting through the difference operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area. See also GeometryCorrection, UnionIntersectingPolygons.

source

',3))]),i("details",y,[i("summary",null,[s[9]||(s[9]=i("a",{id:"GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction-2",href:"#GeometryOps.GeometryCorrection-source-transformations-correction-geometry_correction-2"},[i("span",{class:"jlbinding"},"GeometryOps.GeometryCorrection")],-1)),s[10]||(s[10]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[11]||(s[11]=e('
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

',5))]),i("details",g,[i("summary",null,[s[12]||(s[12]=i("a",{id:"GeometryOps.UnionIntersectingPolygons-source-transformations-correction-geometry_correction",href:"#GeometryOps.UnionIntersectingPolygons-source-transformations-correction-geometry_correction"},[i("span",{class:"jlbinding"},"GeometryOps.UnionIntersectingPolygons")],-1)),s[13]||(s[13]=t()),n(a,{type:"info",class:"jlObjectType jlType",text:"Type"})]),s[14]||(s[14]=e('
julia
UnionIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygon's included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be combined through the union operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area.

See also GeometryCorrection.

source

',4))]),s[17]||(s[17]=i("hr",null,null,-1)),s[18]||(s[18]=i("p",null,[i("em",null,[t("This page was generated using "),i("a",{href:"https://github.com/fredrikekre/Literate.jl",target:"_blank",rel:"noreferrer"},"Literate.jl"),t(".")])],-1))])}const A=r(h,[["render",m]]);export{G as __pageData,A as default}; diff --git a/previews/PR223/assets/source_transformations_segmentize.md.IBtrohyO.js b/previews/PR223/assets/source_transformations_segmentize.md.mI-0xRkX.js similarity index 99% rename from previews/PR223/assets/source_transformations_segmentize.md.IBtrohyO.js rename to previews/PR223/assets/source_transformations_segmentize.md.mI-0xRkX.js index 0172dbde7..058dca231 100644 --- a/previews/PR223/assets/source_transformations_segmentize.md.IBtrohyO.js +++ b/previews/PR223/assets/source_transformations_segmentize.md.mI-0xRkX.js @@ -1,4 +1,4 @@ -import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/vxbkshs.D5-bot8v.png",l="/GeometryOps.jl/previews/PR223/assets/gnddxfg.MvHnQDQM.png",o=JSON.parse('{"title":"Segmentize","description":"","frontmatter":{},"headers":[],"relativePath":"source/transformations/segmentize.md","filePath":"source/transformations/segmentize.md","lastUpdated":null}'),k={name:"source/transformations/segmentize.md"};function e(p,s,r,d,E,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Segmentize

julia
export segmentize
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/nlzqgxh.D5-bot8v.png",l="/GeometryOps.jl/previews/PR223/assets/toeubrn.C4nWtDb6.png",o=JSON.parse('{"title":"Segmentize","description":"","frontmatter":{},"headers":[],"relativePath":"source/transformations/segmentize.md","filePath":"source/transformations/segmentize.md","lastUpdated":null}'),k={name:"source/transformations/segmentize.md"};function e(p,s,r,d,E,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Segmentize

julia
export segmentize
 export LinearSegments, GeodesicSegments

This function "segmentizes" or "densifies" a geometry by adding extra vertices to the geometry so that no segment is longer than a given distance. This is useful for plotting geometries with a limited number of vertices, or for ensuring that a geometry is not too "coarse" for a given application.

Info

We plan to add interpolated segmentization from DataInterpolations.jl in the future, which will be available to any vector of point-like objects.

For now, this function only works on 2D geometries.  We will also support 3D geometries, as well as measure interpolation, in the future.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 rectangle = GI.Wrappers.Polygon([[(0.0, 50.0), (7.071, 57.07), (0, 64.14), (-7.07, 57.07), (0.0, 50.0)]])
 linear = GO.segmentize(rectangle; max_distance = 5)
diff --git a/previews/PR223/assets/source_transformations_segmentize.md.IBtrohyO.lean.js b/previews/PR223/assets/source_transformations_segmentize.md.mI-0xRkX.lean.js
similarity index 99%
rename from previews/PR223/assets/source_transformations_segmentize.md.IBtrohyO.lean.js
rename to previews/PR223/assets/source_transformations_segmentize.md.mI-0xRkX.lean.js
index 0172dbde7..058dca231 100644
--- a/previews/PR223/assets/source_transformations_segmentize.md.IBtrohyO.lean.js
+++ b/previews/PR223/assets/source_transformations_segmentize.md.mI-0xRkX.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/vxbkshs.D5-bot8v.png",l="/GeometryOps.jl/previews/PR223/assets/gnddxfg.MvHnQDQM.png",o=JSON.parse('{"title":"Segmentize","description":"","frontmatter":{},"headers":[],"relativePath":"source/transformations/segmentize.md","filePath":"source/transformations/segmentize.md","lastUpdated":null}'),k={name:"source/transformations/segmentize.md"};function e(p,s,r,d,E,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Segmentize

julia
export segmentize
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/nlzqgxh.D5-bot8v.png",l="/GeometryOps.jl/previews/PR223/assets/toeubrn.C4nWtDb6.png",o=JSON.parse('{"title":"Segmentize","description":"","frontmatter":{},"headers":[],"relativePath":"source/transformations/segmentize.md","filePath":"source/transformations/segmentize.md","lastUpdated":null}'),k={name:"source/transformations/segmentize.md"};function e(p,s,r,d,E,g){return h(),a("div",null,s[0]||(s[0]=[n(`

Segmentize

julia
export segmentize
 export LinearSegments, GeodesicSegments

This function "segmentizes" or "densifies" a geometry by adding extra vertices to the geometry so that no segment is longer than a given distance. This is useful for plotting geometries with a limited number of vertices, or for ensuring that a geometry is not too "coarse" for a given application.

Info

We plan to add interpolated segmentization from DataInterpolations.jl in the future, which will be available to any vector of point-like objects.

For now, this function only works on 2D geometries.  We will also support 3D geometries, as well as measure interpolation, in the future.

Examples

julia
import GeometryOps as GO, GeoInterface as GI
 rectangle = GI.Wrappers.Polygon([[(0.0, 50.0), (7.071, 57.07), (0, 64.14), (-7.07, 57.07), (0.0, 50.0)]])
 linear = GO.segmentize(rectangle; max_distance = 5)
diff --git a/previews/PR223/assets/source_transformations_simplify.md.Ds3nkiNK.js b/previews/PR223/assets/source_transformations_simplify.md.BM0kLjfN.js
similarity index 99%
rename from previews/PR223/assets/source_transformations_simplify.md.Ds3nkiNK.js
rename to previews/PR223/assets/source_transformations_simplify.md.BM0kLjfN.js
index efc05f6a5..663a82bae 100644
--- a/previews/PR223/assets/source_transformations_simplify.md.Ds3nkiNK.js
+++ b/previews/PR223/assets/source_transformations_simplify.md.BM0kLjfN.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/ltsqyxd.Bglvb-jp.png",k="/GeometryOps.jl/previews/PR223/assets/hencllu.B94PsR1K.png",t="/GeometryOps.jl/previews/PR223/assets/xjnerns.CQ6fmBvI.png",p="/GeometryOps.jl/previews/PR223/assets/ehlpjgx.Bb2iK8_l.png",c=JSON.parse('{"title":"Geometry simplification","description":"","frontmatter":{},"headers":[],"relativePath":"source/transformations/simplify.md","filePath":"source/transformations/simplify.md","lastUpdated":null}'),e={name:"source/transformations/simplify.md"};function E(r,s,d,g,y,F){return h(),a("div",null,s[0]||(s[0]=[n(`

Geometry simplification

This file holds implementations for the RadialDistance, Douglas-Peucker, and Visvalingam-Whyatt algorithms for simplifying geometries (specifically for polygons and lines).

The GEOS extension also allows for GEOS's topology preserving simplification as well as Douglas-Peucker simplification implemented in GEOS. Call this by passing GEOS(; method = :TopologyPreserve) or GEOS(; method = :DouglasPeucker) to the algorithm.

Examples

A quick and dirty example is:

julia
using Makie, GeoInterfaceMakie
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/txoaqho.Bglvb-jp.png",k="/GeometryOps.jl/previews/PR223/assets/xmvajhr.B94PsR1K.png",t="/GeometryOps.jl/previews/PR223/assets/clsahjp.CBuzfdrZ.png",p="/GeometryOps.jl/previews/PR223/assets/ecgjugc.D3OY6yJg.png",c=JSON.parse('{"title":"Geometry simplification","description":"","frontmatter":{},"headers":[],"relativePath":"source/transformations/simplify.md","filePath":"source/transformations/simplify.md","lastUpdated":null}'),e={name:"source/transformations/simplify.md"};function E(r,s,d,g,y,F){return h(),a("div",null,s[0]||(s[0]=[n(`

Geometry simplification

This file holds implementations for the RadialDistance, Douglas-Peucker, and Visvalingam-Whyatt algorithms for simplifying geometries (specifically for polygons and lines).

The GEOS extension also allows for GEOS's topology preserving simplification as well as Douglas-Peucker simplification implemented in GEOS. Call this by passing GEOS(; method = :TopologyPreserve) or GEOS(; method = :DouglasPeucker) to the algorithm.

Examples

A quick and dirty example is:

julia
using Makie, GeoInterfaceMakie
 import GeoInterface as GI
 import GeometryOps as GO
 
diff --git a/previews/PR223/assets/source_transformations_simplify.md.Ds3nkiNK.lean.js b/previews/PR223/assets/source_transformations_simplify.md.BM0kLjfN.lean.js
similarity index 99%
rename from previews/PR223/assets/source_transformations_simplify.md.Ds3nkiNK.lean.js
rename to previews/PR223/assets/source_transformations_simplify.md.BM0kLjfN.lean.js
index efc05f6a5..663a82bae 100644
--- a/previews/PR223/assets/source_transformations_simplify.md.Ds3nkiNK.lean.js
+++ b/previews/PR223/assets/source_transformations_simplify.md.BM0kLjfN.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/ltsqyxd.Bglvb-jp.png",k="/GeometryOps.jl/previews/PR223/assets/hencllu.B94PsR1K.png",t="/GeometryOps.jl/previews/PR223/assets/xjnerns.CQ6fmBvI.png",p="/GeometryOps.jl/previews/PR223/assets/ehlpjgx.Bb2iK8_l.png",c=JSON.parse('{"title":"Geometry simplification","description":"","frontmatter":{},"headers":[],"relativePath":"source/transformations/simplify.md","filePath":"source/transformations/simplify.md","lastUpdated":null}'),e={name:"source/transformations/simplify.md"};function E(r,s,d,g,y,F){return h(),a("div",null,s[0]||(s[0]=[n(`

Geometry simplification

This file holds implementations for the RadialDistance, Douglas-Peucker, and Visvalingam-Whyatt algorithms for simplifying geometries (specifically for polygons and lines).

The GEOS extension also allows for GEOS's topology preserving simplification as well as Douglas-Peucker simplification implemented in GEOS. Call this by passing GEOS(; method = :TopologyPreserve) or GEOS(; method = :DouglasPeucker) to the algorithm.

Examples

A quick and dirty example is:

julia
using Makie, GeoInterfaceMakie
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const l="/GeometryOps.jl/previews/PR223/assets/txoaqho.Bglvb-jp.png",k="/GeometryOps.jl/previews/PR223/assets/xmvajhr.B94PsR1K.png",t="/GeometryOps.jl/previews/PR223/assets/clsahjp.CBuzfdrZ.png",p="/GeometryOps.jl/previews/PR223/assets/ecgjugc.D3OY6yJg.png",c=JSON.parse('{"title":"Geometry simplification","description":"","frontmatter":{},"headers":[],"relativePath":"source/transformations/simplify.md","filePath":"source/transformations/simplify.md","lastUpdated":null}'),e={name:"source/transformations/simplify.md"};function E(r,s,d,g,y,F){return h(),a("div",null,s[0]||(s[0]=[n(`

Geometry simplification

This file holds implementations for the RadialDistance, Douglas-Peucker, and Visvalingam-Whyatt algorithms for simplifying geometries (specifically for polygons and lines).

The GEOS extension also allows for GEOS's topology preserving simplification as well as Douglas-Peucker simplification implemented in GEOS. Call this by passing GEOS(; method = :TopologyPreserve) or GEOS(; method = :DouglasPeucker) to the algorithm.

Examples

A quick and dirty example is:

julia
using Makie, GeoInterfaceMakie
 import GeoInterface as GI
 import GeometryOps as GO
 
diff --git a/previews/PR223/assets/jdcsjun.DTKLkKh_.png b/previews/PR223/assets/swwzkgk.DTKLkKh_.png
similarity index 100%
rename from previews/PR223/assets/jdcsjun.DTKLkKh_.png
rename to previews/PR223/assets/swwzkgk.DTKLkKh_.png
diff --git a/previews/PR223/assets/toeubrn.C4nWtDb6.png b/previews/PR223/assets/toeubrn.C4nWtDb6.png
new file mode 100644
index 0000000000000000000000000000000000000000..ad7f1ceaffc73f3b6fbde55256f254a5a2cd81f6
GIT binary patch
literal 63546
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
cw6=+wyNBidh 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

esI5P8` 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 XJQ4dli%AK@q#V>V(8yOie(`?*eE*D8 literal 0 HcmV?d00001 diff --git a/previews/PR223/assets/tutorials_creating_geometry.md.BOUg5Xzv.js b/previews/PR223/assets/tutorials_creating_geometry.md.qRIvfgyg.js similarity index 99% rename from previews/PR223/assets/tutorials_creating_geometry.md.BOUg5Xzv.js rename to previews/PR223/assets/tutorials_creating_geometry.md.qRIvfgyg.js index 21d910c4f..11615b509 100644 --- a/previews/PR223/assets/tutorials_creating_geometry.md.BOUg5Xzv.js +++ b/previews/PR223/assets/tutorials_creating_geometry.md.qRIvfgyg.js @@ -1,4 +1,4 @@ -import{_ as i,c as a,a5 as e,o as t}from"./chunks/framework.CIByTNPs.js";const n="/GeometryOps.jl/previews/PR223/assets/vodkxhc.Dz86q2IX.png",l="/GeometryOps.jl/previews/PR223/assets/mzhhlsw.Cx40vhB3.png",p="/GeometryOps.jl/previews/PR223/assets/pekpnjm.0OJvb21A.png",h="/GeometryOps.jl/previews/PR223/assets/fbqyqix.DaovVbE6.png",o="/GeometryOps.jl/previews/PR223/assets/jtzgulf.rOsRk89v.png",k="/GeometryOps.jl/previews/PR223/assets/bpfrlvw.4wfjCtJV.png",r="/GeometryOps.jl/previews/PR223/assets/hbjcdxu.3sfpQl2i.png",g="/GeometryOps.jl/previews/PR223/assets/aafhcdh.Dab1-ETk.png",d="/GeometryOps.jl/previews/PR223/assets/jlbdubt.D9AE7i2o.png",E="/GeometryOps.jl/previews/PR223/assets/jdcsjun.DTKLkKh_.png",c="/GeometryOps.jl/previews/PR223/assets/nwqegug.0f3Lq4Lw.png",G=JSON.parse('{"title":"Creating Geometry","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials/creating_geometry.md","filePath":"tutorials/creating_geometry.md","lastUpdated":null}'),y={name:"tutorials/creating_geometry.md"};function F(u,s,f,C,m,b){return t(),a("div",null,s[0]||(s[0]=[e(`

Creating Geometry

In this tutorial, we're going to:

  1. Create and plot geometries

  2. Plot geometries on a map using GeoMakie and coordinate reference system (CRS)

  3. Create geospatial geometries with embedded coordinate reference system information

  4. Assign attributes to geospatial geometries

  5. Save geospatial geometries to common geospatial file formats

First, we load some required packages.

julia
# Geospatial packages from Julia
+import{_ as i,c as a,a5 as e,o as t}from"./chunks/framework.CIByTNPs.js";const n="/GeometryOps.jl/previews/PR223/assets/qkehebh.Dz86q2IX.png",l="/GeometryOps.jl/previews/PR223/assets/axygjub.Cx40vhB3.png",p="/GeometryOps.jl/previews/PR223/assets/kblrlyb.0OJvb21A.png",h="/GeometryOps.jl/previews/PR223/assets/hqrgmhl.DaovVbE6.png",o="/GeometryOps.jl/previews/PR223/assets/gtilmtg.rOsRk89v.png",k="/GeometryOps.jl/previews/PR223/assets/bydobux.4wfjCtJV.png",r="/GeometryOps.jl/previews/PR223/assets/jzipxom.3sfpQl2i.png",g="/GeometryOps.jl/previews/PR223/assets/awnylvm.Dab1-ETk.png",d="/GeometryOps.jl/previews/PR223/assets/vkmsvgm.D9AE7i2o.png",E="/GeometryOps.jl/previews/PR223/assets/swwzkgk.DTKLkKh_.png",c="/GeometryOps.jl/previews/PR223/assets/mzjksah.0f3Lq4Lw.png",G=JSON.parse('{"title":"Creating Geometry","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials/creating_geometry.md","filePath":"tutorials/creating_geometry.md","lastUpdated":null}'),y={name:"tutorials/creating_geometry.md"};function F(u,s,f,C,m,b){return t(),a("div",null,s[0]||(s[0]=[e(`

Creating Geometry

In this tutorial, we're going to:

  1. Create and plot geometries

  2. Plot geometries on a map using GeoMakie and coordinate reference system (CRS)

  3. Create geospatial geometries with embedded coordinate reference system information

  4. Assign attributes to geospatial geometries

  5. Save geospatial geometries to common geospatial file formats

First, we load some required packages.

julia
# Geospatial packages from Julia
 import GeoInterface as GI
 import GeometryOps as GO
 import GeoFormatTypes as GFT
@@ -48,7 +48,7 @@ import{_ as i,c as a,a5 as e,o as t}from"./chunks/framework.CIByTNPs.js";const n
 f = CoordinateTransformations.Translation(xoffset, yoffset);
 multipolygon = GO.transform(f, multipolygon);
 plot!(multipolygon)
-fig

Great, now we can make Points, MultiPoints, Lines, LineStrings, Polygons (with holes), and MultiPolygons and modify them using [CoordinateTransformations] and [GeometryOps].

Plot geometries on a map using GeoMakie and coordinate reference system (CRS)

In geospatial sciences we often have data in one Coordinate Reference System (CRS) (source) and would like to display it in different (destination) CRS. GeoMakie allows us to do this by automatically projecting from source to destination CRS.

Here, our source CRS is common geographic (i.e. coordinates of latitude and longitude), WGS84.

julia
source_crs1 = GFT.EPSG(4326)
GeoFormatTypes.EPSG{1}((4326,))

Now let's pick a destination CRS for displaying our map. Here we'll pick natearth2.

julia
destination_crs = "+proj=natearth2"
"+proj=natearth2"

Let's add land area for context. First, download and open the Natural Earth global land polygons at 110 m resolution.GeoMakie ships with this particular dataset, so we will access it from there.

julia
land_path = GeoMakie.assetpath("ne_110m_land.geojson")
"/home/runner/.julia/packages/GeoMakie/yYF2K/assets/ne_110m_land.geojson"

Note

Natural Earth has lots of other datasets, and there is a Julia package that provides an interface to it called NaturalEarth.jl.

Read the land MultiPolygons as a GeoJSON.FeatureCollection.

julia
land_geo = GeoJSON.read(land_path)
FeatureCollection with 127 Features

We then need to create a figure with a GeoAxis that can handle the projection between source and destination CRS. For GeoMakie, source is the CRS of the input and dest is the CRS you want to visualize in.

julia
fig = Figure(size=(1000, 500));
+fig

Great, now we can make Points, MultiPoints, Lines, LineStrings, Polygons (with holes), and MultiPolygons and modify them using [CoordinateTransformations] and [GeometryOps].

Plot geometries on a map using GeoMakie and coordinate reference system (CRS)

In geospatial sciences we often have data in one Coordinate Reference System (CRS) (source) and would like to display it in different (destination) CRS. GeoMakie allows us to do this by automatically projecting from source to destination CRS.

Here, our source CRS is common geographic (i.e. coordinates of latitude and longitude), WGS84.

julia
source_crs1 = GFT.EPSG(4326)
GeoFormatTypes.EPSG{1}((4326,))

Now let's pick a destination CRS for displaying our map. Here we'll pick natearth2.

julia
destination_crs = "+proj=natearth2"
"+proj=natearth2"

Let's add land area for context. First, download and open the Natural Earth global land polygons at 110 m resolution.GeoMakie ships with this particular dataset, so we will access it from there.

julia
land_path = GeoMakie.assetpath("ne_110m_land.geojson")
"/home/runner/.julia/packages/GeoMakie/5PHJ2/assets/ne_110m_land.geojson"

Note

Natural Earth has lots of other datasets, and there is a Julia package that provides an interface to it called NaturalEarth.jl.

Read the land MultiPolygons as a GeoJSON.FeatureCollection.

julia
land_geo = GeoJSON.read(land_path)
FeatureCollection with 127 Features

We then need to create a figure with a GeoAxis that can handle the projection between source and destination CRS. For GeoMakie, source is the CRS of the input and dest is the CRS you want to visualize in.

julia
fig = Figure(size=(1000, 500));
 ga = GeoAxis(
     fig[1, 1];
     source = source_crs1,
diff --git a/previews/PR223/assets/tutorials_creating_geometry.md.BOUg5Xzv.lean.js b/previews/PR223/assets/tutorials_creating_geometry.md.qRIvfgyg.lean.js
similarity index 99%
rename from previews/PR223/assets/tutorials_creating_geometry.md.BOUg5Xzv.lean.js
rename to previews/PR223/assets/tutorials_creating_geometry.md.qRIvfgyg.lean.js
index 21d910c4f..11615b509 100644
--- a/previews/PR223/assets/tutorials_creating_geometry.md.BOUg5Xzv.lean.js
+++ b/previews/PR223/assets/tutorials_creating_geometry.md.qRIvfgyg.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as e,o as t}from"./chunks/framework.CIByTNPs.js";const n="/GeometryOps.jl/previews/PR223/assets/vodkxhc.Dz86q2IX.png",l="/GeometryOps.jl/previews/PR223/assets/mzhhlsw.Cx40vhB3.png",p="/GeometryOps.jl/previews/PR223/assets/pekpnjm.0OJvb21A.png",h="/GeometryOps.jl/previews/PR223/assets/fbqyqix.DaovVbE6.png",o="/GeometryOps.jl/previews/PR223/assets/jtzgulf.rOsRk89v.png",k="/GeometryOps.jl/previews/PR223/assets/bpfrlvw.4wfjCtJV.png",r="/GeometryOps.jl/previews/PR223/assets/hbjcdxu.3sfpQl2i.png",g="/GeometryOps.jl/previews/PR223/assets/aafhcdh.Dab1-ETk.png",d="/GeometryOps.jl/previews/PR223/assets/jlbdubt.D9AE7i2o.png",E="/GeometryOps.jl/previews/PR223/assets/jdcsjun.DTKLkKh_.png",c="/GeometryOps.jl/previews/PR223/assets/nwqegug.0f3Lq4Lw.png",G=JSON.parse('{"title":"Creating Geometry","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials/creating_geometry.md","filePath":"tutorials/creating_geometry.md","lastUpdated":null}'),y={name:"tutorials/creating_geometry.md"};function F(u,s,f,C,m,b){return t(),a("div",null,s[0]||(s[0]=[e(`

Creating Geometry

In this tutorial, we're going to:

  1. Create and plot geometries

  2. Plot geometries on a map using GeoMakie and coordinate reference system (CRS)

  3. Create geospatial geometries with embedded coordinate reference system information

  4. Assign attributes to geospatial geometries

  5. Save geospatial geometries to common geospatial file formats

First, we load some required packages.

julia
# Geospatial packages from Julia
+import{_ as i,c as a,a5 as e,o as t}from"./chunks/framework.CIByTNPs.js";const n="/GeometryOps.jl/previews/PR223/assets/qkehebh.Dz86q2IX.png",l="/GeometryOps.jl/previews/PR223/assets/axygjub.Cx40vhB3.png",p="/GeometryOps.jl/previews/PR223/assets/kblrlyb.0OJvb21A.png",h="/GeometryOps.jl/previews/PR223/assets/hqrgmhl.DaovVbE6.png",o="/GeometryOps.jl/previews/PR223/assets/gtilmtg.rOsRk89v.png",k="/GeometryOps.jl/previews/PR223/assets/bydobux.4wfjCtJV.png",r="/GeometryOps.jl/previews/PR223/assets/jzipxom.3sfpQl2i.png",g="/GeometryOps.jl/previews/PR223/assets/awnylvm.Dab1-ETk.png",d="/GeometryOps.jl/previews/PR223/assets/vkmsvgm.D9AE7i2o.png",E="/GeometryOps.jl/previews/PR223/assets/swwzkgk.DTKLkKh_.png",c="/GeometryOps.jl/previews/PR223/assets/mzjksah.0f3Lq4Lw.png",G=JSON.parse('{"title":"Creating Geometry","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials/creating_geometry.md","filePath":"tutorials/creating_geometry.md","lastUpdated":null}'),y={name:"tutorials/creating_geometry.md"};function F(u,s,f,C,m,b){return t(),a("div",null,s[0]||(s[0]=[e(`

Creating Geometry

In this tutorial, we're going to:

  1. Create and plot geometries

  2. Plot geometries on a map using GeoMakie and coordinate reference system (CRS)

  3. Create geospatial geometries with embedded coordinate reference system information

  4. Assign attributes to geospatial geometries

  5. Save geospatial geometries to common geospatial file formats

First, we load some required packages.

julia
# Geospatial packages from Julia
 import GeoInterface as GI
 import GeometryOps as GO
 import GeoFormatTypes as GFT
@@ -48,7 +48,7 @@ import{_ as i,c as a,a5 as e,o as t}from"./chunks/framework.CIByTNPs.js";const n
 f = CoordinateTransformations.Translation(xoffset, yoffset);
 multipolygon = GO.transform(f, multipolygon);
 plot!(multipolygon)
-fig

Great, now we can make Points, MultiPoints, Lines, LineStrings, Polygons (with holes), and MultiPolygons and modify them using [CoordinateTransformations] and [GeometryOps].

Plot geometries on a map using GeoMakie and coordinate reference system (CRS)

In geospatial sciences we often have data in one Coordinate Reference System (CRS) (source) and would like to display it in different (destination) CRS. GeoMakie allows us to do this by automatically projecting from source to destination CRS.

Here, our source CRS is common geographic (i.e. coordinates of latitude and longitude), WGS84.

julia
source_crs1 = GFT.EPSG(4326)
GeoFormatTypes.EPSG{1}((4326,))

Now let's pick a destination CRS for displaying our map. Here we'll pick natearth2.

julia
destination_crs = "+proj=natearth2"
"+proj=natearth2"

Let's add land area for context. First, download and open the Natural Earth global land polygons at 110 m resolution.GeoMakie ships with this particular dataset, so we will access it from there.

julia
land_path = GeoMakie.assetpath("ne_110m_land.geojson")
"/home/runner/.julia/packages/GeoMakie/yYF2K/assets/ne_110m_land.geojson"

Note

Natural Earth has lots of other datasets, and there is a Julia package that provides an interface to it called NaturalEarth.jl.

Read the land MultiPolygons as a GeoJSON.FeatureCollection.

julia
land_geo = GeoJSON.read(land_path)
FeatureCollection with 127 Features

We then need to create a figure with a GeoAxis that can handle the projection between source and destination CRS. For GeoMakie, source is the CRS of the input and dest is the CRS you want to visualize in.

julia
fig = Figure(size=(1000, 500));
+fig

Great, now we can make Points, MultiPoints, Lines, LineStrings, Polygons (with holes), and MultiPolygons and modify them using [CoordinateTransformations] and [GeometryOps].

Plot geometries on a map using GeoMakie and coordinate reference system (CRS)

In geospatial sciences we often have data in one Coordinate Reference System (CRS) (source) and would like to display it in different (destination) CRS. GeoMakie allows us to do this by automatically projecting from source to destination CRS.

Here, our source CRS is common geographic (i.e. coordinates of latitude and longitude), WGS84.

julia
source_crs1 = GFT.EPSG(4326)
GeoFormatTypes.EPSG{1}((4326,))

Now let's pick a destination CRS for displaying our map. Here we'll pick natearth2.

julia
destination_crs = "+proj=natearth2"
"+proj=natearth2"

Let's add land area for context. First, download and open the Natural Earth global land polygons at 110 m resolution.GeoMakie ships with this particular dataset, so we will access it from there.

julia
land_path = GeoMakie.assetpath("ne_110m_land.geojson")
"/home/runner/.julia/packages/GeoMakie/5PHJ2/assets/ne_110m_land.geojson"

Note

Natural Earth has lots of other datasets, and there is a Julia package that provides an interface to it called NaturalEarth.jl.

Read the land MultiPolygons as a GeoJSON.FeatureCollection.

julia
land_geo = GeoJSON.read(land_path)
FeatureCollection with 127 Features

We then need to create a figure with a GeoAxis that can handle the projection between source and destination CRS. For GeoMakie, source is the CRS of the input and dest is the CRS you want to visualize in.

julia
fig = Figure(size=(1000, 500));
 ga = GeoAxis(
     fig[1, 1];
     source = source_crs1,
diff --git a/previews/PR223/assets/tutorials_geodesic_paths.md.CQdKqMPd.js b/previews/PR223/assets/tutorials_geodesic_paths.md.bW3k6R9s.js
similarity index 97%
rename from previews/PR223/assets/tutorials_geodesic_paths.md.CQdKqMPd.js
rename to previews/PR223/assets/tutorials_geodesic_paths.md.bW3k6R9s.js
index 823b7cb43..4f972b362 100644
--- a/previews/PR223/assets/tutorials_geodesic_paths.md.CQdKqMPd.js
+++ b/previews/PR223/assets/tutorials_geodesic_paths.md.bW3k6R9s.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/feyloij.CPClNl7F.png",o=JSON.parse('{"title":"Geodesic paths","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials/geodesic_paths.md","filePath":"tutorials/geodesic_paths.md","lastUpdated":null}'),p={name:"tutorials/geodesic_paths.md"};function k(l,s,e,E,r,d){return h(),a("div",null,s[0]||(s[0]=[n(`

Geodesic paths

Geodesic paths are paths computed on an ellipsoid, as opposed to a plane.

julia
import GeometryOps as GO, GeoInterface as GI
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/bdctrdf.CPClNl7F.png",o=JSON.parse('{"title":"Geodesic paths","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials/geodesic_paths.md","filePath":"tutorials/geodesic_paths.md","lastUpdated":null}'),p={name:"tutorials/geodesic_paths.md"};function k(l,s,e,E,d,r){return h(),a("div",null,s[0]||(s[0]=[n(`

Geodesic paths

Geodesic paths are paths computed on an ellipsoid, as opposed to a plane.

julia
import GeometryOps as GO, GeoInterface as GI
 using CairoMakie, GeoMakie
 
 
diff --git a/previews/PR223/assets/tutorials_geodesic_paths.md.CQdKqMPd.lean.js b/previews/PR223/assets/tutorials_geodesic_paths.md.bW3k6R9s.lean.js
similarity index 97%
rename from previews/PR223/assets/tutorials_geodesic_paths.md.CQdKqMPd.lean.js
rename to previews/PR223/assets/tutorials_geodesic_paths.md.bW3k6R9s.lean.js
index 823b7cb43..4f972b362 100644
--- a/previews/PR223/assets/tutorials_geodesic_paths.md.CQdKqMPd.lean.js
+++ b/previews/PR223/assets/tutorials_geodesic_paths.md.bW3k6R9s.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/feyloij.CPClNl7F.png",o=JSON.parse('{"title":"Geodesic paths","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials/geodesic_paths.md","filePath":"tutorials/geodesic_paths.md","lastUpdated":null}'),p={name:"tutorials/geodesic_paths.md"};function k(l,s,e,E,r,d){return h(),a("div",null,s[0]||(s[0]=[n(`

Geodesic paths

Geodesic paths are paths computed on an ellipsoid, as opposed to a plane.

julia
import GeometryOps as GO, GeoInterface as GI
+import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/bdctrdf.CPClNl7F.png",o=JSON.parse('{"title":"Geodesic paths","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials/geodesic_paths.md","filePath":"tutorials/geodesic_paths.md","lastUpdated":null}'),p={name:"tutorials/geodesic_paths.md"};function k(l,s,e,E,d,r){return h(),a("div",null,s[0]||(s[0]=[n(`

Geodesic paths

Geodesic paths are paths computed on an ellipsoid, as opposed to a plane.

julia
import GeometryOps as GO, GeoInterface as GI
 using CairoMakie, GeoMakie
 
 
diff --git a/previews/PR223/assets/tutorials_spatial_joins.md.Dm2qVT3o.js b/previews/PR223/assets/tutorials_spatial_joins.md.DSC6WJoE.js
similarity index 99%
rename from previews/PR223/assets/tutorials_spatial_joins.md.Dm2qVT3o.js
rename to previews/PR223/assets/tutorials_spatial_joins.md.DSC6WJoE.js
index 574d55f18..151de9b9d 100644
--- a/previews/PR223/assets/tutorials_spatial_joins.md.Dm2qVT3o.js
+++ b/previews/PR223/assets/tutorials_spatial_joins.md.DSC6WJoE.js
@@ -1,4 +1,4 @@
-import{_ as l,c as t,j as i,a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const e="/GeometryOps.jl/previews/PR223/assets/avftjmm.3UVIT8DR.png",p="/GeometryOps.jl/previews/PR223/assets/wzyrcao.Dtf-yrHx.png",k="/GeometryOps.jl/previews/PR223/assets/solzdcc.DufL5FKR.png",C=JSON.parse('{"title":"Spatial joins","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials/spatial_joins.md","filePath":"tutorials/spatial_joins.md","lastUpdated":null}'),r={name:"tutorials/spatial_joins.md"},E={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"6.307ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2787.7 1000","aria-hidden":"true"};function o(g,s,y,F,c,u){return h(),t("div",null,[s[12]||(s[12]=i("h1",{id:"Spatial-joins",tabindex:"-1"},[a("Spatial joins "),i("a",{class:"header-anchor",href:"#Spatial-joins","aria-label":'Permalink to "Spatial joins {#Spatial-joins}"'},"​")],-1)),i("p",null,[s[2]||(s[2]=a("Spatial joins are ")),s[3]||(s[3]=i("a",{href:"https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/",target:"_blank",rel:"noreferrer"},"table joins",-1)),s[4]||(s[4]=a(" which are based not on equality, but on some predicate ")),i("mjx-container",E,[(h(),t("svg",d,s[0]||(s[0]=[n('',1)]))),s[1]||(s[1]=i("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[i("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[i("mi",null,"p"),i("mo",{stretchy:"false"},"("),i("mi",null,"x"),i("mo",null,","),i("mi",null,"y"),i("mo",{stretchy:"false"},")")])],-1))]),s[5]||(s[5]=a(", which takes two geometries, and returns a value of either ")),s[6]||(s[6]=i("code",null,"true",-1)),s[7]||(s[7]=a(" or ")),s[8]||(s[8]=i("code",null,"false",-1)),s[9]||(s[9]=a(". For geometries, the ")),s[10]||(s[10]=i("a",{href:"https://en.wikipedia.org/wiki/DE-9IM",target:"_blank",rel:"noreferrer"},[i("code",null,"DE-9IM")],-1)),s[11]||(s[11]=a(" spatial relationship model is used to determine the spatial relationship between two geometries."))]),s[13]||(s[13]=n(`

Spatial joins can be done between any geometry types (from geometrycollections to points), just as geometrical predicates can be evaluated on any geometries.

In this tutorial, we will show how to perform a spatial join on first a toy dataset and then two Natural Earth datasets, to show how this can be used in the real world.

In order to perform the spatial join, we use FlexiJoins.jl to perform the join, specifically using its by_pred joining method. This allows the user to specify a predicate in the following manner, for any kind of table join operation:

julia
using FlexiJoins
+import{_ as l,c as t,j as i,a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const e="/GeometryOps.jl/previews/PR223/assets/ldnymqw.3UVIT8DR.png",p="/GeometryOps.jl/previews/PR223/assets/cxkittd.b1ipFtNF.png",k="/GeometryOps.jl/previews/PR223/assets/ffmcoxo.Do_Oyd1s.png",C=JSON.parse('{"title":"Spatial joins","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials/spatial_joins.md","filePath":"tutorials/spatial_joins.md","lastUpdated":null}'),r={name:"tutorials/spatial_joins.md"},E={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"6.307ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2787.7 1000","aria-hidden":"true"};function o(g,s,y,F,c,u){return h(),t("div",null,[s[12]||(s[12]=i("h1",{id:"Spatial-joins",tabindex:"-1"},[a("Spatial joins "),i("a",{class:"header-anchor",href:"#Spatial-joins","aria-label":'Permalink to "Spatial joins {#Spatial-joins}"'},"​")],-1)),i("p",null,[s[2]||(s[2]=a("Spatial joins are ")),s[3]||(s[3]=i("a",{href:"https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/",target:"_blank",rel:"noreferrer"},"table joins",-1)),s[4]||(s[4]=a(" which are based not on equality, but on some predicate ")),i("mjx-container",E,[(h(),t("svg",d,s[0]||(s[0]=[n('',1)]))),s[1]||(s[1]=i("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[i("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[i("mi",null,"p"),i("mo",{stretchy:"false"},"("),i("mi",null,"x"),i("mo",null,","),i("mi",null,"y"),i("mo",{stretchy:"false"},")")])],-1))]),s[5]||(s[5]=a(", which takes two geometries, and returns a value of either ")),s[6]||(s[6]=i("code",null,"true",-1)),s[7]||(s[7]=a(" or ")),s[8]||(s[8]=i("code",null,"false",-1)),s[9]||(s[9]=a(". For geometries, the ")),s[10]||(s[10]=i("a",{href:"https://en.wikipedia.org/wiki/DE-9IM",target:"_blank",rel:"noreferrer"},[i("code",null,"DE-9IM")],-1)),s[11]||(s[11]=a(" spatial relationship model is used to determine the spatial relationship between two geometries."))]),s[13]||(s[13]=n(`

Spatial joins can be done between any geometry types (from geometrycollections to points), just as geometrical predicates can be evaluated on any geometries.

In this tutorial, we will show how to perform a spatial join on first a toy dataset and then two Natural Earth datasets, to show how this can be used in the real world.

In order to perform the spatial join, we use FlexiJoins.jl to perform the join, specifically using its by_pred joining method. This allows the user to specify a predicate in the following manner, for any kind of table join operation:

julia
using FlexiJoins
 innerjoin((table1, table1),
     by_pred(:table1_column, predicate_function, :table2_column) # & add other conditions here
 )
diff --git a/previews/PR223/assets/tutorials_spatial_joins.md.Dm2qVT3o.lean.js b/previews/PR223/assets/tutorials_spatial_joins.md.DSC6WJoE.lean.js
similarity index 99%
rename from previews/PR223/assets/tutorials_spatial_joins.md.Dm2qVT3o.lean.js
rename to previews/PR223/assets/tutorials_spatial_joins.md.DSC6WJoE.lean.js
index 574d55f18..151de9b9d 100644
--- a/previews/PR223/assets/tutorials_spatial_joins.md.Dm2qVT3o.lean.js
+++ b/previews/PR223/assets/tutorials_spatial_joins.md.DSC6WJoE.lean.js
@@ -1,4 +1,4 @@
-import{_ as l,c as t,j as i,a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const e="/GeometryOps.jl/previews/PR223/assets/avftjmm.3UVIT8DR.png",p="/GeometryOps.jl/previews/PR223/assets/wzyrcao.Dtf-yrHx.png",k="/GeometryOps.jl/previews/PR223/assets/solzdcc.DufL5FKR.png",C=JSON.parse('{"title":"Spatial joins","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials/spatial_joins.md","filePath":"tutorials/spatial_joins.md","lastUpdated":null}'),r={name:"tutorials/spatial_joins.md"},E={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"6.307ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2787.7 1000","aria-hidden":"true"};function o(g,s,y,F,c,u){return h(),t("div",null,[s[12]||(s[12]=i("h1",{id:"Spatial-joins",tabindex:"-1"},[a("Spatial joins "),i("a",{class:"header-anchor",href:"#Spatial-joins","aria-label":'Permalink to "Spatial joins {#Spatial-joins}"'},"​")],-1)),i("p",null,[s[2]||(s[2]=a("Spatial joins are ")),s[3]||(s[3]=i("a",{href:"https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/",target:"_blank",rel:"noreferrer"},"table joins",-1)),s[4]||(s[4]=a(" which are based not on equality, but on some predicate ")),i("mjx-container",E,[(h(),t("svg",d,s[0]||(s[0]=[n('',1)]))),s[1]||(s[1]=i("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[i("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[i("mi",null,"p"),i("mo",{stretchy:"false"},"("),i("mi",null,"x"),i("mo",null,","),i("mi",null,"y"),i("mo",{stretchy:"false"},")")])],-1))]),s[5]||(s[5]=a(", which takes two geometries, and returns a value of either ")),s[6]||(s[6]=i("code",null,"true",-1)),s[7]||(s[7]=a(" or ")),s[8]||(s[8]=i("code",null,"false",-1)),s[9]||(s[9]=a(". For geometries, the ")),s[10]||(s[10]=i("a",{href:"https://en.wikipedia.org/wiki/DE-9IM",target:"_blank",rel:"noreferrer"},[i("code",null,"DE-9IM")],-1)),s[11]||(s[11]=a(" spatial relationship model is used to determine the spatial relationship between two geometries."))]),s[13]||(s[13]=n(`

Spatial joins can be done between any geometry types (from geometrycollections to points), just as geometrical predicates can be evaluated on any geometries.

In this tutorial, we will show how to perform a spatial join on first a toy dataset and then two Natural Earth datasets, to show how this can be used in the real world.

In order to perform the spatial join, we use FlexiJoins.jl to perform the join, specifically using its by_pred joining method. This allows the user to specify a predicate in the following manner, for any kind of table join operation:

julia
using FlexiJoins
+import{_ as l,c as t,j as i,a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const e="/GeometryOps.jl/previews/PR223/assets/ldnymqw.3UVIT8DR.png",p="/GeometryOps.jl/previews/PR223/assets/cxkittd.b1ipFtNF.png",k="/GeometryOps.jl/previews/PR223/assets/ffmcoxo.Do_Oyd1s.png",C=JSON.parse('{"title":"Spatial joins","description":"","frontmatter":{},"headers":[],"relativePath":"tutorials/spatial_joins.md","filePath":"tutorials/spatial_joins.md","lastUpdated":null}'),r={name:"tutorials/spatial_joins.md"},E={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.566ex"},xmlns:"http://www.w3.org/2000/svg",width:"6.307ex",height:"2.262ex",role:"img",focusable:"false",viewBox:"0 -750 2787.7 1000","aria-hidden":"true"};function o(g,s,y,F,c,u){return h(),t("div",null,[s[12]||(s[12]=i("h1",{id:"Spatial-joins",tabindex:"-1"},[a("Spatial joins "),i("a",{class:"header-anchor",href:"#Spatial-joins","aria-label":'Permalink to "Spatial joins {#Spatial-joins}"'},"​")],-1)),i("p",null,[s[2]||(s[2]=a("Spatial joins are ")),s[3]||(s[3]=i("a",{href:"https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/",target:"_blank",rel:"noreferrer"},"table joins",-1)),s[4]||(s[4]=a(" which are based not on equality, but on some predicate ")),i("mjx-container",E,[(h(),t("svg",d,s[0]||(s[0]=[n('',1)]))),s[1]||(s[1]=i("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[i("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[i("mi",null,"p"),i("mo",{stretchy:"false"},"("),i("mi",null,"x"),i("mo",null,","),i("mi",null,"y"),i("mo",{stretchy:"false"},")")])],-1))]),s[5]||(s[5]=a(", which takes two geometries, and returns a value of either ")),s[6]||(s[6]=i("code",null,"true",-1)),s[7]||(s[7]=a(" or ")),s[8]||(s[8]=i("code",null,"false",-1)),s[9]||(s[9]=a(". For geometries, the ")),s[10]||(s[10]=i("a",{href:"https://en.wikipedia.org/wiki/DE-9IM",target:"_blank",rel:"noreferrer"},[i("code",null,"DE-9IM")],-1)),s[11]||(s[11]=a(" spatial relationship model is used to determine the spatial relationship between two geometries."))]),s[13]||(s[13]=n(`

Spatial joins can be done between any geometry types (from geometrycollections to points), just as geometrical predicates can be evaluated on any geometries.

In this tutorial, we will show how to perform a spatial join on first a toy dataset and then two Natural Earth datasets, to show how this can be used in the real world.

In order to perform the spatial join, we use FlexiJoins.jl to perform the join, specifically using its by_pred joining method. This allows the user to specify a predicate in the following manner, for any kind of table join operation:

julia
using FlexiJoins
 innerjoin((table1, table1),
     by_pred(:table1_column, predicate_function, :table2_column) # & add other conditions here
 )
diff --git a/previews/PR223/assets/ltsqyxd.Bglvb-jp.png b/previews/PR223/assets/txoaqho.Bglvb-jp.png
similarity index 100%
rename from previews/PR223/assets/ltsqyxd.Bglvb-jp.png
rename to previews/PR223/assets/txoaqho.Bglvb-jp.png
diff --git a/previews/PR223/assets/tlxuqqs.C3SxJ3x-.png b/previews/PR223/assets/uloakgu.C3SxJ3x-.png
similarity index 100%
rename from previews/PR223/assets/tlxuqqs.C3SxJ3x-.png
rename to previews/PR223/assets/uloakgu.C3SxJ3x-.png
diff --git a/previews/PR223/assets/jlbdubt.D9AE7i2o.png b/previews/PR223/assets/vkmsvgm.D9AE7i2o.png
similarity index 100%
rename from previews/PR223/assets/jlbdubt.D9AE7i2o.png
rename to previews/PR223/assets/vkmsvgm.D9AE7i2o.png
diff --git a/previews/PR223/assets/xhpmtze.Cb0_DiYE.png b/previews/PR223/assets/wfvzrpb.Cb0_DiYE.png
similarity index 100%
rename from previews/PR223/assets/xhpmtze.Cb0_DiYE.png
rename to previews/PR223/assets/wfvzrpb.Cb0_DiYE.png
diff --git a/previews/PR223/assets/wzyrcao.Dtf-yrHx.png b/previews/PR223/assets/wzyrcao.Dtf-yrHx.png
deleted file mode 100644
index 748a2bb70a18fee6c8e42179727abf300f7ec396..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 209091
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 diff --git a/previews/PR223/assets/mbwtmui.mCtKcWOr.png b/previews/PR223/assets/xhczifw.mCtKcWOr.png similarity index 100% rename from previews/PR223/assets/mbwtmui.mCtKcWOr.png rename to previews/PR223/assets/xhczifw.mCtKcWOr.png diff --git a/previews/PR223/assets/xjnerns.CQ6fmBvI.png b/previews/PR223/assets/xjnerns.CQ6fmBvI.png deleted file mode 100644 index d7cf0b0ba2d407d009f79fb9f502872a20a78001..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81311 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

9Qk6wBFz4pnrH2Xcs>HMvqR-%rGV!NJ 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 - + - + @@ -19,7 +19,7 @@

Skip to content

20th April, 2024

See GeometryOps#114.

  • [ ] Exact predicates can be defined for lower-level, more atomic predicates within GeometryOps.

  • [ ] Add Shewchuck's adaptive math as a stage for exact predicates.

  • [x] @skygering to write docstrings for the predicates

29th Feb, 2024

To do

  • [ ] Finish clipping degeneracies

  • [ ] Fix cross & overlap functions

  • [x] Benchmarks to show why things you couldn't concieve of in R are doable in Julia

  • [x] profile functions for exponential improvements

  • [ ] A list of projects people can work on...the beauty here is that each function is kind of self-contained so it's an undergrad level project

  • [ ] Doc improvements

    • more

    • benchmarks page

  • Methods to validate and fix geometry

    • [ ] Polygons and LinearRings:

      • [ ] self-intersection

      • [ ] holes are actually within the polygon

      • [ ] Polygon exteriors must be counterclockwise, holes clockwise.

      • [ ] length of all rings > 4

      • [ ] repeated last point

    • [ ] LineStrings: NaN/Inf points

    • [x] Fix linear rings at some point to make sure the ring is closed, i.e., points[end] == points[begin]

  • Tests

    • [x] Simplify functions

    • [x] Polygonize

    • Barycentric tests for n_vertices > 4

Done

  • Rename bools.jl to something more relevant to the actual code -> orientation.jl

  • Doc improvements:

    • organise sections
- + \ No newline at end of file diff --git a/previews/PR223/experiments/accurate_accumulators.html b/previews/PR223/experiments/accurate_accumulators.html index ef65b50e4..2eb569883 100644 --- a/previews/PR223/experiments/accurate_accumulators.html +++ b/previews/PR223/experiments/accurate_accumulators.html @@ -9,9 +9,9 @@ - + - + @@ -24,7 +24,7 @@ using NaturalEarth all_adm0 = naturalearth("admin_0_countries", 10)
FeatureCollection with 258 Features
julia
GO.area(all_adm0)
21427.909318372607
julia
AccurateArithmetic.sum_oro(GO.area.(all_adm0.geometry))
21427.909318372607
julia
AccurateArithmetic.sum_kbn(GO.area.(all_adm0.geometry))
21427.909318372607
julia
GI.Polygon.(GO.flatten(Union{GI.LineStringTrait, GI.LinearRingTrait}, all_adm0) |> collect .|> x -> [x]) .|> GO.signed_area |> sum
-21427.90063612163
julia
GI.Polygon.(GO.flatten(Union{GI.LineStringTrait, GI.LinearRingTrait}, all_adm0) |> collect .|> x -> [x]) .|> GO.signed_area |> sum_oro
-21427.90063612163

@example accurate GI.Polygon.(GO.flatten(Union{GI.LineStringTrait, GI.LinearRingTrait}, all_adm0) |> collect .|> x -> [x]) .|> GO.signed_area |> sum_kbn ```

- + \ No newline at end of file diff --git a/previews/PR223/experiments/predicates.html b/previews/PR223/experiments/predicates.html index ea368bfde..ff23f3072 100644 --- a/previews/PR223/experiments/predicates.html +++ b/previews/PR223/experiments/predicates.html @@ -9,11 +9,11 @@ - + - + - + @@ -59,7 +59,7 @@ display(fig) end resize!(fig, 1000, 450) -fig

Dashboard

julia
using WGLMakie
+fig

Dashboard

julia
using WGLMakie
 import GeometryOps as GO, GeoInterface as GI, LibGEOS as LG
 import ExactPredicates
 using MultiFloats
@@ -116,7 +116,7 @@
 
 GO.intersection(p1_m, p2_m; target = GI.PolygonTrait(), fix_multipoly = nothing)
 LG.intersection(p1_m, p2_m)

Incircle

- + \ No newline at end of file diff --git a/previews/PR223/explanations/crs.html b/previews/PR223/explanations/crs.html index e4f030c0e..60d362f50 100644 --- a/previews/PR223/explanations/crs.html +++ b/previews/PR223/explanations/crs.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
Skip to content
- + \ No newline at end of file diff --git a/previews/PR223/explanations/paradigms.html b/previews/PR223/explanations/paradigms.html index 8117ca015..ac2520d99 100644 --- a/previews/PR223/explanations/paradigms.html +++ b/previews/PR223/explanations/paradigms.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
Skip to content

Paradigms

GeometryOps exposes functions like apply and applyreduce, as well as the fix and prepare APIs, that represent paradigms of programming, by which we mean the ability to program in a certain way, and in so doing, fit neatly into the tools we've built without needing to re-implement the wheel.

Below, we'll describe some of the foundational paradigms of GeometryOps, and why you should care!

apply

The apply function allows you to decompose a given collection of geometries down to a certain level, operate on it, and reconstruct it back to the same nested form as the original. In general, its invocation is:

julia
apply(f, trait::Trait, geom)

Functionally, it's similar to map in the way you apply it to geometries - except that you tell it at which level it should stop, by passing a trait to it.

apply will start by decomposing the geometry, feature, featurecollection, iterable, or table that you pass to it, and stop when it encounters a geometry for which GI.trait(geom) isa Trait. This encompasses unions of traits especially, but beware that any geometry which is not explicitly handled, and hits GI.PointTrait, will cause an error.

apply is unlike map in that it returns reconstructed geometries, instead of the raw output of the function. If you want a purely map-like behaviour, like calculating the length of each linestring in your feature collection, then call GO.flatten(f, trait, geom), which will decompose each geometry to the given trait and apply f to it, returning the decomposition as a flattened vector.

applyreduce

applyreduce is like the previous map-based approach that we mentioned, except that it reduces the result of f by op. Note that applyreduce does not guarantee associativity, so it's best to have typeof(init) == returntype(op).

fix and prepare

The fix and prepare paradigms are different from apply, though they are built on top of it. They involve the use of structs as "actions", where a constructed object indicates an action that should be taken. A trait like interface prescribes the level (polygon, linestring, point, etc) at which each action should be applied.

In general, the idea here is to be able to invoke several actions efficiently and simultaneously, for example when correcting invalid geometries, or instantiating a Prepared geometry with several preparations (sorted edge lists, rtrees, monotone chains, etc.)

- + \ No newline at end of file diff --git a/previews/PR223/explanations/peculiarities.html b/previews/PR223/explanations/peculiarities.html index fdf173d44..130647f3f 100644 --- a/previews/PR223/explanations/peculiarities.html +++ b/previews/PR223/explanations/peculiarities.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
Skip to content

Peculiarities

What does apply return and why?

apply returns the target geometries returned by f, whatever type/package they are from, but geometries, features or feature collections that wrapped the target are replaced with GeoInterace.jl wrappers with matching GeoInterface.trait to the originals. All non-geointerface iterables become Arrays. Tables.jl compatible tables are converted either back to the original type if a Tables.materializer is defined, and if not then returned as generic NamedTuple column tables (i.e., a NamedTuple of vectors).

It is recommended for consistency that f returns GeoInterface geometries unless there is a performance/conversion overhead to doing that.

Why do you want me to provide a target in set operations?

In polygon set operations like intersection, difference, and union, many different geometry types may be obtained - depending on the relationship between the polygons. For example, when performing an union on two nonintersecting polygons, one would technically have two disjoint polygons as an output.

We use the target keyword to allow the user to control which kinds of geometry they want back. For example, setting target to PolygonTrait will cause a vector of polygons to be returned (this is the only currently supported behaviour). In future, we may implement MultiPolygonTrait or GeometryCollectionTrait targets which will return a single geometry, as LibGEOS and ArchGDAL do.

This also allows for a lot more type stability - when you ask for polygons, we won't return a geometrycollection with line segments. Especially in simulation workflows, this is excellent for simplified data processing.

_True and _False (or BoolsAsTypes)

Warning

These are internals and explicitly not public API, meaning they may change at any time!

When dispatch can be controlled by the value of a boolean variable, this introduces type instability. Instead of introducing type instability, we chose to encode our boolean decision variables, like threaded and calc_extent in apply, as types. This allows the compiler to reason about what will happen, and call the correct compiled method, in a stable way without worrying about

- + \ No newline at end of file diff --git a/previews/PR223/explanations/winding_order.html b/previews/PR223/explanations/winding_order.html index 3c99b0a9f..438625bf7 100644 --- a/previews/PR223/explanations/winding_order.html +++ b/previews/PR223/explanations/winding_order.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
Skip to content
- + \ No newline at end of file diff --git a/previews/PR223/hashmap.json b/previews/PR223/hashmap.json index 3dad33aa5..6048a09d6 100644 --- a/previews/PR223/hashmap.json +++ b/previews/PR223/hashmap.json @@ -1 +1 @@ -{"api.md":"2HLTFd0J","call_notes.md":"CQV1jtrC","experiments_accurate_accumulators.md":"CNy24E-d","experiments_predicates.md":"BztvbZKA","explanations_crs.md":"CMU-kyrV","explanations_paradigms.md":"B5PRgN34","explanations_peculiarities.md":"CO3F0xmH","explanations_winding_order.md":"BQ7ZoTwE","index.md":"BB_d1onr","introduction.md":"Dz4uF8Xc","source_geometryops.md":"BS21soXO","source_geometryopsflexijoinsext_geometryopsflexijoinsext.md":"C5j6iV8R","source_geometryopslibgeosext_buffer.md":"1VslCHLl","source_geometryopslibgeosext_geometryopslibgeosext.md":"PgdlgZ8E","source_geometryopslibgeosext_segmentize.md":"SAeNxaeL","source_geometryopslibgeosext_simple_overrides.md":"qUYwB2fE","source_geometryopslibgeosext_simplify.md":"DoXh0yQQ","source_geometryopsprojext_geometryopsprojext.md":"tgA--ByQ","source_geometryopsprojext_reproject.md":"Cd0RtXBt","source_geometryopsprojext_segmentize.md":"ClYwR-jj","source_methods_angles.md":"Dzxr20g4","source_methods_area.md":"hMXm3ro6","source_methods_barycentric.md":"BOm5-3sa","source_methods_buffer.md":"j8KVHqgi","source_methods_centroid.md":"CZ5i0Tz0","source_methods_clipping_clipping_processor.md":"7BfWTXCx","source_methods_clipping_coverage.md":"Bd2PlN2T","source_methods_clipping_cut.md":"DcYuqVoa","source_methods_clipping_difference.md":"Duq4xgR4","source_methods_clipping_intersection.md":"BZM0knNc","source_methods_clipping_predicates.md":"DL229k1b","source_methods_clipping_union.md":"DGh7hFuO","source_methods_convex_hull.md":"H6dVDSs8","source_methods_distance.md":"Wp7q1S1Y","source_methods_equals.md":"Bgy6zE0e","source_methods_geom_relations_contains.md":"D79teMCm","source_methods_geom_relations_coveredby.md":"DD9DKlUL","source_methods_geom_relations_covers.md":"KU20wwkA","source_methods_geom_relations_crosses.md":"CP7iRbQj","source_methods_geom_relations_disjoint.md":"AbnUxwHq","source_methods_geom_relations_geom_geom_processors.md":"BF8gYKR3","source_methods_geom_relations_intersects.md":"DA6RFE_y","source_methods_geom_relations_overlaps.md":"CmUkPIPU","source_methods_geom_relations_touches.md":"BbdRz1Yc","source_methods_geom_relations_within.md":"Clrdm6IA","source_methods_orientation.md":"Divvnalq","source_methods_polygonize.md":"CGOTy1Bp","source_not_implemented_yet.md":"Cujo-Gzj","source_primitives.md":"rgra_4iO","source_src_apply.md":"DpVaRYHq","source_src_applyreduce.md":"D4tzlfeH","source_src_geometry_utils.md":"Bu0uLEyo","source_src_geometryopscore.md":"D3Qy-nnI","source_src_keyword_docs.md":"468l7Lx4","source_src_other_primitives.md":"86xxcY8J","source_src_types.md":"DaKWp7Eq","source_transformations_correction_closed_ring.md":"4HYFYams","source_transformations_correction_geometry_correction.md":"MWvAI45e","source_transformations_correction_intersecting_polygons.md":"KaNXkgBu","source_transformations_extent.md":"CyK78sMc","source_transformations_flip.md":"B9DySKwQ","source_transformations_reproject.md":"BKuiLGKx","source_transformations_segmentize.md":"IBtrohyO","source_transformations_simplify.md":"Ds3nkiNK","source_transformations_transform.md":"DJBNtLeA","source_transformations_tuples.md":"wxi6IbPH","source_types.md":"DKAWKlN-","source_utils.md":"DUwGwieC","tutorials_creating_geometry.md":"BOUg5Xzv","tutorials_geodesic_paths.md":"CQdKqMPd","tutorials_spatial_joins.md":"Dm2qVT3o"} +{"api.md":"pHWlBUPJ","call_notes.md":"CQV1jtrC","experiments_accurate_accumulators.md":"CNy24E-d","experiments_predicates.md":"BbLqJ2-y","explanations_crs.md":"CMU-kyrV","explanations_paradigms.md":"B5PRgN34","explanations_peculiarities.md":"CO3F0xmH","explanations_winding_order.md":"BQ7ZoTwE","index.md":"BB_d1onr","introduction.md":"Dz4uF8Xc","source_geometryops.md":"BS21soXO","source_geometryopsflexijoinsext_geometryopsflexijoinsext.md":"C5j6iV8R","source_geometryopslibgeosext_buffer.md":"1VslCHLl","source_geometryopslibgeosext_geometryopslibgeosext.md":"PgdlgZ8E","source_geometryopslibgeosext_segmentize.md":"SAeNxaeL","source_geometryopslibgeosext_simple_overrides.md":"qUYwB2fE","source_geometryopslibgeosext_simplify.md":"DoXh0yQQ","source_geometryopsprojext_geometryopsprojext.md":"tgA--ByQ","source_geometryopsprojext_reproject.md":"Cd0RtXBt","source_geometryopsprojext_segmentize.md":"ClYwR-jj","source_methods_angles.md":"CFyV85aU","source_methods_area.md":"Dor8_EOc","source_methods_barycentric.md":"IQ3avhuX","source_methods_buffer.md":"j8KVHqgi","source_methods_centroid.md":"B3tICoCs","source_methods_clipping_clipping_processor.md":"7BfWTXCx","source_methods_clipping_coverage.md":"DJG8fTlE","source_methods_clipping_cut.md":"DZpjAZPm","source_methods_clipping_difference.md":"Duq4xgR4","source_methods_clipping_intersection.md":"BZM0knNc","source_methods_clipping_predicates.md":"DL229k1b","source_methods_clipping_union.md":"DGh7hFuO","source_methods_convex_hull.md":"BsqZtIMn","source_methods_distance.md":"CGmX1xZt","source_methods_equals.md":"DytUbGKX","source_methods_geom_relations_contains.md":"BNRpA5-5","source_methods_geom_relations_coveredby.md":"UEXW7fRZ","source_methods_geom_relations_covers.md":"laP1lMiQ","source_methods_geom_relations_crosses.md":"CP7iRbQj","source_methods_geom_relations_disjoint.md":"1YDXNaXQ","source_methods_geom_relations_geom_geom_processors.md":"BF8gYKR3","source_methods_geom_relations_intersects.md":"Ddn0QZ2q","source_methods_geom_relations_overlaps.md":"Cy6j2gxd","source_methods_geom_relations_touches.md":"B_MXYi3l","source_methods_geom_relations_within.md":"DmqtYGtr","source_methods_orientation.md":"Divvnalq","source_methods_polygonize.md":"CGOTy1Bp","source_not_implemented_yet.md":"Cujo-Gzj","source_primitives.md":"rgra_4iO","source_src_apply.md":"CGHlLp3H","source_src_applyreduce.md":"D4tzlfeH","source_src_geometry_utils.md":"Bu0uLEyo","source_src_geometryopscore.md":"D3Qy-nnI","source_src_keyword_docs.md":"468l7Lx4","source_src_other_primitives.md":"Cym_d8cs","source_src_types.md":"DaKWp7Eq","source_transformations_correction_closed_ring.md":"4HYFYams","source_transformations_correction_geometry_correction.md":"Cpkfa6z_","source_transformations_correction_intersecting_polygons.md":"KaNXkgBu","source_transformations_extent.md":"CyK78sMc","source_transformations_flip.md":"B9DySKwQ","source_transformations_reproject.md":"BKuiLGKx","source_transformations_segmentize.md":"mI-0xRkX","source_transformations_simplify.md":"BM0kLjfN","source_transformations_transform.md":"DJBNtLeA","source_transformations_tuples.md":"wxi6IbPH","source_types.md":"DKAWKlN-","source_utils.md":"DUwGwieC","tutorials_creating_geometry.md":"qRIvfgyg","tutorials_geodesic_paths.md":"bW3k6R9s","tutorials_spatial_joins.md":"DSC6WJoE"} diff --git a/previews/PR223/index.html b/previews/PR223/index.html index f9073e410..f36639b3d 100644 --- a/previews/PR223/index.html +++ b/previews/PR223/index.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
Skip to content

GeometryOps.jl

Blazing fast geometry operations in pure Julia

GeometryOps

What is GeometryOps.jl?

GeometryOps.jl is a package for geometric calculations on (primarily 2D) geometries.

The driving idea behind this package is to unify all the disparate packages for geometric calculations in Julia, and make them GeoInterface.jl-compatible. We seem to be focusing primarily on 2/2.5D geometries for now.

Most of the usecases are driven by GIS and similar Earth data workflows, so this might be a bit specialized towards that, but methods should always be general to any coordinate space.

We welcome contributions, either as pull requests or discussion on issues!

How to navigate the docs

GeometryOps' docs are divided into three main sections: tutorials, explanations and source code.
Documentation and examples for many functions can be found in the source code section, since we use literate programming in GeometryOps.

  • Tutorials are meant to teach the fundamental concepts behind GeometryOps, and how to perform certain operations.
  • Explanations usually contain little code, and explain in more detail how GeometryOps works.
  • Source code usually contains explanations and examples at the top of the page, followed by annotated source code from that file.
- + \ No newline at end of file diff --git a/previews/PR223/introduction.html b/previews/PR223/introduction.html index 6e2acf8d2..a3b44adff 100644 --- a/previews/PR223/introduction.html +++ b/previews/PR223/introduction.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
Skip to content

Introduction

GeometryOps.jl is a package for geometric calculations on (primarily 2D) geometries.

The driving idea behind this package is to unify all the disparate packages for geometric calculations in Julia, and make them GeoInterface.jl-compatible. We seem to be focusing primarily on 2/2.5D geometries for now.

Most of the usecases are driven by GIS and similar Earth data workflows, so this might be a bit specialized towards that, but methods should always be general to any coordinate space.

We welcome contributions, either as pull requests or discussion on issues!

Main concepts

The apply paradigm

Note

See the Primitive Functions page for more information on this.

The apply function allows you to decompose a given collection of geometries down to a certain level, and then operate on it.

Functionally, it's similar to map in the way you apply it to geometries.

apply and applyreduce take any geometry, vector of geometries, collection of geometries, or table (like Shapefile.Table, DataFrame, or GeoTable)!

What's this GeoInterface.Wrapper thing?

Write a comment about GeoInterface.Wrapper and why it helps in type stability to guarantee a particular return type.

- + \ No newline at end of file diff --git a/previews/PR223/source/GeometryOps.html b/previews/PR223/source/GeometryOps.html index 8dd6d8f1e..53093086c 100644 --- a/previews/PR223/source/GeometryOps.html +++ b/previews/PR223/source/GeometryOps.html @@ -9,9 +9,9 @@ - + - + @@ -103,7 +103,7 @@ end end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/GeometryOpsFlexiJoinsExt/GeometryOpsFlexiJoinsExt.html b/previews/PR223/source/GeometryOpsFlexiJoinsExt/GeometryOpsFlexiJoinsExt.html index a1beaba2c..a08f6bcf8 100644 --- a/previews/PR223/source/GeometryOpsFlexiJoinsExt/GeometryOpsFlexiJoinsExt.html +++ b/previews/PR223/source/GeometryOpsFlexiJoinsExt/GeometryOpsFlexiJoinsExt.html @@ -9,9 +9,9 @@ - + - + @@ -35,7 +35,7 @@ FlexiJoins.swap_sides(::typeof(GO.within)) = GO.contains FlexiJoins.swap_sides(::typeof(GO.coveredby)) = GO.covers FlexiJoins.swap_sides(::typeof(GO.covers)) = GO.coveredby

That's a wrap, folks!

julia
end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/GeometryOpsLibGEOSExt/GeometryOpsLibGEOSExt.html b/previews/PR223/source/GeometryOpsLibGEOSExt/GeometryOpsLibGEOSExt.html index 5085c3c86..e19616680 100644 --- a/previews/PR223/source/GeometryOpsLibGEOSExt/GeometryOpsLibGEOSExt.html +++ b/previews/PR223/source/GeometryOpsLibGEOSExt/GeometryOpsLibGEOSExt.html @@ -9,9 +9,9 @@ - + - + @@ -49,7 +49,7 @@ include("simple_overrides.jl") end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/GeometryOpsLibGEOSExt/buffer.html b/previews/PR223/source/GeometryOpsLibGEOSExt/buffer.html index 8fac2d84b..50dc608d6 100644 --- a/previews/PR223/source/GeometryOpsLibGEOSExt/buffer.html +++ b/previews/PR223/source/GeometryOpsLibGEOSExt/buffer.html @@ -9,9 +9,9 @@ - + - + @@ -49,7 +49,7 @@ return _wrap(newgeom; crs = GI.crs(geom), calc_extent) end end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/GeometryOpsLibGEOSExt/segmentize.html b/previews/PR223/source/GeometryOpsLibGEOSExt/segmentize.html index 86be73539..e11e6153c 100644 --- a/previews/PR223/source/GeometryOpsLibGEOSExt/segmentize.html +++ b/previews/PR223/source/GeometryOpsLibGEOSExt/segmentize.html @@ -9,9 +9,9 @@ - + - + @@ -39,7 +39,7 @@ threaded ) end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides.html b/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides.html index 2ad9f3b21..2a7c4534c 100644 --- a/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides.html +++ b/previews/PR223/source/GeometryOpsLibGEOSExt/simple_overrides.html @@ -9,9 +9,9 @@ - + - + @@ -64,7 +64,7 @@ calc_extent = false ) end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/GeometryOpsLibGEOSExt/simplify.html b/previews/PR223/source/GeometryOpsLibGEOSExt/simplify.html index b7e9c2628..41fe916a4 100644 --- a/previews/PR223/source/GeometryOpsLibGEOSExt/simplify.html +++ b/previews/PR223/source/GeometryOpsLibGEOSExt/simplify.html @@ -9,9 +9,9 @@ - + - + @@ -47,7 +47,7 @@ kw... ) end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/GeometryOpsProjExt/GeometryOpsProjExt.html b/previews/PR223/source/GeometryOpsProjExt/GeometryOpsProjExt.html index 4da3bbda5..7e0296dc2 100644 --- a/previews/PR223/source/GeometryOpsProjExt/GeometryOpsProjExt.html +++ b/previews/PR223/source/GeometryOpsProjExt/GeometryOpsProjExt.html @@ -9,9 +9,9 @@ - + - + @@ -26,7 +26,7 @@ include("segmentize.jl") end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/GeometryOpsProjExt/reproject.html b/previews/PR223/source/GeometryOpsProjExt/reproject.html index c0313e5ed..c314c2f65 100644 --- a/previews/PR223/source/GeometryOpsProjExt/reproject.html +++ b/previews/PR223/source/GeometryOpsProjExt/reproject.html @@ -9,9 +9,9 @@ - + - + @@ -62,7 +62,7 @@ end end end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/GeometryOpsProjExt/segmentize.html b/previews/PR223/source/GeometryOpsProjExt/segmentize.html index 516ad4653..5645f4af7 100644 --- a/previews/PR223/source/GeometryOpsProjExt/segmentize.html +++ b/previews/PR223/source/GeometryOpsProjExt/segmentize.html @@ -9,9 +9,9 @@ - + - + @@ -49,7 +49,7 @@ end

End the line with the original coordinate, to avoid any multiplication errors.

julia
    push!(new_coords, (x2, y2))
     return nothing
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/angles.html b/previews/PR223/source/methods/angles.html index 627f657c7..e50bf0651 100644 --- a/previews/PR223/source/methods/angles.html +++ b/previews/PR223/source/methods/angles.html @@ -9,11 +9,11 @@ - + - + - + @@ -23,7 +23,7 @@ using Makie, CairoMakie rect = GI.Polygon([[(0.0, 0.0), (0.0, 1.0), (1.0, 1.0), (1.0, 0.0), (0.0, 0.0)]]) -f, a, p = poly(collect(GI.getpoint(rect)); axis = (; aspect = DataAspect()))

This is clearly a rectangle, with angles of 90 degrees.

julia
GO.angles(rect)  # [90, 90, 90, 90]
4-element Vector{Float64}:
+f, a, p = poly(collect(GI.getpoint(rect)); axis = (; aspect = DataAspect()))

This is clearly a rectangle, with angles of 90 degrees.

julia
GO.angles(rect)  # [90, 90, 90, 90]
4-element Vector{Float64}:
  90.0
  90.0
  90.0
@@ -142,7 +142,7 @@
     angle = real(acos(val) * 180 / π)
     return angle * (cross_prod < 0 ? -1 : 1)
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/area.html b/previews/PR223/source/methods/area.html index dae0b1277..1d90500b8 100644 --- a/previews/PR223/source/methods/area.html +++ b/previews/PR223/source/methods/area.html @@ -9,11 +9,11 @@ - + - + - + @@ -24,10 +24,10 @@ using CairoMakie rect = GI.Polygon([[(0,0), (0,1), (1,1), (1,0), (0, 0)]]) -f, a, p = poly(collect(GI.getpoint(rect)); axis = (; aspect = DataAspect()))

This is clearly a rectangle, etc. But now let's look at how the points look:

julia
lines!(
+f, a, p = poly(collect(GI.getpoint(rect)); axis = (; aspect = DataAspect()))

This is clearly a rectangle, etc. But now let's look at how the points look:

julia
lines!(
     collect(GI.getpoint(rect));
     color = 1:GI.npoint(rect), linewidth = 10.0)
-f

The points are ordered in a counterclockwise fashion, which means that the signed area is negative. If we reverse the order of the points, we get a positive area.

julia
GO.signed_area(rect)  # -1.0
-1.0

Implementation

This is the GeoInterface-compatible implementation. First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait. This is also used in the implementation, since it's a lot less work!

Note that area and signed area are zero for all points and curves, even if the curves are closed like with a linear ring. Also note that signed area really only makes sense for polygons, given with a multipolygon can have several polygons each with a different orientation and thus the absolute value of the signed area might not be the area. This is why signed area is only implemented for polygons.

Targets for applys functions

julia
const _AREA_TARGETS = TraitTarget{Union{GI.PolygonTrait,GI.AbstractCurveTrait,GI.MultiPointTrait,GI.PointTrait}}()
+f

The points are ordered in a counterclockwise fashion, which means that the signed area is negative. If we reverse the order of the points, we get a positive area.

julia
GO.signed_area(rect)  # -1.0
-1.0

Implementation

This is the GeoInterface-compatible implementation. First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait. This is also used in the implementation, since it's a lot less work!

Note that area and signed area are zero for all points and curves, even if the curves are closed like with a linear ring. Also note that signed area really only makes sense for polygons, given with a multipolygon can have several polygons each with a different orientation and thus the absolute value of the signed area might not be the area. This is why signed area is only implemented for polygons.

Targets for applys functions

julia
const _AREA_TARGETS = TraitTarget{Union{GI.PolygonTrait,GI.AbstractCurveTrait,GI.MultiPointTrait,GI.PointTrait}}()
 
 """
     area(geom, [T = Float64])::T
@@ -105,7 +105,7 @@
     area += _area_component(p1, p2)
     return T(area / 2)
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/barycentric.html b/previews/PR223/source/methods/barycentric.html index e23b5c11e..21695d9c6 100644 --- a/previews/PR223/source/methods/barycentric.html +++ b/previews/PR223/source/methods/barycentric.html @@ -9,11 +9,11 @@ - + - + - + @@ -85,7 +85,7 @@ # and render! hm = heatmap!(a2, xrange, yrange, mean_values; colormap = p1.colormap, colorrange = p1.plots[1].colorrange[], xautolimits = false, yautolimits = false) translate!(hm, 0, 0, -1) # translate the heatmap behind the cropping polygon! -f # finally, display the figure

Barycentric-coordinate API

In some cases, we actually want barycentric interpolation, and have no interest in the coordinates themselves.

However, the coordinates can be useful for debugging, and when performing 3D rendering, multiple barycentric values (depth, uv) are needed for depth buffering.

julia
const _VecTypes = Union{Tuple{Vararg{T, N}}, GeometryBasics.StaticArraysCore.StaticArray{Tuple{N}, T, 1}} where {N, T}
+f # finally, display the figure

Barycentric-coordinate API

In some cases, we actually want barycentric interpolation, and have no interest in the coordinates themselves.

However, the coordinates can be useful for debugging, and when performing 3D rendering, multiple barycentric values (depth, uv) are needed for depth buffering.

julia
const _VecTypes = Union{Tuple{Vararg{T, N}}, GeometryBasics.StaticArraysCore.StaticArray{Tuple{N}, T, 1}} where {N, T}
 
 """
     abstract type AbstractBarycentricCoordinateMethod
@@ -433,7 +433,7 @@
 
 struct Wachspress <: AbstractBarycentricCoordinateMethod
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/buffer.html b/previews/PR223/source/methods/buffer.html index 9ebf45263..02b58dfff 100644 --- a/previews/PR223/source/methods/buffer.html +++ b/previews/PR223/source/methods/buffer.html @@ -9,9 +9,9 @@ - + - + @@ -29,7 +29,7 @@ println(io, " in your REPL, \nor otherwise loading LibGEOS.jl via using or import.") end end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/centroid.html b/previews/PR223/source/methods/centroid.html index a71dd565f..39b3a61be 100644 --- a/previews/PR223/source/methods/centroid.html +++ b/previews/PR223/source/methods/centroid.html @@ -9,11 +9,11 @@ - + - + - + @@ -24,9 +24,9 @@ using CairoMakie cshape = GI.Polygon([[(0,0), (0,3), (3,3), (3,2), (1,2), (1,1), (3,1), (3,0), (0,0)]]) -f, a, p = poly(collect(GI.getpoint(cshape)); axis = (; aspect = DataAspect()))

Let's see what the centroid looks like (plotted in red):

julia
cent = GO.centroid(cshape)
+f, a, p = poly(collect(GI.getpoint(cshape)); axis = (; aspect = DataAspect()))

Let's see what the centroid looks like (plotted in red):

julia
cent = GO.centroid(cshape)
 scatter!(GI.x(cent), GI.y(cent), color = :red)
-f

Implementation

This is the GeoInterface-compatible implementation.

First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait. This is also used in the implementation, since it's a lot less work!

Note that if you call centroid on a LineString or LinearRing, the centroid_and_length function will be called due to the weighting scheme described above, while centroid_and_area is called for polygons and multipolygons. However, centroid_and_area can still be called on a LineString or LinearRing when they are closed, for example as the interior hole of a polygon.

The helper functions centroid_and_length and centroid_and_area are made available just in case the user also needs the area or length to decrease repeat computation.

julia
"""
+f

Implementation

This is the GeoInterface-compatible implementation.

First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait. This is also used in the implementation, since it's a lot less work!

Note that if you call centroid on a LineString or LinearRing, the centroid_and_length function will be called due to the weighting scheme described above, while centroid_and_area is called for polygons and multipolygons. However, centroid_and_area can still be called on a LineString or LinearRing when they are closed, for example as the interior hole of a polygon.

The helper functions centroid_and_length and centroid_and_area are made available just in case the user also needs the area or length to decrease repeat computation.

julia
"""
     centroid(geom, [T=Float64])::Tuple{T, T}
 
 Returns the centroid of a given line segment, linear ring, polygon, or
@@ -111,7 +111,7 @@
     y = (y1 * area1 + y2 * area2) / area
     return (x, y), area
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/clipping/clipping_processor.html b/previews/PR223/source/methods/clipping/clipping_processor.html index 19544fb4e..cc8036fd4 100644 --- a/previews/PR223/source/methods/clipping/clipping_processor.html +++ b/previews/PR223/source/methods/clipping/clipping_processor.html @@ -9,9 +9,9 @@ - + - + @@ -526,7 +526,7 @@ end return end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/clipping/coverage.html b/previews/PR223/source/methods/clipping/coverage.html index 79eb05957..61679799a 100644 --- a/previews/PR223/source/methods/clipping/coverage.html +++ b/previews/PR223/source/methods/clipping/coverage.html @@ -9,11 +9,11 @@ - + - + - + @@ -28,7 +28,7 @@ xmin, xmax, ymin, ymax = 0, 2, 0, 2 f, a, p = poly(collect(GI.getpoint(cell)); axis = (; aspect = DataAspect())) poly!(collect(GI.getpoint(rect))) -f

It is clear that half of the polygon is within the cell, so the coverage should be 1.0, half of the area of the rectangle.

julia
GO.coverage(rect, xmin, xmax, ymin, ymax)
1.0

Implementation

This is the GeoInterface-compatible implementation. First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait. This is also used in the implementation, since it's a lot less work!

Note that the coverage is zero for all points and curves, even if the curves are closed like with a linear ring.

Targets for applys functions

julia
const _COVERAGE_TARGETS = TraitTarget{Union{GI.PolygonTrait,GI.AbstractCurveTrait,GI.MultiPointTrait,GI.PointTrait}}()

Wall types for coverage

julia
const UNKNOWN, NORTH, EAST, SOUTH, WEST = 0:4
+f

It is clear that half of the polygon is within the cell, so the coverage should be 1.0, half of the area of the rectangle.

julia
GO.coverage(rect, xmin, xmax, ymin, ymax)
1.0

Implementation

This is the GeoInterface-compatible implementation. First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait. This is also used in the implementation, since it's a lot less work!

Note that the coverage is zero for all points and curves, even if the curves are closed like with a linear ring.

Targets for applys functions

julia
const _COVERAGE_TARGETS = TraitTarget{Union{GI.PolygonTrait,GI.AbstractCurveTrait,GI.MultiPointTrait,GI.PointTrait}}()

Wall types for coverage

julia
const UNKNOWN, NORTH, EAST, SOUTH, WEST = 0:4
 
 """
     coverage(geom, xmin, xmax, ymin, ymax, [T = Float64])::T
@@ -241,7 +241,7 @@
     y_wall = (wall == NORTH || wall == WEST) ? ymax : ymin
     return x1 * y_wall - x_wall * y1
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/clipping/cut.html b/previews/PR223/source/methods/clipping/cut.html index dd29bf4c9..c214725c9 100644 --- a/previews/PR223/source/methods/clipping/cut.html +++ b/previews/PR223/source/methods/clipping/cut.html @@ -9,11 +9,11 @@ - + - + - + @@ -29,7 +29,7 @@ f, a, p1 = Makie.poly(collect(GI.getpoint(cut_polys[1])); color = (:blue, 0.5)) Makie.poly!(collect(GI.getpoint(cut_polys[2])); color = (:orange, 0.5)) Makie.lines!(GI.getpoint(line); color = :black) -f

Implementation

This function depends on polygon clipping helper function and is inspired by the Greiner-Hormann clipping algorithm used elsewhere in this library. The inspiration came from this Stack Overflow discussion.

julia
"""
+f

Implementation

This function depends on polygon clipping helper function and is inspired by the Greiner-Hormann clipping algorithm used elsewhere in this library. The inspiration came from this Stack Overflow discussion.

julia
"""
     cut(geom, line, [T::Type])
 
 Return given geom cut by given line as a list of geometries of the same type as the input
@@ -105,7 +105,7 @@
     end
     return return_coords
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/clipping/difference.html b/previews/PR223/source/methods/clipping/difference.html index ff90b3d35..65deb483a 100644 --- a/previews/PR223/source/methods/clipping/difference.html +++ b/previews/PR223/source/methods/clipping/difference.html @@ -9,9 +9,9 @@ - + - + @@ -184,7 +184,7 @@ ) return nothing end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/clipping/intersection.html b/previews/PR223/source/methods/clipping/intersection.html index c140b0ca8..00020121e 100644 --- a/previews/PR223/source/methods/clipping/intersection.html +++ b/previews/PR223/source/methods/clipping/intersection.html @@ -9,9 +9,9 @@ - + - + @@ -401,7 +401,7 @@ α, β = _clamped_frac(distance(min_pt, a2, T), a_dist, eps(T)), one(T) - eps(T) end

Return point with smallest distance

julia
    return _tuple_point(min_pt, T), α, β
 end

Return value of x/y clamped between ϵ and 1 - ϵ

julia
_clamped_frac(x::T, y::T, ϵ = zero(T)) where T = clamp(x / y, ϵ, one(T) - ϵ)

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/clipping/predicates.html b/previews/PR223/source/methods/clipping/predicates.html index 2ffa9b7e4..c47512a53 100644 --- a/previews/PR223/source/methods/clipping/predicates.html +++ b/previews/PR223/source/methods/clipping/predicates.html @@ -9,9 +9,9 @@ - + - + @@ -62,7 +62,7 @@ end import .Predicates

If we want to inject adaptivity, we would do something like:

function cross(a, b, c) # try Predicates._cross_naive(a, b, c) # check the error bound there # then try Predicates._cross_adaptive(a, b, c) # then try Predicates._cross_exact end


This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/clipping/union.html b/previews/PR223/source/methods/clipping/union.html index f1c567281..6d7c747a8 100644 --- a/previews/PR223/source/methods/clipping/union.html +++ b/previews/PR223/source/methods/clipping/union.html @@ -9,9 +9,9 @@ - + - + @@ -269,7 +269,7 @@ throw(ArgumentError("Union between $trait_a and $trait_b with target $Target isn't implemented yet.")) return nothing end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/convex_hull.html b/previews/PR223/source/methods/convex_hull.html index 0f57b0255..f9b6949c1 100644 --- a/previews/PR223/source/methods/convex_hull.html +++ b/previews/PR223/source/methods/convex_hull.html @@ -9,11 +9,11 @@ - + - + - + @@ -26,7 +26,7 @@ hull_poly = GO.convex_hull(points) lines!(a, hull_poly; label = "Convex hull", color = Makie.wong_colors()[2]) axislegend(a) -f

Convex hull of the USA

julia
import GeometryOps as GO, GeoInterface as GI
+f

Convex hull of the USA

julia
import GeometryOps as GO, GeoInterface as GI
 using CairoMakie # to plot
 using NaturalEarth # for data
 
@@ -34,7 +34,7 @@
 usa = all_adm0.geometry[findfirst(==("USA"), all_adm0.ADM0_A3)]
 f, a, p = lines(usa)
 lines!(a, GO.convex_hull(usa); color = Makie.wong_colors()[2])
-f

Investigating the winding order

The winding order of the monotone chain method is counterclockwise, while the winding order of the GEOS method is clockwise.

GeometryOps' convexity detection says that the GEOS hull is convex, while the monotone chain method hull is not. However, they are both going over the same points (we checked), it's just that the winding order is different.

In reality, both sets are convex, but we need to fix the GeometryOps convexity detector (isconcave)!

We may also decide at a later date to change the returned winding order of the polygon, but most algorithms are robust to that, and you can always fix it...

julia
import GeoInterface as GI, GeometryOps as GO, LibGEOS as LG
+f

Investigating the winding order

The winding order of the monotone chain method is counterclockwise, while the winding order of the GEOS method is clockwise.

GeometryOps' convexity detection says that the GEOS hull is convex, while the monotone chain method hull is not. However, they are both going over the same points (we checked), it's just that the winding order is different.

In reality, both sets are convex, but we need to fix the GeometryOps convexity detector (isconcave)!

We may also decide at a later date to change the returned winding order of the polygon, but most algorithms are robust to that, and you can always fix it...

julia
import GeoInterface as GI, GeometryOps as GO, LibGEOS as LG
 using CairoMakie # to plot
 
 points = rand(Point2{Float64}, 100)
@@ -45,7 +45,7 @@
 a1, p1 = lines(fig[1, 1], go_hull; color = 1:GI.npoint(go_hull), axis = (; title = "MonotoneChainMethod()"))
 a2, p2 = lines(fig[2, 1], lg_hull; color = 1:GI.npoint(lg_hull), axis = (; title = "GEOS()"))
 cb = Colorbar(fig[1:2, 2], p1; label = "Vertex number")
-fig

Implementation

julia
"""
+fig

Implementation

julia
"""
     convex_hull([method], geometries)
 
 Compute the convex hull of the points in `geometries`.
@@ -75,7 +75,7 @@
 struct MonotoneChainMethod end

GrahamScanMethod, etc. can be implemented in GO as well, if someone wants to. If we add an extension on Quickhull.jl, then that would be another algorithm.

julia
convex_hull(geometries) = convex_hull(MonotoneChainMethod(), geometries)

TODO: have this respect the CRS by pulling it out of geometries.

julia
function convex_hull(::MonotoneChainMethod, geometries)

Extract all points as tuples. We have to collect and allocate here, because DelaunayTriangulation only accepts vectors of point-like geoms.

Cleanest would be to use the iterable from GO.flatten directly, but that would require us to implement the convex hull algorithm directly.

TODO: create a specialized method that extracts only the information required, GeometryBasics points can be passed through directly.

julia
    points = collect(flatten(tuples, GI.PointTrait, geometries))

Compute the convex hull using DelTri (shorthand for DelaunayTriangulation.jl).

julia
    hull = DelaunayTriangulation.convex_hull(points)

Convert the result to a GI.Polygon and return it. View would be more efficient here, but re-allocating is cleaner.

julia
    point_vec = DelaunayTriangulation.get_points(hull)[DelaunayTriangulation.get_vertices(hull)]
     return GI.Polygon([GI.LinearRing(point_vec)])
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/distance.html b/previews/PR223/source/methods/distance.html index c32df6c41..8ea6336df 100644 --- a/previews/PR223/source/methods/distance.html +++ b/previews/PR223/source/methods/distance.html @@ -9,11 +9,11 @@ - + - + - + @@ -29,13 +29,13 @@ f, a, p = poly(collect(GI.getpoint(rect)); axis = (; aspect = DataAspect())) scatter!(GI.x(point_in), GI.y(point_in); color = :red) scatter!(GI.x(point_out), GI.y(point_out); color = :orange) -f

This is clearly a rectangle with one point inside and one point outside. The points are both an equal distance to the polygon. The distance to point_in is negative while the distance to point_out is positive.

julia
(
+f

This is clearly a rectangle with one point inside and one point outside. The points are both an equal distance to the polygon. The distance to point_in is negative while the distance to point_out is positive.

julia
(
 GO.distance(point_in, rect),  # == 0
 GO.signed_distance(point_in, rect),  # < 0
 GO.signed_distance(point_out, rect)  # > 0
 )
(0.0, -0.5, 0.5)

Consider also a heatmap of signed distances around this object:

julia
xrange = yrange = LinRange(-0.5, 1.5, 300)
 f, a, p = heatmap(xrange, yrange, GO.signed_distance.(Point2f.(xrange, yrange'), Ref(rect)); colormap = :RdBu, colorrange = (-0.75, 0.75))
-a.aspect = DataAspect(); Colorbar(f[1, 2], p, label = "Signed distance"); lines!(a, GI.convert(GO.GeometryBasics, rect)); f

Implementation

This is the GeoInterface-compatible implementation. First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait. This is also used in the implementation, since it's a lot less work!

Distance and signed distance are only implemented for points to other geometries right now. This could be extended to include distance from other geometries in the future.

The distance calculated is the Euclidean distance using the Pythagorean theorem. Also note that singed_distance only makes sense for "filled-in" shapes, like polygons, so it isn't implemented for curves.

julia
const _DISTANCE_TARGETS = TraitTarget{Union{GI.AbstractPolygonTrait,GI.LineStringTrait,GI.LinearRingTrait,GI.LineTrait,GI.PointTrait}}()
+a.aspect = DataAspect(); Colorbar(f[1, 2], p, label = "Signed distance"); lines!(a, GI.convert(GO.GeometryBasics, rect)); f

Implementation

This is the GeoInterface-compatible implementation. First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait. This is also used in the implementation, since it's a lot less work!

Distance and signed distance are only implemented for points to other geometries right now. This could be extended to include distance from other geometries in the future.

The distance calculated is the Euclidean distance using the Pythagorean theorem. Also note that singed_distance only makes sense for "filled-in" shapes, like polygons, so it isn't implemented for curves.

julia
const _DISTANCE_TARGETS = TraitTarget{Union{GI.AbstractPolygonTrait,GI.LineStringTrait,GI.LinearRingTrait,GI.LineTrait,GI.PointTrait}}()
 
 """
     distance(point, geom, ::Type{T} = Float64)::T
@@ -199,7 +199,7 @@
     end
     return min_dist
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/equals.html b/previews/PR223/source/methods/equals.html index 7aba1d5bd..d48da4e31 100644 --- a/previews/PR223/source/methods/equals.html +++ b/previews/PR223/source/methods/equals.html @@ -9,11 +9,11 @@ - + - + - + @@ -29,7 +29,7 @@ scatter!(GI.getpoint(l1), color = :blue) lines!(GI.getpoint(l2), color = :orange) scatter!(GI.getpoint(l2), color = :orange) -f

We can see that the two lines do not share a common set of points and edges in the plot, so they are not equal:

julia
GO.equals(l1, l2)  # returns false
false

Implementation

This is the GeoInterface-compatible implementation.

First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait. This is also used in the implementation, since it's a lot less work!

Note that while we need the same set of points and edges, they don't need to be provided in the same order for polygons. For for example, we need the same set points for two multipoints to be equal, but they don't have to be saved in the same order. The winding order also doesn't have to be the same to represent the same geometry. This requires checking every point against every other point in the two geometries we are comparing. Also, some geometries must be "closed" like polygons and linear rings. These will be assumed to be closed, even if they don't have a repeated last point explicitly written in the coordinates. Additionally, geometries and multi-geometries can be equal if the multi-geometry only includes that single geometry.

julia
"""
+f

We can see that the two lines do not share a common set of points and edges in the plot, so they are not equal:

julia
GO.equals(l1, l2)  # returns false
false

Implementation

This is the GeoInterface-compatible implementation.

First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait. This is also used in the implementation, since it's a lot less work!

Note that while we need the same set of points and edges, they don't need to be provided in the same order for polygons. For for example, we need the same set points for two multipoints to be equal, but they don't have to be saved in the same order. The winding order also doesn't have to be the same to represent the same geometry. This requires checking every point against every other point in the two geometries we are comparing. Also, some geometries must be "closed" like polygons and linear rings. These will be assumed to be closed, even if they don't have a repeated last point explicitly written in the coordinates. Additionally, geometries and multi-geometries can be equal if the multi-geometry only includes that single geometry.

julia
"""
     equals(geom1, geom2)::Bool
 
 Compare two Geometries return true if they are the same geometry.
@@ -283,7 +283,7 @@
     end
     return true
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/geom_relations/contains.html b/previews/PR223/source/methods/geom_relations/contains.html index 6a9d6bcb6..472ed6bea 100644 --- a/previews/PR223/source/methods/geom_relations/contains.html +++ b/previews/PR223/source/methods/geom_relations/contains.html @@ -9,11 +9,11 @@ - + - + - + @@ -29,7 +29,7 @@ scatter!(GI.getpoint(l1), color = :blue) lines!(GI.getpoint(l2), color = :orange) scatter!(GI.getpoint(l2), color = :orange) -f

We can see that all of the points and edges of l2 are within l1, so l1 contains l2. However, l2 does not contain l1.

julia
GO.contains(l1, l2)  # returns true
+f

We can see that all of the points and edges of l2 are within l1, so l1 contains l2. However, l2 does not contain l1.

julia
GO.contains(l1, l2)  # returns true
 GO.contains(l2, l1)  # returns false
false

Implementation

This is the GeoInterface-compatible implementation.

Given that contains is the exact opposite of within, we simply pass the two inputs variables, swapped in order, to within.

julia
"""
     contains(g1::AbstractGeometry, g2::AbstractGeometry)::Bool
 
@@ -51,7 +51,7 @@
 ```
 """
 contains(g1, g2) = GeometryOps.within(g2, g1)

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/geom_relations/coveredby.html b/previews/PR223/source/methods/geom_relations/coveredby.html index 803d0544c..bc2c0e8f9 100644 --- a/previews/PR223/source/methods/geom_relations/coveredby.html +++ b/previews/PR223/source/methods/geom_relations/coveredby.html @@ -9,11 +9,11 @@ - + - + - + @@ -27,7 +27,7 @@ l1 = GI.Line([p1, (1.0, 1.0)]) f, a, p = lines(GI.getpoint(l1)) scatter!(p1, color = :red) -f

As we can see, p1 is on the endpoint of l1. This means it is not within, but it does meet the definition of coveredby.

julia
GO.coveredby(p1, l1)  # true
true

Implementation

This is the GeoInterface-compatible implementation.

First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait.

Each of these calls a method in the geom_geom_processors file. The methods in this file determine if the given geometries meet a set of criteria. For the coveredby function and arguments g1 and g2, this criteria is as follows: - points of g1 are allowed to be in the interior of g2 (either through overlap or crossing for lines) - points of g1 are allowed to be on the boundary of g2 - points of g1 are not allowed to be in the exterior of g2 - no points of g1 are required to be in the interior of g2 - no points of g1 are required to be on the boundary of g2 - no points of g1 are required to be in the exterior of g2

The code for the specific implementations is in the geom_geom_processors file.

julia
const COVEREDBY_ALLOWS = (in_allow = true, on_allow = true, out_allow = false)
+f

As we can see, p1 is on the endpoint of l1. This means it is not within, but it does meet the definition of coveredby.

julia
GO.coveredby(p1, l1)  # true
true

Implementation

This is the GeoInterface-compatible implementation.

First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait.

Each of these calls a method in the geom_geom_processors file. The methods in this file determine if the given geometries meet a set of criteria. For the coveredby function and arguments g1 and g2, this criteria is as follows: - points of g1 are allowed to be in the interior of g2 (either through overlap or crossing for lines) - points of g1 are allowed to be on the boundary of g2 - points of g1 are not allowed to be in the exterior of g2 - no points of g1 are required to be in the interior of g2 - no points of g1 are required to be on the boundary of g2 - no points of g1 are required to be in the exterior of g2

The code for the specific implementations is in the geom_geom_processors file.

julia
const COVEREDBY_ALLOWS = (in_allow = true, on_allow = true, out_allow = false)
 const COVEREDBY_CURVE_ALLOWS = (over_allow = true, cross_allow = true, on_allow = true, out_allow = false)
 const COVEREDBY_CURVE_REQUIRES = (in_require = false, on_require = false, out_require = false)
 const COVEREDBY_POLYGON_REQUIRES = (in_require = true, on_require = false, out_require = false,)
@@ -201,7 +201,7 @@
     end
     return true
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/geom_relations/covers.html b/previews/PR223/source/methods/geom_relations/covers.html index b1cfcb18c..0880fed78 100644 --- a/previews/PR223/source/methods/geom_relations/covers.html +++ b/previews/PR223/source/methods/geom_relations/covers.html @@ -9,11 +9,11 @@ - + - + - + @@ -29,7 +29,7 @@ f, a, p = lines(GI.getpoint(l1)) scatter!(p1, color = :red) -f

julia
GO.covers(l1, p1)  # returns true
+f

julia
GO.covers(l1, p1)  # returns true
 GO.covers(p1, l1)  # returns false
false

Implementation

This is the GeoInterface-compatible implementation.

Given that covers is the exact opposite of coveredby, we simply pass the two inputs variables, swapped in order, to coveredby.

julia
"""
     covers(g1::AbstractGeometry, g2::AbstractGeometry)::Bool
 
@@ -51,7 +51,7 @@
 ```
 """
 covers(g1, g2)::Bool = GeometryOps.coveredby(g2, g1)

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/geom_relations/crosses.html b/previews/PR223/source/methods/geom_relations/crosses.html index 82fdb67ce..6cf7edc9c 100644 --- a/previews/PR223/source/methods/geom_relations/crosses.html +++ b/previews/PR223/source/methods/geom_relations/crosses.html @@ -9,9 +9,9 @@ - + - + @@ -138,7 +138,7 @@ end return false end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/geom_relations/disjoint.html b/previews/PR223/source/methods/geom_relations/disjoint.html index 5e0335493..24e3034ac 100644 --- a/previews/PR223/source/methods/geom_relations/disjoint.html +++ b/previews/PR223/source/methods/geom_relations/disjoint.html @@ -9,11 +9,11 @@ - + - + - + @@ -29,7 +29,7 @@ scatter!(GI.getpoint(l1), color = :blue) lines!(GI.getpoint(l2), color = :orange) scatter!(GI.getpoint(l2), color = :orange) -f

We can see that none of the edges or vertices of l1 interact with l2 so they are disjoint.

julia
GO.disjoint(l1, l2)  # returns true
true

Implementation

This is the GeoInterface-compatible implementation.

First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait.

Each of these calls a method in the geom_geom_processors file. The methods in this file determine if the given geometries meet a set of criteria. For the disjoint function and arguments g1 and g2, this criteria is as follows: - points of g1 are not allowed to be in the interior of g2 - points of g1 are not allowed to be on the boundary of g2 - points of g1 are allowed to be in the exterior of g2 - no points required to be in the interior of g2 - no points of g1 are required to be on the boundary of g2 - no points of g1 are required to be in the exterior of g2

The code for the specific implementations is in the geom_geom_processors file.

julia
const DISJOINT_ALLOWS = (in_allow = false, on_allow = false, out_allow = true)
+f

We can see that none of the edges or vertices of l1 interact with l2 so they are disjoint.

julia
GO.disjoint(l1, l2)  # returns true
true

Implementation

This is the GeoInterface-compatible implementation.

First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait.

Each of these calls a method in the geom_geom_processors file. The methods in this file determine if the given geometries meet a set of criteria. For the disjoint function and arguments g1 and g2, this criteria is as follows: - points of g1 are not allowed to be in the interior of g2 - points of g1 are not allowed to be on the boundary of g2 - points of g1 are allowed to be in the exterior of g2 - no points required to be in the interior of g2 - no points of g1 are required to be on the boundary of g2 - no points of g1 are required to be in the exterior of g2

The code for the specific implementations is in the geom_geom_processors file.

julia
const DISJOINT_ALLOWS = (in_allow = false, on_allow = false, out_allow = true)
 const DISJOINT_CURVE_ALLOWS = (over_allow = false, cross_allow = false, on_allow = false, out_allow = true)
 const DISJOINT_REQUIRES = (in_require = false, on_require = false, out_require = false)
 const DISJOINT_EXACT = (exact = _False(),)
@@ -196,7 +196,7 @@
     end
     return true
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/geom_relations/geom_geom_processors.html b/previews/PR223/source/methods/geom_relations/geom_geom_processors.html index 3f8b4bc37..8f7532dfb 100644 --- a/previews/PR223/source/methods/geom_relations/geom_geom_processors.html +++ b/previews/PR223/source/methods/geom_relations/geom_geom_processors.html @@ -9,9 +9,9 @@ - + - + @@ -455,7 +455,7 @@ end return skip, returnval end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/geom_relations/intersects.html b/previews/PR223/source/methods/geom_relations/intersects.html index 11e4e4151..2e569a22b 100644 --- a/previews/PR223/source/methods/geom_relations/intersects.html +++ b/previews/PR223/source/methods/geom_relations/intersects.html @@ -9,11 +9,11 @@ - + - + - + @@ -27,7 +27,7 @@ line2 = GI.Line([(123.354492,-15.961329), (127.22168,-14.008696)]) f, a, p = lines(GI.getpoint(line1)) lines!(GI.getpoint(line2)) -f

We can see that they intersect, so we expect intersects to return true, and we can visualize the intersection point in red.

julia
GO.intersects(line1, line2)  # true
true

Implementation

This is the GeoInterface-compatible implementation.

Given that intersects is the exact opposite of disjoint, we simply pass the two inputs variables, swapped in order, to disjoint.

julia
"""
+f

We can see that they intersect, so we expect intersects to return true, and we can visualize the intersection point in red.

julia
GO.intersects(line1, line2)  # true
true

Implementation

This is the GeoInterface-compatible implementation.

Given that intersects is the exact opposite of disjoint, we simply pass the two inputs variables, swapped in order, to disjoint.

julia
"""
     intersects(geom1, geom2)::Bool
 
 Return true if the interiors or boundaries of the two geometries interact.
@@ -45,7 +45,7 @@
 ```
 """
 intersects(geom1, geom2) = !disjoint(geom1, geom2)

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/geom_relations/overlaps.html b/previews/PR223/source/methods/geom_relations/overlaps.html index 50d6d49dc..08f48d905 100644 --- a/previews/PR223/source/methods/geom_relations/overlaps.html +++ b/previews/PR223/source/methods/geom_relations/overlaps.html @@ -9,11 +9,11 @@ - + - + - + @@ -29,7 +29,7 @@ scatter!(GI.getpoint(l1), color = :blue) lines!(GI.getpoint(l2), color = :orange) scatter!(GI.getpoint(l2), color = :orange) -f

We can see that the two lines overlap in the plot:

julia
GO.overlaps(l1, l2)  # true
true

Implementation

This is the GeoInterface-compatible implementation.

First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait. This is also used in the implementation, since it's a lot less work!

Note that that since only elements of the same dimension can overlap, any two geometries with traits that are of different dimensions automatically can return false.

For geometries with the same trait dimension, we must make sure that they share a point, an edge, or area for points, lines, and polygons/multipolygons respectively, without being contained.

julia
"""
+f

We can see that the two lines overlap in the plot:

julia
GO.overlaps(l1, l2)  # true
true

Implementation

This is the GeoInterface-compatible implementation.

First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait. This is also used in the implementation, since it's a lot less work!

Note that that since only elements of the same dimension can overlap, any two geometries with traits that are of different dimensions automatically can return false.

For geometries with the same trait dimension, we must make sure that they share a point, an edge, or area for points, lines, and polygons/multipolygons respectively, without being contained.

julia
"""
     overlaps(geom1, geom2)::Bool
 
 Compare two Geometries of the same dimension and return true if their
@@ -230,7 +230,7 @@
     seg_val, _, _ = _intersection_point(Float64, edge_a, edge_b; exact = _False())
     return seg_val != line_out
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/geom_relations/touches.html b/previews/PR223/source/methods/geom_relations/touches.html index 6519888b1..6a1eaebd1 100644 --- a/previews/PR223/source/methods/geom_relations/touches.html +++ b/previews/PR223/source/methods/geom_relations/touches.html @@ -9,11 +9,11 @@ - + - + - + @@ -28,7 +28,7 @@ f, a, p = lines(GI.getpoint(l1)) lines!(GI.getpoint(l2)) -f

We can see that these two lines touch only at their endpoints.

julia
GO.touches(l1, l2)  # true
true

Implementation

This is the GeoInterface-compatible implementation.

First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait.

Each of these calls a method in the geom_geom_processors file. The methods in this file determine if the given geometries meet a set of criteria. For the touches function and arguments g1 and g2, this criteria is as follows: - points of g1 are not allowed to be in the interior of g2 - points of g1 are allowed to be on the boundary of g2 - points of g1 are allowed to be in the exterior of g2 - no points of g1 are required to be in the interior of g2 - at least one point of g1 is required to be on the boundary of g2 - no points of g1 are required to be in the exterior of g2

The code for the specific implementations is in the geom_geom_processors file.

julia
const TOUCHES_POINT_ALLOWED = (in_allow = false, on_allow = true, out_allow = false)
+f

We can see that these two lines touch only at their endpoints.

julia
GO.touches(l1, l2)  # true
true

Implementation

This is the GeoInterface-compatible implementation.

First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait.

Each of these calls a method in the geom_geom_processors file. The methods in this file determine if the given geometries meet a set of criteria. For the touches function and arguments g1 and g2, this criteria is as follows: - points of g1 are not allowed to be in the interior of g2 - points of g1 are allowed to be on the boundary of g2 - points of g1 are allowed to be in the exterior of g2 - no points of g1 are required to be in the interior of g2 - at least one point of g1 is required to be on the boundary of g2 - no points of g1 are required to be in the exterior of g2

The code for the specific implementations is in the geom_geom_processors file.

julia
const TOUCHES_POINT_ALLOWED = (in_allow = false, on_allow = true, out_allow = false)
 const TOUCHES_CURVE_ALLOWED = (over_allow = false, cross_allow = false, on_allow = true, out_allow = true)
 const TOUCHES_POLYGON_ALLOWS = (in_allow = false, on_allow = true, out_allow = true)
 const TOUCHES_REQUIRES = (in_require = false, on_require = true, out_require = false)
@@ -192,7 +192,7 @@
     end
     return true
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/geom_relations/within.html b/previews/PR223/source/methods/geom_relations/within.html index e54f11dd5..93d0f7ff8 100644 --- a/previews/PR223/source/methods/geom_relations/within.html +++ b/previews/PR223/source/methods/geom_relations/within.html @@ -9,11 +9,11 @@ - + - + - + @@ -29,7 +29,7 @@ scatter!(GI.getpoint(l1), color = :blue) lines!(GI.getpoint(l2), color = :orange) scatter!(GI.getpoint(l2), color = :orange) -f

We can see that all of the points and edges of l2 are within l1, so l2 is within l1, but l1 is not within l2

julia
GO.within(l1, l2)  # false
+f

We can see that all of the points and edges of l2 are within l1, so l2 is within l1, but l1 is not within l2

julia
GO.within(l1, l2)  # false
 GO.within(l2, l1)  # true
true

Implementation

This is the GeoInterface-compatible implementation.

First, we implement a wrapper method that dispatches to the correct implementation based on the geometry trait.

Each of these calls a method in the geom_geom_processors file. The methods in this file determine if the given geometries meet a set of criteria. For the within function and arguments g1 and g2, this criteria is as follows: - points of g1 are allowed to be in the interior of g2 (either through overlap or crossing for lines) - points of g1 are allowed to be on the boundary of g2 - points of g1 are not allowed to be in the exterior of g2 - at least one point of g1 is required to be in the interior of g2 - no points of g1 are required to be on the boundary of g2 - no points of g1 are required to be in the exterior of g2

The code for the specific implementations is in the geom_geom_processors file.

julia
const WITHIN_POINT_ALLOWS = (in_allow = true, on_allow = false, out_allow = false)
 const WITHIN_CURVE_ALLOWS = (over_allow = true, cross_allow = true, on_allow = true, out_allow = false)
 const WITHIN_POLYGON_ALLOWS = (in_allow = true, on_allow = true, out_allow = false)
@@ -211,7 +211,7 @@
     end
     return true
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/orientation.html b/previews/PR223/source/methods/orientation.html index 5f565f845..5d8065458 100644 --- a/previews/PR223/source/methods/orientation.html +++ b/previews/PR223/source/methods/orientation.html @@ -9,9 +9,9 @@ - + - + @@ -118,7 +118,7 @@ _isparallel(bx - ax, by - ay, dx - cx, dy - cy) _isparallel(Δx1, Δy1, Δx2, Δy2) = (Δx1 * Δy2 == Δy1 * Δx2)

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/methods/polygonize.html b/previews/PR223/source/methods/polygonize.html index 207c83cb0..4c902cb38 100644 --- a/previews/PR223/source/methods/polygonize.html +++ b/previews/PR223/source/methods/polygonize.html @@ -9,9 +9,9 @@ - + - + @@ -307,7 +307,7 @@ end return edges end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/not_implemented_yet.html b/previews/PR223/source/not_implemented_yet.html index 5fe63402d..07b68a943 100644 --- a/previews/PR223/source/not_implemented_yet.html +++ b/previews/PR223/source/not_implemented_yet.html @@ -9,9 +9,9 @@ - + - + @@ -22,7 +22,7 @@ function buffer end function convexhull end function concavehull end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/primitives.html b/previews/PR223/source/primitives.html index 006636b10..fa1c7bdb7 100644 --- a/previews/PR223/source/primitives.html +++ b/previews/PR223/source/primitives.html @@ -9,9 +9,9 @@ - + - + @@ -19,7 +19,7 @@
Skip to content
- + \ No newline at end of file diff --git a/previews/PR223/source/src/GeometryOpsCore.html b/previews/PR223/source/src/GeometryOpsCore.html index 5e03091c0..c5c3056da 100644 --- a/previews/PR223/source/src/GeometryOpsCore.html +++ b/previews/PR223/source/src/GeometryOpsCore.html @@ -9,9 +9,9 @@ - + - + @@ -43,7 +43,7 @@ include("geometry_utils.jl") end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/src/apply.html b/previews/PR223/source/src/apply.html index 8252d8290..94a74367d 100644 --- a/previews/PR223/source/src/apply.html +++ b/previews/PR223/source/src/apply.html @@ -9,11 +9,11 @@ - + - + - + @@ -27,7 +27,7 @@ flipped_geom = GO.apply(GI.PointTrait, geom) do p (GI.y(p), GI.x(p)) -end

source

GeometryOpsCore.applyreduce Function
julia
applyreduce(f, op, target::Union{TraitTarget, GI.AbstractTrait}, obj; threaded)

Apply function f to all objects with the target trait, and reduce the result with an op like +.

The order and grouping of application of op is not guaranteed.

If threaded==true threads will be used over arrays and iterables, feature collections and nested geometries.

source

What is apply?

apply applies some function to every geometry matching the Target GeoInterface trait, in some arbitrarily nested object made up of:

  • AbstractArrays (we also try to iterate other non-GeoInteface compatible object)

  • FeatureCollectionTrait objects

  • FeatureTrait objects

  • AbstractGeometryTrait objects

apply recursively calls itself through these nested layers until it reaches objects with the Target GeoInterface trait. When found apply applies the function f, and stops.

The outer recursive functions then progressively rebuild the object using GeoInterface objects matching the original traits.

If PointTrait is found but it is not the Target, an error is thrown. This likely means the object contains a different geometry trait to the target, such as MultiPointTrait when LineStringTrait was specified.

To handle this possibility it may be necessary to make Target a Union of traits found at the same level of nesting, and define methods of f to handle all cases.

Be careful making a union across "levels" of nesting, e.g. Union{FeatureTrait,PolygonTrait}, as _apply will just never reach PolygonTrait when all the polygons are wrapped in a FeatureTrait object.

Embedding:

extent and crs can be embedded in all geometries, features, and feature collections as part of apply. Geometries deeper than Target will of course not have new extent or crs embedded.

  • calc_extent signals to recalculate an Extent and embed it.

  • crs will be embedded as-is

Threading

Threading is used at the outermost level possible - over an array, feature collection, or e.g. a MultiPolygonTrait where each PolygonTrait sub-geometry may be calculated on a different thread.

Currently, threading defaults to false for all objects, but can be turned on by passing the keyword argument threaded=true to apply.

julia
"""
+end

source

GeometryOpsCore.applyreduce Function
julia
applyreduce(f, op, target::Union{TraitTarget, GI.AbstractTrait}, obj; threaded)

Apply function f to all objects with the target trait, and reduce the result with an op like +.

The order and grouping of application of op is not guaranteed.

If threaded==true threads will be used over arrays and iterables, feature collections and nested geometries.

source

What is apply?

apply applies some function to every geometry matching the Target GeoInterface trait, in some arbitrarily nested object made up of:

  • AbstractArrays (we also try to iterate other non-GeoInteface compatible object)

  • FeatureCollectionTrait objects

  • FeatureTrait objects

  • AbstractGeometryTrait objects

apply recursively calls itself through these nested layers until it reaches objects with the Target GeoInterface trait. When found apply applies the function f, and stops.

The outer recursive functions then progressively rebuild the object using GeoInterface objects matching the original traits.

If PointTrait is found but it is not the Target, an error is thrown. This likely means the object contains a different geometry trait to the target, such as MultiPointTrait when LineStringTrait was specified.

To handle this possibility it may be necessary to make Target a Union of traits found at the same level of nesting, and define methods of f to handle all cases.

Be careful making a union across "levels" of nesting, e.g. Union{FeatureTrait,PolygonTrait}, as _apply will just never reach PolygonTrait when all the polygons are wrapped in a FeatureTrait object.

Embedding:

extent and crs can be embedded in all geometries, features, and feature collections as part of apply. Geometries deeper than Target will of course not have new extent or crs embedded.

  • calc_extent signals to recalculate an Extent and embed it.

  • crs will be embedded as-is

Threading

Threading is used at the outermost level possible - over an array, feature collection, or e.g. a MultiPolygonTrait where each PolygonTrait sub-geometry may be calculated on a different thread.

Currently, threading defaults to false for all objects, but can be turned on by passing the keyword argument threaded=true to apply.

julia
"""
     apply(f, target::Union{TraitTarget, GI.AbstractTrait}, obj; kw...)
 
 Reconstruct a geometry, feature, feature collection, or nested vectors of
@@ -164,7 +164,7 @@
 end

Here we use the compiler directive @assume_effects :foldable to force the compiler to lookup through the closure. This alone makes e.g. flip 2.5x faster!

julia
Base.@assume_effects :foldable @inline function _maptasks(f::F, taskrange, threaded::_False)::Vector where F
     map(f, taskrange)
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/src/applyreduce.html b/previews/PR223/source/src/applyreduce.html index 0b13c12a6..57b7822a5 100644 --- a/previews/PR223/source/src/applyreduce.html +++ b/previews/PR223/source/src/applyreduce.html @@ -9,9 +9,9 @@ - + - + @@ -90,7 +90,7 @@ Base.@assume_effects :foldable function _mapreducetasks(f::F, op, taskrange, threaded::_False; init) where F mapreduce(f, op, taskrange; init) end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/src/geometry_utils.html b/previews/PR223/source/src/geometry_utils.html index 3bd22948c..5e99bb2e8 100644 --- a/previews/PR223/source/src/geometry_utils.html +++ b/previews/PR223/source/src/geometry_utils.html @@ -9,9 +9,9 @@ - + - + @@ -20,7 +20,7 @@
Skip to content
julia
_linearring(geom::GI.LineString) = GI.LinearRing(parent(geom); extent=geom.extent, crs=geom.crs)
 _linearring(geom::GI.LinearRing) = geom

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/src/keyword_docs.html b/previews/PR223/source/src/keyword_docs.html index c8a8fc2fc..b42a14072 100644 --- a/previews/PR223/source/src/keyword_docs.html +++ b/previews/PR223/source/src/keyword_docs.html @@ -9,9 +9,9 @@ - + - + @@ -27,7 +27,7 @@ $CRS_KEYWORD $CALC_EXTENT_KEYWORD """

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/src/other_primitives.html b/previews/PR223/source/src/other_primitives.html index a978fd671..2b9917f3e 100644 --- a/previews/PR223/source/src/other_primitives.html +++ b/previews/PR223/source/src/other_primitives.html @@ -9,18 +9,18 @@ - + - + - +
Skip to content

Other primitives (unwrap, flatten, etc)

This file defines the following primitives:

GeometryOpsCore.unwrap Function
julia
unwrap(target::Type{<:AbstractTrait}, obj)
-unwrap(f, target::Type{<:AbstractTrait}, obj)

Unwrap the object to vectors, down to the target trait.

If f is passed in it will be applied to the target geometries as they are found.

source

GeometryOpsCore.flatten Function
julia
flatten(target::Type{<:GI.AbstractTrait}, obj)
-flatten(f, target::Type{<:GI.AbstractTrait}, obj)

Lazily flatten any AbstractArray, iterator, FeatureCollectionTrait, FeatureTrait or AbstractGeometryTrait object obj, so that objects with the target trait are returned by the iterator.

If f is passed in it will be applied to the target geometries.

source

GeometryOpsCore.reconstruct Function
julia
reconstruct(geom, components)

Reconstruct geom from an iterable of component objects that match its structure.

All objects in components must have the same GeoInterface.trait.

Usually used in combination with flatten.

source

GeometryOpsCore.rebuild Function
julia
rebuild(geom, child_geoms)

Rebuild a geometry from child geometries.

By default geometries will be rebuilt as a GeoInterface.Wrappers geometry, but rebuild can have methods added to it to dispatch on geometries from other packages and specify how to rebuild them.

(Maybe it should go into GeoInterface.jl)

source

julia
"""
+unwrap(f, target::Type{<:AbstractTrait}, obj)

Unwrap the object to vectors, down to the target trait.

If f is passed in it will be applied to the target geometries as they are found.

source

GeometryOpsCore.flatten Function
julia
flatten(target::Type{<:GI.AbstractTrait}, obj)
+flatten(f, target::Type{<:GI.AbstractTrait}, obj)

Lazily flatten any AbstractArray, iterator, FeatureCollectionTrait, FeatureTrait or AbstractGeometryTrait object obj, so that objects with the target trait are returned by the iterator.

If f is passed in it will be applied to the target geometries.

source

GeometryOpsCore.reconstruct Function
julia
reconstruct(geom, components)

Reconstruct geom from an iterable of component objects that match its structure.

All objects in components must have the same GeoInterface.trait.

Usually used in combination with flatten.

source

GeometryOpsCore.rebuild Function
julia
rebuild(geom, child_geoms)

Rebuild a geometry from child geometries.

By default geometries will be rebuilt as a GeoInterface.Wrappers geometry, but rebuild can have methods added to it to dispatch on geometries from other packages and specify how to rebuild them.

(Maybe it should go into GeoInterface.jl)

source

julia
"""
     unwrap(target::Type{<:AbstractTrait}, obj)
     unwrap(f, target::Type{<:AbstractTrait}, obj)
 
@@ -136,7 +136,7 @@
         return T{false,false}(child_geoms; crs, extent)
     end
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/src/types.html b/previews/PR223/source/src/types.html index 064107d57..32f7124a4 100644 --- a/previews/PR223/source/src/types.html +++ b/previews/PR223/source/src/types.html @@ -9,9 +9,9 @@ - + - + @@ -129,7 +129,7 @@ @inline _booltype(x::Bool)::BoolsAsTypes = x ? _True() : _False() @inline _booltype(x::BoolsAsTypes)::BoolsAsTypes = x

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/transformations/correction/closed_ring.html b/previews/PR223/source/transformations/correction/closed_ring.html index 5306b98f5..8b3fa2a79 100644 --- a/previews/PR223/source/transformations/correction/closed_ring.html +++ b/previews/PR223/source/transformations/correction/closed_ring.html @@ -9,9 +9,9 @@ - + - + @@ -48,7 +48,7 @@ else

Assemble the ring as a vector

julia
        tups = tuples.(GI.getpoint(ring))

Close the ring

julia
        push!(tups, tups[1])

Return an actual ring

julia
        return GI.LinearRing(tups)
     end
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/transformations/correction/geometry_correction.html b/previews/PR223/source/transformations/correction/geometry_correction.html index 062bd4770..d5367d0bb 100644 --- a/previews/PR223/source/transformations/correction/geometry_correction.html +++ b/previews/PR223/source/transformations/correction/geometry_correction.html @@ -9,16 +9,16 @@ - + - + - + -
Skip to content

Geometry Corrections

julia
export fix

This file simply defines the GeometryCorrection abstract type, and the interface that any GeometryCorrection must implement.

A geometry correction is a transformation that is applied to a geometry to correct it in some way.

For example, a ClosedRing correction might be applied to a Polygon to ensure that its exterior ring is closed.

Interface

All GeometryCorrections are callable structs which, when called, apply the correction to the given geometry, and return either a copy or the original geometry (if nothing needed to be corrected).

See below for the full interface specification.

GeometryOps.GeometryCorrection Type
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

Any geometry correction must implement the interface as given above.

julia
"""
+    
Skip to content

Geometry Corrections

julia
export fix

This file simply defines the GeometryCorrection abstract type, and the interface that any GeometryCorrection must implement.

A geometry correction is a transformation that is applied to a geometry to correct it in some way.

For example, a ClosedRing correction might be applied to a Polygon to ensure that its exterior ring is closed.

Interface

All GeometryCorrections are callable structs which, when called, apply the correction to the given geometry, and return either a copy or the original geometry (if nothing needed to be corrected).

See below for the full interface specification.

GeometryOps.GeometryCorrection Type
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

Any geometry correction must implement the interface as given above.

julia
"""
     abstract type GeometryCorrection
 
 This abstract type represents a geometry correction.
@@ -48,8 +48,8 @@
         final_geometry = apply(net_function, Trait, final_geometry; kwargs...)
     end
     return final_geometry
-end

Available corrections

GeometryOps.ClosedRing Type
julia
ClosedRing() <: GeometryCorrection

This correction ensures that a polygon's exterior and interior rings are closed.

It can be called on any geometry correction as usual.

See also GeometryCorrection.

source

GeometryOps.DiffIntersectingPolygons Type
julia
DiffIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygons included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be made nonintersecting through the difference operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area. See also GeometryCorrection, UnionIntersectingPolygons.

source

GeometryOps.GeometryCorrection Type
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

GeometryOps.UnionIntersectingPolygons Type
julia
UnionIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygon's included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be combined through the union operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area.

See also GeometryCorrection.

source


This page was generated using Literate.jl.

- +end

Available corrections

GeometryOps.ClosedRing Type
julia
ClosedRing() <: GeometryCorrection

This correction ensures that a polygon's exterior and interior rings are closed.

It can be called on any geometry correction as usual.

See also GeometryCorrection.

source

GeometryOps.DiffIntersectingPolygons Type
julia
DiffIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygons included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be made nonintersecting through the difference operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area. See also GeometryCorrection, UnionIntersectingPolygons.

source

GeometryOps.GeometryCorrection Type
julia
abstract type GeometryCorrection

This abstract type represents a geometry correction.

Interface

Any GeometryCorrection must implement two functions: * application_level(::GeometryCorrection)::AbstractGeometryTrait: This function should return the GeoInterface trait that the correction is intended to be applied to, like PointTrait or LineStringTrait or PolygonTrait. * (::GeometryCorrection)(::AbstractGeometryTrait, geometry)::(some_geometry): This function should apply the correction to the given geometry, and return a new geometry.

source

GeometryOps.UnionIntersectingPolygons Type
julia
UnionIntersectingPolygons() <: GeometryCorrection

This correction ensures that the polygon's included in a multipolygon aren't intersecting. If any polygon's are intersecting, they will be combined through the union operation to create a unique set of disjoint (other than potentially connections by a single point) polygons covering the same area.

See also GeometryCorrection.

source


This page was generated using Literate.jl.

+ \ No newline at end of file diff --git a/previews/PR223/source/transformations/correction/intersecting_polygons.html b/previews/PR223/source/transformations/correction/intersecting_polygons.html index afa6ef841..f6646416b 100644 --- a/previews/PR223/source/transformations/correction/intersecting_polygons.html +++ b/previews/PR223/source/transformations/correction/intersecting_polygons.html @@ -9,9 +9,9 @@ - + - + @@ -115,7 +115,7 @@ end return diff_multipoly end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/transformations/extent.html b/previews/PR223/source/transformations/extent.html index 9a5903e9b..b1f6f0b69 100644 --- a/previews/PR223/source/transformations/extent.html +++ b/previews/PR223/source/transformations/extent.html @@ -9,9 +9,9 @@ - + - + @@ -31,7 +31,7 @@ """ embed_extent(x; threaded=false, crs=nothing) = apply(identity, GI.PointTrait(), x; calc_extent=true, threaded, crs)

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/transformations/flip.html b/previews/PR223/source/transformations/flip.html index 0fb999c43..682a645e8 100644 --- a/previews/PR223/source/transformations/flip.html +++ b/previews/PR223/source/transformations/flip.html @@ -9,9 +9,9 @@ - + - + @@ -40,7 +40,7 @@ end end end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/transformations/reproject.html b/previews/PR223/source/transformations/reproject.html index 189573819..7ad8956a1 100644 --- a/previews/PR223/source/transformations/reproject.html +++ b/previews/PR223/source/transformations/reproject.html @@ -9,9 +9,9 @@ - + - + @@ -59,7 +59,7 @@ nothing end end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/transformations/segmentize.html b/previews/PR223/source/transformations/segmentize.html index 24bebcea5..ca6a07ec5 100644 --- a/previews/PR223/source/transformations/segmentize.html +++ b/previews/PR223/source/transformations/segmentize.html @@ -9,11 +9,11 @@ - + - + - + @@ -39,7 +39,7 @@ f, a, p = poly(collect(GI.getpoint(linear)); label = "Linear", axis = (; aspect = DataAspect())) p2 = poly!(collect(GI.getpoint(geodesic)); label = "Geodesic") axislegend(a; position = :lt) -f

There are two methods available for segmentizing geometries at the moment:

Missing docstring.

Missing docstring for LinearSegments. Check Documenter's build log for details.

Missing docstring.

Missing docstring for GeodesicSegments. Check Documenter's build log for details.

Benchmark

We benchmark our method against LibGEOS's GEOSDensify method, which is a similar method for densifying geometries.

julia
using BenchmarkTools: BenchmarkGroup
+f

There are two methods available for segmentizing geometries at the moment:

Missing docstring.

Missing docstring for LinearSegments. Check Documenter's build log for details.

Missing docstring.

Missing docstring for GeodesicSegments. Check Documenter's build log for details.

Benchmark

We benchmark our method against LibGEOS's GEOSDensify method, which is a similar method for densifying geometries.

julia
using BenchmarkTools: BenchmarkGroup
 using Chairmarks: @be
 using Main: plot_trials
 using CairoMakie
@@ -77,7 +77,7 @@
 
 end
 
-plot_trials(segmentize_suite)

julia
abstract type SegmentizeMethod end
+plot_trials(segmentize_suite)

julia
abstract type SegmentizeMethod end
 """
     LinearSegments(; max_distance::Real)
 
@@ -179,7 +179,7 @@
     end

End the line with the original coordinate, to avoid any multiplication errors.

julia
    push!(new_coords, (x2, y2))
     return nothing
 end

Note

The _fill_linear_kernel definition for GeodesicSegments is in the GeometryOpsProjExt extension module, in the segmentize.jl file.


This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/transformations/simplify.html b/previews/PR223/source/transformations/simplify.html index f6fc2d504..eeaa26003 100644 --- a/previews/PR223/source/transformations/simplify.html +++ b/previews/PR223/source/transformations/simplify.html @@ -9,11 +9,11 @@ - + - + - + @@ -29,7 +29,7 @@ f, a, p = poly(original; label = "Original") poly!(simple; label = "Simplified") axislegend(a) -f

Benchmark

We benchmark these methods against LibGEOS's simplify implementation, which uses the Douglas-Peucker algorithm.

julia
using BenchmarkTools, Chairmarks, GeoJSON, CairoMakie
+f

Benchmark

We benchmark these methods against LibGEOS's simplify implementation, which uses the Douglas-Peucker algorithm.

julia
using BenchmarkTools, Chairmarks, GeoJSON, CairoMakie
 import GeometryOps as GO, LibGEOS as LG, GeoInterface as GI
 using CoordinateTransformations
 using NaturalEarth
@@ -42,7 +42,7 @@
 usa_poly = GI.getgeom(usa_multipoly, findmax(GO.area.(GI.getgeom(usa_multipoly)))[2]) # isolate the poly with the most area
 usa_centroid = GO.centroid(usa_poly)
 usa_reflected = GO.transform(Translation(usa_centroid...)  LinearMap(Makie.rotmatrix2d(π))  Translation((-).(usa_centroid)...), usa_poly)
-f, a, p = plot(usa_poly; label = "Original", axis = (; aspect = DataAspect()))#; plot!(usa_reflected; label = "Reflected")

This is the complex polygon we'll be benchmarking.

julia
simplify_suite = BenchmarkGroup(["Simplify"])
+f, a, p = plot(usa_poly; label = "Original", axis = (; aspect = DataAspect()))#; plot!(usa_reflected; label = "Reflected")

This is the complex polygon we'll be benchmarking.

julia
simplify_suite = BenchmarkGroup(["Simplify"])
 singlepoly_suite = BenchmarkGroup(["Polygon", "title:Polygon simplify", "subtitle:Random blob"])
 
 include(joinpath(dirname(dirname(pathof(GO))), "test", "data", "polygon_generation.jl"))
@@ -56,7 +56,7 @@
     singlepoly_suite["LibGEOS"][GI.npoint(geom)] = @be LG.simplify($geom_lg, 0.1) seconds=1
 end
 
-plot_trials(singlepoly_suite; legend_position=(1, 1, TopRight()), legend_valign = -2, legend_halign = 1.2, legend_orientation = :horizontal)

julia
multipoly_suite = BenchmarkGroup(["MultiPolygon", "title:Multipolygon simplify", "subtitle:USA multipolygon"])
+plot_trials(singlepoly_suite; legend_position=(1, 1, TopRight()), legend_valign = -2, legend_halign = 1.2, legend_orientation = :horizontal)

julia
multipoly_suite = BenchmarkGroup(["MultiPolygon", "title:Multipolygon simplify", "subtitle:USA multipolygon"])
 
 for frac in exp10.(LinRange(log10(0.3), log10(1), 6)) # TODO: this example isn't the best.  How can we get this better?
     geom = GO.simplify(usa_multipoly; ratio = frac)
@@ -75,7 +75,7 @@
     # GO-VW : $(GI.npoint( GO.simplify((GO.VisvalingamWhyatt(; tol = _tol)), geom_go)))
     println()
 end
-plot_trials(multipoly_suite)

julia
export simplify, VisvalingamWhyatt, DouglasPeucker, RadialDistance
+plot_trials(multipoly_suite)

julia
export simplify, VisvalingamWhyatt, DouglasPeucker, RadialDistance
 
 const _SIMPLIFY_TARGET = TraitTarget{Union{GI.PolygonTrait, GI.AbstractCurveTrait, GI.MultiPointTrait, GI.PointTrait}}()
 const MIN_POINTS = 3
@@ -508,7 +508,7 @@
     end
     return nothing
 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/transformations/transform.html b/previews/PR223/source/transformations/transform.html index b8c505e1d..bce830622 100644 --- a/previews/PR223/source/transformations/transform.html +++ b/previews/PR223/source/transformations/transform.html @@ -9,9 +9,9 @@ - + - + @@ -73,7 +73,7 @@ end end end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/transformations/tuples.html b/previews/PR223/source/transformations/tuples.html index ec873f9d4..8cb8a3035 100644 --- a/previews/PR223/source/transformations/tuples.html +++ b/previews/PR223/source/transformations/tuples.html @@ -9,9 +9,9 @@ - + - + @@ -37,7 +37,7 @@ end end end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/types.html b/previews/PR223/source/types.html index 529b56e2f..0f88a6bf4 100644 --- a/previews/PR223/source/types.html +++ b/previews/PR223/source/types.html @@ -9,9 +9,9 @@ - + - + @@ -56,7 +56,7 @@ error("$(f) requires a `$(kw)` keyword argument to the `GEOS` algorithm, which was not provided.") end end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/source/utils.html b/previews/PR223/source/utils.html index fd106bcd5..ee27cb9bb 100644 --- a/previews/PR223/source/utils.html +++ b/previews/PR223/source/utils.html @@ -9,9 +9,9 @@ - + - + @@ -138,7 +138,7 @@ (x1, x2), (y1, y2) = extent.X, extent.Y return x1 ≤ GI.x(p) ≤ x2 && y1 ≤ GI.y(p) ≤ y2 end

This page was generated using Literate.jl.

- + \ No newline at end of file diff --git a/previews/PR223/tutorials/creating_geometry.html b/previews/PR223/tutorials/creating_geometry.html index e182074b2..406853432 100644 --- a/previews/PR223/tutorials/creating_geometry.html +++ b/previews/PR223/tutorials/creating_geometry.html @@ -9,11 +9,11 @@ - + - + - + @@ -28,37 +28,37 @@ import Proj # Plotting using CairoMakie -using GeoMakie

Creating and plotting geometries

Let's start by making a single Point.

julia
point = GI.Point(0, 0)
GeoInterface.Wrappers.Point{false, false, Tuple{Int64, Int64}, Nothing}((0, 0), nothing)

Now, let's plot our point.

julia
fig, ax, plt = plot(point)

Let's create a set of points, and have a bit more fun with plotting.

julia
x = [-5, 0, 5, 0];
+using GeoMakie

Creating and plotting geometries

Let's start by making a single Point.

julia
point = GI.Point(0, 0)
GeoInterface.Wrappers.Point{false, false, Tuple{Int64, Int64}, Nothing}((0, 0), nothing)

Now, let's plot our point.

julia
fig, ax, plt = plot(point)

Let's create a set of points, and have a bit more fun with plotting.

julia
x = [-5, 0, 5, 0];
 y = [0, -5, 0, 5];
 points = GI.Point.(zip(x,y));
 plot!(ax, points; marker = '✈', markersize = 30)
-fig

Points can be combined into a single MultiPoint geometry.

julia
x = [-5, -5, 5, 5];
+fig

Points can be combined into a single MultiPoint geometry.

julia
x = [-5, -5, 5, 5];
 y = [-5, 5, 5, -5];
 multipoint = GI.MultiPoint(GI.Point.(zip(x, y)));
 plot!(ax, multipoint; marker = '☁', markersize = 30)
-fig

Let's create a LineString connecting two points.

julia
p1 = GI.Point.(-5, 0);
+fig

Let's create a LineString connecting two points.

julia
p1 = GI.Point.(-5, 0);
 p2 = GI.Point.(5, 0);
 line = GI.LineString([p1,p2])
 plot!(ax, line; color = :red)
-fig

Now, let's create a line connecting multiple points (i.e. a LineString). This time we get a bit more fancy with point creation.

julia
r = 2;
+fig

Now, let's create a line connecting multiple points (i.e. a LineString). This time we get a bit more fancy with point creation.

julia
r = 2;
 k = 10;
 ϴ = 0:0.01:2pi;
 x = r .* (k + 1) .* cos.(ϴ) .- r .* cos.((k + 1) .* ϴ);
 y = r .* (k + 1) .* sin.(ϴ) .- r .* sin.((k + 1) .* ϴ);
 lines = GI.LineString(GI.Point.(zip(x,y)));
 plot!(ax, lines; linewidth = 5)
-fig

We can also create a single LinearRing trait, the building block of a polygon. A LinearRing is simply a LineString with the same beginning and endpoint, i.e., an arbitrary closed shape composed of point pairs.

A LinearRing is composed of a series of points.

julia
ring1 = GI.LinearRing(GI.getpoint(lines));
GeoInterface.Wrappers.LinearRing{false, false, Vector{GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}[GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.0, 0.0), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.010987813253244, 0.0004397316773170068), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.043805248003498, 0.0035114210915891397), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.098016055420953, 0.011814947665167774), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.172899020101585, 0.027886421973952302), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.267456684570245, 0.05416726609360478), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.380427415579764, 0.09297443860091348), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.51030066635026, 0.1464721641710074), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.655335250260467, 0.21664550952386064), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.813580405100698, 0.30527612515520186), nothing)  …  GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.866418416586406, -0.3376428491230612), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.704405820024185, -0.24279488312757858), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.55494217175954, -0.16692537029320365), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.420040147662014, -0.10832215707812454), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.30151010318639, -0.0650624499034016), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.200938172182195, -0.03503632062070827), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.119667078681967, -0.01597247419241532), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.058779893613323, -0.005465967083412071), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.019086932781654, -0.0010075412835199304), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.001115954499138, -1.4219350464667047e-5), nothing)], nothing, nothing)

Now, let's make the LinearRing into a Polygon.

julia
polygon1 = GI.Polygon([ring1]);
GeoInterface.Wrappers.Polygon{false, false, Vector{GeoInterface.Wrappers.LinearRing{false, false, Vector{GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}}, Nothing, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.LinearRing{false, false, Vector{GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}}, Nothing, Nothing}[GeoInterface.Wrappers.LinearRing{false, false, Vector{GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}[GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.0, 0.0), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.010987813253244, 0.0004397316773170068), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.043805248003498, 0.0035114210915891397), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.098016055420953, 0.011814947665167774), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.172899020101585, 0.027886421973952302), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.267456684570245, 0.05416726609360478), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.380427415579764, 0.09297443860091348), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.51030066635026, 0.1464721641710074), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.655335250260467, 0.21664550952386064), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.813580405100698, 0.30527612515520186), nothing)  …  GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.866418416586406, -0.3376428491230612), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.704405820024185, -0.24279488312757858), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.55494217175954, -0.16692537029320365), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.420040147662014, -0.10832215707812454), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.30151010318639, -0.0650624499034016), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.200938172182195, -0.03503632062070827), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.119667078681967, -0.01597247419241532), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.058779893613323, -0.005465967083412071), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.019086932781654, -0.0010075412835199304), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.001115954499138, -1.4219350464667047e-5), nothing)], nothing, nothing)], nothing, nothing)

Now, we can use GeometryOps and CoordinateTransformations to shift polygon1 up, to avoid plotting over our earlier results. This is done through the GeometryOps.transform function.

julia
xoffset = 0.;
+fig

We can also create a single LinearRing trait, the building block of a polygon. A LinearRing is simply a LineString with the same beginning and endpoint, i.e., an arbitrary closed shape composed of point pairs.

A LinearRing is composed of a series of points.

julia
ring1 = GI.LinearRing(GI.getpoint(lines));
GeoInterface.Wrappers.LinearRing{false, false, Vector{GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}[GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.0, 0.0), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.010987813253244, 0.0004397316773170068), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.043805248003498, 0.0035114210915891397), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.098016055420953, 0.011814947665167774), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.172899020101585, 0.027886421973952302), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.267456684570245, 0.05416726609360478), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.380427415579764, 0.09297443860091348), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.51030066635026, 0.1464721641710074), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.655335250260467, 0.21664550952386064), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.813580405100698, 0.30527612515520186), nothing)  …  GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.866418416586406, -0.3376428491230612), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.704405820024185, -0.24279488312757858), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.55494217175954, -0.16692537029320365), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.420040147662014, -0.10832215707812454), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.30151010318639, -0.0650624499034016), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.200938172182195, -0.03503632062070827), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.119667078681967, -0.01597247419241532), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.058779893613323, -0.005465967083412071), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.019086932781654, -0.0010075412835199304), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.001115954499138, -1.4219350464667047e-5), nothing)], nothing, nothing)

Now, let's make the LinearRing into a Polygon.

julia
polygon1 = GI.Polygon([ring1]);
GeoInterface.Wrappers.Polygon{false, false, Vector{GeoInterface.Wrappers.LinearRing{false, false, Vector{GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}}, Nothing, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.LinearRing{false, false, Vector{GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}}, Nothing, Nothing}[GeoInterface.Wrappers.LinearRing{false, false, Vector{GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}[GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.0, 0.0), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.010987813253244, 0.0004397316773170068), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.043805248003498, 0.0035114210915891397), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.098016055420953, 0.011814947665167774), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.172899020101585, 0.027886421973952302), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.267456684570245, 0.05416726609360478), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.380427415579764, 0.09297443860091348), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.51030066635026, 0.1464721641710074), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.655335250260467, 0.21664550952386064), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.813580405100698, 0.30527612515520186), nothing)  …  GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.866418416586406, -0.3376428491230612), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.704405820024185, -0.24279488312757858), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.55494217175954, -0.16692537029320365), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.420040147662014, -0.10832215707812454), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.30151010318639, -0.0650624499034016), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.200938172182195, -0.03503632062070827), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.119667078681967, -0.01597247419241532), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.058779893613323, -0.005465967083412071), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.019086932781654, -0.0010075412835199304), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.001115954499138, -1.4219350464667047e-5), nothing)], nothing, nothing)], nothing, nothing)

Now, we can use GeometryOps and CoordinateTransformations to shift polygon1 up, to avoid plotting over our earlier results. This is done through the GeometryOps.transform function.

julia
xoffset = 0.;
 yoffset = 50.;
 f = CoordinateTransformations.Translation(xoffset, yoffset);
 polygon1 = GO.transform(f, polygon1);
 plot!(polygon1)
-fig

Polygons can contain "holes". The first LinearRing in a polygon is the exterior, and all subsequent LinearRings are treated as holes in the leading LinearRing.

GeoInterface offers the GI.getexterior(poly) and GI.gethole(poly) methods to get the exterior ring and an iterable of holes, respectively.

julia
hole = GI.LinearRing(GI.getpoint(multipoint))
+fig

Polygons can contain "holes". The first LinearRing in a polygon is the exterior, and all subsequent LinearRings are treated as holes in the leading LinearRing.

GeoInterface offers the GI.getexterior(poly) and GI.gethole(poly) methods to get the exterior ring and an iterable of holes, respectively.

julia
hole = GI.LinearRing(GI.getpoint(multipoint))
 polygon2 = GI.Polygon([ring1, hole])
GeoInterface.Wrappers.Polygon{false, false, Vector{GeoInterface.Wrappers.LinearRing{false, false, T, Nothing, Nothing} where T}, Nothing, Nothing}(GeoInterface.Wrappers.LinearRing{false, false, T, Nothing, Nothing} where T[GeoInterface.Wrappers.LinearRing{false, false, Vector{GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}[GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.0, 0.0), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.010987813253244, 0.0004397316773170068), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.043805248003498, 0.0035114210915891397), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.098016055420953, 0.011814947665167774), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.172899020101585, 0.027886421973952302), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.267456684570245, 0.05416726609360478), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.380427415579764, 0.09297443860091348), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.51030066635026, 0.1464721641710074), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.655335250260467, 0.21664550952386064), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.813580405100698, 0.30527612515520186), nothing)  …  GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.866418416586406, -0.3376428491230612), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.704405820024185, -0.24279488312757858), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.55494217175954, -0.16692537029320365), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.420040147662014, -0.10832215707812454), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.30151010318639, -0.0650624499034016), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.200938172182195, -0.03503632062070827), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.119667078681967, -0.01597247419241532), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.058779893613323, -0.005465967083412071), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.019086932781654, -0.0010075412835199304), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Float64, Float64}, Nothing}((20.001115954499138, -1.4219350464667047e-5), nothing)], nothing, nothing), GeoInterface.Wrappers.LinearRing{false, false, Vector{GeoInterface.Wrappers.Point{false, false, Tuple{Int64, Int64}, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.Point{false, false, Tuple{Int64, Int64}, Nothing}[GeoInterface.Wrappers.Point{false, false, Tuple{Int64, Int64}, Nothing}((-5, -5), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Int64, Int64}, Nothing}((-5, 5), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Int64, Int64}, Nothing}((5, 5), nothing), GeoInterface.Wrappers.Point{false, false, Tuple{Int64, Int64}, Nothing}((5, -5), nothing)], nothing, nothing)], nothing, nothing)

Shift polygon2 to the right, to avoid plotting over our earlier results.

julia
xoffset = 50.;
 yoffset = 0.;
 f = CoordinateTransformations.Translation(xoffset, yoffset);
 polygon2 = GO.transform(f, polygon2);
 plot!(polygon2)
-fig

Polygons can also be grouped together as a MultiPolygon.

julia
r = 5;
+fig

Polygons can also be grouped together as a MultiPolygon.

julia
r = 5;
 x = cos.(reverse(ϴ)) .* r .+ xoffset;
 y = sin.(reverse(ϴ)) .* r .+ yoffset;
 ring2 =  GI.LinearRing(GI.Point.(zip(x,y)));
@@ -68,7 +68,7 @@
 f = CoordinateTransformations.Translation(xoffset, yoffset);
 multipolygon = GO.transform(f, multipolygon);
 plot!(multipolygon)
-fig

Great, now we can make Points, MultiPoints, Lines, LineStrings, Polygons (with holes), and MultiPolygons and modify them using [CoordinateTransformations] and [GeometryOps].

Plot geometries on a map using GeoMakie and coordinate reference system (CRS)

In geospatial sciences we often have data in one Coordinate Reference System (CRS) (source) and would like to display it in different (destination) CRS. GeoMakie allows us to do this by automatically projecting from source to destination CRS.

Here, our source CRS is common geographic (i.e. coordinates of latitude and longitude), WGS84.

julia
source_crs1 = GFT.EPSG(4326)
GeoFormatTypes.EPSG{1}((4326,))

Now let's pick a destination CRS for displaying our map. Here we'll pick natearth2.

julia
destination_crs = "+proj=natearth2"
"+proj=natearth2"

Let's add land area for context. First, download and open the Natural Earth global land polygons at 110 m resolution.GeoMakie ships with this particular dataset, so we will access it from there.

julia
land_path = GeoMakie.assetpath("ne_110m_land.geojson")
"/home/runner/.julia/packages/GeoMakie/yYF2K/assets/ne_110m_land.geojson"

Note

Natural Earth has lots of other datasets, and there is a Julia package that provides an interface to it called NaturalEarth.jl.

Read the land MultiPolygons as a GeoJSON.FeatureCollection.

julia
land_geo = GeoJSON.read(land_path)
FeatureCollection with 127 Features

We then need to create a figure with a GeoAxis that can handle the projection between source and destination CRS. For GeoMakie, source is the CRS of the input and dest is the CRS you want to visualize in.

julia
fig = Figure(size=(1000, 500));
+fig

Great, now we can make Points, MultiPoints, Lines, LineStrings, Polygons (with holes), and MultiPolygons and modify them using [CoordinateTransformations] and [GeometryOps].

Plot geometries on a map using GeoMakie and coordinate reference system (CRS)

In geospatial sciences we often have data in one Coordinate Reference System (CRS) (source) and would like to display it in different (destination) CRS. GeoMakie allows us to do this by automatically projecting from source to destination CRS.

Here, our source CRS is common geographic (i.e. coordinates of latitude and longitude), WGS84.

julia
source_crs1 = GFT.EPSG(4326)
GeoFormatTypes.EPSG{1}((4326,))

Now let's pick a destination CRS for displaying our map. Here we'll pick natearth2.

julia
destination_crs = "+proj=natearth2"
"+proj=natearth2"

Let's add land area for context. First, download and open the Natural Earth global land polygons at 110 m resolution.GeoMakie ships with this particular dataset, so we will access it from there.

julia
land_path = GeoMakie.assetpath("ne_110m_land.geojson")
"/home/runner/.julia/packages/GeoMakie/5PHJ2/assets/ne_110m_land.geojson"

Note

Natural Earth has lots of other datasets, and there is a Julia package that provides an interface to it called NaturalEarth.jl.

Read the land MultiPolygons as a GeoJSON.FeatureCollection.

julia
land_geo = GeoJSON.read(land_path)
FeatureCollection with 127 Features

We then need to create a figure with a GeoAxis that can handle the projection between source and destination CRS. For GeoMakie, source is the CRS of the input and dest is the CRS you want to visualize in.

julia
fig = Figure(size=(1000, 500));
 ga = GeoAxis(
     fig[1, 1];
     source = source_crs1,
@@ -76,8 +76,8 @@
     xticklabelsvisible = false,
     yticklabelsvisible = false,
 );

Plot land for context.

julia
poly!(ga, land_geo, color=:black)
-fig

Now let's plot a Polygon like before, but this time with a CRS that differs from our source data

julia
plot!(multipolygon; color = :green)
-fig

But what if we want to plot geometries with a different source CRS on the same figure?

To show how to do this let's create a geometry with coordinates in UTM (Universal Transverse Mercator) zone 10N EPSG:32610.

julia
source_crs2 = GFT.EPSG(32610)
GeoFormatTypes.EPSG{1}((32610,))

Create a polygon (we're working in meters now, not latitude and longitude)

julia
r = 1000000;
+fig

Now let's plot a Polygon like before, but this time with a CRS that differs from our source data

julia
plot!(multipolygon; color = :green)
+fig

But what if we want to plot geometries with a different source CRS on the same figure?

To show how to do this let's create a geometry with coordinates in UTM (Universal Transverse Mercator) zone 10N EPSG:32610.

julia
source_crs2 = GFT.EPSG(32610)
GeoFormatTypes.EPSG{1}((32610,))

Create a polygon (we're working in meters now, not latitude and longitude)

julia
r = 1000000;
 ϴ = 0:0.01:2pi;
 x = r .* cos.(ϴ).^3 .+ 500000;
 y = r .* sin.(ϴ) .^ 3 .+5000000;
629-element Vector{Float64}:
@@ -87,7 +87,7 @@
 
  5.0e6
  5.0e6

Now create a LinearRing from Points

julia
ring3 = GI.LinearRing(Point.(zip(x, y)))
GeoInterface.Wrappers.LinearRing{false, false, Vector{Point{2, Float64}}, Nothing, Nothing}(Point{2, Float64}[[1.5e6, 5.0e6], [1.4998500087497458e6, 5.000000999950001e6], [1.4994001399837343e6, 5.000007998400139e6], [1.4986507085647392e6, 5.000026987852369e6], [1.4976022389592e6, 5.000063948817746e6], [1.4962554647802354e6, 5.000124843834609e6], [1.4946113281484335e6, 5.000215611503127e6], [1.4926709788709967e6, 5.000342160541625e6], [1.4904357734399722e6, 5.000510363870095e6], [1.4879072738504685e6, 5.0007260527263e6]  …  [1.4870405593989636e6, 4.999194331880103e6], [1.4896621210021754e6, 4.999426363321033e6], [1.491990928929295e6, 4.999609061508909e6], [1.4940253560034204e6, 4.999748243174828e6], [1.4957639801366436e6, 4.999849768598615e6], [1.497205585568957e6, 4.999919535736425e6], [1.4983491639274692e6, 4.999963474314044e6], [1.4991939151049731e6, 4.999987539891298e6], [1.4997392479570867e6, 4.999997707902938e6], [1.499984780817334e6, 4.999999967681458e6]], nothing, nothing)

Now create a Polygon from the LineRing

julia
polygon3 = GI.Polygon([ring3])
GeoInterface.Wrappers.Polygon{false, false, Vector{GeoInterface.Wrappers.LinearRing{false, false, Vector{Point{2, Float64}}, Nothing, Nothing}}, Nothing, Nothing}(GeoInterface.Wrappers.LinearRing{false, false, Vector{Point{2, Float64}}, Nothing, Nothing}[GeoInterface.Wrappers.LinearRing{false, false, Vector{Point{2, Float64}}, Nothing, Nothing}(Point{2, Float64}[[1.5e6, 5.0e6], [1.4998500087497458e6, 5.000000999950001e6], [1.4994001399837343e6, 5.000007998400139e6], [1.4986507085647392e6, 5.000026987852369e6], [1.4976022389592e6, 5.000063948817746e6], [1.4962554647802354e6, 5.000124843834609e6], [1.4946113281484335e6, 5.000215611503127e6], [1.4926709788709967e6, 5.000342160541625e6], [1.4904357734399722e6, 5.000510363870095e6], [1.4879072738504685e6, 5.0007260527263e6]  …  [1.4870405593989636e6, 4.999194331880103e6], [1.4896621210021754e6, 4.999426363321033e6], [1.491990928929295e6, 4.999609061508909e6], [1.4940253560034204e6, 4.999748243174828e6], [1.4957639801366436e6, 4.999849768598615e6], [1.497205585568957e6, 4.999919535736425e6], [1.4983491639274692e6, 4.999963474314044e6], [1.4991939151049731e6, 4.999987539891298e6], [1.4997392479570867e6, 4.999997707902938e6], [1.499984780817334e6, 4.999999967681458e6]], nothing, nothing)], nothing, nothing)

Now plot on the existing GeoAxis.

Note

The keyword argument source is used to specify the source CRS of that particular plot, when plotting on an existing GeoAxis.

julia
plot!(ga,polygon3; color=:red, source = source_crs2)
-fig

Create geospatial geometries with embedded coordinate reference system information

Great, we can make geometries and plot them on a map... now let's export the data to common geospatial data formats. To do this we now need to create geometries with embedded CRS information, making it a geospatial geometry. All that's needed is to include ; crs = crs as a keyword argument when constructing the geometry.

Let's do this for a new Polygon

julia
r = 3;
+fig

Create geospatial geometries with embedded coordinate reference system information

Great, we can make geometries and plot them on a map... now let's export the data to common geospatial data formats. To do this we now need to create geometries with embedded CRS information, making it a geospatial geometry. All that's needed is to include ; crs = crs as a keyword argument when constructing the geometry.

Let's do this for a new Polygon

julia
r = 3;
 k = 7;
 ϴ = 0:0.01:2pi;
 x = r .* (k + 1) .* cos.(ϴ) .- r .* cos.((k + 1) .* ϴ);
@@ -107,7 +107,7 @@
 GeoParquet.write(fn, df, (:geometry,))
"shapes.parquet"

Finally, if there's no Julia-native package that can write data to your desired format (e.g. .gpkg, .gml, etc), you can use GeoDataFrames. This package uses the GDAL library under the hood which supports writing to nearly all geospatial formats.

julia
import GeoDataFrames
 fn = "shapes.gpkg"
 GeoDataFrames.write(fn, df)
"shapes.gpkg"

And there we go, you can now create mapped geometries from scratch, manipulate them, plot them on a map, and save them in multiple geospatial data formats.

- + \ No newline at end of file diff --git a/previews/PR223/tutorials/geodesic_paths.html b/previews/PR223/tutorials/geodesic_paths.html index 1e8264c1a..ce2a98eeb 100644 --- a/previews/PR223/tutorials/geodesic_paths.html +++ b/previews/PR223/tutorials/geodesic_paths.html @@ -9,11 +9,11 @@ - + - + - + @@ -28,8 +28,8 @@ fig, ga, _cp = lines(GeoMakie.coastlines(); axis = (; type = GeoAxis)) lines!(ga, GO.segmentize(GO.GeodesicSegments(; max_distance = 100_000), GI.LineString([IAH, AMS])); color = Makie.wong_colors()[2]) -fig

- +fig

+ \ No newline at end of file diff --git a/previews/PR223/tutorials/spatial_joins.html b/previews/PR223/tutorials/spatial_joins.html index 5b896b932..af02ef989 100644 --- a/previews/PR223/tutorials/spatial_joins.html +++ b/previews/PR223/tutorials/spatial_joins.html @@ -9,11 +9,11 @@ - + - + - + @@ -38,14 +38,14 @@ pl = GI.Polygon([GI.LinearRing([(0, 0), (1, 0), (1, 1), (0, 0)])]) pu = GI.Polygon([GI.LinearRing([(0, 0), (0, 1), (1, 1), (0, 0)])]) poly_df = DataFrame(geometry = [pl, pu], color = [:red, :blue]) -f, a, p = poly(poly_df.geometry; color = tuple.(poly_df.color, 0.3))

Here, the upper polygon is blue, and the lower polygon is red. Keep this in mind!

Now, we generate the points.

julia
points = tuple.(rand(1000), rand(1000))
+f, a, p = poly(poly_df.geometry; color = tuple.(poly_df.color, 0.3))

Here, the upper polygon is blue, and the lower polygon is red. Keep this in mind!

Now, we generate the points.

julia
points = tuple.(rand(1000), rand(1000))
 points_df = DataFrame(geometry = points)
 scatter!(points_df.geometry)
-f

You can see that they are evenly distributed around the box. But how do we know which points are in which polygons?

We have to join the two dataframes based on which polygon (if any) each point lies within.

Now, we can perform the "spatial join" using FlexiJoins. We are performing an outer join here

julia
@time joined_df = FlexiJoins.innerjoin(
+f

You can see that they are evenly distributed around the box. But how do we know which points are in which polygons?

We have to join the two dataframes based on which polygon (if any) each point lies within.

Now, we can perform the "spatial join" using FlexiJoins. We are performing an outer join here

julia
@time joined_df = FlexiJoins.innerjoin(
     (points_df, poly_df),
     by_pred(:geometry, GO.within, :geometry)
 )
julia
scatter!(a, joined_df.geometry; color = joined_df.color)
-f

Here, you can see that the colors were assigned appropriately to the scattered points!

Real-world example

Suppose I have a list of polygons representing administrative regions (or mining sites, or what have you), and I have a list of polygons for each country. I want to find the country each region is in.

julia
import GeoInterface as GI, GeometryOps as GO
+f

Here, you can see that the colors were assigned appropriately to the scattered points!

Real-world example

Suppose I have a list of polygons representing administrative regions (or mining sites, or what have you), and I have a list of polygons for each country. I want to find the country each region is in.

julia
import GeoInterface as GI, GeometryOps as GO
 using FlexiJoins, DataFrames, GADM # GADM gives us country and sublevel geometry
 
 using CairoMakie, GeoInterfaceMakie
@@ -70,7 +70,7 @@
     ::FlexiJoins.ByPred{typeof(my_predicate_function)}, 
     datas
 ) = true

This will enable FlexiJoins to support your custom function, when it's passed to by_pred(:geometry, my_predicate_function, :geometry).

- + \ No newline at end of file

(g|dgViXVtcB9uPV`^JIlf)$#;2W>-QD7N zU7=eXul_3Ye1*6TiOhz@1#(7o5G~WcQj5I?J+597;d^|oqHOkrQ72QYiCx#@DEU@^ z+rYE;%uQ+Tjs2GzM0SqnehNsq$=faC&*`-#kdFLZr|IFIn!m?SB6~hG1PRP*4m9Ss z>X?RIGD)?qcV0jDYbS~y?@j2vhUagda{_%Sq`3inp>i)3$1N0X3}KNllYQ1y=z+I$xH%2Rg&R8j$h)Cw6_UTkS;X)|DUKnMb} z6bUEbDHLMvz|yF3yNBne1B)Nk3#BajtK){{2iy@^g|ImQDflp$gV2pcs z(b`2Sgjm*jSp6TW05m_sep&&%@&GhXQ8Em~U^OEvNM+jKUA`z%GviKx+5evAszLYj z_%EU>U^mQ!Dkv(FfMzwQG}MC?Ik1g2G9`{6Poe;vtTF2&t$$C!8B>$iT|(-dkBKiS zT@HERPTHoXF@PN;NUGAAOHYN-j}AldynE#TUF!DSUSv0S5$V@|lMsG|iI`LMF`o zqKOwo20?&=^l8;Nutre9(94rPn6!E>n*r@7iIeSiR2fJ}o+lu$6l;H4#{rShMajM( z_Q>yz*_-ayo%S|87ma5tm-34%lQMa7N<15utgP^JB&_#d%U|?#x`g_za?5+L#LlXb zTGi~*5}KTHyq(QVq@waIW+hW=cq`wkf;J5F%ZoYv8KM+&0Bwk9LpV>vsV}xsIT|Ce z+hf7&-Otwzz<7a=#;Zi5fYJi-iyRQmzNe_df$$?xwV?kRBeD>&^h_a|%B$@H8>;19 zX;W%#EnGQZjd5BaK^r{6a{UMdip2XA9E%?Aqdy_95(aH+5ChMXt^}JK=sJV0dEXwt zlU{76C6Z^Ce)yj1>c2=0_@f43R)g}2bd92vB0i&M8BI2nW0Otaz0orEE$o+5;UG88 zON=ks5*F{3{C4iH!*1i~-fw`yM%s%8Wej|*`oaU7&)G7O8V{zHB5n&E=x5^qX9lPBv%P-DrpfnKU&r;#g*I7b6wvz(ujlS6RyDXs zKzz{ek*NiKAqW#A@(d_m(Ae4XUl9l9I;e*tKq_#gK!OM0;=KWJ55mF#N)51`e&(0y z4tmA#$5^4n@IC9__JX^G<~>*~aF-Nk_rd>*EyGjW(jSg|crIN#K)^xJZ{uQp)1O+u z3a)?z2gKmyvGH*b`b8LjK=psoX^E(;N`oR1ctx3jCJ};s_nWx}sqmwLOgncu_xdB! z=`!zmM}ILc?p)6>sj`MJUKK)(=qHKcoW)inv41j$@H8$(bQ;8^k@p=GI(hnR4KFuN z`^4a9Zx+ObY~xA)ZUy0>7m<;3pgJS>4J+6xR+1bA^Aa%t(k%CxYz(tOKZfbEHQWE}MjKf2J^G$Qbi?14bzSnY1k}gArQ}lfo^-YC@ zEHmMeLBVaqIBG1H1!;EKg5Zn5G~Af_1?V+Y3lRL%(s2`D1#Cd_wE@%wkcFWXuw5#y zVfeopi<(D2^~JMLWlsn*4KEW z4=Q3Ry<;r5%h)gT4qo`{!4zsF3~akc0jH4kgFBW(F=6}f@tUSYn@JE|_J!&K^e~Y> zddr3Pq{t(&g6&f&nG0+Tcj(^?+wK1D_;s&)WhqZo|L$EZ6yWg@)ob^O4!~%ENNWB@ z>FCHD4g|zoyNNFD7=|%k6be7&b*n6H_%k*1xU55AF!uF29%5OM^BM$IcZYQNSp)Pr zEJDjqRTFS+ZrR*g%++EfV+(CF@;5 zO6fhM^jSMYgHcH2O0VA^QH20-x7$qvR7VljDbP9r^sTR|SD7JrYSl{SL9H|!GE(=E z?5<|g&-y1D-;Ljdjy37xWm4Xuz~JVjU%UR0CC7r-TT7xc&e&>yPu~*k}ZAYgZ!- z2ATPb88{|k`CwudG$1swRK|84me5+|j_KID$fJ)N-*3p;4slJ2vLEG#jqp288xxNF zlJ9sKlO=K+O)N`DzQvw$W@Qzst=?q3A-6VT=dS6aUo35g?DEFon9eezF`J+Yu_p~Tn~tpR3scMt%#2cS&Uri1R9 z^U1TE7%@(t6Cfm}rlyXF8+UYHrsTi=HCsww*qIIFVZh!Y15~QG$d3Ux31-LJ&GD^&eztEPh_|qe`d5p($;?T~rnEk9-JLTu!x0&Yy)dUPE;42*(W8DT1V39NH|{e5 za!`X^C~5|ZIf%#2@Jen$+XGev(M#6JQ=^38DkPLRsJWxT$Dkk_?yrF~)OJh`p-Yo1 zP1P&{xc81s1RqU?LTe-MbFW3Q*NLUS8jA zPGdxW1~G4qrQpLx0f}?&z!>x=91^wOR)29+Qh9ni;TKm$y(U$WX|?_5eql!`Q+my( zsBhy!`azYp%Q>#MN@lT8DoP|?@?&~|+R#up3@525?A%Mo4Pc>`c%WZd4xE;*AssQ~>_LIei8SEAK?&%GG~htse~&=qS2U(ww0Siz4Jy135}N&j13>S^ zX+glr=p4(n^>y=rUwWwD2Q|$ZwcaDjY@h~CfI{pB(8)%?ECMLJP8S3k=N&j$gMQCH z`>1a+5dbOmsG_zCPwlrSkd$er-Qr%(mSK1ZxsXg>{&$8@;@%#zwN9JqK;GlI6{)?Q z&Y+W@$*!fQrnJfuRBrO>@3%H?#4n)_@L#c14+k6&+$x^?^-GmLKmFnrHd@zHbEzn& zw@G|FA7aqFy*PO!)rGGnqM!WV2@A(7(zG4-8wU2zA}>YG-@F~F#isjh&IFb_2xNnj zxD4If35C@lp8&z{YUj&fR1NOcKyvE_Nn>z z;uzIFV%zyD2f1`acbO;b(*OW!Vts?U3ehuXe%S*IqlNrTDF8Td7!JCnBm6}Ga)sYd zNBB?aZe0+mK$)!`Xn3Q7h_w1r{4m6T-&g{OY8hxCG0q7_B3V5U@OH9577d|e0fHYW zXs!r)jt`PO4CXktGZ13HC(#uej4m$)STpv5Z+a*(9Ac@`K~2POpnpIgbm9g?xM>kA zsCoybW@=Y{vRxBr+9TmeP}G$=p0!$}-Br_2{kb`**H-9qvinlFB9;+N6VUA=;iMxl zhsj2|JvmKm+P=M4Ebo#pv4+b)SMY9+`2#?A?nrDw=e(akucX8Ut`v~!62QRTy;WYT zNau47MHd8(KB+(K<)U#Ofp89E@Bq{Tx%@9!XMfNtLI@xYZC6mh#rnGv^f&)AVd%3* zqxTSQh|xOI^aPkjj5(!*_crMEk(<}3xk1j0uzV2b1+e8hgRRCQE$A{+i})HtQysr5 zOzTfw^I1Ix>UP(XucvFt;>`hSrDY%6?+Fi(m9K^0>$bz37C7qVW{!`Sm~gyl^BB>H z#$Z^FgKWL3h;At+kxT@p(gCd>(3o7-shpX zlnHz1na^m{!i`Yi&o07v`GYr5!6UCtjE`p`{rC*8B(ysS(V-qr+2^}u{<)po)btl= z-@=3hMvqiP&wx7$AHt@QF0%7_6WIY@#2p`J?djgwFxI3r`1^NE$KcSILapG`e=$## zl1NmQ?dF-c^gQd8Bc$7 z=FhACCSAf9b^_~l&FRl}L)x6?U9n_@`y6cPYe@u-SS|R|A(@>Ug0$JXYJcv|7veNi z=7&!9<5RMBGv6VRoxRh9bN@Q&^OcrR^qHC>{znfhU+7c(h)Xl`kQgb~NZyg}Py;foLH6k}ruKARZ{m=nl||_}R7oXXAcrh57z-v1k5JA1UMv zL&b5c&wKC)^aK_HwvirujH|WY`m@(jYkFhLn&h8VZZKAsR;rld=BD3$`b#{>$#a@6 zzm9Klv>oThyCy!SXM6Vc%5fxA-xT7gC*>iENG^*L2ZFWM$ZzYfcC$C3}MpFCvX zX-qxUsvF+X{GqQ+CwL%t%EeqN*5vxtHqn);5A^4C>z`&$ z)*g77yI=*hl+i8X!k2Rm$oJhQoJy>{4h0rB=MqmVTbBRGp3$6L2+{46?Gex*yynXU zEhKI`LK00uKW#@^{-ee@n!ssk{YpV^&#eVxO>zFL(Z0*viKN=c{L2ku&{B$`iYgmp z5uvNVHT8L`Gdo#kTW>s}hHoJGLM3L+Dlv>GNUACR?tFJ>vb!%`{+R8*Z};<>>)J_ANfmUG_JNtuB z0T7D+v^s|3o0kvUy79`N)~}a2R7-&ZA8FOzxsG=5lyhH0#$XgXry=W(Y2Z6FT5tZ@ z$?+jJu6VWP4w==liP-mun-zXqj@){Ym~2>@gpdaH;xA+W z*TF2#9f8j3(XntoC5$h_TkD+mhm5+ZFE}vj&@rJ&HC}!6_{z;IUZ|(``|f-nn&oyd zO8Dsvuib=szC3=mN$bCBtx|r^mP+%|fIK%el$)Ht{-=21J)>joKW`dU@4UYYTPwztm->;x#BAs9$1a zF>>V2-QBxOMMd^ER@(1$RYiS%dXDIMh^xm|W|rpPQPc3N{1vY^9`T8cxvr`R1*wI)yHu#ZQ2~q*!o(*HV9Ze2bxH6*dAZN@)$Rb0Lqu`f8_2*0~ z;Ix&D;QgiFpKCqNta>hd)ThYCijiCuw);8G*23FW3%&Emi57AvMTxRta0p1ulpnDGhTCg;&lL^Qg-y8))2| zwjlpsieI`Vn$~jU6mKKt%cKDDO@1yYUl`GM&Iei<0~`;g4JXh7%$MGWlAsYLT+ma1 zqc{-i_dRK0q-z>CGW6s3N1-?A@s?@EM;pZxCFnRKC6?>CMflpXqHMS<8|L}%y$|yW zw%^BoA$L9z(+*NI9GTw=$>$m13Dt-KAt|E4ctQ&(Kiypg zD!2JOfHV};M;y67?ofwOHG|X6i?}aBBd_ln)iv2YvhLSG@?jYfE3AZPP7XT~xwlc1 zbk0tFWhwjZ$oK{#kR~I}JOTv(Z6=U0hQ{n*mh{<*^qCJ}7D!_eNfUD*A{rWgf#C$w zufiU@0?#vfMOAO~=Xke&RjK>PLM6X7nPCF~jd46Xpr&ijG-Pv>e$<@KYjIDfs9!v~W8z^+>fr`qX>nnpfJ248J`y3@qap7hLJN-Y1 zF9`Yh)l>a^MgGYg(kBd!*e3U@T6}+)OG5N`)S{m8Exrx{e!4&4bbR#9#UfC(WqF5nBo@hPbWR z_=x52PZ;7MmBRBU8T?dpH*2BUVkby-3D=ma8oHgoFWcA@`^O@|ttxCpY@xT~Edz>I zMdhbP17`uuO>_et4j(bd5Ne3_O$J_|J+yZCtxz5K8?5(-!O&aJg!i?I(eConS~mp4>6PE&fn0#h^|sr z-Vi*Jfw|$6%AJ{&gKs`xLA<)cb5$E9vW(UNo1y)D=~Mf@ByJcJ%s?v>Y}fXndx_OT z`5?U`@|hlfQ_SEzQK%aNt^?jc z9f**C0zjwVU7(;MBD3&4E1>CnQBoZCWJbK!+hLN7S_R#wN!q?lAHpn5{;J+d94{f| zn`fgZuY1fd!_|d7Q&#?50%jtzFk58BX9S8Y^kq9m13|GH=3S03%xhh>1 zr47}LM@DLys&~AY@ZMfZK!CIE*csQYm>=9Mw)#I(*tU6yJH%w_kI zrq+Urou|tBT;1{WTg@;wIe5C6A}OhOO-ByJ7>9B}w1C6I_)>m-^N*9at79NV8!II9 z4tog6c@R{z6GesqwX3*94U;_RB4s;yk-0znM*Z{fYr=e!iwPfXLr6PQ_{OTq&E4w%x|X+vPM}OkXoauqNsd) zCnD)7sjf7YYR^TMd!2(PaOFIK5$soJ>PF?a!iXS>N~pJbBMIU0h{Wo^Rw{AeZU>cK?N9W*QC} zM#0K4v9=$?L670fcS|fnfa*wt0w*s5A*gv}Gh&bvmqX}H=Ph9Z&lo!~mfR@c;@DBt zMo=F0e~#E`0Qk1Uk^;<=f&h8SoEQZ(F@Bna6IqjjV4wlJ5+)ZL$|yMZ!`6hMgVrDH#A`&T1-8$@3E# z-^JN$AsNQrNnT1sUGEi#xtH1VetYz|ew`DSF(9lLeim{jQ%3IvoqQ^;*AThG~Bpnia16&i;^k6?q=n2XFje z)42aVZ-%GS)3pzI6HC_kjbWTPkdOhB;(xm*}=Pt`I%GHz|e}3ZEOOd6xE#zt_TIni8fY2_&l?-R+U_2Jt=~P)Fxx<^x26R?ULy=WoB8X3mIg z5MWKzcaDn=g=jQGRTAeOH49_t-CmAmE~~wk$-zJBXTL@2a&8_m2^o}LVD?j|Q6~Cz zIlj>=^dmBu8F*|9hu2N!Kc79KRRaq!Y3>wju%$JeWSR#{%t~9smJToeqT??fAs%i=wL7TJ+5sg zasAVK2UoyGA_8jACNwuPssrFGpv#{0VgsGMk%7=Z+3x+sZ{T2VnVp#PQ?1HJW zY#+V=1V*U4=2*~|H41L43VR$Lan{RwAJbs_f##e!OqGy;0bSJ3kcyRQjY6Q+m5Je@ zHf2n35W2(4Q{gi>GTG!DGUSdwV@}fRL34X$ zvL_tO|DG~g`a$XxzuJ*A)%f$PyXfKY@NfhHfeZ^^!UN*#eWIB$(U3-jAvL#Yc@S;? zzpS9$Jk_zixX_J%Pgm>5SrN`I|cK>{l7O6hLM`;<=t5{3$3w{-A z1Ne-BUq9U7kXi4<2-d1d+RFIZdfmNehYjA6H>l9he3sQAsRkjW58wv~Y`_~Bu0E<; zP6n!q&p|P06R11A|F&(_Gw*1-_iR^OWkd@|J`?lc4b*WH<6EJ1+6;(p$O_b*oqatz zs;DvYt<-=0V~^vpQPjVn$w|Ro84==HId%Nb;Dg_zPqa97VNdgbni__;-(YQZ%~8+1 zNB#p?uVhzO-}?K0y{<2r$JO3igl2Fe7fB6sW+1>;pXV%OIIeEFb?Ze>*sR9Vgn2`< zP0OIcXzAa^Z~0b(Doqi^%n*hySMJKx8Fh?2rLXdx#A(`aN=;Z^%_gbwEEmKNBMf~! z7w{PB5Mu?TG}w?tYQhZ_hgsr2`DnY_HRr248@S(Dj(n2({;T-iLdZ}qS0>KC#j2t& zmWU(5SIl3Qk!9zNp(=J|jyxv*eQd}eK?JYw67uK$P3Nh;7-%n*j^Ae<}7o0zC ziq8poOScj@v_0$vF$j;yw)OtRwXAL8>{r6IUJl+d1n}vPmM(tzf&UV{fQ@^j+Gm}> zlGe%CVp=|QVvT|@Rp$k=v)nZuizT#NZivR&xSa2JqKM8q4R3z%s{WVymrA0P&d6ue zr}Hkg~nN^nZ@lYbywJIlQ%kr6%SBcNw~7caM5RX8%p@psx}`@*=)L+qQ0bmFmOpr-ihyUvZO1wF&*+Gh`e zDv#I}9}iweS`!5^wa^R&F0!E`#Tc{q;C3(bi^Jx=TYhgok~|l-R#BR?WPBecoI%vg z%^T@`<0xf&xoIm~b3?T3^Mi~pes;$i1ph9?CW)p8zb531X~md;{_e!1Hn(&c1{4Yh z_tIpg{S}n1uI_aW$^jP;n<2P%)9KR}$RizYC>ETh)~xLWIjcx9c3JG#CH(pHdtB-1 z%kY#r-)Ou1De@E-bE19gscCkWCGoT4{Gg2~^zy1}&|diaSc>tOy*m)6i99R@uU1&^ zL!nVzTI$-@1H-hML+gJP4cq7QLBD@5mO9+D`g`uqJ~I`*lg<)O=UJWi;z%(ePhgPK zLM6r1Vav!gfAjkf@@L6Yh(CqI?1!mj1i9ZhlFoQ^RJdoWC;l>uXZI}TRRpr0L?PoB z(eJ`=MmlLyZumH>nIpMOR5?W9hS{qSg^5lbTJ?j19G5-Y3)TGCzTzz9XL^lrJUv@4 z%7)TDB!ock*2Z#2y629+GrwV+X$z)^D-_!w*Bo4gW7L=9*>t5N?R_PXak7ok* z1N=S%!LR!JMjm8K?si8pdG8vOYL|r?P(O?rs$CodVgp%TDSCc`Z*l$@LcW|!SiGc| zd`M^dwLSo8E105_jOvWU4BZ*ZP^~m6%tyz5Gk|@Cc?QVUWY&no#rGCxRJ|N6=$EqP zdO7`;nvsK;R0ZD(Ih-pQ<;Y${WnD?&z$0Z~wYu$Mgsx)2gI^J|GjdoB_N?q58c5{5 zQXub*QtCdHDo<#$fY4k}EUR9AZ|>OznSw7N$UA!5VOeQjX)dAAP&g9@XQqs@+cXGL z)|*BHA^o_vSNcOXa1nG~cJ-R``|#>Z1jY(?6}ReQkkjX4A)#no87hwGG|_S*7{MlL ztyhk}EO}$0-kzd)k;?Yw9;YW??QwVOJ3@p<%BRi7Ok@L&>(h;I%47|wl^eS9f z6*04V&z5UzbANz?gu9YBDo1dvru`Rr8x3snuu5S(vDb2IcS2D@7cLXq;*i^1m4)uK zmDM5`pkF>P1Uu27v%edB^bi>-?J-q6lAj_wLKBpNqsVDzrFXZWFFm<9iPgW!P8-4p z4@isAK3o1$Zq6tmoGnst#6$h@+5p!DR3tO;$p`8Hr31ma4PILKIJ_YvN5({+M6H3Q z2w(nTxi~&5BFe^Qp+~=}jq>w27Dopvw6Z>0?F!G5vlm0a;a`?Pl~Hsfm%X8Q<8tmh z`AeREc<%Ry&=Ms@!M$Rmv}B1VI<`Xxksmj7n(Eb&cJvz zMLvbFzl~;ccuAa?4gwj7e|NS@y#tu;1|M=}?2Krw5)4tHLPtpSYh@w-x$D5&&adLs zZgD)<9KFyoRY<9-5xnX}hqST_jEA&0W?2d@dlMWc zzQE_kXRM}-)nd(odc~l74J)xHBs1P9Kk#Dfza>(3d?keEPMxA|rzmPkMSJy9D7^WJ z_LxNCDSabM(!QOF<;6FlA?1&sO6MRs+SBErOzz>=rW`qKeJME6jRDLe?c`nXJGlH6 zg+9y7o8!WA)>jzOWS6Us&992B-Ew#^gB>hdX550DRi-bYGqNvd8EJtH+|5l=J5P+t z3j@Z4YhN0k7M0o$m0XRv8bd6$p@WY!N#dweaNvG6($#}X&$f-YQy0$)vE*i7D9yh3 zk(%Gf`giuH(ETlu;!5|bhcb03IQ2OHt{#Js7ZS7X2hj>q%&U=VuUyppdHKaZ`rc^U zv)1aR7L5|Yc zpD9}LdLwpz1~`dVH8nK>=^M1Pjy^C$=}Ql9)iTC~7qT@w+C z&704BMo0V=odpulw^83)T+Snr&WqK^emQb~lLRFrnuCj@@Udx}K;=%(V)w~u^w-^CF~4aa~eCNYUfNnbU2_mA6~wn1_-``&Dm+e0kFLq zN%`~V4}$3j=$A^CXuOUA}#8R?Qj{|g+_ zT|s3R&=d&h8s@`O?m37&$94-2iWvVKt6B@HKXk@>k zx*9nKtVn#8{-w|d-k*|Ggg-2_P~FvbqWE=3{kJ6(8bSU=Xp#9Yb=1AZ4 zfDSF>y+&&q`7oGrXGBG_6d00IJXCgCj5IW36j`uUdpdiigt*!gmKGY8=~4l8<6>7Y zR#nQ10EQN1_sCE#b*p*Z^g$A4FRSc^-+Th;x&Vc#Blz)$H^9XshY)JW66*>q2uB{%8I@v zQ5Tu7Qj~u8CElhb?#+wCPsjIn$&d>lyIG07ykUBItZ)nL3C0-uUkFEQ4Q@^eYmh{* z^TX`X$36Dr774lC+=U#X3x}IEKil5%I!!z zZihUVt5F{QAL_q2Lca&=sa|+-S*J%DuCVaL1Nfw}l0sW`DRGG{i(mJ>0 zc952WThDF6=ybQ#tPx(NM1Ks1tPM;9CCo?=Vd;&EzMIh2C@(JuTe-tiW00N(mxDfc zaSlMj+L)ToA{Lv_C(4!Z1)LHhXAN^Iqb7eJV^(RcFajk*uBVp~o^bz&7E zu{N?}>5CLmqFjs}kOS0hx&M(M{??fWfhzR=x07D-HV*Vh^PQ6Ku;uG55io}Xu13+1 zWE&Km&Ha@_ZCJ|=t2W+ftv0SUCkt|!&E~&%X323OM|b5?qrpjFa%(IsAm$ zO!kZU(!;#ePQb9CEWlj#xgf=3fWCDcYTx@`pfaE~0jQiksC0u+C1i-QX#sPN;^U+w z)1In*#6_|zVt1KUWS(6j=lzjMqd`%bpZhL1-}+DT$km=iNyU@Rbof*ISOv6LP+14N`Kb?5*`%v~}|DDaJH^^@t9e+x>;I>!&GJjV5Ak91d z611_DRJm#6G*soYWz^f8+nl&A%KJQp3tf=U92gj&q*pImtVXxXW|mBRo^C)f&;#mSit~$e&Fv3!Vahw z(N7g2ygN)g6X15K)O8Ijm>JkGybsbk0VWv$=P!^ajuSxz52UdrKTZFKe}+Tc=htU_ zX)w2pn!k2dP#?#4nce2zdh_)}o<+jz+9g+1B3dWUK7GyTR@9q4TMWwbNH&aDgBi@D zbLX#yFkx$xxvk?RYM;L4b~x^IajE=MUX^vA^UGLuBR{LUy4mvd+pc}pR2}nq^um*i zdKW3aoFlQGo8VGQdiCKj(<3lwhL_ToH9?u*(DwT;|H=ThO-YX}Wfj)F%sr{Cn){U- zcfQ7PKe?~i6`FiL&ur=Q^xktf@x>Mqtafp$p@K(hcqoQ^4&@PTCN-uv@m^6Dsme3$ zf~C_Ubg$oin={9aqTqWHK}0WQVr*=zt9$kFICq6RKm@52-WIoP%17A2b9;_;zf!vo zX0918MTPUhyyU;-B?^;;l*SM^AP9UH_-&H#hyY;u7hJ0+vmfLAa3{nAb1VKgu${;t80OQm%~+~4ReaS=MZ+;xlz z&>&_wFlfIa+JrVhugqBNLWZg&u}(+xUk)>pWgssfuM!Mbt}MZhF#((?v=eenR|BNx zkmw2HZy?FV(1^xIfZR*!-(swa;qt`kYN@{(zw!cH1eN3-@p?LaKH&C9#;u`$6w6*{ z-BG?S%Ve!w&p~A!#TUIUrNguDV3y-N{92cj;*rLf@vxniRZ)lQ!G4-^1a4UTuNXbb zLTU211V;0VRWJ$gRFD_kva~o6;UshK*+WZc^M5}X;SBlD-YV@>Ur!63$ zHlJ{7V)6+L4lQc6n76#LGb)FRmN74#k`VZN#78C zf#`#i=$cRovuhW^Gk%;(ifx&GrtWQPxS+}h^15$fin z4WoA667W$2H*6$yflIiQ_x5Z1RDcthIraW{euZrYTYy<13S4g;e|mvAswDVFGt~jT z0U_hn)ztwH0E|;!Mj+#Z{hDoXNeuvUz~&8R%aU;z#vZ91)y zgNV{B?BO5Dh|Oto(>@CaW^OAB#ysH4OWS<}9@?-i)S@yz z<1B+D-%F!M1wqX((!?f&Y987hZ{5g!8!f_E&*42PO5jbXIrZ*IOgv*Z5yAA!9Wnw6 zE7l4By7_rACK>SI)Q)j)yUsj-M5t%>W+M_mD6qbqm$%_>U;ov#(?t!%lu5Z|Cscql zmo%9;xw!+N`(!jDL-FgG^hrnrkQ8fx75pPc&U6CM#G~O)ZVJ!&zt>&^IGIVAMTnm@ zBuVh1)YQ9Bt^hth3uIMK59jDF;hF=xyoJ8E&PdeJca z$vfY^!e~P>>!^!rjYDH29|GTs#HAG4OU-UO;C_tNzZ5M|bvI25ehkMpp;I@Hluxh?N+edhqE0wRiqJi&ZhW^LhG^+iZHF z?B!!KL*6p|W7lhLa=br9b}Pl+bei39EOd`zk(U!;>?XayGaCWXmtR4dg}L`aLWEYu z#yK^C!g6hPG56c!cVtr1EOFXOG6`gA@^a&=b>1JfWKP6i{T40or(1yZShMm)94AF} zyT)imX7*07zOc?cma1HQ0`Z?BOxX!!5BhUf%?7sZsP4p*g0*lZ`l`x|bzQQ(+4V5l zo40$}QA-^5;v?iP85CzNnNja^Srl?48ZS;?A>@?zO44x^9oC!|u?nLrZgD#BnvBM| z6T^K)>Vr5L-WpxW1I{oq6vHt`zVG{jY1OFpPUgxt_w6MWjjl6YZ&MLd))0tZHCv#| z^Wm2;4Bo`TVni(^=MpY^Wf{6}w!GCmz<66`5hzw3<=r7tN2)TJMQa3`q`?2fDL)=FjUIhwmtSOljMrJ0Lo7ub7X|#mE_m&f6x)et?&H z!Mo;?DA8F576T7^VeX=ms+I}5lVVgvxH3ebOPHqQ0{vyy0N>d6$H^KJ?+FjRaxaBv z^sI`)Vzduw5S&lcCRq&)yYlE~hcGL$9NKp)zCU#hebh+&c(UYg?w?so`Ncppk%O}g zDh@P$LPUpfjBAIIz^hHGnWtSlani)Z*fJVAxuJ2@aT@+!B3+aMf&)Xd{K%NG&0i!#w}r6qns?Mv)N zpgvgiM>8myf>7ae$=R!6k0QgsSETnHZgS}E#eKj3?^~Y{6Mtu|@m__)xXzaeWvXz2 z! z(VDH~{1lJ4hCLtaEMk?q*qLxHyAW08D*127)8M0qaK~RB-k57B!rU!7jQTZWtk6Mq z4M&J4UKY#5fbm>#`fD_)wm}T(h3F|wO~MTk?ZUc!LZq6Wc!|m@=l6MC@q_ zJT^aHD$S!tF3{*x;cP}1J4<`_uZ5Q#>es`tJ8lEU?2GyZ4qC>IPzOG_nW2Qd@JFFY z&c;@Kv*6Q^T7s-bE-Tu)?*%p9AHh2-zaywnuM^R_BTV)Ql|33}m$--oUf>5XqvDZI zGF0Zk(2zJ^r-)pq8Wk#W%or7(gnM)=((#fDi+_>ZZOv#CM*3osk?0)Cj+(`p)tQBx zg-cuAtF7`0)~bZ*4Vtn0IygNp`1n{1eYNW$oQ9vZO4et_#JFkMZy{ON%b1+d!j}_6 z9jos^!^)?2b5xzMPz8lr)mE9hUewho!;&!GIOL}e2!%?`yxO?ob&1XO>D%wm^*lm8 zQ=GjJ%^kXNU6Ay8p8d>_H|yI@1MP+ezxELvi_4HW${lC(86wZv#NVx7-4G)l1 zVPGpU(HLK>iLv`BqBA;k8bYOV4HS@>S+D6Ti@Wi(a75YTx+T=MelX-c$giS56Y10= zXx`Ss>nCGSd<_A@(~(2_&TRPZOwS~qF@4sgw8zohqw#xPv{~9x`<<#yUq8`5Y_1F~ zx@hQiuOq&V^htz-7|-sHsX~P?7n&cVmtuaw0YuJ`o$KYm!fTi%b8WGMuuFYJtt)CY z{x-VcXoWj_mWM6CY%vo&Iz&H@%C0o@aMZCO<&NvL+NNj`ZGo0Npj;+$MLhrxfBn(BY3{@{apBwPQlzmRCi_H;P#QLWTJ?Zy=P_H97=5JnL zZP2&qAk0|L7*^WOSv)qP(Xk363e(6m)gGVTBJl3-;1>WD>fu3R%D(gGgJZ(xWKch- zR5({fMpVYN%qD8H%VU%YqnXi_p_Bd#a$-*dSn0=eY8S~lu}~Fp4wueyi*rBw-()8d zPO;^8(WZ94jrF>nf#F>6AV%o|BNvNU}NTKlo~xrtWr<^_oRo}?_fo}m@;GvhX06duXv#JPlYIc=1?lST-!$vT6A zP5XT-{mHWZFwJ+qBCIUq`e(~19n~k4@dx}20)j3N2bStSR)Gp% zbzE!NsPs2ly_v(&#wWOe3Uy>>Cl47n#8(^_as52~cL`CV-Q2i~H*q+Je?G8}s(=1E zDy<`WFr5MA$-WQqv0qDtLs3aw*}=~0jt?_VmJG)myK{D`jA=pVBTaDyDKxoonG@ee zM)OQc59FT&sBrxq$cFY{05uu(GlcW$zy z1d&j;!IGgvxU3l@dOzLGbR}HNG?_@ruF5vd(&C?@ z9!eT$cC#Pgw>aVcFOyzf5L>}2jmZc>4LK{ntJ|f&CMskcpDComwx4<+HA@JB*yN~vw^9!GXg9Mr1&yKoipY&~0pc3SNe{ zjN#&qP?V2~+|NIaY(*9k)Tzy`&ufal5W4@{%B1KatxS* zay4gpTE_i^M6qM3%GcBEr;uRG;T_aaF-QI857ov*{CtY`Xql~2CzZ@K*qtaPoO}3K zyD{2x>6+$qbU3AS`hrE8qayMu`1Wk7gv(KsskW6fN@Z1j!TI;Fg_53Y zmeO)Oz0bBF=zL93kZya;*6|)c7OL(=z(UU0FawFQxLwwa13Jp(;GSs-L%NtzFD+7s`@u^xv*pN!Fmq1A>HBwbljICu$S5!?F$qS|dp#@vzZT zEUj^qu@>3?rK3Ut1nK3nvG*(%B7+TCQ=WC zGe5Xlq!fiq%~9n#-2L^de5RSa+k@J`x7q#`H54z<+%}#pyq)|E%n2dWYCd=iV zV%TpSq=tuU!3jf#2_4WlAM*B9SFo>zcb~pxDjmhk`7c;9Qm{ee6g2_^YdiV8>SIVq zggtHTPWH#Nj4!?u>I=qQVcp905-rpk?s&F=@1Z*P#O$CR2rlNkx&{Wl!p6G_C9BvJMJ0x-e32} zT|f44!(7Zczj)($-|u$4?UE z#crsttAvH=Hdh5(8$%H=ok20AFx6ze%la)Q87!ma$GI?Xz@n%njMPxF^LlD=ZWD}G zoAGp*%h{9yA9PjmC2M%)*!&cIYD(!5k!lkzOnDY%dkJnLuEJ69BPt3`=~~8In8parbvDMV1w5rY*wPz`M-+uZ7!M7@vs8DKRc@h1 z_)?8h(fihpr*CUY?Y%-L`WoHjkBVAjX%9m$O{hjKKB|_&xl0z)@a$m!&CWMeU{h!y zF{20OCbnhJ+rnx!zm?L)FphG)<_liEw}lguj86pLu)lcsdQHEe`n!w$2Q49mB!14T zf8_PoMJ}BQq#d#&xq~jdfB(*aNp5{U3x7x9-nJ0g8S4)k$N9eV__2enSF<0s?$E|0y?b@(frYW! zZ%8j+JBeOLb>8@th9$CYaAtuQRX8F@jLL3&7fC6*!}^p|?L2F+LCma*^5}aK_v+VX zDIKYWu02T|+U@cNKJB9q-MC{&$J6a~ zr~Yg`gS+B?lEae4e@2me*I-|&xP$5=Qmg-(lujy_UQwWdX%m}8kd01$ZbdpT)WR7x z4%N@53$FRZ@Pd;c2S`{{g{#^6$g4>^QzKO@O)NF$sqc3Az2xtqDy?Q#m_J$atgAGb zWc*@$r3)`nQab0{@U7=RcP`zXkhE93>pQ=Q{|$Zl0Y)PRQV8ttyrmB3QDfYyf^QA9 z9L|~(E8Nycbs`fe@u~P{ON!_EHjDN%H9ow#G@Av;8=gDxS28#}c(Cp)IdVJ|(2}3_ zDTsQc^kiw#Bi+)9tRhhh&yxEkBsd*g zcX3LtS=B3ZI@kHoq9GkG0*@HAdFciolky5)=I&Rvb)NCsdVv91%-IGn>(=RORIX$B z--87FE67wc7f&PjRJAzv}475!xspqMSQluYIRW`n{|2`bh?BjXxZa>j~ z@=(6lUzCu}<0!6w(tPJmC&jy0%$8Hr`89&9s|| zdXQ6RrNPPjw1djS^_q69Q>cR$OG#pw6FR^5Ko^ zs=eO0eg$&_Bc!#fOxR~oo!n=h#QhPuL6^4Okr$31r(0pNA59Y)<+yh5TY^-&t5E{m zEHz1DK1WA>{;y{jx5V+>@Qdx4wK^&KnW-(YvZlW_`nQv!Bvf9_v>++Gh3uVyiO1FJ zYcbs@ER+i#wtT1e;IkvIPshD_1eZ;2Rc-B`uqdr+Y(}Y>eo9PAkna$Q)b@|pmt!2< z^1E%){BsBZ(G!v=-ABcgX%gStvF5J+6r%Mju63c-i|RkbQ7Z}<8hF|VODNm)cLV;| zYCgID!H@akk1J)R{#!rZYrs1_w;YGU=cKyO6)cGjTZl z?iR@+X0~~hMLSbzwq=kJ@1AJEiyoIH9=5dd9xASF+p|~9Vo)xrdXH6&RU`Aup0r!} zQoYJgX=T`X`fz&!h1#V0{z%S!d6`e`?r7(XjGwPvv<9}^onKEJNutEiSCohD+G15? zvRt4U*5h8UFaqL<1F z=gfLubXx9e9-^>Z9=jyHQZZ7ym9KYi$wos^`zela_{Q5O$|X~+Eo0Lr7o$$riBfn` zsEl)tY>dnJtj?b6^$Ny2le%L88g-1`z7-_LuDu^{Lp^VpJiJ-CsCjI4<`EsYRpgz~ zc>W5(|M2T^?MZI6*djJh^tPN?QhuF#gd`trTOiVfUw))&aru*w_6Ft29L?W9U0R?R zO3K9e#N_@$5Krj$!zZieNriUNS_-b}k{yBm1n=nU?oU=_0 zG0CK;vCdT@K5kZ?1dbA~dQ+_K1%W$}ly71xN)F~)Un+b_!n;Hwc)l5@kTS+kcAcNo zwHg-{Xaje8NjdSr>Ok;|zOTIW@3aTjw`spOFzO8I)n){e<>%fRB^uLY*mHl;D| zZoMkpUgOMDk;FH8-7PMpvu)jlPv5?o)G(@=Cg#`N`okJ?#En8d$E~Q3`$NR{Edx!> zlKWxZf825iRmd8vM102P#=jek>E8|ZISkthi#4f+^chxSQ=3bW-IduZ1+@gD=nl=Y z`zi+&Ac|Oq%y7CsL-Dt)k~Ve{ar4q++3V9k20ALJ_dX0iVCkr}K~%ZgIZCUG zMB?D9-EMPUAsH&9NXGgH0wH*RR|8ISY>-xPR$>yxDg769+GfA!p zH9s9f(EW=p7_5dY+aS+cg*zoVCeBf)dR2nPVz4Hcz?!(*IX?cXp|Im4;mzr#!ckJ4 z;r%7tN$J7AwJc}9MI}GJG zm!vJ8PBVIxK=m*5_xYlWk|O;F=NUGFzC{a~Hg&GA0(UHfJQMA%Bx7Nr7%7f9Wrvsf z?PaqfmFbV}I1E&`Gao$DmM%&xN-9OtR644y!s@p}kxdfGXR#z=U2<2k1ivxTgORvI zJ*W`#V!UprPcj{S{b4_|_oE`;&tuk}c#Cf)71C|nwCHZM$m)-gw}X?pmqVvr{a)hUMjDYlu;+s%zfu?%bF z_O`wkKVLR=w^^(x$`bUKt<>SXT=jvUht;hI+w4OgGYuglkJg`GvynOqFm8#p;++5e1;iH~Pa;M>9KO>CJ737ty?phyB4HtNq+KX?- za_wBE=HvOj{hNw5+#cl^XZ8ixtS`$;Ek##lg5^EZ!RJQk`}bm;a`HX#VT**_#&6n5 z6e-UI=mInH@?EHfob4iUgaZN!_aw}fP$*O};0&G2J|)yfw5~5j2JYauhUW_h4(rH^ z6Mimd)3ezlZ~K#Ug!4&of$O=5FgP8uIDzwV$}ABoSXLP|Pp>m8d`vP`hRVm*&Yz2o z!tH`7B(mHfqIT&#f{OiIQ%R&*sUm8i-N zF0ZG?lUU5(*7#j+8?vV+`)R+{rwj){u}$SHfC=L29OosgO5RD_pe&9Si%EL+e5|ou zfd6Ke=`cq%PN$I?2T8*8ETewlmof* zVaPh|bkv0CtfJ~dX@a}SDai?Ot&gw@4_?2$U+5)aR|12$C?`A0#QmiKYShX=qB>&g z@p^g@ly}YQ?oR{Du8<~;jPEWSD)c7c42(ArY=o2SKp{gjc-xF0rqbS0k zk7zy2MzheU=;^2dU*$Yy>uxZyCc`zK=I_wMX9ay3shL;i@Cppt;+c$}Jl_@5neTG2 z^;a15)Gx8^q-gcLdvNk{f{sA+x?IyjRA%eZrZ^=5?_$0xj@1P_t|Bw>oIxUi=tcj5 zqbT!vkO;LBJ@X`WUaSW?f%m6F8Qw54Ho@trljYXq$S_}-DNy4Y=<9oB|CRIGn{ZoT zuR@r)Lc1FGjUVHBPxtd6E6E`=KvZRXC}+%hJ|1qEq;JhSo@ z?aZdTz4R3$jZoeMk{gPh`U;xS2L#=BZFwkSu>x(_e?CdlXBbh5v!fq4 z()ggv2KUjATTY;Y3Ty*Nx&Q|ihzN>_Qr`=jI{sU$Rt$u%z#!EK7}3*b&p@DjIjZu$ z*dZL7vUd6$=a-~sZfqcWOWENAB%Cya_8H{f+g0+~71)E$XzDYzmsp>ga=|WnScPyY{!{Vs>=QT`iLm@Z9}TH=l|_35G>-lnX+8b}t?)k3a8t65 zH?GY|{>D0pCry)3Soq~x?3&Po_!__Dzg%C{Z zwzu)~8#QpIediqTt{<0 z7#ciQ5jJ38dN^M5Xl=an?r}^VAB&o#7%k~{$%>dsT zHC>r%o$|YS=WSqHb$`&o-__;p!28FCdrzM}rH{P})psD8^SJo^!ACmS>d3(`SU3tf zalN6Us&u7eLpnZZ&WCF)mj;{=ne1Tbg}=P$}={u%m#^JET;C2I|zus{)96sDZ0 zSqA(48k+1pNxWSex8Wm|*pIU^wzjql+4xDx$)pHN*BfYu1|mh}SRhPyhxc8)%|;qt zBZa3``Q*H$0D7je)i%RR=-1cO4i?p_-wJ1KFaEqwg(iW)n~m@x--(}Lp+y&^vOzR8 zCvfJ;WN_nZ->O^|JGC|I@Y(JpAp3lx)fA=x4^TGbQ+m*r(6wLX1rNz&o8=j88 znKo!hC$J~J#)e>4V$pvn3Z9*Dn`uR6LPNK}U_kio!aLhF+YU`&GKX^jYyEklvtkJA zAy4gu!2KU@1$)G1VM7@DPFyGtF#yL7SHN0+zW4kmTX*$km)+Uc$nj@VgJE z_dOPbfQkW@*b$IT0Gk|QgLkF^PM~!>YysNxjy^CP_vO^~sKx-GIB)A%SMu(>q~3EQ zQmd#Y3BC;~>)=duY`N><73`XH($7SnL-IbKFDX2q8%1??;%0}mbU2NvxHP=56TY)T zVxh)fUd)q+{1t`0l-B{q*NHdEbOB*cIWX^?S*6*rbj_QNb z3dnAubKyiv`SlSKpzQ-5h08v`QYQscT;a^(^FXnhCFQk=b5V-eUqCjMT$lMHqbgjsNpWF2o}#hF#6pUF_(PYpzIm^n=fu z@7Z|gMyN1bpntq5vwLSdJIMu13(#B8$IioPP^Z;qUQ{1sY^wI}+TI6ELTQL@>|e>h38RQK zk75!gW89iZ<43}pvV@^14v1)eSAtxNEOnoI?gb1w9z<fZ!}IF@p}7$)$^Eq zI0E#T$bpQPCiR;T78IA38dq6;0$#)L1rW&m3A{nZJ{3Tb3kMO_)Nk+W!6^r%^@z-L z7U5fIJy>gecjrDFGY0<6%RnSQD~8bgKqEBWM-D!|ENLJ2^p;7J!Z7({ys`ICl>L79 zepZe-KQUusl7UvU3-wIe7s2i?QSuhMc@SguN$h?bYpx46{$S@SEzs^`_^uo$)YH`POR(-MQwIoemmP`DG(Ya8kP=>oiD^{Rl{=Y!at% zk{98cs8D_gwi_|>2D%!Oa%glRe_r6frg=dJ56?BxxXBIdxT$pfnwAQAl_Czr9Su+L z)Ei^+{l?`^P51)lg~0iG=9SK;jiqnsN-wDq@@{C--Jt$`<)l-ABLZ*ij<^cp*@g3J zr`ZUrmgGyX6thmD>PQ=iMB`##$>Y__a(LhSxfVJ#=Kr#sWBKLVp%#yRs%s~;B$+AK zTRMhx)Z6@sA0xga`^jl2Uny)E#y_d-jiu0i8QxthlpJ79wSEt?vE6OugM`fI0yQJ) zwVDFL^i_&MtTQ`!q+V_@@co#=d`(#8@q%z|XuWmdZ>mnP&e-u+Y)Bch9!S<#=1V@s(%)M-JM;xF$c z0)ONg;EIOML(a+0;zsEfP)8P-6fJl=v}jOeS5gfP!&^g#r}}lB1wy# z_8{Bi$1@sb_5!P0h7a?#9C&+$61TAny(GQfgW-xJ`+iBmUGly_h6Er-uXu)6N;jyD z!h6}dgd&^I<;n&Ah4SsQ>(1KMF%=O?|I~B+J(N}(vPe084we3XKwd1)Lp{_4y{S^o z#1O5b+!#jRT^w7L)qL?&4)c&icScacTL87k*yOCc+JKuTX}t5PLg)mwp1o`l!*5eZ zbGF|EFpTVP?f4W8OYxS4wm8vpT7jM@`CnX?N+=}LmEC#b@hNUH zWP97eE-9GmhEX4WB37qYuKP3n=Hg)fKL;y`-%`hd4)(9+h2=bEhcAeRv<}8idhbVb zDEL70m)TsZR9(L7FPyk<8RMpl1p4megMM_8yqaQT<&u?-@)bR=y>kd$^f|s>;$s=dKu0 zl_wD@TS2?>W3?yg4kDM8x!&?2sjj;$gM256!^I5Wg)&EHXGte~RZK?Zg>%m)0@@9c zT=gq-Sdpr6+QrwX8mWyZ9aaQMR9YpxxE41fFkw7C@1U%s2v(Dk3mzdu&pCYZI-z`t z9IMQBD#|vMRLzKmo3+fqD>LenXe#u#h};X0 zz?Z=H_V-9r$V5|qF*#jz(kpQ%DKTGe8jrsCr7ym)$Xoq_@=5-W3?F?N68K^RCD;;F zJ$o79BTO4~n23foay=?5{>bIHyi2XysK8Nx8$wl(nDXmW+Ys_>Tc^)PUN%LnLTl^@ zKiN$C{`C^`aBNutv`X1ku=@p9QH zu`Q`+>aTYpvhd9XD?o@)X`R2rLwd6!Xm>+jOsQ)OM)qzHwG4}{oCtKMcT`uN-lK{@ zzho@73=6fXHuqy7Ex_MYsbnSw`cBn(jk77Up3jMQ-^0@g{O1wqkb5zrVV{?HZ|Sk3 zReSA^j|*;_eev_d`{(^bk%weNOKj|WHoBNbU>#St(53tiYh-#gCil;q8=i$XM~Qz; zkL9C&?oA+w-P~Fg-d^^HzavGi-&*#cVR-pCR{)avn*~NRZXA;AOFK)7cQfBG=?I4Z zGcr}=FfyHzYWN96`tnf32u)&MBFf*w6rS1nb0y@a77RfriKj6Rs$L5pn$@%harEYn zcgWTjQ+uAK1fX)|kPBEn@4^KI9EYw+Zn@L9?UfeyFx-Ds)|T@q3A-mSFw>|8dgMN4 zoDFO9HvS2213qZxa>4RTgH$8o%M(*0gX^C=b87XaJ_ZbXfB}IoxDb>?Vaq1#BqZs4 zW?IDP%MN;@XPs7*HQ;+rERJ~7XKHWqrgAesRjn}Jrv0|O^i+e-w$}r`iRzn#u?t-5 zEIW`_(-Fcp5GcDV&{HQ@gq9snyFml5 zr(8H^vD6X=b&kQYU1f}Bq`%2s4Yu;yTKp%Z(|(a?+$pk$jp0<@8+hwKmb+yrUoWSf zeia$W1rs$Ae2;!@#Szq?Ha2T=)?&@V*Q%xAmvuz=>^`S|WgNdsR<`iZKB^Vg1R$X~M+ zgm7T)`S0U)wrhulQ3maFJ4Ac-u@_F-qH^8%@-h0=p>G@yBV}yo|Gge*OxR;}`Q2UO z(K=z$Dx=-X(2o$>4;0Kr{*CU^vt1qb*RtW}72nMSnbzksn&s z8Y^ep@ZfJkAGgElXFx7x}^=!O`=S1BP zwhy7kEeSOR`W0T@ne+#Cqq~qcqvCwvp{y<_s&TTWK(|0`>+LR*)E?H9{=A=Z6MZ;$ zbC;1(m6d@}?ei0&*=#T0WL;Zx@M>kS#6+doY)e$MS1R>Bfb{ghYSKqoDYTqe!Uc#V1VmURV3qDvOPNSLCzsN$CKjq z(Mf&hLp{%#tkSqJKgdfgir4BKp;!#|?u#D5{^J!pSOmWo|agAwmpFxNPOmCEgEQ+%qB@ z|8w~1x(9nB?^<2aNe#Vz=6q&mY6D`PQEskycudQxrG+k^&h~tARPA-q?lrr4qRvO( zAHmhYG`09s!f;!~$KP5n*f-x8c{MIplxCA8 z_U~QgPGn+HV?DVR}}=lmT93WF;`D_+FPXhMJw8Lw@X91jk{6jBEfpb;^`NyNRR*_qT|Sf z>+^E3o9k87!yq z8jim|f+@{*L0lz2M%?o2&=4qqOnCvfj>Sdb^8W!ed|3k4YH5`JysRyep3-8s=+p${ zX-oWwS}%w|vOM{{=L?yCx`1_r`DK8I5YaB6l%yBkg=7|x%~TpfKoL`c>E9C4@o-xZ zvVx9Q8o>TT)u8fAM(LIiNI&lb06`bw4mS&+!2sPJ|5m zZdCAx>5ue2+!CI^D*-B8jJcqasa%=!OWS`l5fHWbFy!`kuBPnAs1+kPHbw|Ezz_k< zDE^&Y!09(ZqbM^B#L8OX*xRuG$mwICDmR4~U%q$&`Ero8Ax{jMJWwXmU_h2n6x50M z{tf|rDrx@y4BDv1R(Jacz?)C?qACGJ5M9%oI{YOX&Q5l|d83@5y0rEs(*%>N5k?nOOhrJYY*(pK874jwnh(Zhm()}K=Lqyh|T9d$)gd!|+(5DW~&;vC}i#Z_qn!p9H-)UwH4)8Txl!4VW zx}l2eBb5oLTN{y<-ylG3+iR1J_33Ls8qs~e64aOA^qrEQ-x0v{@JMCIvfBG{`$}#Q z?!}HZ#fjE{6GGsrgTwZ4(hNBYiToB(4FS9?CQQWndz5M9>Dbld`r#Q9n<~&;y(2p_ zw(t(7OEXP~LqcZp$HD_qx|;U%!WI?S9q?ocN>L9e_{=6?wE*Y`T#tj&E=RBo0d@jb zI+GS(AeMC^T7m;=TwGkz^u2HnE#xA@T1*qH zOiiC3WM^kHZrrQs&~S9*A>k;Pi1zBARsGl)WZY!86j?W-%Eri&n{~8ux8Jr8q^JzdMU?M?_Hx7HXspn2g(>2OHq9 zs((64+3It4x~bdssk!|oePaDVPSkAk6O-0AZ{N<^wlBVK|S8gQK$zztSAc{P%vsJREOjoz!qU{EK!2 zskH>m4`Tk(3JW~g}Nx$AU2I?*=KZZo5eRuCWIy!h3v@aU6siEeW!!k_ zb02ISY_SKirw7Jszyr4F<$^`O26o;})>-kBDf^f6_CXeQ#_ab}X$9*~bTzODCwny-$ouDRijo7!g>`CghfzRAr+KflR>vSnk! zK=Bi{X(OB~^nzLe*eXIA5w|}W3ECTY#v*|CHm)@|Kv}wVuiN=XxrrCZ*bROC%41k% z1$z#&jmYr=cw0F;4>D4K_JSor7A-PIqm`B?phnjW?l4Ekwlj_iDgxnjO>oHk6pZ)Y zUf2LvE$Mv-MF4*Y28PQ`PniTEngYGVMKJVWKYf4ykQ)>NX?xWk!Hl&7(Cylt^q3+% z7X*+p9EbdGj#R@s7xYm+T}}%|czA=G|I^v#7Matt&55_}{(M>818Z*)suVkGlLy;_ z+RCv3(-&?dBFGcR>pYv@%?SH3{2H7SG!LLfMW2R24GGa8>~dmsGldQ9I^WX_g`}W& zKj4fxnUDS9?gq&64na{#!2cg>v>>m+@%5|gf(5K#hzA*Sp(x0fydCu#RwP)&_3_v0 zgEdf#_y1FRn@-B}zH1O{Qjj`DMh;BnpT)uX0r=ZXC8ciCGT7H3#sb12H4Jd`K#PRu zgkixDgc3W$#?By!#!iffsE`3i()~+fgO%`bP{RwwVy5jp!OVB)4^8&VgYbijY zW>h#v%8WmXYahb7U8=j^{zAos@B`wvZ}t{gA}xf_*OV;?0s4Xv#O4zE$7i1G9zbmh zK5<0|@`QZmI3SZg{dk?nVmkeYY^MA-{7zx;{_=R5gUC@=uN>exQsd~jg{<5i{tjSv z+gLu=CoZJP#mCnhTAKuL_~}>UilEKr-+%q@?*M2P^7%hJ$UvhvHpsTi4bp> zXX44mNP>wo7?wPnRNPQeO52&YA_ed;v&^Ql$4N5_wX!lhy zat7QS9E(d-SaZRM+XBAyu3XXN({+Jbut4fikI!C!GXKEWOIV%O5SiA&;r8X_WkgpC zra*_??F&z>6f`kpFyB1O_#rA&VJq!~ne{@M556QGUDCi~|WN$}=ftV_a$HL6W7stZa2DyoLy}-P^SgP=GB3 z3J~*`i8yXG(9BX)RpkPdKoEVfqANxY7V=`j4DJ9~%<57x)?7A>NHfeaBrqt;sIZP0 zx&zQ!aRuQ@c>4w9iYh3g-iLGo(vh`)Z$nK;NT?h``{4NG@0!%hV!;EP-SCy{u*Yb? zf~^gPC`2jv^RSIXm(Eit)AdJ;SKfMEPFE1YHH`I4_l1#i4&5_d-N?W)nko+Rvs|Ci zb+5wEk!WJZ)@$GI!ntT{l}ArhH;)dIWJ$XK*J3W!SS7TaWOG& zv!+{`n$a}VOU$JVLSt{o(#{1<)!;xh=#M7u%&@O5zfF zl702?=txsT0~EH?!c{djpNlxAWoBkRdh{qcc^K50-M|1B+K+a1b-hDAIk54oRH@N~9+oxW?xCQdnCJwegu%hVPy(uf<6<0k>Ub4I9H??{%ciDj2I8~I2eV3l>!6c@ zmv;^NWa#PX;h|Quqyuy9%-cc#^YhoQ*VWZajcc8t!2)g%tZtfTTOnuRgJ^l8-W6I9 z`oHgehFwAe%_HuM1HoZVQ!SGQ8dg^M@Rznjk)o@7&a2et&=N5`I(qAzAr3od>WvH) z7O<** zLPAY#?Q7tO>K@F7Ex^(SW&7x+gtI!H0%dj3eRAf^83H1s+I~jc+FgBe`_1$%t4X~Q)AOj z9j-Y+uEWH{q)CTI$P}pZmmJ#5lrU>+YvSVKRo;ZChz~H=xf5yoUi->i+3N!zI&VQ0Zgd#IX|IMkh~q6_jU_+?Lp6M0Dw81H;Bczw z`_Kg_H-Ku9v2nUIFDGY2c(@&>055M$S?v`+rgd<;+}zxm5Z(a+B>2})yv8U+w!w%m zU0vHdJ6X_?01~fZlKnWu@wK%c!2RQsk(}%fV_t|pv29;mS~^DBuV8akR|`@anwV%{ ze*OBjdccVyQ~bge^PI%~&Yd6A(@d3i&?<$6g~e?H`|e)f_wUC*+%;nk2-4@?-lJ=$ldbvba}FmPo8h4zeg!g2@?p$r`Bf^b-rjX!qS7; z)x*Qtt+cF+hh%SmU!*!9_`p1zN?zw2pjH?wCnsM2URI*4UbfuFj~|zmZ~`}t7aMN2 zo00AVsJpY~Lg=A(=G(V#cWrDwiDHY>_29(;(y~CF;xhe95`iLJ3z$#=#yBAaliSUw!!-l4D!~>_Yy0*qUNPv~3 z%Ebu?mmN%<#As)yij5sMd-x55jOgfYFzfR2^03vRDGs&@@XiQ&{=QTHlOVg!Nbdn; z&rUWM&+mL7C1hd`f+r>+@z_f|gY1l}c7UHH>sp}Hipj}$0LkcN;ztz>HLTY`HU|KW z;&43{J2ZnCxqounA|DyjR#TexzcusOU*{Y;J}k^r%1qEWJnXs{s)mGnIZS7)-zKB{_qRDj`}x*@)eU0>Hqq+q zg+5)l>*kXPoH(`{5BB!zpL!WsZS=A0rnV z&<09XMp!;&orVDKB7+P|L8%zH2?8l8DbQNSV1TVPY1BYZ4>WP*F<|!B1G`X3|M8Za zLhdWK(4cjiu!e7GVev$siNmxVdB#4N3drS1bZu>4w8_5(Pa>bAqpv^s@nca?6^@Pw z@>`X3WcR~4j1=QKjbrA-QAKB%BY`@{(Yf|g{38kE;7R)Rsgt5&AtDQjmuN#gcdk0DR7~5Y6A~f4U1}d<$7qodFFl<6%1ej^3Anf^2_?t!0v_l%7 znQ11-|3WPA@8-J*2V2_|VF!wv)-&Wt?&(#?$pD_B{mz{`jKFh?E%yw#$|4K_G&C`p zfK=O4>N~_tVVx5bQta&PA|f~R_4Q*uVY5piqYrVpG9z(aeZBCdpa>jWK8BZK^s$sA zB$WXt{*scCXbbZBg#`qE1E6M)m6K0O*HZm54tou(U~&oy5Ov)F%be$mrQ`pfqYAAt z>gwvz(b3QuB`HB^D5vmGpqia~ALu!dPhf=nfBvlR-zfS8yU@Q;H0OE3f1>FB7nl8s zK?<7Le;|CkaN$CD=jrD~YG+0UZH~@pnXxEnCwf_rgmrakpald4m!T;Nx3FIc;x<_3 z5a0XC+`fIgHE$3L6*&BX0G^xu73^l1QzRI5a&m(7q#JYo%wynx21Q>(r+VQCYnn@! z1}p7q6k%P1p#b8}yu4W;N0i`*-TJj zV66m@4?%j|DAahFnP-vh>jp^S;UPeG^B!(Wj-+H{HIVs&n#w~rG}O`0jlkRl3iJ&O zloS^m*4;Pv_4O^%+I1~@2|a<8xX>)NFscEXK8S-wFTopsv;iLOzTZy)cKLi~b^J9Z zDJ5m}(aqPz*zqcD^e;+1eorOw@bJuo(*;&sKv6yJL51l&p&-nBHUT8bv@|s7adEF; zQSv$l=%rrY)^Oh>)P6#-@oHVlM)jz(a}v7>lXo~+5I3S2swZLyp*)`>dK0R zg$3;2NDYz5duhqu!C@J`EFzfb4qbhTY}&tm{9+%Z!YSV*oz>E)IrXK(vTq$m?tVUep>Q>1;~cy2oC`QZ0Zm{8BUTUt@UKtl2^*tFUExQGo^YC91BselLF#%A7HB%BAx53AU7d3hRv4^l{0Jo~TT3u6c6TVaaUm9m44e$d5{1z3LkoscmY?5Pl151j)Cdf(7e3%ogH0Sd5yQ zb`f8CdNL&*+5`Lu3CP6cBs?WFm{P$0&CHZ>Tj+z1z#Ocuu2S+C2|?R7T9>z9Bj+q~Kp)u_{GHN5ed~Gk-~FqCn|9*49a~#lxCEEq67Bz^L^)LGbnR<;%qV&+oL7L#Z%MLNJ$#CgT#b|Un3_QfD@gj^3|)bs3>?~ zaO@@w4-stqW;wC$X=*4<*)_WXo=edG&=Wmg>zvir6D&UskJox~?6Ywsip&=}{spYC z>FH_6yC>?x!&PtHx=cb&Nm=XnJQH4!+xU%!uN9nhSy}r0>ebaZE_RxlgpG*+Qrwl5 z4fK2!8F|52XaO8BxYpwz)6n}4W_twkb*FswXS^$|9HOGNd-F10oB1zaMztLqQ>m+e z2@DK`vMwx<)gW+6?8Hcnk!@fC@!Zi-_yTY#Mw|T|R)QTwdf}eST`9nv!|%K)2DID) zIYu%t@(REX=;VzL)6>@<>jaM?kAa;x@Z~#kKSXrl?ANZ{ZkUD|nAe5dT6%hmb{V+-e-8$`tIFU?>`Y?EDdr96|01V1doOdq}c;I zxeJqxqTyu;<78kZ{{8@T6f&esQ)FahZu{GdKLR2T zER`iC&!3yB4*<}ANBXj)@%8aQES#Cy*=u5@f8`(qj;9B=nGLp1hu!L+_tU3oB2GGZ z>v3itk@j@n+)yE+sCnslno0+7zxHvUEeg4<4s-tQvAt9kruQ$cjyFK?6y_x2M6IL7X2H z6y)dYYg8pvP7kd~X&2LWjUD3sD~ZHUEi)3^r6C`aRMtn4JM;;kE0$7P{9M{3t4Myj;;r8Xp}^c);f15AK_qke7=Kj4Ql|S?OTk*RR%W z&qQ9kvC+%}y*0psDi^P?u~lC;9zCwV?oO>)n4kYd_=%%-p%);inrdpK+M}O8+r#uh z<}K|qherarMqxq0Cn0DI@;c2O)Et1he`TcwYCK8Lo~hphdDOg<9?5Vn9-bpO2V|9Y z%h&f1AT^eA6(;rXllwq>LxKi4-3dq_fbp=!3x5G{BtV+go z3j*n$o*szB{EiRn+pZ+Dk$fE<{`_AaI`ZReaA+u?AW#u$_B*&?!DSpF$iboN+frUq z0-#GpZm#@rJ(S$keV6zE78@CP76wRA9ewZMV50Cn0P)pTREPui!B-lNNWgTx$tSsd z`9)5S?)B@!50?x!GOr2?KZKFNSV5o*uwk+SaesmOGw85r)9e@?8Noesrmdrcv>zH5 z#-7td{R;wd4GdyXfs(e(dG9_HegH@#?uQ10{hjrx4y*j|0FgT5Z@A~qMSKjypp%1O zBaBdiN5wKha=6csh&aKhAn@b%6+S-Xl*!kTk;cYGh)xM<#jc8q?tsmRg>nvfas_#L zt7qhmmG5Am0`9#BV$O?z28D-*Lv%z(`K)^KMr6%1F8`=)hVzJ~{vp0q(c`=TBl{;uvc-tnWK?mXb?= zg!=m*L!#w>a^!L8Qes>jF&kSEQtAeL>;P0U;PQ`ARCyH@CorrjDVN=U&O7?3VN)0P5 z&c=RB#QVFw4eO08_T|f$R_VEUdG&ICL!jbqBthkVr35bCy#qemgIgx6_Z*muwO_xk z>;;9Z+`Q=l=QtrJX7HVceC`Qb!qH|oytsg#fk9Ggsw$?uyu4e(N;=?JN>VZ%a_KIX z#)yl?a9c5`@>?8qSt05z8?<>77rgEfX4I5*USNlgD6)U z136k!-EDc8N^5I)pn|7Q$!Y4{SE)(FB_&~F73Ak7&z5cEkYH7uQ{eb)IdMYWMYjhjz=ukSe{{&@A78VvM zpT93ba0V9T__+7yBo1)J-K|!D;|GNx&4X6*O-w5bCSac*+%h-^KY$EP5dg5$f9dEV z$N};(AfuK){RfIX_y9p$0yQ+!gozG(umT7OXblL+w?N3Rz!hEu-AdpGxPhdoFv#b>ubj@} zcn}am5OHAvCD)Ae4HsW(<@+Chx#F{|*sR$#>pCBst8cNjh0|E%L198s4Ar&_F?z=i4t>UDwybd2l3HJ-frAAHa({G>8V%Lp=H;kMoJCCvg zVoAb)_x{hZPvBW9`#&%K%=-Ew{`bWVDrn$;Ph*M+2|@q&xi2@^7oz`O-lv3w{PMrg z31tQNA^&^X4f?C#e@}-M5fT4AEO78=`TxIl>)PZOP!KVsV0}rie-QuzGKMT32b>eC z{(=5KBdA6MI;M$!*zDhvqfu#6t45V*Q5y{gqK0K+VuC2BtgI~QMGWG5AW*3S5g?E# zF#nkSv#hFWa-HM9!L0D*3sFwq(wWcmm~PR-Y6!kN1u7gHD{H3D$8%v};Z^tNhtJ1t z_U7iM;}nm}=f}GzFJC@6%zwfFL<}A@kPzOVaBy&N)9ok|xc@I_XSN_0H8r)C*UNS! zK|DOXc9$#khylplbep!5D&TQ|>mD8+*`7BeI5sUreMgySGP-t;3Ff2w20Lns_C14C zlp$cHOCTUI?HOH!$w57h*dQRgz={*b!NIY#wS9c{Jn0yjljXZ`Xk~!)xL;5en$a89 zcGH3KQRleVDz3ps>a$iq zdqR0nuies*PF3BbCf7b(^^f8*FhM|k)eyXYIIsBx`-5V68wp=^T>0crooBo4jo#yw z8`aV?w!XP^aNV8zsTb2@x(ol&*KYdhbfr!^`c)@s5(fmN4*sx{zv1QOr4*7p!%nd7 ziXX9mr!NFaP_x-4((56^aT4m?5STIZEDJWCI#CoHxZrp5rFj_9`4w&gU;@LqUFK zIbPkmMBIFVe=N3T-~8OUufC7M$&~cc0mcDQ&^_ep9qIk7bCpNYL^nq4*~?R4w|EVL z0z5_Qqy3W$_gO54kpAh+538Q*(lv78cER+a*iizAkugGJRHH1Fa=7>JO!q9XL)UR} z$c-A6GiD`QLso2a_z{HY@ANDJh#p7hHhdF)?yODf^^&9`Gqa^Y1Yq!Zn9&(1c#d!5 zGXKclWWRk9$=uRWtqnXH44lJwb6x*oVFwOXr$WbFDpQrS4wkSdhTO^A@b_lsnKyF- zhfpc#jh+=vw>4LRZlC79)NdS8JFU*nPXh~h8_iApm#fgMH&1cdaYNnu(o+mw3uJrs zk*>9neDKUnlj6Q^cNU+HoPZ$1+)vN@l*8qYNQ1Y~&F6K$6>4@RG7lyY24PS5zM4W_ zj2IUnX{8?h@@_gNL51FfM}!28?L&?oJ7^e6OHY@)Igdk!1rM43N%s8_VX}e_jrQTW zfdA|+`+c{DG!I=Sg`D5>>HxpjoUgTw;gx(4R3OfWBk%K8KXc+$1RofJrk(bw;mzv zl#BM zj&8}J&HiT;a*0yL9)hV-X??!6GM?j7G0iTLh#T)9Uy)cJS+ z0p4s>Zl2;OAnXxIp6fp+`KBxSUTtKEsermsOXgm>}oEt zIB584MH=PnJz3eK1cMOu721A#ZWwkp5Me)GL?azneFk~ASvd+!4e|m#rc{b7xC136 zB^viCLk7(Al3%$(DyRCGy=jtT{TUhQS+FtvI|6C@Yhc+!{l@GVbeEaB(3_drQIX(% zKeZno&x5H?*XrCP%-x+#Xlz(8kx9aQ%uMmO)TaCsa*d-%!~^Bz`aT`+`t=>}9KVzL`j_ip7?O-iYC8tyt zGPD$s9wYK@+GCPT1`zt>w8cyR-l|J3!oFW1P8t;cg&{@a&|^ec8-MVv_MI@NOK6ll z;P~;{)B!5CtJ(!v47Cc$XY2l8=yO9>GJwl#dQmf>JTi{#N{D(qk2Z(P4_ z161N^w^3?;Ody|#lTtw))pvWs;5SFyj0+WIKH$Pa>ZW5A~J$rD?7%IT$1HNAWdV;~MGOd-b~5m{FbtvG>wlKs&biH%72GWgJMc3=KNd)k z-T{~BM^zz;h%7k&d;s^)Z1x`%~-2<@BtstJD4~GTa|TXE$p}Hd)H^?;GnV-@PV7+Y9kvPEChGy0o`$7Q#6LW5~q_;D`fLKqJ+Q zZd+Jv(jtpC_3WlCG-&B3Cn*a@&>%~+?*`6>&e0(uZ!6Uaf3xZI1~mD=XD`D(^DND0rHQy+I=kmm8(= zE@qFBf7Htiah;Z86#dl6#=2s}F*u@`d+ahfjP?6InbJ;5faGb>@HtS56o}Xt6oi|> z&gyRNoEnVTamSvZFA(<&^ey6VxgN;_J6iI_lo_U4>7iB>4!q~h%em_hY+=X=PCOs{ zlg_1**jzHGzW~wn+%4e(g z9!uuE$Gc1R>48E)^!6dE&{xCd{G|`~ZM*q^DBsWK08xYd9z=fGVmuGK}KN&M; ztp~%G{1ODinQdj1-6>eXfkx23aOS4$iSn+I2rVs8VhY7FEZF(I2o44UBRBAdh zn;Va8)Po|dtG$JhqrG~fm=+bH#Rk-4B~c&)tW!T|gJe`BV_NO*?%i|VmpE5j@565s z<1HIMiQ^)7XpvWd7;2_eURkdoKV&$iA~F%W4SPF)1Ha;IqMuK1cdhju5F;v%0mQjq&uFIBR>!vYD6D^}OV{B|KjXm#@3- zV>Yd58l!v4;BBoR#M+KXua+kP2k#N90pfSteR$m8@1Jv%t8YrzSmM+vb(Tfco3tfA<7Xsqu1+Y4i8Xn582dYNjP zh2_0|cF%i1uLzmTJjGpK!yx*KE4Qqr)zsQDetvtpPKVp4Bp6F^xal=$-hDq@wJeea z7Jat4`E7~SDXXw-WO&50LQ%0e09^d0J1w;wdv%Jc+RY@RO!^jF#2ktKsO%^aIuNth zESX*cjOAdj!uv{l=plNAc1QFp$&4xEgZl4mni5-c-Q-5jLQnK|1&XLuIaF#3?=Sm_ zpX0J;$jNwukQZulx=Px*sxhe#B(O(9=+&b$FL`l3l=9flNV0aak5DM^XZra% zS5A(09U3G$)f8dl!B1;Xgw`xAGPz1n&>uXaj&THM^RZv_qdD|hE9eK+U=b0?4hZ7= zC`AK^O!%Y&M*kCMsA5=PC!Ejw@sj^J?qBH145s)#-zFzz0;gG*w3sTh4_}UwYPjc=S2BuZrexwK%KdcVr1tT!*gW9$z_M9Kh|45eC%v>U5&BrO7<$Eu z(W92iL|aaM%CwM`{X#M(2}?nhu(hRar>$rbn5Awd6*MfkvW-c7a7_qV>PoG@3PHz2 z@lkuww<*Y|E4vp_n)RUrER!h!|QlnFtE{&{ZI z!*Kq5l)csAb~`>U<>+|3+GrUO5#e&Veq#3nQP2fIX~A$fN$0;Y=8)pON3pt_EW~0+ znx~`(RRqMoIPofkE?kK~)-t|DP2K}*(I+Q0Qp3(Ne%NQei4!6jLa0l9&U3An2lX|% zOLI#?`;S+MP1Z}+)m~8RE!7!zzq$p4kBrDfF$|P!Sis&Ad-bT*LJXSTw8hJuo$Wk( zxlq}YfTC()iC*cXMeI1U8i+Xg5YwoJ2qVrAinSArdNqZ5M|6Sz(5Lxp8pI3yVC0$E z6dV!B5!pJm*oCd3k{gOXEDS4GG(jK96=4%RTn@uYO<}iRlS0GY!2}UDCJAe=GleE@I`4 z@Dds;izvf>z-FnZ6OAEE@Z7;}Wokl~xqRYheqHa^%QHjln=WLXAjj**2^8Kh*x)^@ zgMiFaBQ&E-xX?-|=7ko|lf^i!M@Otqsep-JSy#eXNx&|;3K?jb?33WI`@QPnO3%NC7&FV+sNP-DLTOVPDl*5M`EXbNq{7K=UtsSh16Y>GXugjWcYa;nUP(<=)umja5O;U? zm)F+~8y98eg(mAY*N%*GlT?A92wu>LeY>d*7SPb8XJy|5Erf@x=aryDFqCPdX{mj( zG2PwVS!U|3k)Ms7CbVbwY(QO3Sf?Tpe$r(@u2_+IWScN0^pC})^gW9#1?xmy&jmeG zhD^vJ4tVxZsn3)aqM08~R&uL!KLWW2Mfvz1^xNYj-rMbFdQB$0F1Sf|S z=up%mVCBZ8zcN#uRzYAQ4sNz(M^DD{ky-vPd>re*qO43VC9QP9}bSRVy-GWmm^t3LNSTp`cj* zp|D5*y;S6zqr(pi%)Z0$)XKdnxniX+6X52Z`B_C#QLs9Xbe)Iuv&PRH(Uy%JDbB(E z;(Jbq%b4DxOD`_-bJbGOWNB5L2D4k_E zYRp8EUF#BylUxO@S7jSf)8!d0o+S!es0E^=&tfed0UHd2*sibq<6~Ivkf?ihHZE_* zPgzOE5TVzRt0WA*+Ut3kvQx>Y-YMMyo>JlaH7D{cRr%yqd*-is0x^3);qNQ8s-*Ss z7^Z)!+&*D0tB}@_#pUrJ%~4XeWTl+6HNTp9=$8Z;Gow} zRb-3GR+RUU5ve4{taJ)iIVgYTmG*2Am+3r&*6z0B&$!+Ku7Okl03TX@5OU;Z`4*wu762~@*)hUtc4%28sxzwqD>Bqh7 z+(`H4v2$f08_3Zh=_)j=jO$h~*sAcb^-gP3OWwHpR4e9XFZ9GBO7{{leg{juFU?G+ zMs%(D+};U|C}ZAUYSSh-HR;xncQN+zD00Z7%oF&U8$E6ojh6bYATZLJM!1;Po(neS z3gFZTZy8`SRW#f*%nP|NYo0nh(KVA=9WESYUb5yLWzs|vYd{3fSFH?W?>;`Jm`}}0 z$X!^lyH$@e7glalrA(o?_8SyY(9rn|ST;N+0W)Vi49l~FrnQ0?5Rq%Gs@0iJ9R4Ko z;}{i*)SAhrpW_By+dT`K@aY&2r;Uzu5Mjd#U1mb^BTyoRl55#|t!KtH2pvlXVzh)( z5aM~SuLy&g2H(Z+2G2pG2iiKCNZ-H73kPt~>_3Lggq}rw2h#V`aSzjE(H#OTzXUJ> zdPq=eR(^ziTTEnLjtkGi84ns#JMhCJrN%IDhJ0okcOLRR z_73k^!wdOrG~?gvHL!Ftu%D0i#ay>?vU`GzBkD3pW(Yz&KFU+W#^=1vEgH0`x=Wp$ zMwqk|`WPBis)z=2|ihoy(cGlO3NYf|#J{9V+Cu4xbiJiquA;EQ7lT2NS_@x-FQX;hdQg}N~xoEQ*8U`T*1=PQ>sNZ9f z4JV{hJ%ntSb!oPIZR~8nNRV2+Y-acG*H^oYlxNVmKQ1!Qt}b}CLoraYbX1=2(*}n{ z=_<`RjWlwW#fJy3TMC6+e|Sp{t=`?bVnp|hl>`>)2Z0Ad5|QdYwL6i2Sel%FyRd3G zHcREdLsPzQMQbcgw8(H?-OA3!s@25x?oR0g)+_)48cVqD93}wP;3)olp7`K~uF~d3 zdCRZmaqb;`P8Q+f<$kqtbY12TIOZ$Q~%6tDGU^-_6*-OS97 ztX|$^apNA9at{<0@(3`9{lzcO5#_rHk;b9K*enp!E)aXd0YspJ&E6Hyr-O$Q>iF6b z{80cCwrimj?FMQ*X12dY?!-6o40^1cyj&mm zr-PD~X^ynA4E)Gk7>5Yh7!5Y$!8H!KW&wHsxB^b7$SVHr*09_H9R)JP_X@)e@BAnO zr-A+3H@AXE3~d|*UdEch2b^C(ZTWkYpGeGM$iHpM!c*`5u%L`x8FB!{xol7jlE{|9 zb-Kl_clYYc19*TB9sxiy1dDsa37W;#6{4`7QZe}~5exP9V+0~Pyo41$PHZ}vfIFys z5rYN|1fgLDlJbX_=c^wDkPL;}@Ql6C_bRA&x+-E^j*62R2!$chu0a9n>P5h@c;@UH zJOCO$J5Ors#5fVC?*OXqJ|%L8rp3YUc=t4TPO_W#*`GLzut~s8Aq)G=$I^!B!QP)lHwBvrsjZ@kBlB^pg0lF+uPeY} z2?Og(AKR_yYAdJx4(-L6!seOBa07pAG+yt(^;dWd(Go$DO(i9F4Rg}y0r#3u!uxV~ zOefB0OAfNALyq{R+jPIauw7E%MD8HERWhwg1z$P2=d zHTK}Zb^6-k^dh_I&654J1(|rmJ`5RVFXkY~L{OcslWpDWyCa>4FG-@Oz6X)Tt=-sc|0dCgk%fxFH|(_*2lDDw`6&^zvF464}vI~#Jk*XHmvOYE0& zsIR@_H{bz6Z1sy5{fre_a?>=iCfpMa?e3#^1r|e`Ce8S4C#hEr+_@zQLHhQJY{Xcp zh5f~Q1En(sc>;kk3CW{N;o>1saPN~61&z#@p!`LE!QjtLy|Oypp&bFiNmv_SId#li zcak!k0n`PT90VrOmpD7{_tuVXx~l0UKmdveT<-ya>1+8hr;}iX+g;K0d>y+f{EZ=y zu_CN_DaXs(z?F&^Qw~aGtHhkwO?=6({^Z*Q%{`ojFCp(@siRTs-_ly|@T=0Evya#Q zX*k+)1y|EkZxAAqFrb>l_{__Jv?fo9X;~0H_udNZJA{2Q*3#)z8`YkSRH&yEivu>1 zE=De-);#LHn=bjeyTqF`*vUmaCOQVJK5oK(hJI7Wj9)%xuD`1TORrJ-*Ag80?HkEI zF#`3w1&9I=x?<{E_)z{M;rbezCsrI^M;6~{N_}UG;MtCMaHU07cO;sV`AH0}j~~n+ z!0V)-qXbNhWxXLlYUaMj064KIuMVdCv~=tf6ms|5#rY5?Ym~md#tdYNUr87Z>W|my(4&+g`x_1H ze~?a{KF*>~z6%$3wbcepNxVGB_vYaI!0F3R%6$HjU+x#~bx$4L=PTJ1ygiH+ie)Vo zO{pUe$8?=!Y}l|KqCCo)aw%h->`Xz^ zT;w*=aMimvF+ap^sN$|3|NT#4_*@uo5Z^COR5saHld?dqjaOgt(zhVtfBZ6tm}GUF zSYfAa5X=zxUSp0H4>iYd2tejzWK#DG8`FaU?J+CeZ)#YC*57&;dFMq^UrkyJE0I9j>xDfulIx%Pba(KjUnOB}e%rWH0o^2ntUA^bC4&AW-J4F?-% z$lP`dfRE@Srf$$G*;gN%0b#R>3v@%a;PA{`Tb}#mq3k9@r9&M|@peh%>QdpVj9b{) zBqNzHcWB0o)CtP4MPze5k|yt30M)bDYNKe6EMgNE4vr*9E;*wbQ39SJNB3so0d>m` zN~rj+<|MdQKfhXNmWM4t4x1_u{Af8LMgpdoZ$P+}9P`bi1000F!nE`jXDdBBtJqQ$ zE6=IjB!dObSekb#Wny%HBZ-wP!aQ=f0AoGwe)f(+g!8z3&d>u+BiO@55k{9WaASE@ zx)#>K!dzs1ZFkHfoiZwv=p0DBf7^C}nsZ+Ng0Vh#D^9C1`i;?yb>@(>Ok2h}*uCA> zNbc0p5NVEo;P`$S3-z?XIy#}t;Y+}sB&;>H{KkCSODT$s;f*6?ek3@az+D^uy94wF zn;*Vve7;Q};)@54b2!b1`?-ex-!OVrejRuLQ!GPW-qBY3-KMb(y!P%=nVf;% z^D8n|t@ zz;MxD$AO)#dh1|eoh3|~Ho3O9R~dz&Va@A>ShT8&H18ehxvpMf*_@umdsGI}Z&g*K z$TeG+gZIs$7uKpMSr~Ah}8>^I`B$dyGAL zjGH8M_d#=S1GAqB}2Qk>jz1M-%?SSDmkt zS!Lx3HbfNsh2z%Sr{X@w zqL3vhl3D}sWcg<@oFOW;=R1K)GwPCHBv6gyMNVIMebFt(I`k z##q4j4e~Iya1c%Z5R%}qnJ^_AKPaK~zwlX75}aX;#FO+wk2nU@$GQA(@@Thb&?M|l zzm~$xO`_(G4B5c&xpF6sE;Gb$K>}mqrb;3V8SC}OHqh=XtzbWw#?_QYlH@$1Bg(PS zUqSDFQ4c~A#R1OD;S7?& z`XTox!+MR&&`c*J5qfZ=n9)&*1t6y>@)`uF-GtnezZ*K3h1l?V?!?)-nwFN)SJ_CF zDTW62DMG>QUPeVFWPb3M9}MuBU3wZc(DNh8%i7z$0ja`TJPX{K5%5TD?2Q`d3o)U^bBzJ&Y>Xa#k&zF`h& zsZkDMAWjougdZzb@AN*2q{mHWEMlJkmTsQITT*5OLyFUkw@<=MKbv1MS84JfJ%tol z0d-pjr_Cu3m<{ZWzlt-qa<{K-txi4!6qhQ-F8{t7Yk3EW31=E-4y%`)cK-&HJT+Q+ z6(|fBR^IdRn^Usd^TgB{p+PVg246(vT8=Z+QOPo#cEIR-Bb;%v+>Xu3@0D37e^5@}qEesuC*8f!{$C z%w#IU69wv%HwI&oAz&|Hf>lxp2C8YU`$|cNV`T6HT*knlygB#U{b(GS4>fj|KP7W5 z+M&W|dH#_ig_;p#4t%8^oq0yH`uX_vGCd6d2JQi*Z|&QwkSNmoGCa=4guYjALk|mx zOcySfGgfAq_H4p%*EbtC`yh&el#7a+w0H0g#(JX5dVs`-kk&5kbhJ3_4{C0xhKnlz zbQO{~2RBNs>lEPtUSzM)9NwkRaX_z#`Ii(xDx^NMGIOH(8*G-oa_PEPsA7ZKd+qGrB#o7IsmjCg4k4ca zX+C62_s3-S!idTW0`=$^eO15nl9@LUI~2xU#mUpyfXwD{-;lXP%Boih;bDSS*e{* z4sThS5j3eITNeWoQP>(%myFiaMB1T`)ZmGjAL8!zleF~)tmSUxGEFnV#$J@_BSPQw zfHK@xne{~WKo5w(oA>duXdAuYuk5Mzshkbd=`1;=m-q+P2yLz8$epbcYj-MpHoV|m zAX}Dh^=~`zF|*Z3Rzt~RZDTemt9t{4>N;|cI8;nOPCW`hXGLbS-yhbittFHJ|A02q z(Hhv--sp9~(+RPASwM>s>b;&NoEf)%1P>06g+Ye*PnX!c0p#x!(*j-ftwp-nZWdPT znK)FT1X`g0lGdS|)||SmXL-oDj_Sv4qB+5HMMe0vsi<>ryNM*!)0G?b3LFg;Z6)Py z&FWMqj<2A(`!E1o+Fl^CGr$osWqIQcW~Bn9i>XoP2>QlLoZ_9DF>bJF8#8upKow|^ zM>quFEf6*EdAj12Bcz(;#JsP;&F5qU@3=I5w45gt`*s9cod>etc>r2)7>o}-Dm%aI zT}4|m&%s}}+MH(JE;|$Rw}v4lMyQR|g^3zu4-V|+mJ6W`ODH0-_+6~Z`~7KA!D%JE zdOw`TVRP>u@~ z1^o@l9x}+3S8;N)j)>_LyyXAq%;UR{4$CbG+By_miKN{~BnGeii@c_$)K*(EfBI;l zMF%ScgootXynd8`{hrvBrOEEk03yKkP`i@_7-PgwdHMi^SUoUL02E|Z?uWGZ!Y%Oi zF%xtY$`oZ;=@yg1M+R|in4Hj5j7^u3onxp<`y9jQ&R6c zz=90>s~6`F88Eo<;Nn)(Qk*BD(K{0&k&Lh(k!@yVGI(~W_4Hgz4;UvevCTC>Z12#l za*^|9MOx+rj=cjT2f&UPbAco0T80V*5*>0Nkw1z;dWk4|DTG;M%X3-OyZQ@2C9l!R zSHxm4Z@u5-I@7)7M~rPd`4pr_v`e(!{9dWNvNWXtKVP(rN`)(@*sHzM$84)DY?o94 zxEnLq6U;t2$=tV_Rg+V*X;H+-2mH`A91tR-$JfgHcsQ$T8 z0AtY?kUKzPGZf;HuOAM=y#yE~bowMf!Et#!KdZ-0em)@&#pApe$iIA;gv(68iJ=k! zQ-PTv))#S)e-tl8L|1~0=go+j;04&)ggDgpLPe=JAI8C!81gSWEoS%mR}8=$Ux zb&{O~qaf3{NXJdkCPfI8pXk=x=k*}kGW`AfCzdbzE>lz9L)^*m#XLphw<_k7UjXd0XXTB5!rW9cw6` zl7sUP9>|5WfsFYxZx_=k*WH+HRHY+$VdH2lzjg7!Kfcl0lTNYl@Xn&3!3DQ|_4DvR zP@{+!G}m<4!E7>)Wk;mrSoIJMHdG0wEY9?X)z%*$r`myOHxj{90PBM%ov%C$6I|q>E*sPV=$@~NS}W?zXkmUc%CxGc8nKGn5BUXF#RE52mVGc6Z!UbY_pmH zrXgiQ9hWv!L#AdOCFoUaY_oac$){7t5|mslib5MkPeqoR7d@GW3a}>AaQSAY67-;Y zvHzL_e&4OqW|s`P)Bdz&2-PpqP;!k^aFP+BCA_pYY@2uP(FU#!a4$dT{aQ z0-b1Hrw-Ai?`Px6HK3a!!#z2;Evz{z)>j2G{!uT(R=$yR9)p?GONXZJG-@*L$II!) zb791+4@Bp_oAJnVsM9AQCOGF4zAh|6Ttj7axl{j5FCF=y0h`Og1s_$NgyEB4WG?Sv z^+1-=5YB4E%Ez(l1Goo%!Mo^)Y>2jTgunD93fj9cMbrwS=fD1uTBre14jC834jec_ z8oI({oETgm6;pJ%Vg}wr{QhTTuFx5wJ?ehAXDb2-p)siV=Jm*VU;H<~td>h@8Yc{F zpupn$bom>v)x|R!DxXd|!=$~OULTLecL~s(&YND@Sr)bakvlGxt0^UUeQd_hkH`@5 z)Zp=}mr|U2m9RnCj}AG6`b`SWN-0iI#aNEZ1q98^$BF2&lZT=moXiim-#z|W3z+Xv z`T>^?VLYh=Q)rvkBc3x`R7eWu9#_=7@yo&7lfyhU!(4OIf zzm}ZYUr^X<^zoXq5_8=yOcvWTxtEt^rE&w-t?jXkc5l5vY=4X&7P*tDFfhfrsJ*eA zd)rd^fwl=}VTj~a-5aTX(wz*mT6kBe?%2Vs1EtH)73_@e`wU;DHo*OYGTgP{K2g6H zU|$U`5cdZ7Ph|b!Ps|PUT@@A##Dt4(`w;%wZ$z!j4IO`LlHP1pY-pq#MXJLJkta@{ zo5VXlXV#5-(krCP4IdJyAL5ar&rTX%XztvO=yCWZ$b*!OtMdRI1Oklwd(Hr+(@|Q8 zX;hR*+PIqY;HJT)K7diAfF3Pi42Xv0{OZj}9`99~y3U43LM+ywmjQQFtA?SnpsS{Q z^&Qfd;ZM&skQTDBaHhSoR8*-Dy<00@Iz~Bd=o&jm6Dmh0V5O97Kyf&l>rP9LBfq)sSGEV_$~&~*ko!`_1!N{r+YwW{L;yOT4A4IhyOd)GT# z4n{}li;+^~Jb4e~Ngo>ndt5l}z=5dri+#uf4y;6L2YhLs0FC&?MwiM)i=)0yw%!SH z-}Hhsp1F!RoMc(z0Y)|8$k&c1`p4ar5MFSZX@aE5`f35~BOpqf#|uyXEXG}Y+9^{L zzIM?%ucLRzDSgP$Rm+%ND!Fea(vAuPyO`*qN3~42(u}RPa(`XN-9&$N>G%zIOaw_D^GMP?POE%C3HSL0(Rs> zEoVM~(B%vV0fA(#894xBO2+YYQWi(DoQq_rG?s#2&DhN*Lyqjm0LM*Xli{?2fQ^pcVFOE)Sfdw^SCAqQtf^&*HhM%JQaV&2US!G`HvIYmPf|w2 zq2J6i?en+ma)O%vhr&%zx314FjN*3!Gm}1^OA)Kdlfp!R8!#?Y5x%@d>DLKxUbnGE z9wWnL`@HU46}FlL%pj&Dmy6r5PjEU2FntnFy?5yl1-~PAnq8_spJO);U6l!pwKf3} zY~@$+kddi54SFy@2XP+Q{z@6V=;*%M-nZWpek|x~lH`jxhs2FPAgtwwSJWO2-4i>9yhectBENF-ABcu_itLTRQf&nXR>csZ{vVYWgfC2 z`p+B$5D>thrDhVFCy%Zb-grlZJxc;Lbn2m;7<6f z$G0R}pbp5{y_uQ%c!u&P9LdlyS*gnU9S+|2mE`((dPYKDfT#W~?>-!vZt_OnnR7Fb zruoIw2bZI1DJN3P;~8f0@!;n4inXC|I;2gW<{}A=fb|RoPS5ZuNcnzz3kYm3qsT3L zu7W88ZoPS9qd}e}AesRGUUi9Wy3?w)w=PkLCMojKJULt3#ub;<>{NRusCW`|AV2_! z-z!I)<=F2a2o2@kWUpZAkRr2(l1c~70xMj&_8QoC7gB49$~hWDA|vVnUJRE^4| zMj9zY!gzOo6qu5O^UajL_nSV$;NtSN7VL7}(;~xr$!A1{&#D%qG)=RM0E#WE7bFM}BrFeFljlViz z#QarIY;tcaMMqnOOd%9p$Xhw2)0%{qQkkqvDGc?Q2@fLa%fBg6pepKak8^0n>Tb?* z;o_U0j9RIL@7C=-X!^$*t1z7_9g>G)6qPJ4eg(ab9?9iuXJc|}7KDGaT!2H3a02kO zu<>&wgbSwO>I#_n4c`5H#+<#&;~;8N&ieeS*I2B!{hFO2WP4XDb!ib&`-!s-QJ^yp z3pEoVtiHaQbQ~CY9SuM7lq_sF2RjzWm!84vIZ5j7rRhOa6#~9R{LTlzkAT|5mv1DD zJ2f_RbgvF>PI*iJ;Os=}o-@*G=r&;8@|AZ{JhNEUNsbT(nBL`CFKa`9XR~;G?Z>t8 z@(X;1-vNC6oq2(Ig}E7HK6(>};vo~ex6sSy;I#z`DXGVgg{4RUb6Y(X)hw}}9)2Q8 zOcaPZe!7lY*v9=7YjZi%lP|v@r{(ttFieX|y?C^<2PG|Srlou8GM5*^!c0+=Q;m+4 zajz%=#v|vACi0)J5697#0)B>}KR&qHRH{0<3N34W3;_EqWG*(ZdpnHwd`JT$mYtG28&$HuPVGYm@L)$988{cQt!Q=&V1-o>~c*Za5cC(79{l8H>XEWVQDKDMCTA4m8T zorg?lXt5d8D>O$VxLMlV^o|CjCdm)rP6AqCRf#QLU1}si z8GoL45uLCbB&i{_yM z6CJiwjve2Xz1hlOd#jijLN0d0cY1P`#+i@*h|%SJK<(F zvAAS1xG66i)cpNMtpX*nZ0sy;ZfYhHfVY}nQj+)4Tr?`#(c+op09BzXFRER(-&>|s z#Rr+IS|nOZj|UjoyVcil;j?7vD@#zrv+xLhTP=UzahNJEX|Jiva`rIQp*)0{IvsEyjlpD{nWQ$$C7AjVjM{SMSp?9c)uRxH+AVgdt9-M9ptXU4!DlDgW(1 zjp8}IgSFjW`L78>E?l11S5RFl3(Lf@#;0}xDsw)E#T4M&jEe-nU0e(vUkQ%6egV!9 z+5ux&93HUYegABrTL8#E1Om%%I&_m%`*xpfyg!T#m2mzX-;cLvN}bO2lOEccQ=iN! z{C#Rz*kM)+1atu(*{hFbO>qJNZgxha`)7qvYZZn#VOz50d+dko=aaEB4NN-A5ID6H zzC8P(JN0ALRfKf(jvhVe4K0T+7(?BFYI}c5*0`qs;0E~TB;*B(+F<$*3bgto1mlLc zotSCf0Qk9=v+#>XpuT5fz!)%arVwz>3ZO`@@y7`RKqPj~A5h|7RczT_JL2KfvmvQm z{oDL|GdAkd$;E_!PV^X4VHYeA3E~lhUXb!f1pp25*yYMW^jTZ3@0yN^L$>ggdX8PD zbn-9%;{{M&y7?z0VV#=M0X=4d#5dQmSvKlO@g?AW3hVNH1J~10@U{#s+R}~? z1S99S1-OVN!p$8|h#Q^S%{0sd6aRufI7)$rrlT}#xq?QLW6O4B#$)|6HJjIDF}(vH zKSG(7YQ2bND~|?dE3b3|UT7SDo`RS7hY>UBD_32A`5@N7c_gz*mOvyTpTKeFWw_Bp z-61xt5Ku&(ztM+s>>NkQzp@@m8v}+o)1^Tl8F*V&S$E>J6quEBz${KzWg$j{pYFVh zfP-!Rj$%^HfJ9k3wEJ6abRHaqSsNY2V=s+dgwpyUQwj?2PZ{A$y9xN_2 zy=uN-w{o7>ugrjU=o0 zw+$f0egu;)?D_*H)>7NfmbTm>tNFG}%wRxk$Yc_MRy7Co*kwCeS^xV%wNwk*;h1Pb z=QGw$lYoUQn0Llil{|@7qe+QEd#JpX6tF&@%TP`nn5Lb97 z0SC_7xb39$`t)pOiPL>C%xyP8)E1=oAB(nf(<|FWtG(?XeHD_yeeSe_OQwS!G~mIG z=&WG&yA;9H7vTddHlmixCLeQlSAlyiWek1O z6gna9h_c!+_fh}7-K;+7J7vAvkGmNAoyWc*Vsbg&nNlD_w*i=SHjPY73ho-9w(!?5 znvoy@KtX;l{iCfF+FJ$0^UDMKw-}+>D`fn#mA{#7i-)~|TsTvuB^w#r51Fk6W#225 zDUv;d5Q!Ro>bz~I(K><6z+vL_&jJjnHtB1g#yQ}Xad|k8{0%7B0P_&=9+HJyD9e&p zWq@pOKUd6j2ygnw=XHi>h#lqgH#Opu(`RlA-gm$NG%~{*PIC;^PRrsbPlm`?TGv-F zGYk+HK%1S{pAy3^e=mg&w&QXmkp{|$lj?@z!x;0O#lH6Ze{@gI!rfk9Hq#1Qs}fyB zMfCgE!QOvehmPozvQdV&Kx}a$N==>?%AGAAm7YL z&#{4VTS8?byOspkI{@|{U)D zVnGqRC@xAZYN@mVGFr!AF(k`&()(;+-Lg%$&i9~zYQPs1&Uumh%qZ|O-mm?Iv+=9W z%B(djlZPGyVig8fz06)(DcPbr4deDziTf~VFu)Rl& znDw=wRyG2YkxI8E_ir2ppT+c<&g5td0a$|aHPCo5tR_pJz*yRXBaP-;oMXwvcHxGs zJ*L8a<+!pcndY_(0SO@Si`k}iCzCI^S>8AyKvKQPpymehdwo|MjsA3QwrjcEZQ~cN z`sgJ_W4L!_K%f6xZ|5y#L3-2L!1y4?e2ZRw*xLfJ9^q8*i$Hm`?stTn*+2)*=3(Y1T=Xs<|Str zRKkFQe~M7c-iJ;bFVDO1na%7D1LDhPSLd!dX-9q!?J*eVl zf1W$bqAGQ_2VdlFvlPpWnAZ?#brf)&R6tcA;uQzq$5CG&k1h&Rg^&eNb`2c@tuh@I zzn(n@_-IWlHcf*EjIOk8KCRiP4>=7l!F-zn^6|IFrNIg+V~r z;V9@Lc9QvH7aU11J&E|@<(f#3<6-P3z?EVFwC%0e2>Eb79p7rLTCn`VM|`);e`q>s zWaTZBR2?k0leJNv9VLmerAv}r*ZKmBU}vRIND?L-ee3f(3$U!oH{Bs$KUbO0+5sX; z`|sNKwz~?)pLaf^c#!e+zj{5S2ZFs0QxsC>2t5iR1RXkz2Aq5-Ou0LvjGGpb_I|hamTyHEX&r5o(4Sb4sSFs-tQ+9RYYe#WRZ; zC(m%|8rxnqqaiaGYiJo7R`F5eUcGd#a7|V%5WvWHQ%Qc|Ctqi~Rx^IPu-<;v0&Gbx z_864b+)l=OZK{zSoZfuB_3{xv|BIYK9v@(3bJV&RFgBKJ8tII@4}`v_aJ|@Mi)M@k zRLhe@=$><0jgk@iuAj9xJ#@?eF*-e1lcEA57m9UzeF-Z-Q`71nl)G|ebsfL?Nlo=! z9OH+V?2IsCq>z91pQRa)aLRYHYuUHaKynpXq!e38*^8nCMM42Xtx|9i#jW>bkJ)^e zs7>n1mU!1NGICS{MhIR;??t<(VM@QUTXr#0{XnC#AJYvU?Zn>CrWJ8DWT_hbHK&KXt!fQ!u2O6`*1 zTy_nO4;3Y9yx+SB6Do6NH%Yw!3x0F;VQ~w!%}?CnR2GFjW4F*}#a&YonjU8~6tQ@C z0VosDWe*YsI-%@5RrnI|fOoK0AO4yd-Ib?0D&}w9r&SFcUPwUD8dL!W9Q-wPhk;;Y zs`_UG%Hd0k22i*i?gPOPtDoOVWC}#Im{XKtg0VF?P3W42du+T7RHLV8&Mc^H-ADc+6AO{G$gM5joZh=WPF{k{zI&OZYu-y+2D%JYLy=yK-1 zA?L$HH7iJjB7CsiSG z{=@K4OZ`9z==sqwegQ61_@eaMGJJk{gA1YWT=ykFPYO_MYxN$vMNq`KZu0x~$%B9? z3hq=)yz_MN**bW_Bqq~x#%zTZrf!fj*Lz1(0HG)IF8Bt!lFQK6Si|11)}pXl;y;_g z&$HN}mjCiNRLq3x)rfgAUeUS$Vi5ed!n_DX3meoSZbzJ3u9$E?y)`|@`sbn}TRCA# zcM%_@&VaxQvxzfazub%qf5!gW_{$5jq9n!USX&k>Dbu(t2YOda^J(ws*&M?+Wj83& zr1h$P_hoN=BojH;B-1=Jy86 zbxior<#t%IKOm*GPi>wff5SR?-?Xl@bt!t-sPtg3&My86U+Hmpb?$YP1p$*u@SK;e zRBuJ_oEPm*-k0$Yz>VM@&xv_#kRHbwN~O;Xeu4-^?X8brSAY9Tv2&i+OD#*8GTd{S zUbRprBS1?pZOOfzekdUKhdV(2;cVcF%x~gwrSK+7NPz(ZfgvIoX{E^3@^lm99Y@3> z{Q>J-Vc|Zi-{^94E={ivDXE0Jg@9bug!ju4TW8x6WZFc8pbEkXdQAGnTk#3j!lMY( z!ayu61Fob)iURsg5-j2rZP<3#)bV1xdUF=oEq6QxVfMCW&1GgGWpwrO&dU0jY-pE5 z5d<>H)ARJyfH-Pjh3_YlUjD%9?sb9OVo#kapdd|b$;*E(-@fLU56YM4O6D1`dRNu| zd?z&V1|gNORC&8HsuX+oRd+$w0g5QgQBG~3xUX@ArRa+1J5J#@XP{>-nvK%3BPo1Z zQ57>gpRUlU?40CjpHq8C{jZVmWam>&{CX-J8FI9rsP-MONN-$nwbBnzVmMrTP8^Z> zpnwLnr%02f5Nk@OX?#UyHmnzBLS2LGv_}cXr>=2EnpoGI4LOx(z8CBV5C2 zQzaRc5SG)PoJtSQ=5FVm?~G*HT;>+2kTxUC%PC)X5khUjghLh4*;0C#4;qeYvJ(5k zJHI^MsXEX6;&sE$30m5W9e^k50sxU(s`ER>dTuwIqcSB##pr?Ebn|^ z5DNGZ>H54pT6WI`_gE~ity~qhBzkYP_sgf{1bK}X@gCqW!5Tl^6l!xe1=zk$X+JhX z!&yt?yjxqDzfL||lm6y&Uvc*f*Tzvo!qdvJYEH{@Bh>qEViHQLqWNqS1Xaw$#Y-`VVtS*_oH0oL3A2qIOo)@mO`SURBh)8 z&b%zflTD@2l(R?R1$K&R3r5He%;+;yB;E=WH|6A1i4C!28%IJ&2%@Jm>w*p^u#$oXK z?t@=$25+8)XZsyn@cKcH(IMM;J>}|&#cHMSE#ahR7lL{<^y}9{^RC$meLVwbLv5rx z{;laFf33Q!_rSiZ6h<_x7w$V-xesR;mZuOwS&(-k6qWp!i&E zS&ziF*T2`078xeZjE1E+D->?ld0e6P>~1 zlsw%ZoSbCeSd`=nW~q#8E_A(D!4ieg?g{@?`yjhlNI2%!(iB8nvN^zOrje`{8Ku$e zT}?1ocu8i}N8fK>O=YWl|W{w>ovgqh%7Pq=L(zpJ1mkMTq;EOG}!Lnfi5(cS`02BD<{GqSiiOg$Nz z7L36Mc*aLD7n}j%)C|owLiZ-S{KwyIx62=LXpeSCkNyj7A5-J#`Lrnx9a|`v_^BrQ zGH{ltBYsV0Z++kOSMM|3#$1fgnX%gQ%8Ja7IHR^62q!e zuSoOstJEYimt~2%f%J($e>VLO9Y){P8`Ya(q`|?}q;h^-Mw3BG*XMR{weWSCJM@DT}Vnm8KsMerRk9kD8k~{MA4tpwsv*Xb3?cy{-Cfc$*^23qisZ?`* zLQ%l~5UethVfPj;vpK9wKkNB32S@rnndOcML}J3m&2aqbwyGrFWE^+h;c)$3Jhp;g zG@iZ72Yj5aa@Br%AXuECJCD7xRHmgPEh2znH=mbsv*E}wsBssl&B;fs;L*FELW|ZE zm1qXd*}`skvwAio)yV(2DO^pWVu*r{ionnn6sViROqA?-uB;O)2aIYVeF*S6f|yrx zX$FhF;fL&OPHho^r+F>fJW6vrTY(jH&cL!^g(~Dp7Aa8VhgB0NYaxMy2uQD$H1J!V zLqs%rl~Ke?#&>u4Kp z9ys?eFrTD81-fWQU04;ROH6;*YGoYfc%-N}H5*Yy)|=BBwqXY{8bAWOdeLSvbM2MG z2=MdtZz$5h&Jv=67Z|}I!LU>2Y`$Rm@>LPm=$?sog$D~kMK*hKb2b)z$>0qN2nfjnd1Om4<>cHgh23FY%pba#yX2m%QT(>XCY~%86N*I?u(&j>ilwh? zp0#8kkv}G!unDbeaiyZ5fTZ5pYHWx)Kjmgb%~}-cN)Qw&WP-TMAVxYan&={vLaTL` z|E2>Q{~vL)zCLk%Zf@5<{*lA?-0N0K7dNZZ4cvxl1si6a72X#RXS%hSOUY=kBEW)t zczb1jQ;3wt`uOzen;~6R2fJNDmvIVjSN$=4pB~KCyF8RD~&djo=c!_)k z0`GYzF(1P$?%nyZT6$PcH+%(8x;F^ZMz?5Vq;-Mn0zS6sU0CHHQCQGm9=o0GF@dAj z1D-2h6Me8TJXeuI?jng=VZJ98&Gvqlj@I@2sY@-?kJWZHgkdcI0Y~{3!hFJ=bq9-8 z%QE3*59e9KwlZ_#e!Ckey`0~in@V>iJ3KANwqh`fd_k&d&vMw}$Y|Nrpziz;MMp)$ zKskD=PpNmEyE){-6*kglOR|!{e&mAhjx9?gw- zFrR~DCIxs_qwYxDx!l7BDtV6Cr4OmbCBxS(86v!xIqc;>wSZK`bYZ zKqTBt(v|$m^ykkTxzbOmw?j#~04g=Lb$(swAWeWSf)(nG3O!XD-TSIPbA2eS)Z4hr z_UoIr&D&2@zM#*w`)qF_eDIorWDy&{ueRG&(XJzpsk}+57m6c4G{Hh2 zR#NUTLdR%~?$mDBcw2qD3E|h*+(|SzaRNmyDU78o=ge>LfLR-x3X7}eJ>Y36&1BhU${rKEI+S+Q z?e-5Cjo6>@M6v{byzVWS`Iv0Yk<1kNhV9_tUbU23ZS>cirC43;&uFH#FrSQu&qR8( zhLm?otwnuZ1l{{;rzccNd@|J4CruNFU6r zCxT>hXqcCzlny(%%L)%8a3{#tk^acf6EdD8bkK3r!~03}KvP9KSSGC#dz5rVm&Xr& zG@d`QM+{^8$=Tr9cF22fEblPUlqo)v&(4v6M8+ZgE1=a&7d~dm9a2%8M#1TUGHO>N zTG(D?J5#pb!ncA1gS|g!*op~sgP@h6G76%<+?uIFpxC3rrZ5(eSHZ<7SlRCB|AO7+)L{v8RHrBW87d+L=OqyUM0 zSH3=M-TA5+d(L%82E_phhUwW0EIk%sTdl<~O?%?VQfB{~oGHUNb6JL;_S!BYv^Wpd zHx@YLHC5H`sD9;;GeQp3L#s5fMvtP@PEN~o8z_Ua;QtuLK{0CB`PVj?16L)UvtJI< zqb7536#0S6er#1-paAY6Jj&1)>4Pg~d1QaCDmWkAlHcTqSdu+TrN@+`i-e4O_oT8T zDOsFGp0eY`<`~K72)#Oi&2-FJ+VMvP0e$2#w$)ItO3`;0tcSU#T@ih4xvi`j#&Ts4 zbn$2vM!Xm+sHrrqE*m69CJc%dA_6u_r^$FZ5zG-+>-lWFnQ_DzOhVOCf4BA2R=hM6 zB6|+*eu%4LWppj(zfew-rO0aAup3fr!pYfnQ@y3?2IECd4i(jpRl^(GhA$y3AT7S>WpLX3+ZzOgKYE>Rg$#(Tr2 zbQ1LzdrrY0k0+@d0G$r*42+*bk|fJSL7;5KU!P$?C{ut;) zaDIa(A?eDg6`g0HxwO!9`7AS9t|iRD(o-LmTj|8{>M)9cKu|xK1D0}Ou1Sz@l`sr{ z%_R3wgOl-!al;8~fJi#W?~lY(T_im-U70p#!^X~TskN1EHr`p}M?v!SV-u&l(-H2f zD$~Ck{=|0W5-E^%KkdM+Mdm3u%oAR zbNhhupjlj{im%VEwslI>OJ=!e!S?vVe>eIlQolikdqbh0 zt_~DHWMNjgg}H^A<*K5&V&m&tki@PATGOzpLdn0XRP$1o$&S-jjxH^Xmu>~W_R@7; zZp;8&%gdYv;IiyES<|nClyh)17%K%4jzw9I>D085X&iVEl5!reik9!ki4R4^vN{sA z0QwN*N}M_{{cS-T+oi4IkXy?mRL2_4paQH81>&VItw-qPpi3P}(!PrqQ2azuGSk8E zAQP-ffGp~&RGPm}3$9x90BC$WY@ zBg~txX5G+*ac*%?|56FjFDJfj|Hjmjt~Oio*Hb16af!k#IEFS5=>GS|&lk7;B60?0 zaumVIPTrS05px!xerCAv3gr9_8?wS0S}us_Hx)x;IdJu7;TPPkUIh0e%2Mga{#DFS zi5{_*gA%JaaoFW`WW~~34O7k^%%4b*R;yC&%{bjz-a%+qw^V1TChEz{cyl1Cy&@{A z314PK4-rVPlUdBLKY0jTQ@SxkZ`drU@=5ox;XOa9sx5D4;N_TUt4#f@E8buKD2s8z zf?#(Z^ZEq$1PmqBi!1=fS($S8@QEO%$%uLL($4aDPyzTK4@0ZeNAb(2@GZvc-c+RI z{tIuP`ilThp=WbXm%oyGoaR`X<*VU6IAIFpWQ#%XC?S;2hIc>u@)XMiQNHEW%XYGu zXG5ofV0f;^wFbZ0YGQyu4g{;q9o#v1kRS_zaqnkjrpQ(vF4B}B)L_JUBqZyLBVinQ z3=}fc8haa?iR%r7fgauTaO^qqDHvyaODYY5b=NydgC3 z2WDi(o*a-RSYe7P$-qi{o_W(uWddHJcqhnRxBC-JfKcVl7kQWuD?Kw#*gyv6e_Ws} z0yxLO&K0fm`(t<)EGEF$hjr=CR~4?kj}W>Jq%ND%F0||774rCl0^J*|f<{6dUz3lf zbkq5AyA~-Dgj)PwLY-$q83AP@BZNe96_5?~+)N$4zUR+`EnVO{FNZDQ`23=6>L62U zzQj!2aNmhv`~3CPB#R%z$Ia&3_)cdnm1yvrEJfOABs3H(l0x;Fb7&Ai)rF_VBw}$I z!c2dD;gtAb`+|EfvYE9s)DiNeU4_u+2$fN%nak7G9HeDPPnugsCe) z>{hbfbI&*t^GQOiEO*mf14-<2BfbO>SMl;S6L>%2t9rRVukv4L4Ro={g#Y+O z^wq*LhLjAYk4MO+33;UgP#x^;&-L`KCB&wSp~-D9Ng+UxJrP1}vdbWnUc9dCHtYlvD<)bbJR0bwgeuoGmhM;04pJF9A2yvN_ z+x<+Y(P`Gu+stNjxpkf#i`+8o)i9DYYKJv;ykKU6wnV^u&x7K)-HuL>&6&u(KE%@| zpV|P4>2kfiRXc?Lee=D-DY z2x;3Mz)2g6$y$02-oDvA&v=d%l-4pDL4mr7Zk5_H{TLXG9fz+UfIHW&n>xIS;k5;Q zIMfhg`AVqGa%+Lss1~5+JVniHX*(7iLw?zDrc&ekgG-rv9iboNil|*p_&)33&E5(n zsx*&%a}`aK414&&%ju78slTcLmlQb7ENw-(LQ{XMGr4NvEa``pYQIz#yz zm03vb`B{kY*RJ3K1V!Q5jBunZOHGs~|2N zrw6U*{1ce76qJ~$cmms`f|!IpV7si^O5>$de`A@TjbViSw8YrKm1~~POyDQS?&zsu z>~+q@?P2JY+HC|0^C;JPlzPan+x_wSXA-rJG>p;}!hmF}91jxBu-lIGt1&yX3W{R0 zbd<)H{ENmuh<4&8YKYyNmQE!gDQbl9z^EA4VOf zM*l!T2JhvuLx3#)V&{yNwXkNbz_$`Ywh73BSI7kUnChTzfYdovdqEn45H8r`8-1z# zFdvpip9rp>r|CTSMA!AMnZilcy;-v+Gh#CK% zYz`<6jL*Zc;BHCks8zge&19|fP2c{=B1SIP5F0>hyE#aIYVxleYw?Bvl*h@;o# zI?bSR9z0)%*o9?SJ%*HU=cRY^t+AwF`)-9M$_E;f{J~8;4b@=VdmP#ate%ZOasWlT zaQ3N1gh+5tTqKA=PxUumut*Am7AfG%M9RQ3@;MtcF%yujp}^uYa7BN9zAE2!=$D@_ zfhxEdD^08r1&I|Uy;#hZ?pydY@Y$=f z%3khH#p*|{iGA`A3On{uW2*!w&mq_cR{-g!%O6*0Ts)HCoy_`A3a=>AjRAmaFN2R0 z15goX1MZNWCjvX9uk~RG>C_mxwWFA1*ufl-M{)ZXT%)MvhQBQ`w7@`*+NR%^_i*Gn zeg=_jMwI^53FLX#P1|J8O7SQ}9q2K?NtZ+rgCzM_S=8*u?&M-Wk17puw79K{pl70~ zh{1)jNgQl(;k(+{<9QZ4Y6eGoBk>UED2zXAu;bB@Dy+in!xZH8#6o%-5CwEQRTMCV2jH>!$mt`NkrT;}0FcNx!=q$m}gq zV#10rfMo*+lB6D->8I8pT z^_J&{`v@!#vK#&Z8hkHsi)7=T#0q7kx-1D#S#k{~Ei5$Y8_ZoUN;CIM8RpibhTgS` zex@laM$rfr)u- z%Zp4>-jg2>;XTYq&R`4zH)olGgpw z3e$#e2gyB{ge^sj%NJyzXYkTjd(0X-wt4fp_Y(ro(mTUl@Q^K{UQbd5@;2~zz(k1X z-u!v(eoU&a2gWgz*QQ|keOrYrdckON@czn$$Jqv}K#MGfj{w>pkFDP138oUQ>9IYc zBJ335pRcI_06@@DBqc}xvj$YOSn?mxqNAqsFQtGP-xS9X729pw>%IxSb-w~qtW1s7h4Hx}p zUQr{rKIWPz<+A|%K5`8SL^w84l~j^dyE-Z&dc_pi5!Cwhv3A5dGlA;X)OVZef!qj_`ckjzm+^U_<5-sf~HX&q{u5%D45swZva$Ra~OI zoXxg>lx!U`!~uXnPA%`J`s}YSdJPPGI-@3Q3yqdP4PKVo-Ma01!oRkHJa+hm*K#)N zj3q+x1T|+4o|i5#lkDQ?h370`PR(??W4D^;cM2D!O5OPFF4kX^2j+t>66M_EJ%em| zujug)-M>?5Q3Q*?{xjyZ>8j#5NBYtKRKviu$$Gq^5ee_>!irRu*tS%>oR|#MR2VHi zz^k5|mhK|>uhgy+!jCs+krDvDV`=%qTd^8FN}`1_#P4j3$!{Mn|6K znlm~C@%Y#`sf+%TAKR#HNOD4Pp1GxA!<(k9ERXH#XcqhJ=X2Ds;y7+fA3cvINhBd} zQtZ5d$zACxSVHAv>t%DW>kt&Vvv`9pE{fP@k(U1Vh{g*LNlY|`?2-K?b?B1*V6s2p z9_X9&p!pLMkLI!SQ9K=_sQ*Hs0|NnzY481@)+Lj;(d6uOxZrAS)Y<96X@L|d3a`J? zW*ZJg3f(<`br}w|0FA;G#C-%(5+l=+5_ro9dZ`(E zzcyJxZErN$c{p5#^Ce3 z5>>s`3u4<(WzD58er<@rg+l&5Hc>a0MP)gb?idgvvYdF!!H7dYGf$vjYIZ)+fid8n zm8PfM$d=w`>~q?EfgJ!+D>~u15zIcuE}Ks+vfW~V&Ym=#g8o;z}h))<&+_TyJj&11~sqtsEj21brI=pp101dD{_x^(_B!RK{cX?qdzOMF<{2ypUA5DxW7sNaS#39k76Lr4|LZ+AFhYd+(oz{Mk7g~$hQznCa(+tlZ?~Qy%<^|_2X{3h(3Rb z{C(Fd#`Br_=6JxNeZ!2%d0DRqP!3AbBkIgVGwA@|G*5x$8Gnp_xddUv3TNnpEc=k- z&)pnLOjll3YkMiF;gtY?rjGJ+qZ?bQUJ)E_Iiu7k+D#swI2uh3Qh==jw0nJ~(XrcZ z-gB*F-M}QyuZNCS-}AeemG@$ol>;xts}fkPL(=j=Z|ntlWApba6l9|LAY9>h9rD^R z=LH#N4=ZFJ%RVI0Zqc4)0f!PaUQ;N7J~5Jis9MgL_Q>kpVG-|gBysVIUD+k0)*{1c zN!D;=(34Wb1!Iku6~lN~NorDV*xJ|$ob;%`fX374?Oy4C6Gq|LGaE)y1dQ4~Pu{b= zHcp*R!g;d%LyMbzySgPvROq`3HA=RQR;xtYGE2+~gdZp%Zb*meB@rbCX_?XLCppUB zd?HF zc%qMPoT!x9dIXk)dkMh5L&+1F#}N@ZFN|m(?lL+uYHcm9!2@P&|i_FkyNtfL?jE zGz+<<=DgWj^Jl|r0CN0nKv*a7xs3=iLGmB!OaXl0%3XvKiGzM|@i+~E=tdU`hWi*a zEkr#}0RRhEK<6!SRuzyRRvqi8wQd3`=>RZ@UP-BaYx3vwQU~;!M#Gr4+=REb;4@%@ zr!sGYfG8fnQPcWHC+*J}DMe+BJ1vFmV~%|KIlBSxy5mPGt;CIoMQNpfj2-wr5Q+SZ z-rVl58x;PE*AU6s(DmgNaKW@~aD2>aZE!ZoWbZ;}AKayd0}Mp^E@9%En>6MD)|V8< zB^$TM+;1HWAHSDa_N!aOMZvynGbaJ_GvP*#9NCX|O~+(@`c_EPgy9?K)*CSicK|Zt zndx9xbaP0;CCn$w%MV6TH?_y+b@PGmINyFJ$#(3MG&=?jZr`cVd&p!v4WWV$QC)U} z1Eu(93OX(t$|Oyas*6CVh$ei8=8Rn*K~IpR#^Vu4l)imt~z*lxJv3=|{&&XY}Sf6~o zqa^&FPu05jRF2ju6m=`)1#z$Qc%%O&HjBD9_oi+pr=Gt_p4wu1rJ zRuo!D+zr~|c?_~q;P^lioJ+dKZbON9(#H0l$%Jz$*+EW{soGDSQ8 z0z{qxpa7H@V8D*lx3F|KEY=H>Z!GwdXhv@Yv49V%uWvv#`z@G{>F`+MU0LzSp5v(h zX*R|XDoM#YHV*Ls9MrwlpBgVtvh<%wgLFz$^6YyOlA0yO%B__4ivEyWo3812stf~} z;7eAg1jJc@TlbC2nM6|j31>FEUII}~@tPAAQD}lko7ZvGa^Zz0IGz!V0A@`y!A2g` zsXJrOF3iR5H8z=Z)9Gy7bxVg#@N(3tWZ7;9KfS|T9#x<|Zi-CYsC76MQff80#)d>d+mX-De;yx-^!S^VhcN18Uf2d_q2Cu=*0p4?4 z{h8tG3{%siFF?5ghBua6$NTQ^2w>O;^P)U%!zY{bSo-6}eQc(kHKMvr9+u~hUk=KH z-+)ZqUT4OFFfTr|X>j6Z zI@{b&h^!j#OqGp2(Br%VVLzeBWb@8KknOMxDABPl?Cy=_Y6V*QGW=xlN-qL@O&uASDU)F6;phi{;in1>o-jJ^*A&u{N~8}v{ z7fDF?)So-$XE5iXqCNI|&FIoIjYg+;=gWaKG=7fa zhmj2ldI8YXkizh&c;dJ=R|mwXb^wu^6Lu(C1l^1U!{OR&=+=|eJ#EiU3`ov?feWrG z9zX_a6RR|p?7weGY3X#tMM)uo$7O%vw3}dlSLPP9X;N$>G-R{H$$sNGa7=v10BsUh zJTEU}(YZHBpg;m)W=FY&U!Keb;4f~bDxtR-xkf-M%xDO@a9Z|JO?p(PeWDX4lr@Fa z-ta8T9A_ZIoWK&zB2%w$JxWCm=_Us2=5#ki@}Q}>%mL4e-52v&RBIEy6o$1w~MH?syzGmA}FxCT7AUGAB_hAv_mdxU1P6< z4igH|XWE@*rU!FJ6gAo#*ZZS?0F;OkX^fDWPv@t`jw)|ZYdmAIave!y0K}7b*;5sJ zA8i1)EbU49b_atF{0$NG?Kh30;mk*YpB*lgA|(qCdvj<`8_#hGK;&#r#T>hJM(RDPpQfn;_D-mAex{Y0(=FcVQo-yuXt7I?J@?2eX7Hl0c&Ylw0j%G55M1y&*Kr6Kn+J5=3N^tK zMS%m>-A`{MOX%C%J`T`x;w(Td`llfVmOHIyXKY}I!a z3Zw-;b$Oy8O1g62SZ*$p?T)i`^F7;74?-v{6dojdR1$a=z`YvbG!Y4kM}s?dZwn z8-V6m&gi>ZB(RU7D*eJ#GzIzcZCPn3!QyTsz`$-nO||?G;T;^+3qM@d?|j0Y z9r%dEzO@JN->J=e{N*=iG?hPW;cnz{uOVm;-FJNLC<4BtaV>T$wH!9Vx()UW8C@y~ zUbkQ_Km`OqFFy`a%1*|Kw$Z~<*#0XDyG(h=D=*H+q;35~u)xXz!3qge$0Cjot!4Lu zKwjn+HOgepGPul9bmrb%dV9e52Qo!K(j3s-+-Xv!%xB^H0soHx?+vJ|z&BT?xLBaG z%>h7X+cR4+Mwrl?BT5zVUg`RFgWh*BQIf~6f=l!K7F0Vzcj8t4m)ndA`Yc6Sk2Li2 z28o)1mO-LbB0jAG8PHxG;}7UH$%ag-bP^y{z%$p^LuExOWV-^=eJOGP*h9m5P}S*^ zu;iC5b4$_$;PDq48k6e9mIH=#Lf{F38Yzf16FhQ`6e@wJnI|nx2bM~8Qjay&heg8~1^(Az4A zQ~Qld6iAK((lJlVE>yH&m)&DA2UpV9;E-~G|5{N{2{tF9kv?ZEw26u4O|&f(pCs*X zEH>ZcaEQvl#y~WziyIBH#-u0JRbq&#*3wNzha&BM=f4mDEcz!d`YpUk2+_)U;s=<B{5r2LXHHTok>u(^kL zQa)_#c-ZTTcX=TIXY!EC=y8Cn*A@Kg0bUkgk`@vDxo>M?zX4|ShOY_+^xMRFVdz>( z9qZs*m?WYLr0q|-+w5U{|>wQz&*EI2=!aZ#RV%q>43wO99uJsPfB77mA<;r;8=79vK`IjHp>5lKFQ4 z>Dv~-D&Yh`MQh_toND~C=nwP}spV(Gd8-!d^NO8WyQbR+p%?f(uRy|&%YJoGeknZ$;Oqi;8fdcm zGS{elv_|N@{4wh~_gPSKgGDv$ge8#Pu$dXMR*Ow2>{FnKsw98_a?(h&90qL`?b9cg z-*%~(%cMRQ{b{Ih#t7j%%ZWPjyua2j8Ml9U3&7c8exbieXQ==0FW%H!Om zHn>@8PuZRW*Lv)yC96vVVZATR4)*%DiuVA~XCP`A8-4rkY}LGCmA}X>M~ER>S*F`3 zW6%LW0HbipR7$am5Scq- z0JP$yC5w>&~0evu8)X+#}v+%!e56` z!;Ig^k}e-DKa!)AQF3{Z1#(CddqJ4Vf|bk!jgP*-BTyjf&w6Awxtw))kA>U3W2=WP4plTjm*s?C8U!L*uQL~v&Y~u5eVd->VqV?o}nSkx{UpC zhud_MQYqMFyH?%Kg>&`TnJQj-Wg4Q&>EdpR5^&_3$jDBV>H50sO7sF%bo!)S{L7G z+r|-R;mQrfVw6kEA2D)|qvyB7#eGnN*vcKJZG8ik{SDk~q>RC{HU3QG_i!)vyhmPr z-I6^Lq+PUQ4GPtv<&2f)<;pGRM;&K_`OmR4D|W zs66LrCO|~GFrSNBqE3p^*I^6JLV2To@fa?Am{B`awMgEJeITYlP-WGg>w8VKqmLnc zUF8@ZH{S}p6lPV6I(DQx5_nRN57BK3P_Rf^ae=|6Cb7GRGe8&No~2%A?kteASqQP& zGnCA2vvrl(Wb1dn<~>r&fn*az2tTG&d5ENd8{TpslBS!aQdpl{Jb>&UU<^_`lR?h7 z4a(-g0I8Zf0vCandn7!F zH*ozpK$!;p&$;pwM_!m_D)FnVM#=^djvL;RwC;1NQ^Ps9!Ud*bUGbg3#Otk14s>4f zoQ)ZMFtP|MfBE;e%K#FL3w+*{Yv51!6)+Jvy<1Rg&d6S&{;qL7CC>s7lqe{&Z0Q|Z zlQ_{qFyS+I0Ii7u9wWCukmkg>dq|NVx!uw@Lywx8L%;MT)geiTDO9+?(S8I^2v-K{yk0IvrmXQ2Z?ZOtK8(Y!Mp<#ySmzV zBC!&R(@d!&mWpV_jG|{l5d}urrUGaY)&r3;ZqZ56{;GIU#K$Joar7V-Qotd-T15Mw zX=c|DAa`_?$<2b;wxzU<)W)dFUAcjOL`vfM&qzF0dwse`aFd;iFqFKiL zHPS(Q>IgL}qmgu)dZU6C61!@1On$7z^wePemb`xU`y}h*)E{aeLxlV1(&bQ31(a|e zKM=^pT^@U>fC(~yQ*xQ+I1j#F32_Q=$Rv-Cpb)?w;zrJy8tW~-_5b>AS@ZSehh`Z= zUMwdxh;p5oz%LK*k5S)KXL<@aoqxOl{WnwLAE288dkPEmRO%z7iq+(@$H4(t=O~5m z@&4wWP~oq;6bb#rb6^l3^ZQmy{cEDiFOwNY`dX~6J_&;WXVmTg!4umUr&InvV^t2 zq{t#_i5Tsgntso}Q$K!KL*9_FGkR&%=X?p?w-3I~BCr-!pd1c1cKP38}~C`l+72ceKx zHc+ox#}gAMhf*xB3W_R|KP605n~bl)EJV~bhtFm=8t;; z2RhsVE^>+ftP{}z);03y@n}AC8GK$_O03(gUmeIIQ7MKe=r!GZLg0G(J_=Ll1>6!B zUrnmgy2-o(zmKbh3BYL)7`B5d8);hc-k16((fJ_>Yr~LIS1V~rvBTUUw`diH zSj^}Y`H6s$5!HFf$K!o_@{D5&?N|Or8ex9F^~>%in@?cW1pt1V4`nb=fgGil%QuCn zxG}JBerEtOSXgw0!SOuoh&6mSkjz+LpifJI9}KfD*V6zZ(L^mj;jrPUG5oRp%?Egh zzWyXA#jn20Ac;Y-T>#t>uvR2Gj#*ZPSK>W%{^+xBE_^ zN?ASaP`28%ZA7**b<_x;sqKc)911W)w_okhz##$ezXDxHY-aUAO4J_>1O;GE2I{nA zu7P@mX$nD_btm-m>wZLo0{_w!{6?w8AK0gtiWN3aHJo_X+NsO^zu3eLkkY8wskl1vHy$2zUidybKDqd&m zW#{oKU%mvc&qUY9R?0DgIE%d3`Dd)6+D2$VSMF&C=3sprXUgrrWV|9R#;%r%gT2D9 zA-`|K4(IWP^EmCP8h4gxuDHD-LjYftf6*duufHl=%0o}c0uhx~1vf#RDyGBNE=e)J zFfSi9yj!Vn?xQU&HIM&DF5&U1B()bV$wu;IyQBpME zzH)G~{XPjvn+7ywJ;V~c-j2Aik$?jKsn@1IK<%|_gBSxNlCp;?T7;i$rG+o{dgY$% zVup@MyIsh1=tYM!-7~JrbjOR7rulk1$w}RJ?KpEN)?|ErM+yQWNPxW^(1kH!(*B+* z(r2#Vq_5Zs)dKq2$4}T8z}YbN!@~dzkE9St&frNM0XZrN(A%D~GFIwB5dg>1f>2<- zaX&EqpP)RN(rQfVZQksZZcLyNNI!@1R%Yf1IMICFPV!+Ahtsjc6_1gSE=!{Y;|F;^ zB6~w8&~Z44Pe@)-0RIu)$CsiNV8_6J#(>WMi~)KKsQz^YoO?l=@?`ll?~Ch7C`g|1 zgj=17Ai!#Kixmw{gT6pF6KFjY{i@grmOX-o===rHw7xWnW4R@@G5%N7h2Q`ar?9;6 z+XfjZGOCEJSIn!L5L1*?;lJEc7;H=Uurm~>fCeFA(m#XNN84otaK4El-i1pT@>7_t zMRp2&N@xDT<%tELw3F|@$F*^&J?M_)ePU*e3!WJf&Lu2I1>Q?f0Br%5)}7VWZF#az z2(f;C+YjcRG*cuZu@!|MkP4n{a z+QC3jIo%J9Z;J?1Dch51ynat*R=JOR3El0s@jA zN>l8;r)jc4@Kf{^Xrs?jYrttgqg9_ia!Rd&@2F5};`lFNkhIHd-LYg^N8o1%rA5fv z58f1wxuq}strpu>NcPHdq+G+5HAIwj>^=brTn?e?Y%wCZ2$9pasyulJz*->bg$fE& z)jhvuZbkQp~MQaARM<6E}*5XSH}_z+(7YbO0~p4})BqvDQ_9|ENHI`-c#2)-GY@M|3T~VtQDcZpQm3? zfyq1$GDZo4v_}8l*00q(2UAxdEJ}A&^Vu-rU8*&V060C=YfApXg>q zOmfT=7`g*i1ISol`$HVx-Zwq52H<1|?Ewv7BDyZrnAzz`Fp9ub>psa=r%?? z#61(pk^SjRb9|PnF!tO&e}3hqlFL5`ql?p%mPrn%&8ISsJJ`MRPUae8oLZ)P5utc8 z{L7P#^RRoy_jVz?Dal^*Mif{po&l`S0$@TbK;(*C z%`W}l?+u@--8CeDC%Cn>Mad6w;=ocDJhfYQNI}uf1b>m42Dt2VjEh(YqQ$mZo%pl$ zSlNWPxF;A)3L~GIf-n-(S zOy=%~%T*Mv zS4;$1R5*KsSu4lL5DZEbGNzSk>ip~e5G+S`FV(tJ1iS-&PZo+)2%hYX|<#GBjGYVw;NOvoe#p)lET{V=2 z`1VvgRO#Qw1)ab^SFA_!8m-RI5J1EJleqA9rRqF;{vlcZY^JwddgPJW3l?K{gMko` z5B)p{9fFGtLS6XYWcdWRQq<8uJ@qD3#t1RDV}M|w5ZjXy9FTJJr^f}&o%aLgog@sD z0}xa}I7&bnWFKRgl!9!+e{o82af8BLk&~6Jr`nICt?u1(QJG(Wp$V8C(CXjSAtMT3 zTTlqGx!9mnzwZBCKe*$_BTP~nt=*DV z*h6XxKe~bZX`T0TAjfC?>qCSDurVltg}^E7Y#;JNlJGD+E`^|!*58-ucA=!^LesU?C%G%?`M9Wnk@n7h}q+j~p@RE6vjnjEkJH9ec4uy~)#XQT6|Hj<6hY;e*O# z{8m-gt7d^vFtik{5u8Rk8`f%Mz_Ln!a@_!9A=1VKwgV9=6DRB>&BLHa5qID;9oJWy z8Al9W4fx>H)%v8xxde?y%~#+k;T}B^G!Nmla*j4Tmf$57F{$dIp+GmMagE&;{^Y4a zfE3R9&9d%R07Ws77XaNrpv6OQucdT(7%-pJ_aQx^yCajZp7pWMj>15UuMzTPORzOq zU_tf+e*^*kdf-l%$ll@)rQ)51B{Up<#(^_N-0hS38ab1lY=YFc39OClFn)WI%`#MXbr6j+8;)!)JrWY%}N)dxs-qv+Oy zwtY=rI|7(-5;%Z^MM&(CG=?-?hsBK@1`vA6C~xWbS_)DV`T>$E$iImJ_{H!%H%RjF zC_Zi}utO*E-G%uEBbzuTdbRrZ)Sk~%|3a47yXI>*T+G?G4M#Gx##jZOt*TS-Rw_JG zYO&oqMMM{EOys@kS(C9-;(;;dTuih|(pC5noCQL|eOBiL9Az4ldF?DSq zZ?mG)Z3ubZI1NGpX&{iu8K5Ndg?b{~o^c`He15_1!WqZ&R7UhLKu@IK91ZAzIQq2w@MF@u4Y9<-ojxEV7-Su%LqaKVL$Ibpff2eai$$KRPSB=e7XgUfpG7}x)K;0e0dyLGBPvd-0gqYn zw{vD#k&g%PMbTaPn%sx${dbsVs7E~Zv>8Vw@E$msEH&-lr(K_fIIc>MU(tsu&`C*! ztf;Cg>2M3|;N0SD_qZTBR()q+&qI@P{^N#_;>swQ#Sox^F}umZT+9C)DLZ;x1K@l8OEA9tMO zobYWW37p?%3>-O5O$S)cU}wbzYmy(`UYmH!mmI)~^;dLOo7Am-Yt$M%Fn>IxJ;*pE zKER!+aUd7+D@s117Fp)X(I61+je&#$F9UAPJAd+{Mur!3jFe0|bJ18}c`Z4m?(9*EIE9h%* z8j6V;Yfirx65Ne|6=l?}6~)U}nDy--PeK`yGvNWW@+~R1mANz1bGYz<6680l!~xR` zvy@^}gr^Y97I%yjd`1mUx=RkieC}sDdTnrDO1}L#0{TB_;J&|LK+#WUz~SJeiAfm7dQ zPjK1NUq9(}w8vGpEw9`f5xCDAg>wlnn^iWz1Nah6$aEa%t;%g+BXj0>UU7x3j~J(2 zS23Kn3-ZmEPsiEu$dd_NquE4!zVXHorHhGn8;5ENt~w){Yth+rL>a&zKmWSmy9!e< zP-_>^nLzpfUVtLsxsVS|aGRgICO?uUV7Q^wy{3tX5v}L@Lr_BpSchmbA<%h6UDN({ zXMVTMLI8zCW&QI#;3A@mYHs4pk%-nbCRbAXrN>)qx?5n|xMFsvL57!TQlna@X}g-? zRtAx`8s1gUoHG-6ft4v1qK#om zf1gf{F!Nw+bx`6;)N5bjTJsP=%kUmW#9xWe?)1R5ds)^Ho__k)XYk4(^%01Z7z|*6 zgJ>}asrcL3P&fs_LBe`+hQC9y$Sa)%G;ikQlc@Q|%BPUZxyTioyOU8EPvfLl+p<{e zpBV6-qB=gYLgkorQO#L#tyiDS@FkPo83IROy7)e+-WkeJUZvW4;kbrzl(}m^qy0l&b;*7DjQhQ2MgbS0mBAENn_Vd&&F9zVazkY%z=Lc z9vQ^WcB_TtpgaLHn%GrbHGrpY==@3Qpi__@k2uEne#o?8v5-#HoeP{$^-<{fyapWi zl-Z=L6gl)v^5agDL`tmY^e5c3x2nE_imSBorB}4JI~}CgQ=+(qFnsKzEd6yZa^%PL zWc)10RQV2irBNlei8AF1KAJAl-!+6GPcF|fvLM08OOB>Z`87(ojL>3A8+nztQN<&|K;S@WZkfTLi2E-26uD_JxdN2^d z2sM*tz|6&Y1;WLeetWZOXbt@RZ)pf9U^%2%~}PRUJRPlav?0=f7NJ8B4Id z(I}KzCxB=Mi$3dbRgAFZBo@ob93eevwYL8J=_j?6cA-UodD(LQWl({2D(*V{x1qi& z_A_0{KEm}+gFgPjH(TOq1EkrTF7%%>QO_Z7t;Eb$*~^{xyk8R8H+f+!K#E{bzEC&g zr-4)m!fyug?gmR59T*;$ow2)v%F(6R}%HjXgbT-9#*QUgqtbZ?A;pD_A~(nxDl*a}z14Z+5+{$8Ij z8phBF`3SBtwM;d}zx2w&imeYUa+Tcv9v%68lxBLLAK}+{K5HwoD#V0W4LD2t-vmP; zJ;4$O+fh1aC4X@l5GKHdDA*m$LTpx&b3S>PSv(1@68J?!L+wuA;jBVtn6JdRk3Hd* zax=qyd>%jhAeo5^3Icy}$G>brD+AGb*Bi$u>x@b-%7$pV55MI&V0Rj5uyMu zzqT6IIEDkS^y&|e92s9Xx)36M`tbcjC(@V6Y)&@Z&|6E*s#`@y^G);ANyza!0VzV+ z@2pnSHc(%!Pt$?ybJgYT{kBlI?Kq0#qurB%#Z&2^D!+GR6|GY*-NWtS&vU*xJRJF- zsI^t=7T!=`iM9c?M)k_+B{l-cR4hsk2E7XU#CZv9#j^nV1WtqzbI`(Sn9n7^(z9c4 z2^y0@cfZW=+fU1ROtWl)N)&cOr}2)kTg~0MN5TfuVMcPGR;JNUNuUOBvi*%ri1^tD znNI0cqep;;PaF$9wdACaEHhKjoIDwz5hxFx4g=a&r6rq%1g={DxwDt?x1$46FNsVc zRT)8jX-g>*zr4I?8_4XC=(ouI_?P88e)KfIr*gXEy~9$&$Kv_#@hJb&6%rS}ewOp_ zz1@7|ZI+cNBP$CWc<8pG>dU+3+PvqyFCoj*%0y|#b1 zz2iz*2~=z0$oJOKcXH&mMPZ@>T4Fiv@l=7vzrg2to20G@OBz$sNNyW4w6=p!5LF5d z)_>~p*;4+1V{3xF!NWEC4XeS+E=L;mIHuH5QMkw(Z^1jqz)m#C=b{xXeM?1+zPDb# zP@kA-G2=)^eYqeq#HmH*Kdln=tpLMO3-$TpUpw+@urU&Nf4=lDoz&QWr4PDz4J~BH z*Vz<7T?n^0^wt$2KwWM6(#^rWTRPL~2?^d6UwpE#?mK(a_g(k}_QH59eWw{RVBaGbbTP>{@5yYA0zAly6#!Qec z9&+^56koA4HFQvR2yvYJNv?!^p;z+RD*lQCmc*2Hs>{1*%KDvB3-~9-rm!BC8tfMC zPN=yDvN2@dNB`*1e?Zf?kx6%D*gXl8qsRt0oR{ zAG?5wmZ@q|YwUlCw@h*Xnjwh_heA7wolje0golze=Kn zk@w?Apq1M5+Z>DSJ)fhB*VsKCp-0!p(!9IDWk{<|-j%JtW4qHV3XD<0t3iSvSKX7q zh!z6hH~xBihnv#iT4xj{DwCUsw}rb#1ii{Z=B|eVTl3+|64Xh|m=!zrbIdHN5?Zu^ z;^T^gMGfq}M46;;yhbJdp`7<(RB`Nlo+#QDQC<;|dd#0@oHw8r28M&bX^R%}Gj2#-)U7Xl%|ju2lA)ZW`Svx2+u z;M(zg7`i|C{+DE7%yhK5?}brQf9|x0G56a}t5xl`iHQnKH0qY7pW(po&kk2#EhLPP zt9UR|oxP9Pr83FtcC4=5)@UV)yP2N+cOU6V}2z-OnL7|IF?~D;a$5i{wcp{mNQH! zsGls#F8rmcW5lI&p`gy2tz;K>437>OdHRONu4CxOh=Q4G+c&6#c@LfS}nc21)H2CtcAe`pPD zN9s5!-z}vXM_vN>lRUB~6!T%H&^TqTODp|dbz}Z!;4iAU(qdVe?V^LHc10_bHd1Q@L%Ab>s{nbQxVy(ce-jpYb(yGzD&w4NUF#ZRFEilPR)0~^!#UuVA zgkB3hv?jpy@l8kLrAkbN_7t97(hAg%@SeM~^*Nvbu@z8OFv5q}c@Y=Cb3lyKW1zx+ zw*cC@f&;zz7DUFpNBGzl2vp+d3>@AGZ!PkFrYH!*{vr_|u&wU%R7n8Z4{zGcYL!Hf z6Wfm?vKBy`X0}GF9JHQ6)EC}NR?+#G+8>&`J59LR<1}1OD3YI~6EXZ1)_KgQ4}4vL z^`yh58F(&F*MEdR=7(i(hGV;>rZ(d$U|21ok$V@ zHxf)(G+%#Dq>kt!`W=>UX}*W*(8pZfofr7vwYjlkZbL?DlWEBV?QqZZL3Nolbt|cJ z_Yf)E;V@Twec}7LG7~AxkucA*h}@ME*H^%_d+s8cNK}AYRKYx3?_{@mY$H^c=DJ?J z$Qj}pL3#2_cyLd8{~O#@hjNMLRlH14L*V2&GiwN+xYD% z!2>_?fx$2CtU!{mHDp@!U+o9O9lR$Y9$`t(6Y79uOI{ z)(Pl!8U<6ONjod-u+ks6?0H+{1x0yDau}H(FKK!m*u(b){`{sZqH`veGd3~q@&x;_ zjhRC8UAX&YX{T=6Pf6|pz`Q!xTAMxQLnb^q*tQYRXNR=!g{UDaG`PPR`TdgP7?3T8 z&jTEOGVC?XadI^;-CPe`k&t}cU(N@Ur2~jM!*5%nYy!Z*+Y9wO#0L`SAVp!6>`;{v zUG9C)1wub)crtEZ&RD7J_%)3zVj0q3gvHayv4zk!0FlWljA4GZqrCAU8dwL11_hDs z-m;soz?(q%;A+DO zpTwmDl{8+oS-)m0(;$aJ`SEN(R^BQ`y^MH;4CgNC&o6ac%dLWWj?S~N#RE@5P8HUF zaB~G#I8A6e)P)l#mma!3g-JPcEa`MOS338jvY$=*)zj0j$@aagnxG<>Y*Ugz5XtS-Rpy4jN+dI zU>rM~SmsX&U;#N2QO8>DtA!y%^yFdvgphD>=*acnP%Z75F!=tM_uov97G4WROp}qZ z!*CHHuHEbZz&bW7Zt*&Pct2ErI~Z)I^j7v9;9G+dlk^TDV@nsf)~q$Jc;k5>U_4H;=I8J2{y&kR!dRb&pA!t(z7EnMfc1hc125PQ z=0w97AS4$yQN`(6$oGfyTQFsf1^w^Y3~6i6D1%TXm#)|GV^*dtjDG(bqLQU!0b3Ux z!Kq#JTia+A;*c5M6P{mlxXpL2sX&9RW2jSbNZfDUdCYXF9y5E;NR1n-)BeeAhuA%W zEf_%0*~iG@qr7<1&9ML3VJP|pp}YG$mz(_mh-8eD>XW{f@Ti|XtS_XdHadIY$azOcP} zE|=l?TH3I(9=bkBkj1N}GEJIpMgZ;I^ld~W4>y_~7KvQ0R#)EXOEp#uJcp&4(AF4P=gee$gYm@k9TEkcjj|zGNiaU5%yjVE z2uI|kWjXP~8)ZHWbQ9+QAitTB)-rgCVEK60zsejjBzyATnT1OC>6Z#P4RcKC-#b_MZQQfOmfgY4L0z178Z0h&kFNN_)U5s!s*0tm=ET~q zzd*YO;Oft#EIvqG-}rU#-q2&X7cOYCd*e3SzH5>m$F6t_&Y3+9MV~E{HllZ9xyz>a zO8`nVVMNpSI@=h}L-9#*Uc$XI68^CL?br14?IVqX^RcI>K=5}c0^cT*{?ONTvnBRS zas^2N%T`m`uz)Rh-n4NNPXXYqz3onF6n|h>Eq5X^C(i7;Fv61lQI0!RWZ-H)bx4Lt z4cg8`84Sthm9W#o=B-OkKe0d=;80Z)fUUZ^W`26 zxOn15(doR&Urq6bG2mKA2_`Wk9?p+Znp*IRAmJjQtgU9nEW6{-0}A4`Y}Cni^U>YQ z9^8npmad|gw4CK_vCSQP^&g(>Tw0Ao;moA0vB84Mo)0hyP`Fi~H z+F5F+Kn0*+96UXGsI05TawQH=zShhjm@b9oxkQt%s{?gxP6P^dF|T7nXRe6Qn{5e< zE2Dl*8bRVEpE-BL>!R-4wvEsF)fYk0V%IIk;kb18(Z(J=Df{;30>a)J zrLB6RC56Q~Q!AMKW^9XeaK@B0S2p^RGw-izb6T%7rv3oveFDuSuyIm<7m@h(?9)2& z9Xtj+j8r{fEB+N!`#aCN++R?J<`m0}gid9s!`Drb9SbA@kiyM595{=+-Sk@||Awo< zrS_2k-(8uty*cbJw!5WU+mw-OtfZU}#5L+%u@RMX(9t*BHa%m4vse#%*g_Ex;?Jp< z%Rz6Y`3%3jHfd;p@|SfR6U!aijC0!}Z9MQbK-REeb{;$h{}hUW9k8eHXBYk?crLx; zO_7xiX>VlbMAtvf7)=BDshBnAbE za$G--fzA$nWrjt5F-FX_al>BkF~#?YQar=$xk~NPMtfz_*K%C>c93&F=A!heqC_6W zZeVL21$!T-33*SA=T=~Zk0%g$>T&9o^zo2;xCl(|#P@TC-CD@} zkINKwTBBLWQ2wGxqK>AsT2Kp_#~gwSksA6x8inYag!jw^aLK+jW{;d~iEuR-k$7R9rcBI_ z2_!~#B?I^aP}j~W-rJU{*(A?VeJz^v1I#Z=gReM{yy2P`=%$nWMV^0awNh%ye3*?bzO%s!FSqNBV`JTnW1`T_qWywM?BC9Eje2 z$=$&F*GazJ7xjAD2$Mi9KXa>NuE=Vc*85|3Gokh*<#eBoyt;Qm&D#w9bocUg>DKg- zzP*fSo6n^<0Ajt|Ye9t+Lzi5lmLnE>BW(-oxu(kgu@J=-Ig`SeIEM~jNMUWEX_3KYm#a;i zRrHQ4D3HCpAIAb>%7;{MI9E<)QIhAlGJ}?<%LGoB=5=9t zb29nu4wV#ul^^{C*7a;k@E`Wz0iE@k`&#O{R8YU4({T}@|2wxt;>af(BR>E-W7zZw zf#Il)3xbvXnmxn5Yu@hu&CSx34t}t_Q-5D86g5y%H+#nXzVmFwkDcvr&EVwC=mx5) z*sw!QLsW%VjrJ7L*rQD6HNd(|-idw(v21m!NMfW8D`{pzF`5u`Pc~c*0x;R^weEzN*X%GkWPodVX2`}{a3+e zt$ON3htr_US$T1eC|G_J>KZ0RV(*nzNqdnYR7eL)2N)Vx>eyXZ8$8My9OPVqki{;h znR*+4hP)ROaDg$L+aytC#kwG(i#1L}D{`%Tk` z|EsqyfS`lm7W?^oQNFL5RAPPfkQ)r-$bFamy3XMv#Ke6kc!ldEiQALCgGimff_5M2 zYvc@<9N+e8Ub+oM`)58uIxF^rN9Kjc?!g0IsTxWR_&i?AseN*}RcL8XZtXGuEYlOk zx54-ViV6T1V|*~ee`yFYb)cWYTlv{!%b&V!Q{cG>(1jhpoe5{)7CB)ds%s_=`2b@g z!C7bQcu{w6vu6>X4GSh-t@IXYAsvU)up;hb9{C)}w?;9^_Zr|{iQU1RBA?QKbp$Fq z_JsDWSxmxpQBzF+n>)F?MARvN!)^7|t(Bv)!TrJ@H zIth&QK_Z_(`tcBlOcDq4Y2yU*9`bo^|GD*N2EjYEWH6pV3NuKYR#Xjq7B0PL%hP&d z*|BZZ%X6qsBa8tIu`=@r5!&BdOg3>x;yy!U1 z#N|s46g^4S*Bd=^DqTiw04A0F(efe@!Szs)>EC-R@@Yv*`9_pN$%QM)dKO6vE<^%Z z;c75n|J0e{T#r9&s*dDoIB2>rF@R&3rLr=jN%{H>O{FVCbB zYm{ecjy;mpb?vzWQ7H}zuW?-}M$D;&eIiD!XUNn+CGZ}U|xQ?U>y8iBI0 z4)-syZp+zdrPkY*D}n50J#TcnYziA^@11d$9-EN}@AQOs%`YejzQk#gT-h6JKx%^& zBqu4R$(}3GO@dEXpj_zvW%+nAswNFT{N=H#_|0#RQUb}deQ(lJH88^UUt!3*Yy(WL z8{wr~e;zbP_Hn|1v{{q6T+56p>r@DpCtJ)w2?WkbI`E!95g#S5Ow#4C+LmjM&@F{y ztC|U2Mw1ot3ML{F;Kll9H_d(Eh#`*8ee@isKola8jHXX`&e&vIa;d*r~a_gkbkwFnI zC>YG4(AYU@Paec`=(SO@%CH$Q!l~pGM@pc!{jPmqZtz#L>PQ{y>nxFTptt2Uc)>kKa-avbC2M{->Moy3=p|svQwA)uK91bQfcU`Or+!b@goCN2z+L; zaJ}U=@MwD3p?2&f^6K%+(?h%%Z)%~oG$c2(EFX_JG*!t%h}U_R9-ESVk#P~J(f|8i zo}IN^j-+e$X68SR|3l9hF6|@g&#luJmzjKq$&f)@c0?9lzq$S8FR?MiI~3(WVu4(8 zpaCj4DihUW)%qWY2Wy%rea+zcfUZW7xo{GhN9o;FMelO_1X(#qd|g*G2=> z_E1QU=Ay@L#hV}0r`4Z1Hh^$ECZ|e$?MMk}Lp|C&%DJATa zo$;*>qIcvpMh|j!K0Mv?pniC#cA?&8j6-jjUhJ_=eb1yrrnTpzZ9~=x6Rh6v_tpCk zCV1FiFb5JBD<-KrgdXkph!WfXHKGFt!w^N6v{AxC!2uO|ZNIwavK6x?Xg^otK3)3q zHGe=@0AQNc(&dHMx_@DkK52DQRe+~EkA`S6I?}usyZ*6yiLbfe%sUTp;$|K%e>Wgyt^(X(z_F?h2S?lSlJOVe; z&)ZRv2n{kFcI^%iahF!!gytSi_A8e~T=58sW7j%bMiCK#m(nlMn!wa#-hPPfpqYh* zks}KGGm-Srxf07|y51_5V~~JIp%h+POqX8Cl1!5U^WAJF&BkW~!23vZ+||id02OC8 z>MlALztLFQ@zLMGBSNg(?h_F%!H5aa?ua?UNTuZZf>4A~Es066#v0-8JdR9|yeZY7 z1!hDLrBl9JY>WF4oQlA}zKc$T$-GPybSfwU*Y>Y4n01Tcs6Wv)N&rFqWFPQ?KmzBG zIvOySv?`}OzsP>N#7rT?Afm?n@uO6H9JR^i3vli@tOHZp5D!)-a=MQZ233VDKcNf*a?RVe5Q`DaT z=UE1Wf)nA1(#EX_p%Bm)0TxmfTP1LjX4|JSy_Y77<)h{YhkXVie&f6`|E{5iPa9`E zM>K}AY0wuu|Bc!k4#VG=T$JrG*sCLj8F0U-^aBnoN}_T}j3Fj}=g-~EzE%pzN0cHV zZQ#rX=W4RqLIFacqAT5G(#}n|$y>>a|J{7g_kSqdeV@0pWpatHmHU&a`KFkF1S60@ z0*fLGOv?#>i!}2DSQEZ#&8!PX-zVC)5wj{0vMVY3Y(a|FN_H9-n^Y`OchjT*MC}Vw z`EaKG_f|iqwqY#9Hyhd*3bklW7vC*?AZ82nKnt*>QYb6N-aM0quT7k~MK;v{EZ_eA zqb=!x1}iO?nPFLf^amuW4whD4;oQ5adHW*wB{CGC>d1HeVTcekdf_vhP1Fy6VTkB{ zwBT7Y)-o)VQ${II9W$t!RUG}UF`ZX2|I^MHS_JFGV(fP8w`1`wx`N%dX>~&n-?s(e z^1F$fR=ya3esB++g}(hT_crjr*@9-5Ge;e#|6_z`yv0mJ#4_uf9_2sa2K-=?;*?P^IdoPXf#VKw^Vg- z5S9c4Y8=7S!73d|Q%Y{Htxi)({tl6181m*Rcch-mp!KeT>ECs+y83 zoIf%P&ts6(t--6;&eDpXvo~kqY(qwS%f(CW*v}%3NG%1h-FP;7rlxM;&A!u+o2`Zc zJ`P{Er!TJGY>d^w5CT)%aXkb+c{W!}Gqe7Bw?lrXNc*~g2UIOny%RnC)Tz`Xtw|{2 zL*TU5HVhEUOt0SO@=0Y5hI{VJxJv~v)wQqL<=wQy1v$7#w}^9HbH=6)P)qU zF{UZ#+m>8pka8Y_C8+#%Y}^JjzgZU8x$W*3>M>h-G!E`%L}CBojUm8e(7}4eBMC2W zvD;@|%lw?PJ$GB*#v|&k@pNoRbwoNT36VhcTB_+QKT}Plkf$94g!vu%TG=HFIKE9j zC4X4ez9F__7jV%uU7$8IX?Ic}rQ@WLuq%zyPuaiM#_MSj+kn~sL2L14<9 zo6TadNbOpsek1g~oYVx4V6)vK48{7g{ z^cToM1^7vT_Akm~(Laay>U?dldmfh^uF@Yp*wJmVL%V}un?gj3R6v(3DZeKq7unV* zg9h8pV%!h4{kDetPN^feC%lQ%ZK`Xmdk1S6JyL@9A5)_XnPb)sA(_L}Gi=tK@gf%4 zEkC|8^OYzBwAAW=9j}-w5GiT{DY}WE+0MNxtkBk?xEq?)-Kz=iX=iUYvsz;N^ltJY z@c22fTgbw`ywRhBi{G5omW>N5rpv(bojd@09zp!*#r76Y8zkSO)r@b5^Y9p+~w zD_`Hgm_G&CnvWlqpqApuX;--ezM;}?tJU~8Jx1A(aSR0*L(dnhQ06f}1e7m{!4F^G zzv~p*vc5L03tFXxkosFUE*peXS)dJ$f)q?~p^+nlzB4~GL`ACfsC;v8wHYbg6if#q z1QCOQmEoHe!d8j>Kbp=lIQ`&Z99!^H&$aeww=aSW7}4f#ztf7J$>Hw zUn?tLb8^n!vuCdPU9;uz{y~5nQ39glKN-#))(ys7TKlneo< zL4py{NVp`L#?g!@c`(K38U{YNJtMJiLeNGo1&=O@Sg8`MMR}aCzo6maXbbXNW7uOX z>dH%l47UT`Uxl8Z=>L60<7k?j0a|}5TbT^2L!+C$pUd(MAQBH77eE;-*RTrx;|u|P zh%!$8jSxXR7*}Ek0h&&r#;x`7g^{HAO+XM+65`LTyQfv&%h}m0MoTOq zi@d;s8ynvbRIrm;`Aq;%%sLAsN?O`Mgp`ZmW-Phf9gPR06peQX<=%t>gL^Xp7pO1b zr~T2f$2l_IIxwgWqTi|>gqk}Q&iowiNOUt}$kluRF-0=)6Z5~v7MVIU$TE;Yzo9?8 zVVsgxXHm|a>}x4rw1)NvpcEhg%(2A)s4-+{Xh<0D%$9jGLL!PS*ycC{KY(z}`x1fT zAe9+Z_2X0l{Tk1z857jA^Kj35E{;2T2Zra$OJvD^Qc}>&(9O?dh$8KFu;WN2C$pWn zrw4FB-?-pPT7hXQdy+Q&ek{XP10<&8bq z-xy2Miw`odeh2FF2N@f}3)_e`iGl46-Oh~E7GX)K+^P?Hkarqq6pgJANX@t=?&K2tA{|LTng0(qi*+`pSx|CYw57D zH4yAu7W(pw9RNGgfA}FFiwY!pyf}x|*Ao)&PiPK)kkSs{zz#M{&JsuK3KMCOG!p44|&@ zRKZ1$Aw_Aqc@)+me!drONap5&0*#Py=0j1R#91ZyM)Ts>X60nC%B2}+zViqMHWKgXHs3LNDpW7i5zqCd)oMo^d{SF)pk>4^{l1F%2YQqI z%)`YAN+CA#$sA5@bTFVG!EexCGbU6W1FFnCXTMf*ncGY*G3Gy_26^}71yYWn0lg`&HJCyqEJM6z%J1!96$s)2cD z4N=hOlU)qEAUj2?1j`03UzekKKr6LaAO-;vWt!Q^{Vq(-vC(Dj z0G;502EO?M$&dXfX|{t{lee&W2VYjWAx_RzeLev=x8M9l=9FIj6W;iQqpxaLDHh%I z=B@wYu(L`YDlFp^ZN8QgAO=~D$gVyG1Fw`wv$ae`pjk44EF7?R*q3PqK~Sndgv|6+ zSOaP?<;yV;u55MX*r}U~*q=Hc*a(~eT1B^;XZ___${<4VQ$tIw^ydh&!B4Ii4M*Rz z`h7pY`gnh$?b9nN5Q=_tloGcid4|3|TNYqeD7t>Yp9?QtScRiN1V{)gx9 zjy%t?_zsMQoppm&Oh&Y-K5{DA4cT0@woh@~APx+LFeGY-{~)_kXvefwq}O~%t2n@1 z0-3%us#8m{6M3g21DF_izq01_oKR{cNB_;!do?TKlZdUW^PEEj#VOFxpi($?5x6mQ z{el}^!pAkdMBV+~ot{z&N* z$Y~T3e;6RCRH?dt=Gm^8eQQ!!0~Y|W`1rBrQ|Bq53IAj80vlkL%D9BYn(A~+??b%vVw{x5eYg94=69lGn6@uNGw6)!eE)QWx%M9`}7Xw4}nhLmXw zIy!3@rVL_Xd6|aQnAwxtVJf7?2;!KQWBj0r$d*8d!{5s=Opudk|-J$3^I z`rboSp~aS^9Lowt86=H9_6Wh4@|)qhzP=FB|2M+U>KIwBDkS-rM>3?rXYMH!NK}VZ z;ECg5L(|WEBUbFF`1O!T1y+cvEJXT)IIV@d#6Bd_5)uB1Pr(5wXPnX9tQ;%m>@U<2 z|B*bnq3iQ^t!24^4KT0G9Dg&zInX#x-2VJ-`EajLWDh?&(7_Mrp-d#T{nI8ghCDc@OFqUvKn}zhxjp?@LJxpbX1syv+#f}+B%`&a!a^+c1%?ea9 zzw)UNmy^^E!&!4qFB(H}xt*l1U3{k8BP&+-D#@_?!jl)H8K=~ECgzHw1eFfHfuU{a z3%{D+^9#U5Bc*vJ@4*3f2P96^$DPUIy*}iIA38U}S=XUEH7DUEyF{=U3BV{M@SYIu z9aUP@3QArLLtJcusxZMQ6hA!ShA*r^5UFN;dLdVX>n2Q*umL;gcEg5q5P`%XVkpKf zC8~u@!C&q*npMT0&j3B4-%j#DQC@6AjauW6e!KdZ>@jD5qTb}UXrviB&BCQWTFnAW zRUe;^Uo^gjU5MpMAPIZZ*X(7A@6+vP&7OLeo*&6+v1IijtTL8sSVXd};6o-F18J03 zbvNsYyiC_t@7IzOaVxf!Ker!E^U zuRk$wJNmJ3&z;tKmc?Za*Q8W5o12&DKQ-(*vwM80Mv;3Ko(f5yfYyM`$l8J&Eo&Zcd-wRUOKuR~!A`3@Vum2FTr`|wW0#KoN^< zU-`^>IC$<+B36Y}ObqifU{{)#CD;dEy4wv40Pby9nNWyVi~d=^PC1 zr6PXUsY0jJp z`^C&6;oWw6g8OUcBAeZb`)X%?UIt^is&#FYk*S3}b0@KG&Frq=E}ut1h3E2$;ofw1 zZw~~$l_QOKgm3{A@o%w5yeTG?a{hgJ0XTZr@`q>#Q;@QRN7N|hhcST?UNJ887 z!0H)a_%-!FRsn#JLt$RjQDbBBx}$`1!_GVZ5{V%r_MSrxoIjx~yOpp)Mk_c#$7d*3 zj)2~cG4KHQ;I7SfHQ4PsBv+SZ2s3Ork$HaZA!^?sr&hnA3LH=YPl({UaKA4&W;w1B znw&u9|Ct_>^p1fU0$`3PpqNGpbRP~qg38Z@^I_o@@yqg2-M#lWNJ&umO)UOr(WQ17 z)$Ec841i*FCboUpYj8jv`C9;Or0~*6iv!pJlbsg5qI0@E0`McDV#$CLy<(AvBU19u zRKNLd@US>aus)T3$>>iaMZId4oRHaHTe(O0*aj-1vvolFy1 z4CdLi8+CavE+pA{mgIUC47#s}C9JRDM7bM=n1h8N9Py(o3GG+Ty%2-@0u4Da{|s({ z1gEVNx}Cq^aYe6zY>CKttmo zGqOb0v=!rM()xI3NXTSlu$nbX1{(S$a_8QKj2JwYIRG=n8x(-RP$N>UTeCD>xYyLu z!7Cuv-9vbJk(f^Qz}U z{hPVgvR<1t6Fxr?!))(G`U7ov{aU;?w@O?ZC_2 z&U59(Ed;q!Lg^vAd zB{gQh+V?3|DHclpoe=!?u=)T~rYb8|exQ2~STIuTT(Zsm&vQb{Uk9lbzsf=k=>Ek^ zw~m%8S}ZOAA%TF&!9WWcIi0fKR>OR!RAtIbDIA{U$j0nCmz%S};*f&E4}Xt$i9iMDthw{s1fKpI*3( z1>LnDxh18f<7Ej?L0~1K7#Jflc?WeE6?FTUBXV>CzA+fxf9^5JaTT0YGI!H`@)y%S zh(284DVgkj_=1!32QR882(?0Xrt!%YUKv~vafX&8Et_9 zoRZM@IFe!ONWlOPwMg5<>l`_5S~)=oOKi&56FoI1e) z1>Laz|Lcv8^bBaU$aG#9$8hb=vg_Q-MFS2zKm|t4liQ9;^|IeH)o9Ws-*Z^eRkvR_ z0SGPJRG;>i>lW8BER!^)iG6*YK74an5Cp?ZO(qg?8A9^{=N6+)G455F zE`b0V{Ip+15mU-E;k&fd1lDY7)w6-;@oxOAliAPb3diy@>a!77qJ5gc=`Sxi`ESX5-heu$uv zXHN}Aa1b+$Z<74FDl9nPVQ?=Q%*Pz^8q~0LWqce(2hV)c==!Sv+HVst~%OHX4DaI_?Pz1|fcbOo$r+x-3 zIm=|AY(n#Lb$fZK)6`#~XpAgSEw`r&mUc&u`-?=_K@c!`n>sc_R z{j9ak^khm?Qz@BwHG8uH{Fnp{IFy})NWyy&tO~QZ999in(&1mPRrB>sf`}A>_Q4r! zTwH(E*V5^6YF&>JUTGA7E;*Z^J*n5B?6gM<*R5+*q9H%v#W%ir$vv~*u)&u!!mb7k z*Y$n%@b!fTjgvcY&?_D!fY%66QYk*|T=!i!)L#o`;sNa!piQ5^SgKsQT*lf;_6cOO zn9f!xQ(|_IB2&jb_Q@N#iZo^Dtrtf>7yzpk9KS{=QnR12$7oqvkcz_k7&GhJQ%UuX zT0#||HUoFDzv}7qCjz&hV-6~y)M^*$R7I@zp>$nm%$*==zX3fsz-5=C6h};~NcSfr z-A7-+$P~E&xOb-6cQ>d?k`w{~kYWtfYH~=iQ&RvFT&KD@Y7^y`_A6cXy-!Br_YjZ9 z1dbM9YijP~*!pE8Q+6WNmh=Rx;2y0RT%GaTYD5G9Yj8s0Hn=!)1^)~L(g*->*|%N* zpLii+b?y0&6eO%XM1(@lqy&C|!%NRV9~kSz0iQ}-u~%Ns*v1pB?;hKK00)iXE!--H zyULFVU$NBBVSG8j` zJ*>B~oGi7mubk@D-i?LK^)?y<+wYauW(%VgWoe(_ zma+6rqbJYSE~;s~+As0c?BN1juD3GfQX33w&}DF-cY7*_Z8fxSg!s5u)8{!O;Lo*-H8l`lfdK*tCtos7A^-9%J{ zK`=mh%LnPj;JbETLk>5jBM{>=5>86#>z#qJj9Ue9s@}%dAz7wbxgxd+a2F*)3KJp2 zg5U^m(rbkQRa~!myP>S^VJNhXKwX20c>jvVw7j9=X0@d}Co8LboFFHqJDd1^bCDl8so`#2>@8d4R#K;?xiaLDS+8(Sv8Jhbgc>SJMnJ#ovW<*lzsMYeynvV7aeZJyrN{G_xs5ZZ$xlB*EI zp_u8{euD8#j99olnRa`5;=mY9yoY95q`PX}G(%)cm>6A047*Y}4#!C%$64uX5V>f3 z?2F(FI%UAu-Gn=kX%1cWmG%cAUY(w_OO0er`j0>AX_rC4Vii9xT?z7Yr!~e>kDeUf zQ;F7c1sQTpFTxK|FPGsM9&tG0Ims?jNXr zr`(G?942pou(cn~IyE&V$k`s}GdqNJ$qxvJOXS6a7e2LjM;FVs#mb~Wq=<^0Gs?UV z5n=0o^jrTSlTdVgz|?ZEa1_DS6TqZbtF0>UDdk)i$}Lu6d8e~1E)Hi0I!$yM`V-3)uHom zX*H9;(@gMeK8+7P={r^ zfCnVT{B93_oU&Cig9b0&2J1S}b6SUzO$e7e>BFk&0Z)?!Y9IrEdCwVgzGVRTXKF6- zdgVAEEPS3-XI&aaS8p*FRSx~OwAVI#4_mT>@jGzDUJCRttH6SYK)9D!SqoOB z3Qitp9f1zgGOhiJ4xPw@k_VXX#i~jH*FPZUTi3IwEgnInTBHHMJ>Zb>-Q4Io-~-z# zP3ImD@I}n+KiLiGVtC#jV2TF*5a5(K3W7_8iT%YX0VoeBf!%J+5_n|A{zxy4K~^f& z!$yUid%6)oWn^I{N#+>_^b76d82iY7Y5!A<0I;Q6)e`X6z;mm$+wmw{u*+sndf(Jd zYXbLy3c(75EBh(n0ucDrrPL=~g57d7ki#0RgND9&rd6%;(4I6uYd%fgIy z-%Z84?n~2{Yo+2?1~?E2A`g6c;K6UZw-?Csr;Tq}x}`vdETKu!5v({kPTWH#oan`$ zHfhUN6L9%c>($CzI_=L3kh>SD7Hk$KND%9Q;ttY03*4U)qod@QsZeqOzwK-ZGDo!I zrx2nSb=qwZ<*4VWE_hBgv4Fm`Zb1+}7_8LH%{DmVRk!xeowi6qfun}`FRF0L@lS-f z`<+OQiW9Z9tqA}^m3tI@v^DGI7GNtA(6I}Nv z4&R#paLh+g?>GP!GzNOA!ec6Zu@f=r?>sGi?woM}jqOyH&HBP{h4kP-mOWI8I zm4CFZkHe226ZQ2MNNg)u5|AP?H(0hd!o2#@3@9cy>?82FsmRlsYKDT|$_kHxQ8kxD zULw7K%l;vA$WN;?)bW>Foo3B!&GHdg4*^01*SaYN)SFuAxPA7u7bLzymsrMR-?VuO z0>efAV&*%*&fc%|d{|s`^smuObG&!_?*E-&=6OL7dlrm|M)g?+0s{^TF6mB~TFHF8 zxCnzvNnMMYzHx$O9Ep|W`%28i#xFXpr462ohp=#Ey5p=uBQ2yu_q!9!z1>2S$p_!u z!`5&8y-wA^;}vmZ4@!5z*s?!I-<@LsBU&Ip8y{jWLm{;(EljxcDI%`(rUAP*|9L z!dmo5ZXn?Wdz)74(tLOdKiLHRLG_avZd{Yx#RC~8Ys;?cwp|;Vr%oQeS=w4YH2Th+ zgQDtzy2|=odKIc<9}AbS+C7xih1J}lrFoHI`lpj|($ymcatQvHZ#?`6hV!LMUxZvD z+D40Hiu35evCX6wy}_P5H*n6ffhgtp{N`u<=VoEdgr!VvzfWYof|{ZO^6ErrIm{#| zf9;Dn?wmog+PuaH{s2!!-fd-|O5w2Cz1JYVLWOGIJQn_qTbzE^&P%ay+SoAvbF3BnUPied z!SWfR=dFIxApXDjJ%aOjhcsVoUb>_E=zUh?dwRdwzK*iJTEY4jqUxn?R9z#4G0XkQ z3?LB?=fdYHLq=m5Jh*%k$J9t>M0GwOR3}c^i!6h{QB$k9A*MXUpz$=7AsJ0hbUI+ zN>U2eW=Oc(MDrmcTpyrkhkN0vlA<`Nq>&K@2WeXDrzQ}Iri&h3zHH!AG|;%hyw*sp zf^kPV0&bRz&HE*Xi>xnC{(pec@iEB5&?fx(8H{wvBQ7G$;AA@v4D=+dXw<1=iZk)8 z2Lr(#^lSIQn0lo%wOG653&|(3SbLGi__Vkl&e9CU)1L zJMus2^gnA55`>(31zKOCfa4Hmqpf$-=ZNq?i0&|9ia>{A1b{HjrCv(ci6dD}lS+8F zOB}K}+)Etmr_HZWz<`;9v>J=lYBjg+h}=}rCwLf**6<=6hcRu*?i}Bm#p@v_uw{KU znlM1n1WPYSXHJsW0_>ja4~=K9r}c$+Ng2>ZLy{=wHDUe6qpjZ0nVXdR7`Eim`f4{J z-v>_uLCIe~0Rx4VyRyU+KDkPTT*u$It$%)Rr=K>XbVwbe!GZ&-9cD_o%!m zmvdotS}$?`G=P(HZcm>&fwUF0-fUXd!RZMzN1RXL9mmP zo6(nabl@(cmU&^r88|U(^Sr-J0Q@`V}9t6OUHZyw1QhH6x zHxT^A9f(bOzf?nN-@X^9xA+)@C^m@IR>xAh2xeg-!~Sn$#@uPO?gc7M?J^coeiOr= zs?%y6Hs253@NiPtekp_?+wj*CLEQ)UNm2Q6_KkL_lVzq=T=0Ou#X8BMmC_75M^yMrsAQ8qHf4rhV?4J9&{z__wpS0f*oIx&;d1F*-kIlTj;vq%$i)wM94iY5T}9 za+T}c5q>qR0O6SVcNTj_C0Ds;Ql*-?G7`g7AWBw_s<*UNmM5%E@ets};KsV1Q@MdU z#7N3b(-W$%ipvQ8p@5gu?h<1ph4}3=(~rHvy(h;<)vE{RP|#(BfQTIvM$~o@e_<4{ zsT4o(%TS5{*o(gG+*p&h$RsTtmFjW+9m-cw%U_oS7rGdY*`<39*3~+ru*ZkGGZ-K3 z%=#DiWkc~f!lp~M;IGAS8@lo+YT7+R`{W!iZj&YtoNQy-R;F0ww!u^Tw( znL$hj9u^qh42;P75MXVR)I~HoEq0>;zRV!)ApReA|IB)E_s4Xc^rK7PVNQ4x^At@yW*FxBWe-)Wx&QmjQhH z5VbDhRL-@ZozraMIbO)17YhU&hrls;T9iThHe=(l^H<{t7G)GOI7n}f&tN-W)SD+? zH6`a|n%tr#BuiF(Q-CIFHvvbp?QKi$Uwf-&xlN@%I9I~5S{r$^Li}V0awXU=!7zS2 zLC<<15IMMa0i2Z|9WN^gWY?&>QeX_1XIu)&@53abPSErTOG(i6wS z74GW(HU^{fK*%(mjk;a8qLH#pC|+0~G8Lb`s={z_@u$kUt)bj(%!cOlTFfQ&*txn& z4lSSCuE)Fx-yhkKZ?ATdg6Uvbam72{0kNsH5!9naY zbUUyrFnzyQcs>tx>JaLB4P?903K9_cy8rZ>utMf1_WvQY^>VkHHvj%?IDNQF3J|Y! z$x07|l&DxDy!-j zFK*EpoDRzrU9&nx99)7-ZrS-Y%%$YBiE=G7Va4q82#WskK)b_2_SL&@Aayf>b?_wUOrdwadT&u$m z)*ZoEsZpvpMy+&X^0zcfDqG}jq1>d6?tn0Jb^AfOwF9rU+}~|5RKSIW1k`h^C_)z; z!3b+GRP-6gA$O9;u(<^S46yvrYK*lsE}eFAjQc?sJQuHccZIFp3;x z$1mY_OpqkJIh*Gn_vSMXr@=Pye5?~I5BS9~wX)`kbjl5!6VKLe)>k(oVcQeC2h;&> zC^NQkqdnZ5<9=X2>{%<(Vr+Jr4rbHylG1FGgq`0P+xh9aVPxmrSRzd{bTF?tTPrAA zjxr|$?c62W%NL0V6OI8vu5>nC$gG*D=Fn&^4`x1rh|Kd#Y5pA|if=M32`WegH$Bqy z9^)!xC3Q#Yuzu@hqzLekq_DU+Dv02X5{XR`tg#Hluu4U8%G8;gW>Ayq47iN^zuFJe z`R7#`?|(&yCS9z+5@e@4YiS|wL)=YC5qU-$cK>lQG;dSL_pL0nnjt*n`GO9CRr7F{ zpF=xleQfX{l8+t{J9E^->9^K-GZYOh6>DstEOx%G8;P;Kw{z z*k*Ic0yZ3oPJdd5)Q8MfxncRn_}f}l)A;B#>%JRs=y}^z3VdsJEk4Qfag6v^1E+=j zB^nqy5-0xjnL!^XvQ+eO*ASAOYaB@U9B}^9$xZoqGJEqw$h+Ah6B8iUXyirQ!e)W| z3-^y|NTtIA9U!+(7=S(NWB8M6?Ybk0!<~r<@(I=Uf{BS~0(oDBdta=;f0DXjJF{)& z$nYP|n{Zw>* z?cK`PxuRn{IU?FjN{QE>{c*m5k4{de=`4x$U)n^fvXM_yf6kk*tH%6jgLtR+f}3sm z!zGkESD z_wIoOQVy5i@@N(&*RDa9RHb; z{C%JJ>IE{1Of@co2T{~~r?dm48uOarza;{8Jb;m%P}^(axpJL*g9M;z+Qvd7Wy-Nm z`Vth}F+|Ihc<5Q32tW4DL=sGZ&}VO?HOF8hkgw(_+yOaQiWR_YW{xZ$g72M7AC8CM z6anWmi$dbssRo<7)URb#`%*U?I-!>RPC>+`j3}ydeQ3nhO%NN_DIt(PMEkIn6U4r& zK*`4r-F)A#2k{t9T}vkZV=gFc3--j@pzVnN@!q>WQm|RZSIh{{1%dVT(NJ3g7YBCbEbRj%WR4(43av6j3Rmci5{uMPYk;7 z?TI163T|y{{Ldr|@SdL{$dPgfm*#2xCwAZ<$s+U0P(VU``}zjJwe-@90qIsjYlCKW zaI8NUS@!v!pgn)|L@oCV(~;-qj`3tBhh8Jolt#*yOJx7@DTZa}!pAy&E)Ug2EQlgp zKKK#u7CCxw1C(SeKfFcN3FS*t#84a)?$H{R?Hnva8i#7xy|=;3dx<5-mDgwsVe0g65yr?#lkQr=;KdJ&~zi;`?qg)9*w%yhV}(#TJGcT->Qtd$`Iiu z@4h19j_M#4)1zvfJFf_u5dT1(#xldtLWq)yp(52*@f1TLelpJ7P`id4wsbzYV{lVE z-6Z^bTALP#r{A|vkUyIZL!%DE2Pzh{7V8_U?I_>{DJp%D_l+cw)5mvE@d#Rp_i8n5*tC)w!t>R} zF!|>Pxl1Ct;HeRM z0saz?1vA!`KYUoU26Xwydl+Ni3*Q)T#byL?F55}p^aESUy`?J;Awi77-U7_8O}>qr z=2vLJQNtCQyru`NUBnLiQh^V@r?o*Mia=#j18`q?TV| zdi%0vc;2pXe+hg3kSxBTk+e0SFv#tyD7D6^ht%pO#d)pT76?%2B2HcRL1z8z6P%wY z3~Vd@oRgnXgrGtjs*f$Fk}Rh|xGrCX(Mww7T;rXw(-06~MEKw87Mc6jEGG9kcQE!x zbJ+Kqs!GMzE?uw>Ry~-m96ZE7ResK;B{Ibwb#2PDT&8tqH&6C!-F5@a8fC@^Kpr!k z9V5u7M{D|V38q4;L5{}J;$Z|P;!kBV!2NSl-eM2ak4Hf63*PhyJ+RVblheN;-pzH? z&O1d~5Z`U!!jtO9Ql|uZ|+Ddmy%9$l07im-re2C}yRh>}q3c0TC4aq@< zFLk?&`ncK=t?MfQF&#Bapw6cPZDV>l!?en5V~PqbiHkEA+`oPn5I{0Xq7fu~pHUi{ zKOl+X&Ux`FBZ$|9b6%Tfzxwb8pZ)q;NU{Ylt7y}nWb}pQJHJ=+Ji6JNds?qZcud5| z7kYcx)vWI)8sewgd>ph7eLFIs(&RGBCB4|mF@BXq`NI)5Fo+HFv`3ra_s{eYjQWOc#R}?q+Jgx1G998r@yO(0)1*35K zfe4&7bxa!0o9TumR&Hg2a1njq&Fm6RNQ)s03^m7PPE?)5URUjwp~NuIRT0Pijoah# z(D?5D^2?TdvW|# zfc+ONL_{{EaR&CT;&c}0w>xLw-DDS_v#nxZR{s*wVXcFGV5`{-C=Q1mwv6g@Y{>hZ zW81yFrf&MUt==h$DcmR9C(AtwYfkca`hXydH=!@zvMl&?(=q)dY&O z^CnvRQfmYSPZCJZMd0{y+pSwU#7r^JSdGg`4hxrS&F1{O`Yd#sQ$r!yUUlG`>6&Q- z*uzt3-F+9Wei+#%1iw)P(F!TYuGpvLRo)KuE|pzvp0Cw^*H-+?7mSjX0tm2H@=h0> z!!qYK&rbuF1e3f+lo{S^99%nOw1l0^3wGD|a~ryp8iEZcEAWxDv}SPJu|Tb3vo|Iy zQ=Y5sX&a&j2Eq%td>>kL@!Iu)ypno(-=^{mN@O_v_F(&D?KI(Dioo%mzbbSVBSRG& zw9YH!==Xr6BB#MXe7b+BOTHuijI-UaH3-M0oiiheAflAu&>96gVVDGLjrlL@>l)#- zV#K?7lZcj8bbb8^!(p+f%A#3jzR;m+J&jQ;Omt*)coN{S!hzMuIQ^0)L3_hzSvhQ8 z>(;;kzqTs#YfnOu!=q1-n@-u@i?sxhIV+A=&wM2ga4az^p09TgbG!~Mm$>ivgyG)P z?P|S~=kujR?u#G|t7M9ZU~=?RQLbVX*Q;`2vEs;7?tJ`bROYbn!pi%=-bL!3#=Mkm zeZ3q&VmEkPxh@0*48KAm_&*eJH;=M=ClWX3^xAFb{l%h*P(${5>p28l5!w;0~ya8;>_;B1KbE$9t z%Ej8anb}Y2;6{OgGh2>$>lilZQThGGJT$DIL3FnT{pKC^AY9POTUUFg`;-Ui_X_U{ zBGoI%)Fky`kHy9n9`<(^_sGeIAeqvyj` z@f0H32E7A2gWYY+Cr;DTH7}Dd<&PqYpRH!580$uJ=y!wT3$hvsiCvvHP3SP$V`f${ z>s`-FoVlk4DhI8~UDqdY4vS5;5a){=D<9A<_nI70ETV*JkZ=xO|MG#z4<^jT8)59K z62qC~u0Rw}ifP`*f)FUE7Y3BKErJ%rY(F8&sL&Hk`TnIW0{-Obs_vjZ4rDZTc&VXv z)F!IeqXjCdm_6S7td<}5VPPm`la`_k9U5Xa5<_ z!Mctuj|lx_XzQ=wY+LEg&i$Nv-=pw@bTKld4{MMXe? z%kl8#FB0(z=L|RI$bzQKXyQm1ExtBuhXn{AyN<=wkv4#GLh^2eba@@2d`pMkQ)7>e z&hU)-@>3N`k3@Po#Q-`K$A~5v0Rdh*hRQ_G{IAAy>HO&zBnuN^>A(jxYZ#fpqb(yS z;}b0yERoiN3-@2$tV%c!PoIoSl>Nr?=}kWwUwP%8Tajx$ck!%rN)#5}G?RtM1spXe zBQC2gMDr2=isRlVH8wG+jNRLplFonr9OA54lt}4jR^92ac?(X;v*!(u#LNPp?n#OpLmob_tOp|Ia{^Yet9se^(lvI;JxO;N&(0Vqp@bUMEFTkyF*G9(ivr_0YRV54hj(EXDH2@D`@@9mn#lRLyx z5z@iq{U`HvGqLcq7RE5b%T32(jwskbGkHodq_a$0(s;bjv-McJ2R3h1qbr0U6dWM? za`Du%JdG*ZIsD&HF7kIq554U7bSkHxR5{J+p zI7r@SKzt{S7i2*2tiYRW~iaqA=Uof|e@EKt0Ml4{#g!*GCUoRtn z!~;{$kUHtPRVcL$x9CdtFcRSV@Z(#QasBvo3spqZ&$TEuLfnmMJp!pY#i5vZLt8uKp2w2|$8ZoHOOklEyoDz#zn@ZHfZL<_ZT7$ivxJJB11716&C zfc#Hh8}V>FysX)@McT}9fqGSRYifZAV7*S*((N;Q9w9XrI=^UrFO4f&_vj|Njyhfc1%ir%u*M&jsYmh)1bh}8ko9Y|* zkCl=ni(wz;!_yL}OOk!tp-vt{?`DLG{g{~}%{}L?bv=pm_(YxR?yEc~y&A%tZI`P2 z@owqYK8WG1cpSWA(#S11NsDBMzeTLxsnVJ15`_X5AVuDZIx;%hoTZ}-`&{4-Q$}I{P)Vs zW-17(DIptv6Y9y#=sPfPaVvk}SI(T_#sPV< zS=EFmzlBT`i;Z2cXv)iazwRRT{(|M?&Ylu<1iACo`W)AD&>1@T1k+lE@);UWRF|2g zK$#uQ87VimrQ1D`9YȬ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