From e54ebdfd8a5db92a2285e2f35e5f1c1572230404 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Tue, 12 Nov 2024 19:12:43 +0000 Subject: [PATCH] build based on 41558b0 --- previews/PR223/404.html | 4 +- previews/PR223/api.html | 136 +++++++++--------- previews/PR223/assets/aaegqlt.gC6NtZYH.png | Bin 0 -> 65399 bytes ...wapl.Dz86q2IX.png => aefmqmp.Dz86q2IX.png} | Bin ...{api.md.88Ix4NwQ.js => api.md.Dv50llkJ.js} | 130 ++++++++--------- ...Ix4NwQ.lean.js => api.md.Dv50llkJ.lean.js} | 130 ++++++++--------- .../{app.DL3ovM_v.js => app.BNwP-Ex3.js} | 2 +- ...ryqm.CgiryX2p.png => blqgedn.CgiryX2p.png} | Bin ...pchs.DuBHk1fh.png => bmacnmz.DuBHk1fh.png} | Bin .../chunks/@localSearchIndexroot.CxEje2mr.js | 1 + .../chunks/@localSearchIndexroot.L4o_yJ4O.js | 1 - ...ZMIiIk.js => VPLocalSearchBox.yWpfKypT.js} | 2 +- .../{theme.CDvBzsrw.js => theme.2ns2mT58.js} | 4 +- ...gfhf.Cx40vhB3.png => cspsnmc.Cx40vhB3.png} | Bin ...uutw.4wfjCtJV.png => ctsaams.4wfjCtJV.png} | Bin previews/PR223/assets/cyucmbv.DC4y0VyW.png | Bin 75314 -> 0 bytes ...qdma.mCtKcWOr.png => ebhntcy.mCtKcWOr.png} | Bin ... => experiments_predicates.md.j5fAFHV4.js} | 2 +- ...xperiments_predicates.md.j5fAFHV4.lean.js} | 2 +- ...fbie.DiwGEg2f.png => fidxlsx.DiwGEg2f.png} | Bin ...uyrw.BEFUMtlf.png => gcpjevp.BEFUMtlf.png} | Bin ...pqcv.Dig-DWOQ.png => gjbmlxs.Dig-DWOQ.png} | Bin ...tlfb.BD0hVfse.png => hxyundz.BD0hVfse.png} | Bin ...kgli.CPClNl7F.png => isxruyl.CPClNl7F.png} | Bin ...fkpx.DaovVbE6.png => kjgfzhi.DaovVbE6.png} | Bin ...bpoz.pAYw0Yqf.png => klrwoer.pAYw0Yqf.png} | Bin ...pmrt.3UVIT8DR.png => kqiyyvg.3UVIT8DR.png} | Bin ...jbqt.DTKLkKh_.png => kvroira.DTKLkKh_.png} | Bin ...roon.D5-bot8v.png => lpqxuig.D5-bot8v.png} | Bin ...oodf.0f3Lq4Lw.png => maluozr.0f3Lq4Lw.png} | Bin ...ntzg.C3SxJ3x-.png => mdimjbm.C3SxJ3x-.png} | Bin ...jhcp.D9AE7i2o.png => mkhxykp.D9AE7i2o.png} | Bin previews/PR223/assets/mmkktke.CkQRG6fq.png | Bin 0 -> 59213 bytes previews/PR223/assets/mqvljwp.-CDZiwfI.png | Bin 0 -> 81670 bytes ...eida.DHcwB147.png => mtkwylx.DHcwB147.png} | Bin ...ogdl.DC3TvBOO.png => nehkfku.DC3TvBOO.png} | Bin previews/PR223/assets/nvxsqdf.rhXQcALd.png | Bin 207890 -> 0 bytes previews/PR223/assets/pomvvgz.CuWV1WnB.png | Bin 0 -> 65487 bytes previews/PR223/assets/qdorhiy.BIP3BpPa.png | Bin 0 -> 65171 bytes ...lexw.DeeQUply.png => qlzwqxu.DeeQUply.png} | Bin previews/PR223/assets/qsmmicn.bBYqkLs5.png | Bin 64554 -> 0 bytes previews/PR223/assets/rxezlfx.CTQklLCP.png | Bin 59618 -> 0 bytes ...s => source_methods_angles.md.upuhPtDU.js} | 2 +- ...source_methods_angles.md.upuhPtDU.lean.js} | 2 +- ....js => source_methods_area.md.D3r3WiYF.js} | 2 +- ...> source_methods_area.md.D3r3WiYF.lean.js} | 2 +- ...source_methods_barycentric.md.CzZncmJl.js} | 2 +- ...e_methods_barycentric.md.CzZncmJl.lean.js} | 2 +- ...=> source_methods_centroid.md.YD8bCMDe.js} | 2 +- ...urce_methods_centroid.md.YD8bCMDe.lean.js} | 2 +- ..._methods_clipping_coverage.md.C_Hyf7aG.js} | 2 +- ...ods_clipping_coverage.md.C_Hyf7aG.lean.js} | 2 +- ...ource_methods_clipping_cut.md.6BFyK6po.js} | 2 +- ..._methods_clipping_cut.md.6BFyK6po.lean.js} | 2 +- ...source_methods_convex_hull.md.cbwZFasG.js} | 2 +- ...e_methods_convex_hull.md.cbwZFasG.lean.js} | 2 +- ...=> source_methods_distance.md.Bdzu_X22.js} | 2 +- ...urce_methods_distance.md.Bdzu_X22.lean.js} | 2 +- ...s => source_methods_equals.md.ButfUZdG.js} | 2 +- ...source_methods_equals.md.ButfUZdG.lean.js} | 2 +- ...ds_geom_relations_contains.md.BoL57JL7.js} | 2 +- ...om_relations_contains.md.BoL57JL7.lean.js} | 2 +- ...s_geom_relations_coveredby.md.cROtFb1L.js} | 2 +- ...m_relations_coveredby.md.cROtFb1L.lean.js} | 2 +- ...hods_geom_relations_covers.md.CDxzQwKd.js} | 2 +- ...geom_relations_covers.md.CDxzQwKd.lean.js} | 2 +- ...ds_geom_relations_disjoint.md.B5cW57zI.js} | 2 +- ...om_relations_disjoint.md.B5cW57zI.lean.js} | 2 +- ..._geom_relations_intersects.md.CJwei8bT.js} | 2 +- ..._relations_intersects.md.CJwei8bT.lean.js} | 2 +- ...ds_geom_relations_overlaps.md.Dq8ENWxl.js} | 2 +- ...om_relations_overlaps.md.Dq8ENWxl.lean.js} | 2 +- ...ods_geom_relations_touches.md.D8JlYW-C.js} | 2 +- ...eom_relations_touches.md.D8JlYW-C.lean.js} | 2 +- ...hods_geom_relations_within.md.CY92463r.js} | 2 +- ...geom_relations_within.md.CY92463r.lean.js} | 2 +- ...sJj.js => source_src_apply.md.CMBNO61I.js} | 2 +- ...s => source_src_apply.md.CMBNO61I.lean.js} | 2 +- ...ource_src_other_primitives.md.CuWgCcMg.js} | 4 +- ..._src_other_primitives.md.CuWgCcMg.lean.js} | 4 +- ...ection_geometry_correction.md.DLKdBqqy.js} | 4 +- ...n_geometry_correction.md.DLKdBqqy.lean.js} | 4 +- ...transformations_segmentize.md.DOI6H3S8.js} | 2 +- ...formations_segmentize.md.DOI6H3S8.lean.js} | 2 +- ...e_transformations_simplify.md.XMQQ-eoJ.js} | 2 +- ...nsformations_simplify.md.XMQQ-eoJ.lean.js} | 2 +- previews/PR223/assets/tjhlmlp.Ci5TFGvM.png | Bin 59478 -> 0 bytes ...hnym.rOsRk89v.png => tleiggk.rOsRk89v.png} | Bin ...ahbl.Cb0_DiYE.png => tlraepm.Cb0_DiYE.png} | Bin ...dpih.3sfpQl2i.png => tmfnyjk.3sfpQl2i.png} | Bin ...utorials_creating_geometry.md.CrAVptBu.js} | 2 +- ...als_creating_geometry.md.CrAVptBu.lean.js} | 2 +- ...> tutorials_geodesic_paths.md.6HXJD4rl.js} | 2 +- ...orials_geodesic_paths.md.6HXJD4rl.lean.js} | 2 +- ...=> tutorials_spatial_joins.md.Dbt06x_e.js} | 2 +- ...torials_spatial_joins.md.Dbt06x_e.lean.js} | 2 +- ...okux._0R9BbFk.png => uicozrk._0R9BbFk.png} | Bin ...mdfo.B94PsR1K.png => usvmtvf.B94PsR1K.png} | Bin ...umqa.-VpeHhXX.png => uzrwkyb.-VpeHhXX.png} | Bin ...jvpi.0OJvb21A.png => vjhrlnc.0OJvb21A.png} | Bin previews/PR223/assets/vyxjdbg.D0C8NCan.png | Bin 80428 -> 0 bytes previews/PR223/assets/wcaofkd.Bjs3GBTk.png | Bin 0 -> 73646 bytes previews/PR223/assets/wrchrnr.BGdVEx13.png | Bin 0 -> 207334 bytes previews/PR223/assets/xfvlely.C0aOtA8-.png | Bin 0 -> 228849 bytes previews/PR223/assets/yktfuha.CNrCOFe-.png | Bin 64422 -> 0 bytes previews/PR223/assets/ypjhtxv.DoP_8RWT.png | Bin 230321 -> 0 bytes ...tqju.Dab1-ETk.png => zkkvhzc.Dab1-ETk.png} | Bin ...akzf.Bglvb-jp.png => zrorncv.Bglvb-jp.png} | Bin ...pmar.CULn5saZ.png => ztcrfou.CULn5saZ.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, 547 insertions(+), 547 deletions(-) create mode 100644 previews/PR223/assets/aaegqlt.gC6NtZYH.png rename previews/PR223/assets/{jjdwapl.Dz86q2IX.png => aefmqmp.Dz86q2IX.png} (100%) rename previews/PR223/assets/{api.md.88Ix4NwQ.js => api.md.Dv50llkJ.js} (96%) rename previews/PR223/assets/{api.md.88Ix4NwQ.lean.js => api.md.Dv50llkJ.lean.js} (96%) rename previews/PR223/assets/{app.DL3ovM_v.js => app.BNwP-Ex3.js} (95%) rename previews/PR223/assets/{aeyryqm.CgiryX2p.png => blqgedn.CgiryX2p.png} (100%) rename previews/PR223/assets/{qtrpchs.DuBHk1fh.png => bmacnmz.DuBHk1fh.png} (100%) create mode 100644 previews/PR223/assets/chunks/@localSearchIndexroot.CxEje2mr.js delete mode 100644 previews/PR223/assets/chunks/@localSearchIndexroot.L4o_yJ4O.js rename previews/PR223/assets/chunks/{VPLocalSearchBox.BaZMIiIk.js => VPLocalSearchBox.yWpfKypT.js} (99%) rename previews/PR223/assets/chunks/{theme.CDvBzsrw.js => theme.2ns2mT58.js} (99%) rename previews/PR223/assets/{ihegfhf.Cx40vhB3.png => cspsnmc.Cx40vhB3.png} (100%) rename previews/PR223/assets/{gpyuutw.4wfjCtJV.png => ctsaams.4wfjCtJV.png} (100%) delete mode 100644 previews/PR223/assets/cyucmbv.DC4y0VyW.png rename previews/PR223/assets/{lauqdma.mCtKcWOr.png => ebhntcy.mCtKcWOr.png} (100%) rename previews/PR223/assets/{experiments_predicates.md.BSJab6dd.lean.js => experiments_predicates.md.j5fAFHV4.js} (99%) rename previews/PR223/assets/{experiments_predicates.md.BSJab6dd.js => experiments_predicates.md.j5fAFHV4.lean.js} (99%) rename previews/PR223/assets/{uxlfbie.DiwGEg2f.png => fidxlsx.DiwGEg2f.png} (100%) rename previews/PR223/assets/{iuruyrw.BEFUMtlf.png => gcpjevp.BEFUMtlf.png} (100%) rename previews/PR223/assets/{aoipqcv.Dig-DWOQ.png => gjbmlxs.Dig-DWOQ.png} (100%) rename previews/PR223/assets/{mwktlfb.BD0hVfse.png => hxyundz.BD0hVfse.png} (100%) rename previews/PR223/assets/{qvdkgli.CPClNl7F.png => isxruyl.CPClNl7F.png} (100%) rename previews/PR223/assets/{xzjfkpx.DaovVbE6.png => kjgfzhi.DaovVbE6.png} (100%) rename previews/PR223/assets/{agebpoz.pAYw0Yqf.png => klrwoer.pAYw0Yqf.png} (100%) rename previews/PR223/assets/{trvpmrt.3UVIT8DR.png => kqiyyvg.3UVIT8DR.png} (100%) rename previews/PR223/assets/{bjejbqt.DTKLkKh_.png => kvroira.DTKLkKh_.png} (100%) rename previews/PR223/assets/{zmeroon.D5-bot8v.png => lpqxuig.D5-bot8v.png} (100%) rename previews/PR223/assets/{qlroodf.0f3Lq4Lw.png => maluozr.0f3Lq4Lw.png} (100%) rename previews/PR223/assets/{axkntzg.C3SxJ3x-.png => mdimjbm.C3SxJ3x-.png} (100%) rename previews/PR223/assets/{fpvjhcp.D9AE7i2o.png => mkhxykp.D9AE7i2o.png} (100%) create mode 100644 previews/PR223/assets/mmkktke.CkQRG6fq.png create mode 100644 previews/PR223/assets/mqvljwp.-CDZiwfI.png rename previews/PR223/assets/{asveida.DHcwB147.png => mtkwylx.DHcwB147.png} (100%) rename previews/PR223/assets/{atbogdl.DC3TvBOO.png => nehkfku.DC3TvBOO.png} (100%) delete mode 100644 previews/PR223/assets/nvxsqdf.rhXQcALd.png create mode 100644 previews/PR223/assets/pomvvgz.CuWV1WnB.png create mode 100644 previews/PR223/assets/qdorhiy.BIP3BpPa.png rename previews/PR223/assets/{nqzlexw.DeeQUply.png => qlzwqxu.DeeQUply.png} (100%) delete mode 100644 previews/PR223/assets/qsmmicn.bBYqkLs5.png delete mode 100644 previews/PR223/assets/rxezlfx.CTQklLCP.png rename previews/PR223/assets/{source_methods_angles.md.CTMtCCBJ.lean.js => source_methods_angles.md.upuhPtDU.js} (99%) rename previews/PR223/assets/{source_methods_angles.md.CTMtCCBJ.js => source_methods_angles.md.upuhPtDU.lean.js} (99%) rename previews/PR223/assets/{source_methods_area.md.BXopeq0f.js => source_methods_area.md.D3r3WiYF.js} (99%) rename previews/PR223/assets/{source_methods_area.md.BXopeq0f.lean.js => source_methods_area.md.D3r3WiYF.lean.js} (99%) rename previews/PR223/assets/{source_methods_barycentric.md.5f4UddJg.js => source_methods_barycentric.md.CzZncmJl.js} (99%) rename previews/PR223/assets/{source_methods_barycentric.md.5f4UddJg.lean.js => source_methods_barycentric.md.CzZncmJl.lean.js} (99%) rename previews/PR223/assets/{source_methods_centroid.md.BeZryoQV.js => source_methods_centroid.md.YD8bCMDe.js} (99%) rename previews/PR223/assets/{source_methods_centroid.md.BeZryoQV.lean.js => source_methods_centroid.md.YD8bCMDe.lean.js} (99%) rename previews/PR223/assets/{source_methods_clipping_coverage.md.BoQQ7tcy.js => source_methods_clipping_coverage.md.C_Hyf7aG.js} (99%) rename previews/PR223/assets/{source_methods_clipping_coverage.md.BoQQ7tcy.lean.js => source_methods_clipping_coverage.md.C_Hyf7aG.lean.js} (99%) rename previews/PR223/assets/{source_methods_clipping_cut.md.rF9braH0.js => source_methods_clipping_cut.md.6BFyK6po.js} (99%) rename previews/PR223/assets/{source_methods_clipping_cut.md.rF9braH0.lean.js => source_methods_clipping_cut.md.6BFyK6po.lean.js} (99%) rename previews/PR223/assets/{source_methods_convex_hull.md.DnZQet05.js => source_methods_convex_hull.md.cbwZFasG.js} (99%) rename previews/PR223/assets/{source_methods_convex_hull.md.DnZQet05.lean.js => source_methods_convex_hull.md.cbwZFasG.lean.js} (99%) rename previews/PR223/assets/{source_methods_distance.md.BpcI5Aid.js => source_methods_distance.md.Bdzu_X22.js} (99%) rename previews/PR223/assets/{source_methods_distance.md.BpcI5Aid.lean.js => source_methods_distance.md.Bdzu_X22.lean.js} (99%) rename previews/PR223/assets/{source_methods_equals.md.1xJjnk6G.js => source_methods_equals.md.ButfUZdG.js} (99%) rename previews/PR223/assets/{source_methods_equals.md.1xJjnk6G.lean.js => source_methods_equals.md.ButfUZdG.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_contains.md.DqcOInUF.js => source_methods_geom_relations_contains.md.BoL57JL7.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_contains.md.DqcOInUF.lean.js => source_methods_geom_relations_contains.md.BoL57JL7.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_coveredby.md.h-u0TBeO.js => source_methods_geom_relations_coveredby.md.cROtFb1L.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_coveredby.md.h-u0TBeO.lean.js => source_methods_geom_relations_coveredby.md.cROtFb1L.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_covers.md.D7uNA4Ay.js => source_methods_geom_relations_covers.md.CDxzQwKd.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_covers.md.D7uNA4Ay.lean.js => source_methods_geom_relations_covers.md.CDxzQwKd.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_disjoint.md.D6k5JY_2.js => source_methods_geom_relations_disjoint.md.B5cW57zI.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_disjoint.md.D6k5JY_2.lean.js => source_methods_geom_relations_disjoint.md.B5cW57zI.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_intersects.md.JCqk-z9X.js => source_methods_geom_relations_intersects.md.CJwei8bT.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_intersects.md.JCqk-z9X.lean.js => source_methods_geom_relations_intersects.md.CJwei8bT.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_overlaps.md.C2vgBSzp.js => source_methods_geom_relations_overlaps.md.Dq8ENWxl.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_overlaps.md.C2vgBSzp.lean.js => source_methods_geom_relations_overlaps.md.Dq8ENWxl.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_touches.md.D3r8Cap_.js => source_methods_geom_relations_touches.md.D8JlYW-C.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_touches.md.D3r8Cap_.lean.js => source_methods_geom_relations_touches.md.D8JlYW-C.lean.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_within.md.t05a5xYq.js => source_methods_geom_relations_within.md.CY92463r.js} (99%) rename previews/PR223/assets/{source_methods_geom_relations_within.md.t05a5xYq.lean.js => source_methods_geom_relations_within.md.CY92463r.lean.js} (99%) rename previews/PR223/assets/{source_src_apply.md.DYjxvsJj.js => source_src_apply.md.CMBNO61I.js} (99%) rename previews/PR223/assets/{source_src_apply.md.DYjxvsJj.lean.js => source_src_apply.md.CMBNO61I.lean.js} (99%) rename previews/PR223/assets/{source_src_other_primitives.md.CsA0wozr.js => source_src_other_primitives.md.CuWgCcMg.js} (99%) rename previews/PR223/assets/{source_src_other_primitives.md.CsA0wozr.lean.js => source_src_other_primitives.md.CuWgCcMg.lean.js} (99%) rename previews/PR223/assets/{source_transformations_correction_geometry_correction.md.DF0LZ2pv.js => source_transformations_correction_geometry_correction.md.DLKdBqqy.js} (97%) rename previews/PR223/assets/{source_transformations_correction_geometry_correction.md.DF0LZ2pv.lean.js => source_transformations_correction_geometry_correction.md.DLKdBqqy.lean.js} (97%) rename previews/PR223/assets/{source_transformations_segmentize.md.p2tHvMCA.js => source_transformations_segmentize.md.DOI6H3S8.js} (99%) rename previews/PR223/assets/{source_transformations_segmentize.md.p2tHvMCA.lean.js => source_transformations_segmentize.md.DOI6H3S8.lean.js} (99%) rename previews/PR223/assets/{source_transformations_simplify.md.Yt3iEAK6.js => source_transformations_simplify.md.XMQQ-eoJ.js} (99%) rename previews/PR223/assets/{source_transformations_simplify.md.Yt3iEAK6.lean.js => source_transformations_simplify.md.XMQQ-eoJ.lean.js} (99%) delete mode 100644 previews/PR223/assets/tjhlmlp.Ci5TFGvM.png rename previews/PR223/assets/{aduhnym.rOsRk89v.png => tleiggk.rOsRk89v.png} (100%) rename previews/PR223/assets/{dlyahbl.Cb0_DiYE.png => tlraepm.Cb0_DiYE.png} (100%) rename previews/PR223/assets/{baldpih.3sfpQl2i.png => tmfnyjk.3sfpQl2i.png} (100%) rename previews/PR223/assets/{tutorials_creating_geometry.md.ClrZGKaI.js => tutorials_creating_geometry.md.CrAVptBu.js} (99%) rename previews/PR223/assets/{tutorials_creating_geometry.md.ClrZGKaI.lean.js => tutorials_creating_geometry.md.CrAVptBu.lean.js} (99%) rename previews/PR223/assets/{tutorials_geodesic_paths.md.CZ4O1upL.js => tutorials_geodesic_paths.md.6HXJD4rl.js} (97%) rename previews/PR223/assets/{tutorials_geodesic_paths.md.CZ4O1upL.lean.js => tutorials_geodesic_paths.md.6HXJD4rl.lean.js} (97%) rename previews/PR223/assets/{tutorials_spatial_joins.md.D67WNmeB.js => tutorials_spatial_joins.md.Dbt06x_e.js} (99%) rename previews/PR223/assets/{tutorials_spatial_joins.md.D67WNmeB.lean.js => tutorials_spatial_joins.md.Dbt06x_e.lean.js} (99%) rename previews/PR223/assets/{hhxokux._0R9BbFk.png => uicozrk._0R9BbFk.png} (100%) rename previews/PR223/assets/{gxumdfo.B94PsR1K.png => usvmtvf.B94PsR1K.png} (100%) rename previews/PR223/assets/{mwqumqa.-VpeHhXX.png => uzrwkyb.-VpeHhXX.png} (100%) rename previews/PR223/assets/{rtajvpi.0OJvb21A.png => vjhrlnc.0OJvb21A.png} (100%) delete mode 100644 previews/PR223/assets/vyxjdbg.D0C8NCan.png create mode 100644 previews/PR223/assets/wcaofkd.Bjs3GBTk.png create mode 100644 previews/PR223/assets/wrchrnr.BGdVEx13.png create mode 100644 previews/PR223/assets/xfvlely.C0aOtA8-.png delete mode 100644 previews/PR223/assets/yktfuha.CNrCOFe-.png delete mode 100644 previews/PR223/assets/ypjhtxv.DoP_8RWT.png rename previews/PR223/assets/{diwtqju.Dab1-ETk.png => zkkvhzc.Dab1-ETk.png} (100%) rename previews/PR223/assets/{ojxakzf.Bglvb-jp.png => zrorncv.Bglvb-jp.png} (100%) rename previews/PR223/assets/{uatpmar.CULn5saZ.png => ztcrfou.CULn5saZ.png} (100%) diff --git a/previews/PR223/404.html b/previews/PR223/404.html index e1fe2a5ba..06421114e 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 7a667e596..3402fc636 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/ae7256552c6f443dcd902dcf423f61172386c900/src/methods/clipping/intersection.jl#L177-L195)
+[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/41558b0f5c3cbdd4ba33b714ff2d72470c92b3b4/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/ae7256552c6f443dcd902dcf423f61172386c900/src/methods/barycentric.jl#L289-L305)
+[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/41558b0f5c3cbdd4ba33b714ff2d72470c92b3b4/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/aaegqlt.gC6NtZYH.png b/previews/PR223/assets/aaegqlt.gC6NtZYH.png new file mode 100644 index 0000000000000000000000000000000000000000..561db1c89bff9eba9ef91e8e8f93705d780e0c63 GIT binary patch literal 65399 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�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 d|GFull GeometryOps API documentation

Warning

This page is still very much WIP!

Documentation for GeometryOps's full API (only for reference!).

apply and associated functions

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

Reconstruct a geometry, feature, feature collection, or nested vectors of either using the function f on the target trait.

f(target_geom) => x where x also has the target trait, or a trait that can be substituted. For example, swapping PolgonTrait to MultiPointTrait will fail if the outer object has MultiPolygonTrait, but should work if it has FeatureTrait.

Objects "shallower" than the target trait are always completely rebuilt, like a Vector of FeatureCollectionTrait of FeatureTrait when the target has PolygonTrait and is held in the features. These will always be GeoInterface geometries/feature/feature collections. But "deeper" objects may remain unchanged or be whatever GeoInterface compatible objects f returns.

The result is a functionally similar geometry with values depending on f.

  • 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.

Example

Flipped point the order in any feature or geometry, or iterables of either:

julia
import GeoInterface as GI
+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/framework.CIByTNPs.js";const mi=JSON.parse('{"title":"Full GeometryOps API documentation","description":"","frontmatter":{},"headers":[],"relativePath":"api.md","filePath":"api.md","lastUpdated":null}'),r={name:"api.md"},o={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},Q={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},J={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""},H={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},W={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},_={class:"jldocstring custom-block",open:""},K={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},$={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},ss={class:"jldocstring custom-block",open:""},is={class:"jldocstring custom-block",open:""},as={class:"jldocstring custom-block",open:""},es={class:"jldocstring custom-block",open:""},ts={class:"jldocstring custom-block",open:""},ns={class:"jldocstring custom-block",open:""},ls={class:"jldocstring custom-block",open:""},ps={class:"jldocstring custom-block",open:""},hs={class:"jldocstring custom-block",open:""},ks={class:"jldocstring custom-block",open:""},rs={class:"jldocstring custom-block",open:""},os={class:"jldocstring custom-block",open:""},ds={class:"jldocstring custom-block",open:""},gs={class:"jldocstring custom-block",open:""},ys={class:"jldocstring custom-block",open:""},Es={class:"jldocstring custom-block",open:""},cs={class:"jldocstring custom-block",open:""},us={class:"jldocstring custom-block",open:""},ms={class:"jldocstring custom-block",open:""},bs={class:"jldocstring custom-block",open:""},Fs={class:"jldocstring custom-block",open:""},Cs={class:"jldocstring custom-block",open:""},fs={class:"jldocstring custom-block",open:""},Ts={class:"jldocstring custom-block",open:""},Gs={class:"jldocstring custom-block",open:""},vs={class:"jldocstring custom-block",open:""},As={class:"jldocstring custom-block",open:""},js={class:"jldocstring custom-block",open:""},Bs={class:"jldocstring custom-block",open:""},Os={class:"jldocstring custom-block",open:""},Ds={class:"jldocstring custom-block",open:""},Qs={class:"jldocstring custom-block",open:""},xs={class:"jldocstring custom-block",open:""},ws={class:"jldocstring custom-block",open:""},Ls={class:"jldocstring custom-block",open:""},Is={class:"jldocstring custom-block",open:""},Ms={class:"jldocstring custom-block",open:""},Ps={class:"jldocstring custom-block",open:""},qs={class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},Rs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.827ex"},xmlns:"http://www.w3.org/2000/svg",width:"33.539ex",height:"6.785ex",role:"img",focusable:"false",viewBox:"0 -1749.5 14824.1 2999","aria-hidden":"true"},Ss={class:"jldocstring custom-block",open:""},Vs={class:"jldocstring custom-block",open:""},Js={class:"jldocstring custom-block",open:""},Us={class:"jldocstring custom-block",open:""},Hs={class:"jldocstring custom-block",open:""},Ns={class:"jldocstring custom-block",open:""},Ws={class:"jldocstring custom-block",open:""},zs={class:"jldocstring custom-block",open:""},Zs={class:"jldocstring custom-block",open:""},_s={class:"jldocstring custom-block",open:""},Ks={class:"jldocstring custom-block",open:""},Xs={class:"jldocstring custom-block",open:""},$s={class:"jldocstring custom-block",open:""},Ys={class:"jldocstring custom-block",open:""},si={class:"jldocstring custom-block",open:""},ii={class:"jldocstring custom-block",open:""},ai={class:"jldocstring custom-block",open:""},ei={class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},ti={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.059ex"},xmlns:"http://www.w3.org/2000/svg",width:"27.746ex",height:"5.362ex",role:"img",focusable:"false",viewBox:"0 -1460 12263.9 2370","aria-hidden":"true"},ni={class:"jldocstring custom-block",open:""},li={class:"jldocstring custom-block",open:""},pi={class:"jldocstring custom-block",open:""},hi={class:"jldocstring custom-block",open:""},ki={class:"jldocstring custom-block",open:""},ri={class:"jldocstring custom-block",open:""};function oi(di,s,gi,yi,Ei,ci){const t=k("Badge");return p(),l("div",null,[s[318]||(s[318]=a('

Full GeometryOps API documentation

Warning

This page is still very much WIP!

Documentation for GeometryOps's full API (only for reference!).

apply and associated functions

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

Reconstruct a geometry, feature, feature collection, or nested vectors of either using the function f on the target trait.

f(target_geom) => x where x also has the target trait, or a trait that can be substituted. For example, swapping PolgonTrait to MultiPointTrait will fail if the outer object has MultiPolygonTrait, but should work if it has FeatureTrait.

Objects "shallower" than the target trait are always completely rebuilt, like a Vector of FeatureCollectionTrait of FeatureTrait when the target has PolygonTrait and is held in the features. These will always be GeoInterface geometries/feature/feature collections. But "deeper" objects may remain unchanged or be whatever GeoInterface compatible objects f returns.

The result is a functionally similar geometry with values depending on f.

  • 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.

Example

Flipped point the order in any feature or geometry, or iterables of either:

julia
import GeoInterface as GI
 import GeometryOps as GO
 geom = GI.Polygon([GI.LinearRing([(1, 2), (3, 4), (5, 6), (1, 2)]),
                    GI.LinearRing([(3, 4), (5, 6), (6, 7), (3, 4)])])
 
 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",b,[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",F,[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",f,[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",C,[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",b,[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",bs,[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",Fs,[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",fs,[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",Cs,[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",bs,[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/ae7256552c6f443dcd902dcf423f61172386c900/src/methods/clipping/intersection.jl#L177-L195)
+[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/41558b0f5c3cbdd4ba33b714ff2d72470c92b3b4/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/ae7256552c6f443dcd902dcf423f61172386c900/src/methods/barycentric.jl#L289-L305)
+[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/41558b0f5c3cbdd4ba33b714ff2d72470c92b3b4/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 bi=h(r,[["render",oi]]);export{mi as __pageData,bi as default}; diff --git a/previews/PR223/assets/api.md.88Ix4NwQ.lean.js b/previews/PR223/assets/api.md.Dv50llkJ.lean.js similarity index 96% rename from previews/PR223/assets/api.md.88Ix4NwQ.lean.js rename to previews/PR223/assets/api.md.Dv50llkJ.lean.js index ec537cdb9..096709e02 100644 --- a/previews/PR223/assets/api.md.88Ix4NwQ.lean.js +++ b/previews/PR223/assets/api.md.Dv50llkJ.lean.js @@ -1,13 +1,13 @@ -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/framework.CIByTNPs.js";const mi=JSON.parse('{"title":"Full GeometryOps API documentation","description":"","frontmatter":{},"headers":[],"relativePath":"api.md","filePath":"api.md","lastUpdated":null}'),r={name:"api.md"},o={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},Q={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},J={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""},H={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},W={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},_={class:"jldocstring custom-block",open:""},K={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},$={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},ss={class:"jldocstring custom-block",open:""},is={class:"jldocstring custom-block",open:""},as={class:"jldocstring custom-block",open:""},es={class:"jldocstring custom-block",open:""},ts={class:"jldocstring custom-block",open:""},ns={class:"jldocstring custom-block",open:""},ls={class:"jldocstring custom-block",open:""},ps={class:"jldocstring custom-block",open:""},hs={class:"jldocstring custom-block",open:""},ks={class:"jldocstring custom-block",open:""},rs={class:"jldocstring custom-block",open:""},os={class:"jldocstring custom-block",open:""},ds={class:"jldocstring custom-block",open:""},gs={class:"jldocstring custom-block",open:""},ys={class:"jldocstring custom-block",open:""},Es={class:"jldocstring custom-block",open:""},cs={class:"jldocstring custom-block",open:""},us={class:"jldocstring custom-block",open:""},ms={class:"jldocstring custom-block",open:""},Fs={class:"jldocstring custom-block",open:""},Cs={class:"jldocstring custom-block",open:""},fs={class:"jldocstring custom-block",open:""},bs={class:"jldocstring custom-block",open:""},Ts={class:"jldocstring custom-block",open:""},Gs={class:"jldocstring custom-block",open:""},vs={class:"jldocstring custom-block",open:""},As={class:"jldocstring custom-block",open:""},js={class:"jldocstring custom-block",open:""},Bs={class:"jldocstring custom-block",open:""},Os={class:"jldocstring custom-block",open:""},Ds={class:"jldocstring custom-block",open:""},Qs={class:"jldocstring custom-block",open:""},xs={class:"jldocstring custom-block",open:""},ws={class:"jldocstring custom-block",open:""},Ls={class:"jldocstring custom-block",open:""},Is={class:"jldocstring custom-block",open:""},Ms={class:"jldocstring custom-block",open:""},Ps={class:"jldocstring custom-block",open:""},qs={class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},Rs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.827ex"},xmlns:"http://www.w3.org/2000/svg",width:"33.539ex",height:"6.785ex",role:"img",focusable:"false",viewBox:"0 -1749.5 14824.1 2999","aria-hidden":"true"},Ss={class:"jldocstring custom-block",open:""},Vs={class:"jldocstring custom-block",open:""},Js={class:"jldocstring custom-block",open:""},Us={class:"jldocstring custom-block",open:""},Hs={class:"jldocstring custom-block",open:""},Ns={class:"jldocstring custom-block",open:""},Ws={class:"jldocstring custom-block",open:""},zs={class:"jldocstring custom-block",open:""},Zs={class:"jldocstring custom-block",open:""},_s={class:"jldocstring custom-block",open:""},Ks={class:"jldocstring custom-block",open:""},Xs={class:"jldocstring custom-block",open:""},$s={class:"jldocstring custom-block",open:""},Ys={class:"jldocstring custom-block",open:""},si={class:"jldocstring custom-block",open:""},ii={class:"jldocstring custom-block",open:""},ai={class:"jldocstring custom-block",open:""},ei={class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},ti={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.059ex"},xmlns:"http://www.w3.org/2000/svg",width:"27.746ex",height:"5.362ex",role:"img",focusable:"false",viewBox:"0 -1460 12263.9 2370","aria-hidden":"true"},ni={class:"jldocstring custom-block",open:""},li={class:"jldocstring custom-block",open:""},pi={class:"jldocstring custom-block",open:""},hi={class:"jldocstring custom-block",open:""},ki={class:"jldocstring custom-block",open:""},ri={class:"jldocstring custom-block",open:""};function oi(di,s,gi,yi,Ei,ci){const t=k("Badge");return p(),l("div",null,[s[318]||(s[318]=a('

Full GeometryOps API documentation

Warning

This page is still very much WIP!

Documentation for GeometryOps's full API (only for reference!).

apply and associated functions

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

Reconstruct a geometry, feature, feature collection, or nested vectors of either using the function f on the target trait.

f(target_geom) => x where x also has the target trait, or a trait that can be substituted. For example, swapping PolgonTrait to MultiPointTrait will fail if the outer object has MultiPolygonTrait, but should work if it has FeatureTrait.

Objects "shallower" than the target trait are always completely rebuilt, like a Vector of FeatureCollectionTrait of FeatureTrait when the target has PolygonTrait and is held in the features. These will always be GeoInterface geometries/feature/feature collections. But "deeper" objects may remain unchanged or be whatever GeoInterface compatible objects f returns.

The result is a functionally similar geometry with values depending on f.

  • 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.

Example

Flipped point the order in any feature or geometry, or iterables of either:

julia
import GeoInterface as GI
+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/framework.CIByTNPs.js";const mi=JSON.parse('{"title":"Full GeometryOps API documentation","description":"","frontmatter":{},"headers":[],"relativePath":"api.md","filePath":"api.md","lastUpdated":null}'),r={name:"api.md"},o={class:"jldocstring custom-block",open:""},d={class:"jldocstring custom-block",open:""},g={class:"jldocstring custom-block",open:""},y={class:"jldocstring custom-block",open:""},E={class:"jldocstring custom-block",open:""},c={class:"jldocstring custom-block",open:""},u={class:"jldocstring custom-block",open:""},m={class:"jldocstring custom-block",open:""},b={class:"jldocstring custom-block",open:""},F={class:"jldocstring custom-block",open:""},C={class:"jldocstring custom-block",open:""},f={class:"jldocstring custom-block",open:""},T={class:"jldocstring custom-block",open:""},G={class:"jldocstring custom-block",open:""},v={class:"jldocstring custom-block",open:""},A={class:"jldocstring custom-block",open:""},j={class:"jldocstring custom-block",open:""},B={class:"jldocstring custom-block",open:""},O={class:"jldocstring custom-block",open:""},D={class:"jldocstring custom-block",open:""},Q={class:"jldocstring custom-block",open:""},x={class:"jldocstring custom-block",open:""},w={class:"jldocstring custom-block",open:""},L={class:"jldocstring custom-block",open:""},I={class:"jldocstring custom-block",open:""},M={class:"jldocstring custom-block",open:""},P={class:"jldocstring custom-block",open:""},q={class:"jldocstring custom-block",open:""},R={class:"jldocstring custom-block",open:""},S={class:"jldocstring custom-block",open:""},V={class:"jldocstring custom-block",open:""},J={class:"jldocstring custom-block",open:""},U={class:"jldocstring custom-block",open:""},H={class:"jldocstring custom-block",open:""},N={class:"jldocstring custom-block",open:""},W={class:"jldocstring custom-block",open:""},z={class:"jldocstring custom-block",open:""},Z={class:"jldocstring custom-block",open:""},_={class:"jldocstring custom-block",open:""},K={class:"jldocstring custom-block",open:""},X={class:"jldocstring custom-block",open:""},$={class:"jldocstring custom-block",open:""},Y={class:"jldocstring custom-block",open:""},ss={class:"jldocstring custom-block",open:""},is={class:"jldocstring custom-block",open:""},as={class:"jldocstring custom-block",open:""},es={class:"jldocstring custom-block",open:""},ts={class:"jldocstring custom-block",open:""},ns={class:"jldocstring custom-block",open:""},ls={class:"jldocstring custom-block",open:""},ps={class:"jldocstring custom-block",open:""},hs={class:"jldocstring custom-block",open:""},ks={class:"jldocstring custom-block",open:""},rs={class:"jldocstring custom-block",open:""},os={class:"jldocstring custom-block",open:""},ds={class:"jldocstring custom-block",open:""},gs={class:"jldocstring custom-block",open:""},ys={class:"jldocstring custom-block",open:""},Es={class:"jldocstring custom-block",open:""},cs={class:"jldocstring custom-block",open:""},us={class:"jldocstring custom-block",open:""},ms={class:"jldocstring custom-block",open:""},bs={class:"jldocstring custom-block",open:""},Fs={class:"jldocstring custom-block",open:""},Cs={class:"jldocstring custom-block",open:""},fs={class:"jldocstring custom-block",open:""},Ts={class:"jldocstring custom-block",open:""},Gs={class:"jldocstring custom-block",open:""},vs={class:"jldocstring custom-block",open:""},As={class:"jldocstring custom-block",open:""},js={class:"jldocstring custom-block",open:""},Bs={class:"jldocstring custom-block",open:""},Os={class:"jldocstring custom-block",open:""},Ds={class:"jldocstring custom-block",open:""},Qs={class:"jldocstring custom-block",open:""},xs={class:"jldocstring custom-block",open:""},ws={class:"jldocstring custom-block",open:""},Ls={class:"jldocstring custom-block",open:""},Is={class:"jldocstring custom-block",open:""},Ms={class:"jldocstring custom-block",open:""},Ps={class:"jldocstring custom-block",open:""},qs={class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},Rs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.827ex"},xmlns:"http://www.w3.org/2000/svg",width:"33.539ex",height:"6.785ex",role:"img",focusable:"false",viewBox:"0 -1749.5 14824.1 2999","aria-hidden":"true"},Ss={class:"jldocstring custom-block",open:""},Vs={class:"jldocstring custom-block",open:""},Js={class:"jldocstring custom-block",open:""},Us={class:"jldocstring custom-block",open:""},Hs={class:"jldocstring custom-block",open:""},Ns={class:"jldocstring custom-block",open:""},Ws={class:"jldocstring custom-block",open:""},zs={class:"jldocstring custom-block",open:""},Zs={class:"jldocstring custom-block",open:""},_s={class:"jldocstring custom-block",open:""},Ks={class:"jldocstring custom-block",open:""},Xs={class:"jldocstring custom-block",open:""},$s={class:"jldocstring custom-block",open:""},Ys={class:"jldocstring custom-block",open:""},si={class:"jldocstring custom-block",open:""},ii={class:"jldocstring custom-block",open:""},ai={class:"jldocstring custom-block",open:""},ei={class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},ti={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.059ex"},xmlns:"http://www.w3.org/2000/svg",width:"27.746ex",height:"5.362ex",role:"img",focusable:"false",viewBox:"0 -1460 12263.9 2370","aria-hidden":"true"},ni={class:"jldocstring custom-block",open:""},li={class:"jldocstring custom-block",open:""},pi={class:"jldocstring custom-block",open:""},hi={class:"jldocstring custom-block",open:""},ki={class:"jldocstring custom-block",open:""},ri={class:"jldocstring custom-block",open:""};function oi(di,s,gi,yi,Ei,ci){const t=k("Badge");return p(),l("div",null,[s[318]||(s[318]=a('

Full GeometryOps API documentation

Warning

This page is still very much WIP!

Documentation for GeometryOps's full API (only for reference!).

apply and associated functions

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

Reconstruct a geometry, feature, feature collection, or nested vectors of either using the function f on the target trait.

f(target_geom) => x where x also has the target trait, or a trait that can be substituted. For example, swapping PolgonTrait to MultiPointTrait will fail if the outer object has MultiPolygonTrait, but should work if it has FeatureTrait.

Objects "shallower" than the target trait are always completely rebuilt, like a Vector of FeatureCollectionTrait of FeatureTrait when the target has PolygonTrait and is held in the features. These will always be GeoInterface geometries/feature/feature collections. But "deeper" objects may remain unchanged or be whatever GeoInterface compatible objects f returns.

The result is a functionally similar geometry with values depending on f.

  • 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.

Example

Flipped point the order in any feature or geometry, or iterables of either:

julia
import GeoInterface as GI
 import GeometryOps as GO
 geom = GI.Polygon([GI.LinearRing([(1, 2), (3, 4), (5, 6), (1, 2)]),
                    GI.LinearRing([(3, 4), (5, 6), (6, 7), (3, 4)])])
 
 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",b,[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",F,[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",f,[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",C,[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",b,[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",bs,[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",Fs,[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",fs,[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",Cs,[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",bs,[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/ae7256552c6f443dcd902dcf423f61172386c900/src/methods/clipping/intersection.jl#L177-L195)
+[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/41558b0f5c3cbdd4ba33b714ff2d72470c92b3b4/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/ae7256552c6f443dcd902dcf423f61172386c900/src/methods/barycentric.jl#L289-L305)
+[source](https://github.com/JuliaGeo/GeometryOps.jl/blob/41558b0f5c3cbdd4ba33b714ff2d72470c92b3b4/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 bi=h(r,[["render",oi]]);export{mi as __pageData,bi as default}; diff --git a/previews/PR223/assets/app.DL3ovM_v.js b/previews/PR223/assets/app.BNwP-Ex3.js similarity index 95% rename from previews/PR223/assets/app.DL3ovM_v.js rename to previews/PR223/assets/app.BNwP-Ex3.js index d4d087229..add63f94a 100644 --- a/previews/PR223/assets/app.DL3ovM_v.js +++ b/previews/PR223/assets/app.BNwP-Ex3.js @@ -1 +1 @@ -import{R as p}from"./chunks/theme.CDvBzsrw.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.2ns2mT58.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/aeyryqm.CgiryX2p.png b/previews/PR223/assets/blqgedn.CgiryX2p.png similarity index 100% rename from previews/PR223/assets/aeyryqm.CgiryX2p.png rename to previews/PR223/assets/blqgedn.CgiryX2p.png diff --git a/previews/PR223/assets/qtrpchs.DuBHk1fh.png b/previews/PR223/assets/bmacnmz.DuBHk1fh.png similarity index 100% rename from previews/PR223/assets/qtrpchs.DuBHk1fh.png rename to previews/PR223/assets/bmacnmz.DuBHk1fh.png diff --git a/previews/PR223/assets/chunks/@localSearchIndexroot.CxEje2mr.js b/previews/PR223/assets/chunks/@localSearchIndexroot.CxEje2mr.js new file mode 100644 index 000000000..1e5fd0b64 --- /dev/null +++ b/previews/PR223/assets/chunks/@localSearchIndexroot.CxEje2mr.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/introduction#introduction","28":"/GeometryOps.jl/previews/PR223/introduction#Main-concepts","29":"/GeometryOps.jl/previews/PR223/introduction#The-apply-paradigm","30":"/GeometryOps.jl/previews/PR223/introduction#What\'s-this-GeoInterface.Wrapper-thing?","31":"/GeometryOps.jl/previews/PR223/source/GeometryOps#geometryops-jl","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/coverage#What-is-coverage?","65":"/GeometryOps.jl/previews/PR223/source/methods/clipping/coverage#implementation","66":"/GeometryOps.jl/previews/PR223/source/methods/clipping/clipping_processor#Polygon-clipping-helpers","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/predicates#If-we-want-to-inject-adaptivity,-we-would-do-something-like:","73":"/GeometryOps.jl/previews/PR223/source/methods/clipping/intersection#Geometry-Intersection","74":"/GeometryOps.jl/previews/PR223/source/methods/clipping/intersection#Helper-functions-for-Intersections-with-Greiner-and-Hormann-Polygon-Clipping","75":"/GeometryOps.jl/previews/PR223/source/methods/clipping/union#Union-Polygon-Clipping","76":"/GeometryOps.jl/previews/PR223/source/methods/clipping/union#Helper-functions-for-Unions-with-Greiner-and-Hormann-Polygon-Clipping","77":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Convex-hull","78":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#example","79":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Simple-hull","80":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Convex-hull-of-the-USA","81":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Investigating-the-winding-order","82":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#implementation","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/touches#touches","121":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#What-is-touches?","122":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#implementation","123":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Convert-features-to-geometries","124":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Point-touches-geometries","125":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Lines-touching-geometries","126":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Rings-touch-geometries","127":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Polygons-touch-geometries","128":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Geometries-touch-multi-geometry/geometry-collections","129":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/touches#Multi-geometry/geometry-collections-cross-geometries","130":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/overlaps#overlaps","131":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/overlaps#What-is-overlaps?","132":"/GeometryOps.jl/previews/PR223/source/methods/geom_relations/overlaps#implementation","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/extent#Extent-embedding","168":"/GeometryOps.jl/previews/PR223/source/transformations/correction/intersecting_polygons#Intersecting-Polygons","169":"/GeometryOps.jl/previews/PR223/source/transformations/correction/intersecting_polygons#example","170":"/GeometryOps.jl/previews/PR223/source/transformations/correction/intersecting_polygons#implementation","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":[1,1,72],"28":[2,1,1],"29":[3,3,50],"30":[8,3,18],"31":[2,1,146],"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":[4,1,70],"65":[1,1,327],"66":[3,1,610],"67":[2,1,3],"68":[4,2,57],"69":[1,2,200],"70":[3,1,214],"71":[10,1,190],"72":[11,1,25],"73":[2,1,250],"74":[10,1,480],"75":[3,1,236],"76":[10,1,284],"77":[2,1,56],"78":[1,2,1],"79":[2,3,32],"80":[5,2,40],"81":[4,2,100],"82":[1,2,166],"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,70],"122":[1,1,125],"123":[4,1,11],"124":[3,1,69],"125":[3,1,52],"126":[3,1,61],"127":[3,1,40],"128":[5,1,39],"129":[5,1,42],"130":[1,1,3],"131":[4,1,82],"132":[1,1,244],"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,71],"168":[2,1,77],"169":[1,2,70],"170":[1,2,135],"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":"Introduction","titles":[]},"28":{"title":"Main concepts","titles":["Introduction"]},"29":{"title":"The apply paradigm","titles":["Introduction","Main concepts"]},"30":{"title":"What's this GeoInterface.Wrapper thing?","titles":["Introduction","Main concepts"]},"31":{"title":"GeometryOps.jl","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":"What is coverage?","titles":[]},"65":{"title":"Implementation","titles":[]},"66":{"title":"Polygon clipping helpers","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":"If we want to inject adaptivity, we would do something like:","titles":[]},"73":{"title":"Geometry Intersection","titles":[]},"74":{"title":"Helper functions for Intersections with Greiner and Hormann Polygon Clipping","titles":[]},"75":{"title":"Union Polygon Clipping","titles":[]},"76":{"title":"Helper functions for Unions with Greiner and Hormann Polygon Clipping","titles":[]},"77":{"title":"Convex hull","titles":[]},"78":{"title":"Example","titles":["Convex hull"]},"79":{"title":"Simple hull","titles":["Convex hull","Example"]},"80":{"title":"Convex hull of the USA","titles":["Convex hull"]},"81":{"title":"Investigating the winding order","titles":["Convex hull"]},"82":{"title":"Implementation","titles":["Convex hull"]},"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":"Touches","titles":[]},"121":{"title":"What is touches?","titles":["Touches"]},"122":{"title":"Implementation","titles":["Touches"]},"123":{"title":"Convert features to geometries","titles":[]},"124":{"title":"Point touches geometries","titles":[]},"125":{"title":"Lines touching geometries","titles":[]},"126":{"title":"Rings touch geometries","titles":[]},"127":{"title":"Polygons touch geometries","titles":[]},"128":{"title":"Geometries touch multi-geometry/geometry collections","titles":[]},"129":{"title":"Multi-geometry/geometry collections cross geometries","titles":[]},"130":{"title":"Overlaps","titles":[]},"131":{"title":"What is overlaps?","titles":["Overlaps"]},"132":{"title":"Implementation","titles":["Overlaps"]},"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":"Extent embedding","titles":[]},"168":{"title":"Intersecting Polygons","titles":[]},"169":{"title":"Example","titles":["Intersecting Polygons"]},"170":{"title":"Implementation","titles":["Intersecting Polygons"]},"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":{"74":5}}],["∘",{"2":{"74":1,"132":2,"146":2,"165":1,"180":2,"200":2}}],["⊻",{"2":{"66":1,"71":2}}],["≥",{"2":{"66":1,"116":2,"170":1,"182":1}}],["α≈1",{"2":{"74":1}}],["α≈0",{"2":{"74":1}}],["α2",{"2":{"66":4,"74":2}}],["α",{"2":{"66":3,"74":28,"116":7}}],["α1",{"2":{"66":4,"74":2}}],["β2",{"2":{"66":4,"74":2}}],["β",{"2":{"66":4,"74":28,"116":7}}],["β1",{"2":{"66":4,"74":2}}],["≤",{"2":{"65":14,"66":5,"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":{"167":1}}],["`inf`",{"2":{"172":1}}],["`inv",{"2":{"158":1}}],["`intersects`",{"2":{"119":1}}],["`intersectingpolygons`",{"2":{"70":1,"73":1,"75":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":{"73":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,"73":1,"74":1,"75":1,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"132":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,"73":1,"75":1,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"132":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,"74":1,"76":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":{"82":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":{"170":1}}],["`unionintersectingpolygons",{"2":{"70":1,"71":2,"73":1,"74":2,"75":1,"76":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,"73":2,"74":2,"75":2,"76":2}}],["`douglaspeucker`",{"2":{"180":1}}],["`d`",{"2":{"172":1}}],["`difference`",{"2":{"170":1}}],["`disjoint`",{"2":{"119":1}}],["`delaunaytriangulation",{"2":{"82":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,"170":2}}],["`geometry`",{"2":{"153":1,"172":2}}],["`geometrybasics",{"2":{"59":3}}],["`geometries`",{"2":{"82":1}}],["`g1`",{"2":{"85":1}}],["`gi",{"2":{"82":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,"122":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":{"74":1}}],["`target",{"2":{"172":3}}],["`target`",{"2":{"73":1,"153":2,"154":1,"156":1,"159":1}}],["`tables",{"2":{"153":1}}],["`taget`",{"2":{"70":1,"75":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,"74":3,"76":2}}],["`multipoly",{"2":{"71":7,"74":3,"76":3}}],["`minpoints`",{"2":{"146":2}}],["`number`",{"2":{"180":2,"184":3}}],["`namedtuple`",{"2":{"153":1}}],["`nothing`",{"2":{"66":1,"155":1}}],["`next",{"2":{"66":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,"73":1,"74":3,"75":1,"76":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":{"74":3}}],["δbax",{"2":{"74":3}}],["δby",{"2":{"74":5}}],["δbx",{"2":{"74":5}}],["δb",{"2":{"74":2}}],["δay",{"2":{"74":5}}],["δax",{"2":{"74":5}}],["δa",{"2":{"74":2}}],["δintrs",{"2":{"66":2}}],["δy2",{"2":{"145":2}}],["δy1",{"2":{"145":2}}],["δyl",{"2":{"132":4}}],["δy",{"2":{"53":8,"65":3,"116":7}}],["δys",{"2":{"53":1}}],["δx2",{"2":{"145":2}}],["δx1",{"2":{"145":2}}],["δxl",{"2":{"132":4}}],["δx",{"2":{"53":9,"65":3,"116":7}}],["∈",{"2":{"14":1}}],["~",{"2":{"14":3}}],["$ratio",{"2":{"184":1}}],["$rectangle",{"2":{"176":2}}],["$number",{"2":{"184":1}}],["$name",{"2":{"31":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,"167":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,"74":1,"76":1,"156":3}}],["$trait",{"2":{"69":1,"71":2,"74":2,"76":2}}],["$",{"2":{"13":4,"14":1,"59":4,"66":2,"146":3,"165":4,"177":4,"180":12,"188":1}}],["|=",{"2":{"116":4,"132":1}}],["||",{"2":{"53":2,"65":8,"66":13,"69":1,"73":1,"74":5,"75":1,"88":18,"105":2,"116":8,"124":1,"132":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,"66":4}}],["qhull",{"2":{"6":1,"82":1}}],["queue",{"2":{"182":41}}],["questions",{"2":{"74":1}}],["quite",{"2":{"162":1,"199":1}}],["quickhull",{"2":{"6":1,"77":1,"82":2}}],["quick",{"2":{"4":1,"6":1,"59":1,"167":1,"179":1}}],["quality",{"2":{"6":1,"180":1}}],["quantity",{"2":{"6":1,"176":1}}],["quot",{"2":{"1":4,"6":6,"20":2,"66":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,"65":1}}],["zero",{"2":{"4":6,"6":8,"56":11,"63":3,"65":11,"66":4,"74":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,"73":1,"74":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":13,"65":5,"66":49,"68":22,"69":49,"70":42,"73":2,"74":21,"75":46,"76":2,"80":1,"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":12,"122":11,"131":13,"132":9,"134":16,"145":21,"146":7,"158":1,"162":24,"169":64,"170":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,"132":1,"184":1}}],[">geometryops",{"2":{"6":2}}],[">",{"2":{"1":1,"6":6,"11":2,"13":1,"15":2,"50":1,"53":1,"59":1,"65":3,"66":17,"69":5,"70":1,"71":1,"74":2,"75":1,"76":3,"84":1,"88":1,"105":8,"116":10,"132":2,"145":4,"146":12,"156":6,"165":1,"170":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,"73":1,"74":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,"73":1,"74":1}}],["8",{"2":{"1":3,"6":9,"13":1,"14":1,"70":2,"75":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,"66":5,"116":5,"191":5,"193":5}}],["kernel",{"2":{"177":4}}],["keepat",{"2":{"75":1,"170":2}}],["keep",{"2":{"66":3,"146":1,"170":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,"31":3,"70":1,"73":1,"75":1,"153":1,"155":7,"167":2,"176":2,"188":4,"192":1,"193":1}}],["keywords",{"2":{"1":2,"4":1,"6":10,"31":1,"116":2,"146":1,"153":1,"155":1,"167":1,"171":2,"172":3,"180":8,"181":1,"182":1,"183":1,"184":1,"186":2}}],["known",{"2":{"65":2}}],["know",{"2":{"6":3,"53":2,"65":1,"66":1,"70":1,"73":1,"74":2,"75":1,"76":1,"153":1,"198":1}}],["kwargs",{"2":{"32":2,"60":3,"65":1,"69":1,"70":3,"71":3,"73":4,"74":5,"75":3,"76":5,"165":2,"173":1,"176":1}}],["kwdef",{"2":{"31":1,"66":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":{"76":5}}],["j+1",{"2":{"66":1,"146":1,"184":1}}],["j",{"2":{"66":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,"66":2,"74":4,"76":1,"81":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":{"167":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,"73":1,"74":1,"75":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,"65":2,"66":11,"69":1,"71":1,"74":2,"76":1,"82":1,"85":8,"116":6,"124":1,"132":2,"147":1,"154":2,"156":4,"173":1,"176":1,"177":1,"184":2}}],["juliafor",{"2":{"31":1,"153":1,"154":1}}],["juliagi",{"2":{"11":2}}],["juliago",{"2":{"11":1,"52":1,"55":1,"64":1,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"131":1,"134":1,"197":1}}],["juliageopoly1",{"2":{"193":1}}],["juliageointerface",{"2":{"189":1}}],["juliageometry",{"2":{"82":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":{"31":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,"73":1,"75":1,"83":1,"86":1,"89":1,"92":1,"102":1,"106":1,"117":1,"120":1,"130":1,"133":1,"143":1,"146":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,"66":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,"65":2,"66":1,"85":1,"94":1,"108":1,"122":1,"135":1,"155":1}}],["juliaconvex",{"2":{"6":1,"82":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,"132":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,"64":1,"68":1,"79":1,"80":1,"81":1,"84":1,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"131":1,"134":1,"150":1,"162":2,"169":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,"31":1,"32":2,"53":4,"56":10,"59":8,"63":19,"65":18,"66":60,"69":10,"70":6,"71":1,"73":5,"74":29,"75":6,"76":4,"77":1,"82":5,"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,"123":1,"124":3,"125":1,"126":1,"127":1,"128":1,"129":1,"132":7,"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,"167":1,"170":3,"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":{"82":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,"31":1},"2":{"1":10,"4":1,"6":15,"10":2,"11":1,"22":2,"25":2,"27":2,"31":42,"32":1,"50":1,"53":1,"56":1,"59":1,"60":3,"63":1,"65":1,"66":1,"69":1,"71":1,"72":1,"74":1,"76":1,"77":3,"82":6,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"129":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,"167":2,"170":1,"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,"65":10,"66":17,"69":1,"88":1,"105":1,"116":5,"145":1,"170":2,"182":4,"189":3}}],["+",{"2":{"1":1,"6":1,"13":1,"14":1,"53":4,"56":1,"59":20,"63":10,"65":7,"66":15,"69":1,"74":10,"85":3,"88":2,"105":2,"116":6,"145":6,"146":2,"150":1,"170":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,"29":2,"53":1,"56":1,"59":8,"60":1,"63":1,"70":1,"73":1,"75":1,"81":1,"82":1,"148":1,"153":1,"154":1,"159":1,"162":1,"169":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":{"65":4}}],["ye",{"2":{"65":4}}],["yet",{"0":{"147":1},"2":{"31":1,"59":1,"69":1,"71":1,"74":1,"76":1,"88":1,"146":1,"147":1,"165":2,"199":1}}],["y2",{"2":{"63":2,"65":18,"85":7,"105":10,"116":5,"132":4,"146":5,"177":6,"189":2}}],["y1",{"2":{"63":2,"65":22,"85":7,"105":11,"116":6,"132":5,"146":5,"177":7,"189":2}}],["yind+1",{"2":{"146":1}}],["yind",{"2":{"146":2}}],["yinterior",{"2":{"63":2}}],["yield",{"2":{"74":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,"64":2,"65":48}}],["ymin",{"2":{"6":1,"64":2,"65":49}}],["y",{"2":{"1":2,"4":1,"6":3,"13":9,"14":10,"53":8,"56":2,"58":8,"62":1,"63":10,"64":1,"65":8,"66":6,"71":6,"74":8,"84":2,"85":7,"88":3,"105":21,"116":16,"132":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,"73":1,"74":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,"73":1,"74":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,"75":3,"116":1,"132":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":{"74":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,"27":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,"73":1,"74":1}}],["584961",{"2":{"3":1,"6":3,"73":1,"74":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,"75":18,"84":8,"88":8,"116":1,"132":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}}],["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}}],["41544701408748197",{"2":{"191":1}}],["41558b0f5c3cbdd4ba33b714ff2d72470c92b3b4",{"2":{"6":2}}],["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}}],["4",{"2":{"1":11,"3":4,"6":12,"9":2,"13":2,"14":1,"52":1,"65":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,"73":1,"74":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,"66":1,"70":6,"75":5,"87":1,"91":1,"104":1,"108":1,"116":2,"131":1,"135":1,"146":7,"150":3,"153":3,"158":2,"169":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":{"30":1},"2":{"0":1,"3":1,"4":5,"6":22,"7":1,"9":2,"17":2,"18":1,"19":1,"23":1,"29":1,"32":1,"53":1,"55":1,"56":1,"57":1,"58":3,"59":2,"62":6,"63":3,"65":1,"66":28,"68":1,"69":1,"71":1,"73":4,"74":1,"76":2,"81":2,"85":4,"88":7,"93":1,"103":2,"110":2,"116":19,"121":2,"124":2,"132":1,"146":3,"148":2,"153":5,"154":4,"159":2,"160":3,"166":6,"168":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":{"74":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,"73":1,"75":1}}],["274363",{"2":{"70":1,"73":1,"75":1}}],["27",{"2":{"58":2}}],["275543",{"2":{"6":6,"189":6}}],["2d",{"2":{"25":1,"27":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,"73":1,"74":1,"118":1,"119":1}}],["224758",{"2":{"3":1,"6":3,"73":1,"74":1,"118":1,"119":1}}],["2",{"2":{"1":19,"3":9,"5":1,"6":48,"13":1,"14":1,"15":3,"25":2,"27":2,"32":1,"53":3,"56":1,"58":6,"59":32,"62":2,"63":4,"64":6,"65":7,"66":10,"68":1,"69":2,"74":2,"75":1,"79":1,"80":1,"81":3,"82":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,"170":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":{"74":6}}],["198232937815632",{"2":{"193":1}}],["19823293781563178",{"2":{"193":2}}],["1999466709331708",{"2":{"191":1}}],["1998",{"2":{"70":1,"73":1,"75":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":{"80":1,"192":1}}],["11",{"2":{"15":2,"58":2,"116":1}}],["1145",{"2":{"70":1,"73":1,"75":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,"75":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,"79":1,"81":1,"146":2,"196":1}}],["10",{"2":{"6":12,"11":1,"55":1,"58":5,"68":4,"69":10,"70":2,"73":1,"75":2,"87":2,"116":3,"131":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,"73":2,"74":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,"73":1,"74":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,"73":1,"74":1,"116":2,"118":1,"119":1}}],["125",{"2":{"6":2,"73":1,"74":1}}],["127",{"2":{"3":1,"6":3,"73":1,"74":1,"118":1,"119":1,"192":1}}],["123",{"2":{"3":1,"6":3,"73":1,"74":1,"118":1,"119":1}}],["12636633117296836",{"2":{"193":2}}],["126",{"2":{"3":1,"6":3,"73":1,"74":1,"118":1,"119":1}}],["12",{"2":{"3":1,"6":3,"58":2,"73":1,"74":1,"116":1,"118":1,"119":1,"199":1}}],["124",{"2":{"3":1,"6":3,"73":1,"74":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":9,"65":15,"66":72,"68":1,"69":10,"71":3,"74":9,"75":4,"76":11,"81":6,"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,"121":4,"122":5,"124":1,"132":6,"134":2,"135":6,"145":16,"146":27,"150":2,"153":6,"154":3,"156":1,"162":12,"163":2,"170":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":{"66":2,"70":2,"73":2,"75":2,"76":1,"88":2}}],["nbpts",{"2":{"66":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,"170":2}}],["npoints",{"2":{"53":6,"66":5,"116":3,"176":6,"182":7}}],["npoint",{"2":{"6":1,"53":2,"55":1,"56":1,"65":2,"81":2,"85":1,"88":6,"105":6,"116":6,"124":1,"145":2,"163":1,"176":3,"177":1,"180":14,"184":1,"189":13}}],["npts",{"2":{"66":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,"66":2,"69":1,"77":1,"81":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,"66":51,"69":10,"75":4,"76":4,"116":11,"124":2,"145":6,"146":5,"162":1,"170":25,"173":2,"176":2,"177":3,"180":2,"184":7,"189":32}}],["naive",{"2":{"72":1}}],["napts",{"2":{"66":3}}],["navigate",{"0":{"26":1}}],["natearth2",{"2":{"192":1}}],["natural",{"2":{"180":1,"192":2,"197":1}}],["naturalearth",{"2":{"11":2,"80":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,"31":2,"180":1,"188":1,"194":1,"195":2,"199":1}}],["namespaced",{"2":{"153":1}}],["names",{"2":{"6":1,"31":3,"153":3,"154":3,"188":1}}],["nodestatus",{"2":{"146":6}}],["nodes",{"2":{"66":1,"146":4}}],["node",{"2":{"66":26,"146":17}}],["north",{"2":{"65":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,"27":1,"55":1,"58":2,"59":4,"60":1,"66":1,"69":1,"76":1,"77":1,"85":1,"145":1,"146":2,"169":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,"66":4,"70":1,"71":1,"73":1,"74":14,"75":1,"88":2,"94":3,"108":3,"116":2,"122":2,"124":1,"126":1,"127":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,"66":1,"69":1,"70":1,"73":1,"75":1,"76":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,"66":15,"70":2,"71":1,"73":1,"74":4,"75":1,"76":2,"84":1,"126":1,"132":2,"151":1,"160":1}}],["note",{"2":{"4":4,"6":11,"19":1,"29":1,"53":1,"56":2,"59":1,"62":2,"63":2,"65":1,"66":3,"69":2,"71":3,"74":5,"76":3,"82":1,"85":1,"88":5,"116":1,"131":1,"132":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,"31":1,"53":4,"56":1,"59":4,"60":1,"62":1,"66":18,"69":1,"73":1,"74":7,"76":3,"81":1,"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,"122":1,"131":1,"132":2,"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,"169":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,"74":2,"76":2}}],["nothing",{"2":{"1":34,"4":1,"6":41,"15":3,"66":4,"69":1,"71":2,"73":1,"74":2,"76":2,"88":1,"116":1,"145":9,"146":3,"150":1,"153":3,"154":2,"156":3,"162":24,"165":1,"169":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":{"76":1}}],["neighborhood",{"2":{"146":2}}],["neighbor",{"2":{"66":27}}],["neighboring",{"2":{"6":6,"66":1,"180":1,"181":1,"182":1,"183":2}}],["nearly",{"2":{"195":1}}],["nearest",{"2":{"66":1,"74":2}}],["neatly",{"2":{"17":1}}],["nedge",{"2":{"66":2,"189":13}}],["nextnode",{"2":{"146":27}}],["nextnodes",{"2":{"146":6}}],["next",{"2":{"63":1,"65":3,"66":81,"69":4,"116":14,"146":3,"170":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,"65":9,"66":58,"70":3,"71":1,"76":16,"116":2,"146":4,"152":1,"153":21,"154":1,"165":2,"166":1,"168":1,"170":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,"167":1}}],["need",{"2":{"1":1,"3":1,"4":2,"5":1,"6":5,"32":1,"59":2,"62":1,"66":2,"71":1,"81":1,"88":4,"103":1,"104":1,"116":1,"146":2,"148":1,"153":3,"154":1,"167":1,"184":1,"185":1,"192":1,"193":2,"200":2}}],["needed",{"2":{"1":2,"6":4,"53":1,"59":1,"65":1,"66":4,"70":1,"73":1,"75":1,"85":2,"116":5,"146":1,"153":1,"154":1,"165":1,"172":3,"193":1}}],["bx",{"2":{"145":2}}],["b2y",{"2":{"74":4}}],["b2x",{"2":{"74":4}}],["b2",{"2":{"74":47,"85":3,"132":6}}],["b``",{"2":{"71":1}}],["b`",{"2":{"71":3,"74":4,"76":4}}],["bigger",{"2":{"66":1}}],["bit",{"2":{"25":1,"27":1,"184":8,"191":2}}],["b1y",{"2":{"74":7}}],["b1x",{"2":{"74":7}}],["b1",{"2":{"66":8,"74":63,"132":6}}],["breaks",{"2":{"170":1}}],["break",{"2":{"65":1,"66":3,"71":2,"88":4,"116":11,"132":1,"146":6,"170":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":{"66":13,"69":1,"70":1,"73":1,"75":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":{"31":2,"60":5,"63":2,"66":1,"147":1}}],["but",{"2":{"1":2,"3":5,"4":3,"6":12,"18":1,"22":1,"25":1,"27":1,"32":1,"53":1,"55":1,"56":1,"65":1,"74":2,"76":2,"81":2,"82":2,"88":4,"93":2,"116":1,"121":1,"122":1,"125":2,"126":1,"131":1,"132":5,"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,"131":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,"31":1,"57":9,"58":4,"59":52}}],["basic",{"2":{"146":1}}],["base",{"2":{"31":4,"32":1,"59":15,"60":1,"66":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,"65":1,"85":2,"88":1,"94":1,"108":1,"116":2,"122":1,"132":1,"135":1,"159":1,"195":1,"197":1,"198":1}}],["badge",{"2":{"6":2}}],["backs",{"2":{"69":4}}],["backwards",{"2":{"66":1,"71":1,"74":1,"76":1}}],["backing",{"2":{"66":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,"65":9,"66":206,"70":26,"71":18,"72":3,"73":26,"74":77,"75":27,"76":39,"88":29,"116":2,"132":22,"194":1}}],["bounce",{"2":{"66":8,"70":1,"71":1,"73":1,"74":1,"75":1,"76":1}}],["bouncings",{"2":{"66":1}}],["bouncing",{"2":{"66":13,"71":3,"74":4,"76":4}}],["bound",{"2":{"72":1}}],["bounding",{"2":{"64":2,"65":3,"66":1}}],["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,"121":2,"122":4,"124":3,"125":5,"126":3,"127":3,"134":1,"135":3}}],["box",{"2":{"64":2,"65":3,"198":1}}],["bold",{"2":{"60":1,"173":1,"176":1}}],["both",{"2":{"3":5,"6":6,"66":2,"74":4,"75":1,"76":1,"81":2,"84":1,"88":3,"91":1,"105":4,"108":1,"116":2,"126":1,"132":1,"135":1,"175":1,"177":1}}],["booltype",{"2":{"31":1,"153":2,"154":1,"158":1,"160":5,"177":1}}],["booleans",{"2":{"66":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,"66":1,"71":1,"74":1,"76":1,"156":1,"160":2,"197":1}}],["boolsastypes",{"0":{"24":1,"160":1},"2":{"31":1,"32":1,"158":1,"160":10,"177":3}}],["bools",{"2":{"10":1}}],["bool",{"2":{"3":17,"4":14,"6":40,"32":1,"66":3,"88":17,"91":1,"94":1,"104":2,"105":13,"108":1,"116":2,"119":1,"122":2,"132":10,"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,"27":1,"52":1,"53":6,"55":1,"56":1,"59":4,"60":1,"62":5,"63":4,"64":1,"65":6,"66":14,"68":1,"69":6,"70":1,"73":1,"74":5,"75":4,"76":3,"82":2,"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,"168":1,"170":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,"65":18,"66":1,"70":1,"71":4,"73":1,"74":11,"75":2,"76":4,"85":8,"88":1,"116":4,"132":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":{"66":1,"82":1,"148":1,"154":1,"187":1}}],["becomes",{"2":{"158":1}}],["become",{"2":{"22":1}}],["being",{"2":{"53":1,"74":1,"116":1,"132":1,"168":1}}],["behind",{"2":{"25":1,"26":1,"27":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":{"65":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,"73":1,"74":1,"75":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,"27":3,"32":1,"53":8,"56":7,"57":2,"58":1,"59":10,"60":2,"62":1,"63":3,"64":1,"65":2,"66":14,"69":1,"70":7,"71":4,"73":7,"74":12,"75":6,"76":5,"82":6,"84":2,"85":4,"88":15,"94":6,"103":2,"104":1,"108":6,"116":21,"122":6,"132":2,"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":1,"168":2,"170":2,"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":{"82":2}}],["hulls",{"2":{"6":1,"77":1,"82":1}}],["hull",{"0":{"50":1,"77":1,"79":1,"80":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1},"2":{"0":1,"6":8,"31":2,"50":1,"77":2,"79":4,"80":1,"81":10,"82":15}}],["hypot",{"2":{"177":1}}],["h2",{"2":{"116":6}}],["h1",{"2":{"116":11}}],["hm",{"2":{"58":2}}],["h",{"2":{"53":2,"66":2,"76":8}}],["href=",{"2":{"6":2}}],["https",{"2":{"6":2,"70":1,"73":1,"74":1,"75":1,"82":1,"116":2,"158":1,"182":1}}],["high",{"2":{"195":1}}],["highest",{"2":{"193":1}}],["higher",{"2":{"6":1,"82":1}}],["hit",{"2":{"66":1,"153":1,"154":1,"156":3}}],["hits",{"2":{"18":1}}],["hidedecorations",{"2":{"58":2}}],["hinter",{"2":{"31":3,"60":1,"173":1,"176":1}}],["hint",{"2":{"31":3,"60":1,"176":1}}],["hinge=2",{"2":{"73":1}}],["hinge`",{"2":{"73":1}}],["hinge",{"2":{"6":1,"66":1,"74":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":{"66":1},"2":{"105":1,"132":1}}],["helper",{"0":{"71":1,"74":1,"76":1},"2":{"63":1,"66":1,"69":1}}],["helps",{"2":{"30":1}}],["held",{"2":{"1":1,"150":1,"153":1}}],["here",{"2":{"6":2,"9":1,"13":1,"14":1,"20":1,"59":1,"74":1,"82":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":{"65":1,"74":1,"146":1,"180":1}}],["hormann",{"0":{"71":1,"74":1,"76":1},"2":{"6":2,"59":2,"66":3,"69":2,"70":1,"73":1,"75":1}}],["how",{"0":{"26":1},"2":{"6":1,"26":2,"55":1,"59":1,"66":1,"74":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,"66":1,"74":1,"81":1,"84":1,"88":1,"90":1,"104":1,"168":1}}],["hole",{"2":{"53":1,"56":3,"58":2,"59":9,"63":4,"65":3,"66":60,"70":6,"73":2,"76":15,"85":3,"97":1,"98":1,"99":1,"116":33,"146":5,"163":2,"191":1}}],["holes=",{"2":{"66":1}}],["holes",{"2":{"4":3,"5":1,"6":4,"9":2,"53":2,"55":1,"59":2,"63":1,"66":19,"69":4,"70":2,"73":2,"75":6,"76":29,"85":3,"88":3,"113":1,"116":11,"137":1,"146":17,"163":2,"191":4}}],["holds",{"2":{"66":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":{"64":2}}],["hail",{"2":{"163":1}}],["handling",{"0":{"173":1},"2":{"148":1}}],["handler",{"2":{"60":1,"173":1}}],["handle",{"2":{"31":1,"145":1,"151":2,"153":1,"192":1}}],["handled",{"2":{"18":1}}],["hao",{"2":{"116":1}}],["had",{"2":{"70":1,"73":1,"88":1,"160":1,"175":1}}],["happens",{"2":{"66":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,"66":4,"74":1,"82":2,"84":1,"85":2,"88":10,"116":5,"121":1,"122":1,"131":1,"132":3,"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,"66":2,"71":2,"74":1,"76":1,"84":1,"85":1,"88":11,"124":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":{"65":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,"65":36,"66":58,"70":4,"71":4,"74":24,"76":2,"85":3,"88":14,"100":2,"101":2,"105":48,"114":2,"115":2,"116":170,"124":2,"128":2,"129":2,"132":22,"141":2,"142":2,"145":4,"146":12,"153":2,"165":2,"170":6,"173":2,"176":2,"182":10,"183":2,"189":4,"197":4}}],["x2",{"2":{"6":3,"59":4,"63":2,"65":18,"85":8,"105":10,"116":5,"132":4,"146":5,"177":6,"189":2}}],["x1",{"2":{"6":4,"59":3,"63":2,"65":22,"85":8,"105":11,"116":6,"132":5,"146":5,"177":7,"189":2}}],["xs",{"2":{"6":3,"65":4,"146":30,"189":4}}],["xmax",{"2":{"6":1,"64":2,"65":48}}],["xmin",{"2":{"6":1,"64":2,"65":49}}],["x3c",{"2":{"5":1,"6":28,"31":1,"53":4,"56":2,"59":66,"65":11,"66":17,"69":3,"70":1,"73":1,"74":6,"75":1,"84":1,"85":13,"88":2,"105":33,"116":13,"132":10,"145":1,"146":4,"153":3,"154":2,"156":19,"158":3,"159":4,"160":4,"163":2,"166":3,"170":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":1,"65":8,"66":21,"69":6,"71":9,"74":18,"76":9,"84":2,"85":7,"88":3,"105":21,"116":16,"132":7,"145":11,"146":2,"148":2,"150":3,"153":5,"154":4,"156":10,"160":5,"165":2,"167":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,"73":1,"75":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,"65":30,"66":34,"71":1,"74":20,"75":2,"76":1,"80":1,"84":1,"88":16,"116":44,"132":2,"145":3,"146":18,"153":2,"163":1,"165":1,"170":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,"31":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":6,"65":96,"66":324,"68":7,"69":29,"70":21,"71":30,"73":18,"74":143,"75":21,"76":78,"79":6,"80":4,"81":14,"82":4,"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":3,"122":22,"123":3,"124":9,"125":14,"126":10,"127":6,"128":2,"129":2,"131":7,"132":40,"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,"167":1,"169":3,"170":30,"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":{"31":1}}],["u2",{"2":{"116":4}}],["u1",{"2":{"116":4}}],["update",{"2":{"66":6,"146":10}}],["updated",{"2":{"66":6,"156":3}}],["updates",{"2":{"59":1}}],["up",{"2":{"66":2,"74":1,"116":1,"126":1,"151":1,"169":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":{"80":1},"2":{"80":4,"180":15,"199":3}}],["us",{"2":{"56":1,"82":1,"192":1,"199":1}}],["usually",{"2":{"26":2,"77":1,"153":1,"156":2,"158":1,"195":1}}],["usual",{"2":{"6":1,"163":1,"166":1}}],["usecases",{"2":{"25":1,"27":1}}],["uses",{"2":{"6":3,"77":1,"82":1,"116":1,"157":1,"158":1,"172":1,"176":1,"177":1,"180":1,"195":1}}],["users",{"2":{"31":1,"148":1,"168":1}}],["user",{"2":{"6":12,"23":1,"63":1,"70":3,"73":3,"75":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,"65":1,"66":7,"69":1,"74":1,"84":1,"85":1,"88":1,"132":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,"66":1,"76":1,"82":2,"105":2,"132":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,"31":6,"32":1,"50":1,"52":1,"53":1,"55":2,"56":2,"58":4,"59":7,"60":3,"62":2,"63":1,"64":2,"65":1,"66":5,"68":2,"69":1,"71":3,"72":1,"74":4,"76":3,"79":1,"80":2,"81":1,"82":2,"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,"129":1,"131":2,"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,"167":2,"170":1,"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":{"66":1}}],["unmatched",{"2":{"65":26,"66":9}}],["unknown=3",{"2":{"66":1}}],["unknown",{"2":{"65":15,"66":4}}],["understand",{"2":{"187":1}}],["under",{"2":{"56":2,"195":1}}],["undergrad",{"2":{"9":1}}],["undef",{"2":{"53":2,"66":1,"181":1,"182":1,"184":2,"189":2}}],["unwrap",{"0":{"156":1},"2":{"31":2,"156":19}}],["unless",{"2":{"22":1,"66":1,"71":2,"74":2,"76":2,"153":1}}],["unlike",{"2":{"18":1,"187":1}}],["unstable",{"2":{"13":1,"153":1,"160":1}}],["unneeded",{"2":{"6":3,"66":1,"70":2,"73":2,"75":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,"27":1}}],["unique",{"2":{"6":2,"74":3,"166":2,"170":2}}],["unioning",{"2":{"76":1}}],["unionintersectingpolygons",{"2":{"0":1,"6":8,"70":1,"71":2,"73":1,"74":2,"75":1,"76":2,"166":2,"168":2,"169":1,"170":4}}],["unions",{"0":{"76":1},"2":{"18":1,"159":1}}],["union",{"0":{"36":1,"75":1},"2":{"0":1,"1":2,"3":2,"4":4,"6":18,"11":3,"23":2,"31":1,"32":1,"36":2,"53":2,"56":1,"59":1,"63":4,"65":1,"66":7,"73":2,"75":18,"76":30,"85":1,"88":8,"96":2,"97":4,"98":1,"100":2,"101":1,"110":2,"111":6,"114":2,"115":1,"124":2,"125":4,"126":1,"128":2,"129":1,"132":4,"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,"168":1,"170":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,"65":3,"85":6,"151":1,"153":2,"156":4,"158":1,"180":2,"189":2,"195":1}}],["gb",{"2":{"31":1}}],["guarantee",{"2":{"19":1,"30":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":{"82":1}}],["graphics",{"2":{"6":1,"59":1}}],["great",{"2":{"191":1,"193":1,"195":1}}],["greater",{"2":{"145":1}}],["greiner",{"0":{"71":1,"74":1,"76":1},"2":{"66":3,"69":2,"70":1,"73":1,"75":1}}],["green",{"2":{"14":1,"192":1}}],["grid",{"2":{"6":1,"58":1,"65":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,"122":10,"123":6,"124":10,"125":6,"126":5,"127":4,"128":4,"129":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,"122":10,"123":6,"124":9,"125":6,"126":5,"127":4,"128":2,"129":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":{"31":1,"32":1,"50":1,"53":1,"56":1,"59":1,"60":1,"63":1,"65":1,"66":1,"69":1,"71":1,"72":1,"74":1,"76":1,"82":1,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"129":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,"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,"27":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,"128":1,"129":1,"132":2,"141":1,"142":1,"153":3,"154":2,"156":3,"180":3,"189":6}}],["getring",{"2":{"66":1}}],["getindex",{"2":{"59":2}}],["gethole",{"2":{"53":1,"56":1,"63":1,"65":1,"66":4,"69":1,"70":2,"73":2,"76":6,"85":1,"88":2,"116":5,"163":1,"191":1}}],["getexterior",{"2":{"53":1,"56":1,"59":1,"63":1,"65":1,"66":3,"69":1,"70":2,"73":2,"75":3,"76":6,"85":1,"88":2,"116":5,"145":1,"146":1,"163":1,"191":1}}],["getpolygon",{"2":{"71":3,"74":2,"76":2,"88":3}}],["getpoint",{"2":{"52":1,"53":5,"55":2,"56":1,"59":1,"62":1,"63":6,"64":2,"65":3,"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":2,"124":2,"131":4,"132":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,"66":9,"70":1,"71":1,"73":1,"74":2,"75":2,"82":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":{"30":1},"2":{"1":20,"3":9,"4":2,"6":35,"11":1,"13":1,"14":1,"15":1,"22":3,"25":1,"27":1,"30":1,"31":7,"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,"73":1,"74":1,"75":1,"79":1,"80":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,"131":1,"132":2,"134":1,"135":2,"145":5,"146":1,"150":3,"151":3,"153":11,"156":5,"162":9,"165":1,"166":1,"167":1,"169":23,"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":{"29":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,"31":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,"82":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":1,"132":6,"135":2}}],["geom1",{"2":{"3":8,"4":1,"6":9,"85":6,"88":1,"105":4,"108":1,"119":3,"122":1,"132":6,"135":2}}],["geometrical",{"2":{"197":1}}],["geometric",{"2":{"25":2,"27":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,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":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":2,"29":4,"52":1,"53":3,"56":4,"63":1,"65":2,"69":1,"70":5,"73":5,"74":4,"75":5,"82":6,"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":2,"131":2,"132":3,"135":2,"137":1,"148":1,"150":3,"152":2,"153":6,"154":3,"155":1,"156":10,"167":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":{"31":3,"58":2,"59":10,"82":1,"84":1,"94":1,"122":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,"128":1,"129":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,"170":4}}],["geometry",{"0":{"2":1,"73":1,"100":2,"101":2,"114":2,"115":2,"128":2,"129":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,"29":1,"31":1,"53":7,"56":4,"60":4,"63":3,"64":1,"65":4,"69":4,"80":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,"121":3,"122":4,"123":4,"124":2,"128":3,"129":4,"132":3,"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,"167":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,"31":2,"150":2,"156":4}}],["geometryops",{"0":{"0":1,"25":1,"31":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,"31":1,"32":2,"52":1,"55":1,"58":5,"60":1,"62":1,"64":1,"68":1,"69":1,"70":1,"73":1,"74":1,"75":1,"77":1,"79":1,"80":1,"81":3,"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":2,"131":1,"132":1,"134":1,"135":2,"145":3,"146":2,"150":1,"153":1,"157":2,"158":1,"162":1,"165":1,"166":4,"169":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,"31":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,"65":6,"66":16,"69":15,"70":8,"71":2,"73":12,"74":10,"75":9,"76":9,"85":28,"88":45,"94":4,"105":1,"108":4,"116":3,"122":4,"132":1,"135":4,"145":3,"146":1,"148":2,"150":4,"153":34,"154":13,"156":52,"170":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,"77":1,"81":4,"82":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,"65":2,"81":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,"31":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,"64":1,"68":2,"69":2,"70":2,"73":2,"74":2,"75":2,"79":3,"80":2,"81":8,"82":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,"131":1,"132":2,"134":2,"135":2,"145":6,"146":2,"148":1,"150":2,"153":2,"156":2,"162":3,"169":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,"66":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,"29":1,"52":1,"53":1,"56":2,"63":3,"65":3,"66":8,"69":5,"70":1,"71":2,"73":1,"74":2,"75":1,"76":2,"85":8,"88":4,"90":1,"91":1,"94":1,"103":1,"104":1,"108":1,"116":7,"118":1,"119":1,"122":1,"124":1,"135":1,"148":1,"154":1,"165":4,"166":1,"169":1,"174":2,"176":2,"177":2,"183":1}}],["github",{"2":{"6":2,"82":1,"158":1}}],["gis",{"2":{"5":1,"6":1,"25":1,"27":1,"59":1}}],["gi",{"2":{"1":13,"3":42,"4":31,"6":108,"11":8,"13":15,"14":15,"15":8,"18":2,"31":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":5,"65":17,"66":34,"68":6,"69":13,"70":19,"71":16,"73":25,"74":24,"75":17,"76":36,"79":1,"80":1,"81":3,"82":4,"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":5,"122":3,"123":6,"124":15,"125":10,"126":7,"127":4,"128":8,"129":6,"131":7,"132":51,"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,"167":1,"169":3,"170":8,"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}}],["t8vkb",{"2":{"192":1}}],["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,"31":1,"59":3,"65":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,"30":2,"53":9,"56":11,"58":1,"59":8,"63":8,"65":8,"66":21,"69":6,"70":7,"71":6,"73":8,"74":19,"75":7,"76":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":{"31":3,"189":1}}],["tuple",{"0":{"186":1},"2":{"4":1,"6":19,"31":2,"59":2,"63":3,"65":3,"66":5,"69":1,"74":31,"116":17,"145":2,"146":5,"153":2,"162":6,"169":13,"175":1,"180":2,"182":1,"184":2,"189":6,"191":99,"198":2}}],["tuples",{"2":{"0":1,"6":2,"31":1,"60":1,"63":1,"66":1,"69":1,"70":3,"71":1,"73":2,"74":1,"75":4,"76":5,"82":2,"163":2,"170":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":{"66":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":{"66":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,"123":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,"65":3,"66":6,"70":2,"73":1,"74":14,"75":4,"76":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":3,"122":1,"131":4,"132":5,"134":2,"146":3,"165":2,"166":1,"169":2,"170":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":{"66":4}}],["taget",{"2":{"6":2}}],["taylor",{"2":{"6":1,"59":1}}],["table2",{"2":{"197":4}}],["table1",{"2":{"197":12}}],["tables",{"2":{"22":4,"31":1,"153":6,"154":5,"156":2}}],["table",{"0":{"194":1},"2":{"6":2,"18":1,"29":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,"73":1,"74":1,"75":1,"76":1,"168":1}}],["takes",{"2":{"66":3,"197":1}}],["taken",{"2":{"20":1,"58":1}}],["take",{"2":{"1":1,"6":2,"29":1,"66":3,"70":1,"71":1,"73":1,"74":1,"76":1,"145":2,"146":2,"148":1,"154":1,"172":1}}],["target=gi",{"2":{"66":1}}],["target=nothing",{"2":{"35":1,"36":1,"37":1,"38":1,"70":1,"73":1,"75":1}}],["targets",{"2":{"23":1,"53":2,"56":3,"65":3,"85":3}}],["target",{"0":{"23":1},"2":{"1":14,"6":11,"15":3,"22":2,"23":2,"32":1,"59":1,"63":2,"66":1,"70":5,"71":11,"73":6,"74":10,"75":4,"76":13,"146":1,"148":1,"150":8,"151":5,"152":1,"153":34,"154":33,"156":87,"159":3,"170":2,"172":3,"180":2}}],["tilted",{"2":{"65":1}}],["tie",{"2":{"53":1}}],["timings",{"2":{"13":5}}],["timing",{"2":{"13":2}}],["times",{"2":{"4":1,"6":1,"167":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,"81":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,"31":1,"82":1}}],["trivially",{"2":{"148":1}}],["try",{"2":{"72":3,"146":1,"151":1,"153":3,"154":3,"156":3,"199":1}}],["tr",{"2":{"56":3}}],["trues",{"2":{"170":3}}],["true",{"0":{"24":1},"2":{"1":5,"3":25,"4":3,"6":40,"31":1,"53":7,"56":1,"58":2,"60":1,"65":6,"66":30,"69":1,"70":1,"71":2,"73":1,"74":1,"75":2,"76":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":6,"125":1,"126":1,"128":1,"129":1,"131":2,"132":18,"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,"170":1,"173":1,"176":1,"180":1,"197":1,"200":1}}],["traditional",{"2":{"146":1,"158":1}}],["traverse",{"2":{"66":1}}],["traced",{"2":{"66":1}}],["traces",{"2":{"66":1}}],["trace",{"2":{"66":2,"70":1,"73":1,"75":1}}],["track",{"2":{"66":3,"170":2}}],["tracing",{"2":{"6":1,"65":1,"66":4,"71":5,"74":2,"76":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":{"31":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,"31":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,"124":2,"126":2,"127":2,"132":2}}],["trait1",{"2":{"85":12,"88":2,"110":2,"111":2,"124":2,"126":2,"127":2,"132":2}}],["traits",{"2":{"6":1,"18":1,"132":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,"31":1,"32":1,"53":2,"56":5,"59":6,"63":7,"65":2,"69":3,"70":2,"71":2,"73":6,"74":4,"75":2,"76":2,"85":7,"88":11,"94":3,"105":2,"108":3,"116":4,"122":3,"132":10,"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,"31":2,"32":1,"53":1,"56":1,"63":1,"65":1,"70":2,"71":4,"73":3,"74":4,"75":2,"76":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,"66":3,"71":1,"74":1,"76":1}}],["though",{"2":{"20":1,"162":1}}],["those",{"2":{"6":1,"33":1,"53":1,"66":1,"74":1,"96":1,"137":1,"158":1,"177":1}}],["thing",{"0":{"30":1}}],["things",{"2":{"9":1}}],["this",{"0":{"30":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":2,"29":1,"31":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":1,"65":4,"66":26,"68":1,"69":5,"71":1,"72":1,"74":5,"75":1,"76":2,"82":5,"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,"122":3,"129":1,"131":1,"132":4,"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":2,"168":4,"170":3,"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,"74":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,"65":2,"85":8,"153":1,"154":1,"167":1,"180":1}}],["threaded==true",{"2":{"1":1,"150":1,"153":1}}],["threaded",{"2":{"1":3,"4":1,"6":5,"24":1,"31":1,"32":2,"53":2,"56":1,"63":3,"65":3,"85":5,"150":2,"153":25,"154":27,"155":1,"160":2,"167":1,"177":13,"180":1}}],["through",{"2":{"6":4,"53":1,"59":1,"65":1,"66":3,"68":1,"69":2,"82":1,"94":1,"116":5,"135":1,"146":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,"76":1,"88":1,"146":1,"153":1,"154":1,"156":3}}],["than",{"2":{"1":1,"3":1,"6":10,"11":1,"66":2,"96":1,"105":1,"132":1,"137":1,"145":1,"146":2,"150":1,"152":1,"153":1,"157":1,"166":2,"168":1,"169":1,"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,"26":1,"27":1,"53":4,"55":2,"56":4,"59":4,"60":2,"62":2,"63":3,"64":3,"65":5,"66":17,"70":4,"71":5,"73":4,"74":14,"75":3,"76":5,"77":1,"81":3,"82":4,"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":2,"124":2,"131":2,"132":10,"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,"168":2,"169":3,"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,"27":1,"66":1,"146":2,"147":2,"153":3,"156":2,"162":2,"168":1,"169":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,"65":1,"66":3,"69":2,"71":1,"72":1,"74":6,"76":1,"116":1,"132":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,"29":1,"53":3,"59":2,"65":1,"66":6,"70":1,"72":2,"73":2,"74":6,"75":2,"76":2,"82":1,"116":1,"146":2,"148":1,"151":1,"153":2,"154":3,"168":1,"176":2,"180":1,"192":1,"197":1,"198":1}}],["their",{"2":{"3":1,"4":1,"6":2,"59":1,"62":2,"76":1,"85":2,"113":1,"121":1,"125":1,"126":1,"132":1,"138":3,"139":3,"148":1,"154":1,"162":1,"167":1,"169":1}}],["they",{"2":{"3":3,"4":11,"6":24,"20":2,"22":1,"23":1,"24":1,"57":1,"63":2,"65":2,"66":8,"70":2,"73":1,"74":6,"75":2,"76":3,"81":1,"87":3,"88":16,"94":1,"107":1,"111":2,"112":1,"113":1,"116":2,"118":1,"124":1,"126":1,"127":1,"131":2,"132":4,"138":1,"139":1,"146":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,"66":3,"76":1,"87":1,"88":1,"90":1,"94":1,"103":1,"105":2,"107":1,"108":1,"118":1,"121":2,"122":1,"131":1,"132":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,"29":1,"62":1,"80":1,"81":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,"27":3,"29":3,"32":3,"52":1,"53":63,"55":12,"56":43,"57":15,"58":12,"59":71,"60":6,"62":6,"63":25,"64":7,"65":47,"66":116,"68":2,"69":7,"70":27,"71":23,"72":1,"73":27,"74":82,"75":29,"76":70,"77":6,"81":11,"82":16,"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":21,"124":6,"125":10,"126":7,"127":3,"128":3,"129":2,"131":5,"132":26,"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":1,"168":4,"169":8,"170":6,"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,"31":8,"32":1,"53":32,"56":41,"59":26,"63":38,"65":44,"66":74,"69":18,"70":12,"71":12,"73":12,"74":156,"75":10,"76":20,"85":87,"88":17,"93":1,"111":1,"116":24,"121":1,"125":2,"126":1,"132":1,"146":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":{"74":1,"76":1,"191":1,"198":1}}],["touching",{"0":{"125":1},"2":{"74":1,"76":1}}],["touch",{"0":{"126":1,"127":1,"128":1},"2":{"66":1,"121":1,"124":2,"126":1,"128":1}}],["touches",{"0":{"42":1,"120":1,"121":1,"124":1},"1":{"121":1,"122":1},"2":{"0":2,"3":3,"6":3,"31":1,"42":2,"120":1,"121":3,"122":11,"123":6,"124":11,"125":15,"126":9,"127":8,"128":3,"129":4,"197":1}}],["totally",{"2":{"75":1}}],["total",{"2":{"56":1,"59":2,"65":1,"66":2}}],["towards",{"2":{"25":1,"27":1}}],["topright",{"2":{"180":1}}],["topologypreserve",{"2":{"178":1}}],["topology",{"2":{"178":1}}],["topological",{"2":{"158":2}}],["top",{"2":{"20":1,"26":1,"66":1,"146":1}}],["took",{"2":{"199":1}}],["tools",{"2":{"17":1}}],["too",{"2":{"6":1,"74":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,"66":1,"74":1,"82":2,"105":4,"132":1,"146":1,"153":1,"160":1,"163":1,"180":1}}],["to",{"0":{"9":1,"23":1,"26":1,"72":1,"95":1,"109":1,"123":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,"27":3,"29":4,"30":1,"52":1,"53":8,"55":1,"56":4,"57":4,"58":1,"59":26,"60":2,"62":2,"63":5,"64":1,"65":12,"66":32,"68":1,"69":3,"70":8,"71":4,"73":8,"74":27,"75":7,"76":11,"77":1,"79":1,"80":1,"81":4,"82":6,"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":1,"122":7,"124":1,"131":3,"132":7,"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":3,"169":1,"170":4,"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":{"76":1,"148":2}}],["occur",{"2":{"74":1}}],["occurs",{"2":{"74":1}}],["occupied",{"2":{"55":1}}],["old",{"2":{"66":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":{"73":1}}],["out`",{"2":{"73":1,"116":1}}],["out",{"2":{"6":3,"65":23,"66":12,"74":6,"76":4,"82":1,"84":5,"94":4,"105":1,"108":3,"116":102,"122":4,"132":2,"135":4,"145":1,"153":1,"177":1,"188":2}}],["outside",{"2":{"3":2,"4":1,"6":3,"65":1,"66":3,"71":2,"74":4,"76":3,"84":2,"85":1,"93":1,"104":1,"107":1,"116":12,"132":3,"140":1}}],["outputs",{"2":{"66":1}}],["output",{"2":{"3":8,"4":1,"6":18,"18":1,"23":1,"69":2,"70":1,"73":1,"74":1,"75":1,"76":2,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"132":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,"167":1}}],["objects",{"2":{"1":4,"4":1,"6":10,"150":4,"151":5,"153":4,"154":1,"156":6,"167":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,"167":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":1,"171":2,"176":3,"180":3,"185":1,"186":1}}],["others",{"2":{"60":1,"170":1}}],["otherwise",{"2":{"4":2,"6":3,"60":1,"66":1,"71":1,"74":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,"66":5,"70":1,"73":1,"74":1,"75":2,"76":3,"77":2,"85":2,"88":2,"90":1,"96":1,"116":8,"118":1,"121":2,"122":2,"125":1,"131":1,"132":4,"137":1,"146":1,"151":1,"153":1,"156":2,"159":1,"166":2,"168":1,"170":2,"180":2,"182":2,"187":1,"188":1,"192":1,"197":4,"200":1}}],["ogc",{"0":{"3":1}}],["over=3",{"2":{"73":1}}],["over`",{"2":{"73":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":{"66":11,"74":4,"76":6}}],["overlap",{"2":{"3":4,"6":4,"9":1,"66":2,"74":8,"76":2,"94":1,"103":1,"116":2,"131":5,"132":6,"135":1,"168":1}}],["overlaps",{"0":{"46":1,"130":1,"131":1},"1":{"131":1,"132":1},"2":{"0":10,"3":5,"6":13,"31":1,"46":2,"74":1,"130":1,"131":3,"132":30,"146":1,"197":1}}],["over",{"2":{"1":1,"6":2,"55":2,"56":1,"63":3,"65":1,"66":5,"73":1,"74":11,"76":1,"81":1,"94":1,"105":1,"108":1,"116":15,"122":1,"132":2,"135":1,"150":1,"153":9,"154":11,"156":3,"191":3}}],["opposed",{"2":{"196":1}}],["opposite",{"2":{"3":5,"6":5,"66":2,"71":1,"74":2,"76":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,"168":1}}],["operate",{"2":{"18":1,"29":1,"154":1}}],["operations",{"0":{"23":1,"34":1},"1":{"35":1,"36":1,"37":1,"38":1},"2":{"23":1,"26":1,"74":1,"76":1,"148":1}}],["operation",{"2":{"6":3,"66":1,"148":1,"154":1,"158":1,"166":2,"170":2,"188":2,"197":1}}],["open",{"2":{"66":1,"162":1,"192":1}}],["open>",{"2":{"6":2}}],["optimisation",{"2":{"116":1}}],["optimise",{"2":{"105":1}}],["optimal",{"2":{"6":1,"82":1}}],["options",{"2":{"14":1,"66":1}}],["optional",{"2":{"4":5,"6":6,"53":1,"56":2,"65":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,"132":1,"146":1}}],["onto",{"2":{"85":1}}],["ones",{"2":{"169":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,"65":3,"66":5,"70":1,"71":1,"73":1,"74":32,"75":2,"76":2,"77":1,"84":2,"93":1,"100":1,"105":1,"107":1,"116":18,"121":2,"122":2,"125":3,"126":2,"127":2,"128":1,"129":1,"131":1,"132":18,"134":1,"135":1,"141":1,"145":1,"146":5,"153":1,"158":2,"169":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":3,"29":2,"32":1,"53":5,"56":3,"58":1,"59":2,"63":3,"65":8,"66":28,"69":1,"70":1,"71":5,"73":1,"74":4,"75":1,"76":2,"82":1,"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":7,"124":2,"132":9,"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,"168":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,"65":3,"66":4,"69":1,"70":1,"73":1,"74":1,"75":1,"82":3,"85":2,"88":3,"121":1,"131":3,"132":1,"146":2,"153":1,"154":2,"158":2,"169":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,"66":4,"88":1,"116":6,"154":1}}],["of",{"0":{"80":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,"27":1,"29":3,"32":2,"52":1,"53":38,"55":5,"56":28,"57":9,"58":1,"59":13,"60":1,"62":3,"63":12,"64":5,"65":31,"66":84,"69":5,"70":12,"71":13,"73":10,"74":48,"75":9,"76":20,"77":5,"81":3,"82":3,"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":2,"122":15,"124":3,"125":7,"126":5,"127":1,"128":2,"129":1,"131":1,"132":13,"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,"168":4,"170":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,"73":1,"75":1,"116":2,"182":1}}],["organise",{"2":{"10":1}}],["orange",{"2":{"68":1,"84":1,"87":2,"90":2,"107":2,"131":2,"134":2}}],["oro",{"2":{"11":2}}],["originate",{"2":{"76":1}}],["originals",{"2":{"22":1}}],["original",{"2":{"6":4,"18":1,"22":1,"66":10,"69":5,"70":1,"73":1,"76":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,"66":15,"74":53}}],["orientation",{"0":{"143":1},"1":{"144":1,"145":1},"2":{"6":2,"10":1,"31":1,"56":1,"65":2,"66":10,"70":1,"73":2,"74":2,"75":1,"116":16,"144":1,"180":1}}],["ordered",{"2":{"55":1}}],["order",{"0":{"81":1},"2":{"1":4,"3":1,"4":2,"6":5,"53":1,"55":1,"56":2,"59":1,"66":4,"74":1,"76":1,"81":4,"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,"29":2,"31":1,"32":1,"53":4,"56":1,"59":1,"60":1,"62":2,"63":4,"64":1,"66":24,"69":1,"70":1,"71":3,"73":2,"74":9,"75":1,"76":2,"77":1,"82":1,"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":1,"128":1,"129":1,"131":1,"132":2,"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,"73":2,"75":2,"82":1,"163":1}}],["e2",{"2":{"116":4}}],["e1",{"2":{"116":8}}],["euclid",{"2":{"65":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":{"66":1,"88":2,"151":1,"188":1}}],["evenly",{"2":{"198":1}}],["eventually",{"2":{"66":1}}],["even",{"2":{"56":2,"65":1,"74":1,"85":1,"88":1,"148":1,"162":1,"168":1}}],["evaluated",{"2":{"197":1}}],["eval",{"2":{"31":2,"153":1,"154":1}}],["epsg",{"2":{"192":5,"193":8}}],["eps",{"2":{"53":2,"74":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,"82":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,"128":1,"129":1,"132":1,"141":1,"142":1}}],["element",{"2":{"6":6,"52":1,"66":4,"69":2,"70":1,"73":1,"74":1,"75":3,"175":1,"192":1}}],["elsewhere",{"2":{"69":1}}],["elseif",{"2":{"65":7,"66":5,"70":1,"73":1,"74":14,"75":2,"76":1,"105":3,"116":10,"145":1,"146":2,"170":1,"182":2,"184":2}}],["else",{"2":{"3":6,"6":6,"53":1,"59":2,"65":9,"66":19,"69":1,"71":2,"74":9,"75":1,"76":9,"105":2,"116":17,"132":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,"66":2,"70":1,"73":1,"74":2,"75":1,"146":2}}],["embedding",{"0":{"152":1,"167":1}}],["embedded",{"0":{"193":1},"2":{"146":1,"152":3,"190":1,"193":1}}],["embed",{"2":{"0":2,"4":1,"6":1,"152":1,"167":2}}],["errors",{"2":{"31":1,"74":1,"177":1}}],["error",{"0":{"173":1},"2":{"4":1,"6":4,"7":1,"18":1,"31":6,"32":2,"59":1,"60":4,"66":2,"72":1,"74":2,"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,"31":1,"56":1,"62":1,"65":13,"66":25,"70":1,"73":1,"74":6,"75":1,"85":4,"88":1,"96":2,"111":2,"112":1,"116":7,"132":21,"137":2,"138":1,"139":1,"146":7,"189":2}}],["edges`",{"2":{"74":1}}],["edges",{"2":{"0":1,"4":2,"6":9,"65":8,"66":12,"71":3,"74":10,"76":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,"132":20,"134":1,"137":1,"146":22,"189":29}}],["earlier",{"2":{"191":3}}],["earth",{"2":{"6":3,"25":1,"27":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":{"65":9}}],["easy",{"2":{"1":1,"6":1,"168":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,"65":1,"66":5,"74":3,"85":1,"88":2,"94":1,"108":1,"116":6,"122":1,"131":1,"132":3,"135":1,"145":1,"146":1,"153":1,"168":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":{"66":1,"74":1,"197":1}}],["equal",{"2":{"3":2,"4":16,"6":19,"53":6,"74":1,"84":1,"85":4,"87":3,"88":22,"96":1,"110":1,"116":15,"124":2,"131":1,"132":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,"31":1,"40":2,"53":2,"66":4,"69":2,"74":8,"85":1,"86":1,"87":2,"88":50,"96":1,"110":1,"116":10,"124":3,"132":2,"137":1,"197":1}}],["equivalent",{"2":{"3":1,"4":4,"6":6,"56":1,"66":1,"74":1,"76":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":{"74":2}}],["envelopes",{"2":{"74":2}}],["enough",{"2":{"66":1}}],["entry",{"2":{"66":11,"71":3,"74":4,"76":3,"146":1}}],["ent",{"2":{"66":19,"69":2}}],["enter",{"2":{"66":4}}],["entirely",{"2":{"116":1}}],["entire",{"2":{"65":1,"116":4}}],["ensuring",{"2":{"6":1,"174":1,"177":1}}],["ensure",{"2":{"6":3,"59":1,"70":1,"73":1,"75":1,"153":2,"161":2,"164":1}}],["ensures",{"2":{"6":3,"163":1,"166":3,"170":2}}],["enumerate",{"2":{"13":2,"53":1,"65":1,"66":10,"69":1,"71":1,"76":2,"116":1,"146":2,"170":2,"184":1}}],["enum",{"2":{"6":2,"66":3,"73":3,"116":3}}],["endpt",{"2":{"182":3}}],["endpoint=3",{"2":{"66":1}}],["endpointtype",{"2":{"66":2}}],["endpoints",{"2":{"65":1,"66":3,"71":1,"74":6,"76":1,"85":2,"116":11,"121":1,"132":2}}],["endpoint",{"2":{"3":1,"6":2,"66":27,"73":1,"74":16,"85":2,"93":1,"116":3,"132":2,"180":4,"182":4,"191":1}}],["ending",{"2":{"65":1,"66":1}}],["end",{"2":{"1":1,"9":1,"13":4,"14":3,"31":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,"65":43,"66":130,"69":9,"70":8,"71":12,"72":1,"73":5,"74":31,"75":6,"76":24,"82":3,"85":19,"88":20,"100":2,"101":2,"105":20,"114":2,"115":2,"116":104,"124":1,"128":2,"129":2,"132":21,"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,"170":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":{"66":1}}],["exit",{"2":{"66":32,"69":2,"71":3,"74":3,"76":2}}],["existingnodes",{"2":{"146":3}}],["existing",{"2":{"66":3,"75":1,"146":1,"192":2,"194":1}}],["exists",{"2":{"65":1,"66":1,"74":1}}],["exist",{"2":{"6":1,"66":1,"74":3,"188":1}}],["excluding",{"2":{"113":1,"116":1,"137":2}}],["exclude",{"2":{"105":9}}],["exclusively",{"2":{"126":1}}],["exclusive",{"2":{"65":1,"74":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":{"31":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":{"77":1}}],["exposes",{"2":{"17":1}}],["export",{"2":{"31":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,"65":2,"66":10,"69":3,"70":8,"73":8,"74":18,"75":8,"76":14,"105":7,"116":7}}],["extrema",{"2":{"146":1,"189":1}}],["extreem",{"2":{"53":10}}],["extracts",{"2":{"82":1}}],["extract",{"2":{"82":1,"146":1,"153":1,"154":2,"180":1}}],["extra",{"2":{"6":3,"66":1,"75":1,"174":1,"176":2,"177":1}}],["external",{"2":{"56":1,"116":2}}],["exteriors",{"2":{"9":1,"73":2,"75":2,"146":1}}],["exterior",{"2":{"3":4,"4":2,"6":10,"53":1,"55":1,"56":1,"58":1,"59":36,"63":2,"66":4,"70":2,"75":3,"76":14,"85":1,"88":2,"90":1,"91":1,"94":3,"104":1,"108":2,"116":9,"122":2,"134":1,"135":3,"138":3,"139":3,"145":6,"146":6,"163":3,"164":1,"166":1,"167":1,"191":2}}],["extending",{"2":{"132":1}}],["extended",{"2":{"85":1,"158":2}}],["extensions",{"2":{"77":1,"195":1}}],["extension",{"2":{"1":1,"6":1,"59":1,"60":1,"82":1,"93":1,"147":1,"172":3,"173":2,"176":1,"177":1,"178":1,"195":1}}],["extent`",{"2":{"155":1,"167":1}}],["extent=true",{"2":{"167":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,"31":5,"65":1,"74":3,"116":5,"132":1,"146":3,"153":2,"167":2,"189":2}}],["extent",{"0":{"167":1},"2":{"0":2,"1":4,"4":3,"6":9,"24":1,"31":3,"32":1,"35":2,"36":2,"37":2,"38":2,"50":1,"58":1,"64":1,"65":1,"74":10,"116":4,"132":2,"146":12,"150":2,"152":4,"153":29,"155":3,"156":2,"160":1,"167":2,"180":1,"189":7}}],["exactly",{"2":{"184":1}}],["exactpredicates",{"2":{"7":1,"13":2,"14":2,"31":1}}],["exact",{"2":{"3":5,"6":5,"7":2,"12":1,"13":1,"65":6,"66":36,"69":7,"70":5,"72":1,"73":5,"74":7,"75":5,"76":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":2,"124":1,"125":3,"126":1,"127":1,"132":3,"135":3,"137":1,"138":3,"139":3,"140":1,"146":1,"169":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,"132":1,"135":1,"145":2,"189":1}}],["example",{"0":{"58":1,"78":1,"162":1,"169":1,"198":1,"199":1},"1":{"79":1},"2":{"1":3,"3":2,"6":11,"11":1,"20":1,"23":2,"52":1,"55":1,"58":1,"62":1,"63":1,"64":1,"68":1,"69":1,"70":1,"73":1,"74":1,"75":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,"131":1,"134":1,"145":1,"146":8,"148":1,"150":2,"153":2,"162":1,"164":1,"168":1,"169":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,"27":1,"66":9,"70":1,"73":1,"74":2,"75":1,"76":1,"84":1,"94":1,"116":5,"118":1,"121":1,"122":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,"81":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":{"66":1,"116":6}}],["locally",{"2":{"158":2}}],["local",{"2":{"53":3,"56":1,"66":4,"71":1,"76":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,"65":1,"66":8,"74":1,"76":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,"74":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,"65":1,"85":1,"88":1,"132":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,"79":2,"81":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,"81":1,"146":1}}],["lat",{"2":{"6":3,"175":1,"176":3}}],["larger",{"2":{"66":1,"75":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,"65":4,"66":9,"85":7,"88":5,"116":20,"124":1,"146":6,"162":1,"170":2,"182":1}}],["lt",{"2":{"6":6,"74":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,"65":1,"66":11,"69":2,"70":2,"73":1,"74":1,"75":1,"76":1,"116":1,"146":16,"153":2,"154":1,"170":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":{"74":1,"162":1}}],["least",{"2":{"3":4,"6":4,"66":1,"74":1,"76":2,"116":14,"122":1,"125":3,"126":2,"127":2,"128":1,"129":1,"132":6,"135":1,"141":1,"145":1}}],["leftjoin",{"2":{"197":1}}],["leftover",{"2":{"66":1}}],["left=1",{"2":{"66":1}}],["left",{"2":{"59":1,"66":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,"29":1,"151":1,"153":2,"161":1,"163":1,"165":4,"166":1,"168":1,"170":2,"193":2}}],["less",{"2":{"3":1,"6":7,"53":1,"56":1,"59":1,"63":1,"65":1,"85":1,"88":1,"105":1,"132":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":3,"122":2,"131":4,"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":3,"122":2,"131":4,"134":8}}],["li",{"2":{"146":2}}],["lie",{"2":{"74":1}}],["lies",{"2":{"66":3,"158":1,"198":1}}],["limitations",{"2":{"74":1}}],["limits",{"2":{"58":1}}],["limited",{"2":{"6":1,"174":1,"177":1}}],["library",{"2":{"69":1,"195":1}}],["libraries",{"2":{"56":1,"168":1,"195":1}}],["libgeos",{"2":{"6":2,"13":1,"14":1,"15":1,"23":1,"32":2,"56":1,"60":5,"81":1,"147":1,"176":7,"180":4,"188":2}}],["little",{"2":{"26":1}}],["literate",{"2":{"26":1,"31":1,"32":1,"50":1,"53":1,"56":1,"59":1,"60":1,"63":1,"65":1,"66":1,"69":1,"71":1,"72":1,"74":1,"76":1,"82":1,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"129":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,"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":{"77":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,"125":1,"138":1},"2":{"3":1,"4":4,"6":5,"66":3,"68":1,"74":9,"79":1,"80":2,"81":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,"131":4,"132":2,"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,"73":2,"85":2,"88":8,"96":1,"97":4,"98":1,"105":6,"110":1,"111":5,"124":1,"125":4,"126":1,"132":4,"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,"124":1,"125":3,"126":1,"131":2,"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,"66":2,"69":2,"73":2,"85":2,"88":8,"96":1,"97":4,"98":1,"110":1,"111":5,"124":1,"125":4,"126":1,"132":4,"137":1,"138":4,"139":1}}],["line2",{"2":{"3":3,"6":7,"73":2,"74":2,"105":5,"118":3,"119":2,"132":3,"145":5}}],["line1",{"2":{"3":4,"6":8,"73":2,"74":2,"105":5,"118":3,"119":2,"132":5,"145":5}}],["linea",{"2":{"1":1,"6":1,"185":1}}],["linearmap",{"2":{"180":1}}],["linearalgebra",{"2":{"31":1}}],["linear",{"2":{"4":7,"6":10,"9":1,"56":2,"59":1,"62":1,"63":3,"65":1,"74":1,"85":5,"88":8,"98":1,"116":2,"125":1,"126":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,"66":4,"73":2,"85":2,"88":8,"96":1,"97":1,"98":4,"110":1,"111":2,"112":3,"124":1,"125":1,"126":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,"31":1,"53":2,"63":2,"66":2,"75":2,"76":1,"82":1,"85":1,"96":1,"98":3,"110":1,"111":1,"112":2,"116":2,"124":1,"125":1,"126":3,"132":4,"137":1,"139":4,"145":1,"146":3,"150":2,"153":5,"154":2,"161":1,"162":6,"163":1,"169":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,"65":8,"66":12,"68":6,"69":18,"73":8,"74":67,"76":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":2,"122":2,"124":1,"125":10,"126":3,"131":3,"132":12,"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,"73":2}}],["lists",{"2":{"20":1,"66":3,"132":1}}],["listed",{"2":{"6":1,"53":1,"180":1}}],["list",{"2":{"6":16,"9":1,"53":20,"66":233,"69":20,"70":14,"71":8,"73":13,"74":5,"75":13,"76":1,"199":2}}],["likely",{"2":{"151":1}}],["like",{"0":{"72":1},"2":{"1":2,"6":5,"17":1,"18":2,"19":1,"20":1,"23":1,"24":1,"29":1,"56":1,"58":1,"59":1,"62":1,"65":1,"70":1,"73":1,"75":1,"82":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,"131":1}}],["important",{"2":{"175":1}}],["import",{"2":{"1":3,"6":4,"13":2,"14":2,"15":1,"31":9,"52":1,"55":1,"60":1,"62":1,"64":1,"69":1,"70":1,"73":1,"74":1,"75":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,"131":1,"132":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,"65":1,"82":1,"85":1,"88":1,"94":1,"108":1,"122":1,"132":1,"135":1,"148":1,"164":1,"165":3,"166":1}}],["implementation",{"0":{"53":1,"56":1,"63":1,"65":1,"69":1,"82":1,"85":1,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"132":1,"135":1,"163":1,"170":1,"177":1},"2":{"6":1,"53":3,"56":3,"59":1,"63":3,"65":3,"75":1,"85":3,"88":3,"91":1,"94":2,"104":1,"108":2,"119":1,"122":2,"132":3,"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,"122":1,"135":1,"147":1,"178":1,"188":3}}],["implemented",{"0":{"147":1},"2":{"1":1,"6":2,"31":1,"56":1,"59":3,"69":2,"71":2,"74":2,"76":2,"82":1,"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,"167":1}}],["i=2",{"2":{"145":1}}],["ipoints",{"2":{"116":4}}],["ip",{"2":{"88":2}}],["ipt",{"2":{"66":8}}],["ihole",{"2":{"88":2}}],["ih",{"2":{"76":22}}],["ii",{"2":{"66":8}}],["i2",{"2":{"65":2}}],["i1",{"2":{"65":2}}],["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,"65":4,"66":28,"71":2,"75":2,"76":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,"169":1}}],["identity",{"2":{"146":4,"156":2,"167":1}}],["ideal",{"2":{"146":1}}],["idea",{"2":{"6":1,"20":1,"25":1,"27":1,"59":1,"148":1,"154":1}}],["idx`",{"2":{"66":1}}],["idx",{"2":{"53":6,"65":9,"66":167,"69":23,"70":5,"73":5,"75":2,"170":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}}],["inaccuracies",{"2":{"74":1}}],["inject",{"0":{"72":1},"2":{"173":1}}],["ind",{"2":{"199":2}}],["individual",{"2":{"193":1}}],["indicate",{"2":{"156":1}}],["indicates",{"2":{"20":1}}],["indices",{"2":{"66":4,"153":2,"154":2,"184":16}}],["indeed",{"2":{"162":1}}],["index",{"2":{"59":8,"66":11,"116":1,"153":1,"182":1}}],["inds",{"2":{"146":3}}],["inplace",{"2":{"59":1}}],["inputs",{"2":{"6":1,"66":1,"88":1,"91":1,"104":1,"119":1,"184":1}}],["input",{"2":{"6":11,"53":1,"69":1,"70":1,"73":1,"74":1,"75":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,"65":1,"66":3,"70":1,"71":1,"73":1,"74":1,"75":1,"76":2,"84":3,"85":1,"96":1,"116":1,"134":1,"137":1,"146":2}}],["insertion",{"2":{"66":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,"65":1}}],["initial",{"2":{"74":2,"176":1}}],["initially",{"2":{"66":1}}],["initialize",{"2":{"59":3,"63":2,"66":1,"74":1}}],["init",{"2":{"19":1,"31":1,"53":1,"63":2,"154":30,"176":4}}],["incorrect",{"2":{"161":1,"162":1}}],["increase",{"2":{"66":1,"116":1}}],["increasing",{"2":{"6":1,"180":1}}],["increment",{"2":{"59":5}}],["including",{"2":{"53":1,"66":2,"74":1,"85":1,"96":1,"97":1,"98":1,"99":1,"116":2}}],["include",{"2":{"31":41,"53":1,"66":1,"77":1,"85":2,"160":1,"180":2,"193":2,"194":1}}],["included",{"2":{"6":2,"76":2,"166":2,"170":2,"193":1}}],["includes",{"2":{"4":2,"6":2,"76":1,"85":2,"88":1,"116":1}}],["incircle",{"0":{"16":1}}],["inv",{"2":{"158":3}}],["investigate",{"2":{"146":1}}],["investigating",{"0":{"81":1}}],["inverted",{"2":{"6":1,"82":1}}],["invalid",{"2":{"20":1,"71":2,"162":1,"168":1,"169":1}}],["invoke",{"2":{"20":1}}],["involved",{"2":{"148":1}}],["involve",{"2":{"20":1}}],["involving",{"2":{"6":3,"70":1,"73":1,"75":1}}],["invocation",{"2":{"18":1}}],["ing",{"2":{"1":1,"6":2,"59":1,"185":1}}],["int",{"2":{"66":6,"76":7,"105":7,"177":1,"180":1,"182":5,"183":1,"184":1}}],["intr2",{"2":{"66":2,"74":14}}],["intr1",{"2":{"66":3,"74":21,"116":2}}],["intrs",{"2":{"66":10,"74":5}}],["intr",{"2":{"65":9,"66":28,"69":16,"74":8}}],["introduction",{"0":{"27":1},"1":{"28":1,"29":1,"30":1}}],["introducing",{"2":{"24":1}}],["introduces",{"2":{"24":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":{"65":1}}],["inter2",{"2":{"65":15}}],["inter1",{"2":{"65":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,"66":21,"69":1,"70":1,"73":5,"74":4}}],["interface",{"0":{"165":1},"2":{"6":3,"20":1,"77":1,"82":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":{"66":1,"76":3,"116":15}}],["interactive",{"2":{"13":1,"14":1}}],["interacting",{"2":{"6":1,"73":1,"116":2}}],["interacts",{"2":{"3":1,"6":1,"116":3,"121":1,"122":1,"125":3,"126":1,"127":1}}],["interact",{"2":{"3":2,"6":2,"75":1,"76":1,"107":1,"116":5,"119":1,"121":1,"122":1,"124":1,"125":2,"126":2,"127":1}}],["interior",{"2":{"3":6,"6":7,"53":9,"55":1,"59":7,"63":5,"66":1,"76":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,"121":1,"122":3,"125":1,"126":2,"127":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,"121":1,"122":1,"124":1,"125":2,"126":1,"134":1,"135":1,"138":3,"139":3}}],["intersectingpolygons",{"2":{"6":3}}],["intersecting",{"0":{"168":1},"1":{"169":1,"170":1},"2":{"6":4,"31":1,"66":2,"76":2,"166":4,"168":1,"170":4}}],["intersections",{"0":{"74":1},"2":{"65":2,"66":2,"71":1,"73":2,"74":1,"76":1,"116":2}}],["intersection",{"0":{"37":1,"73":1,"117":1},"1":{"118":1,"119":1},"2":{"0":2,"3":3,"6":19,"9":1,"15":4,"23":1,"31":1,"37":2,"65":6,"66":38,"69":3,"70":4,"71":4,"73":15,"74":73,"75":2,"76":2,"105":2,"116":6,"118":1,"132":5}}],["intersect",{"2":{"3":8,"6":11,"65":3,"66":4,"70":2,"73":1,"74":1,"75":1,"76":5,"90":1,"91":2,"93":1,"94":1,"104":1,"108":1,"111":1,"113":1,"116":4,"118":2,"132":1,"134":1,"135":2,"138":3,"139":3,"169":1,"170":4}}],["intersects",{"0":{"49":1,"118":1},"2":{"0":2,"3":3,"6":6,"31":1,"49":2,"66":1,"74":2,"76":2,"105":2,"117":1,"118":4,"119":4,"132":5,"140":1,"170":2,"197":1}}],["into",{"2":{"5":1,"6":5,"17":1,"26":1,"53":1,"56":1,"59":1,"63":4,"66":2,"69":1,"70":1,"73":1,"116":1,"146":4,"153":3,"154":2,"155":1,"156":2,"159":1,"170":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,"132":1}}],["info",{"2":{"6":2,"174":1}}],["information",{"0":{"193":1},"2":{"6":1,"29":1,"59":1,"64":1,"66":2,"74":1,"82":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":1,"29":1,"30":1,"31":2,"32":1,"33":1,"53":7,"55":1,"56":3,"57":2,"59":22,"60":1,"62":2,"63":5,"65":31,"66":72,"69":6,"70":9,"71":3,"73":5,"74":29,"75":11,"76":28,"81":1,"82":3,"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,"126":1,"128":1,"129":1,"131":1,"132":11,"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,"168":1,"170":7,"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":{"66":4,"73":2,"156":4}}],["iterators",{"2":{"13":1,"59":1,"65":3,"66":5,"73":1,"76":2,"146":1,"153":2,"154":3,"156":8,"170":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,"65":1,"82":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":{"66":3,"76":7}}],["itself",{"2":{"65":1,"145":1,"151":1}}],["its",{"2":{"5":1,"6":9,"18":1,"55":1,"59":1,"65":4,"66":2,"76":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,"29":3,"30":1,"52":1,"53":1,"55":2,"56":3,"58":1,"60":1,"63":2,"64":1,"65":2,"66":2,"70":1,"71":1,"73":1,"74":4,"75":1,"76":3,"81":2,"82":2,"85":3,"88":1,"93":2,"96":3,"110":3,"116":14,"124":2,"131":1,"132":1,"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,"168":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":{"72":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,"65":36,"66":95,"69":8,"70":13,"71":12,"73":9,"74":44,"75":10,"76":22,"82":3,"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":1,"122":2,"124":4,"125":3,"126":2,"127":2,"128":1,"129":1,"131":4,"132":16,"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,"168":1,"170":12,"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,"65":1,"70":1,"71":2,"73":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":{"66":1}}],["issues",{"2":{"25":1,"27":1}}],["isa",{"2":{"18":1,"59":9,"153":3,"154":1,"177":2,"189":1}}],["isnothing",{"2":{"60":1,"66":9,"69":1,"71":2,"74":2,"76":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,"65":1,"66":4,"69":1,"71":1,"74":3,"76":2,"85":3,"88":1,"93":1,"116":9,"132":1,"180":1,"188":1}}],["isconcave",{"0":{"145":1},"2":{"0":1,"6":2,"81":1,"143":1,"145":3}}],["isclockwise",{"0":{"144":1},"2":{"0":1,"6":2,"65":1,"143":1,"145":5,"146":2}}],["is",{"0":{"25":1,"52":1,"55":2,"62":1,"64":1,"68":1,"84":2,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"131":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,"27":2,"52":1,"53":19,"55":7,"56":19,"57":2,"58":2,"59":15,"60":3,"62":2,"63":5,"64":3,"65":22,"66":82,"68":1,"69":2,"70":4,"71":13,"73":4,"74":40,"75":7,"76":20,"77":1,"81":5,"82":4,"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,"122":4,"124":2,"131":3,"132":12,"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,"168":4,"169":1,"170":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":{"65":2}}],["cb",{"2":{"58":1,"81":1,"146":1}}],["cgrad",{"2":{"58":1}}],["cgal",{"2":{"58":1}}],["c",{"2":{"32":1,"56":1,"62":1,"65":4,"69":5,"72":3,"116":24,"176":1}}],["cleaner",{"2":{"82":1}}],["cleanest",{"2":{"82":1}}],["clear",{"2":{"64":1}}],["clearly",{"2":{"52":1,"55":1,"84":1}}],["clamped",{"2":{"74":18}}],["clamp",{"2":{"53":1,"74":1}}],["classified",{"2":{"66":1}}],["classify",{"2":{"66":4}}],["class",{"2":{"6":1,"146":1}}],["class=",{"2":{"6":6}}],["clipping",{"0":{"66":1,"70":1,"71":1,"74":1,"75":1,"76":1},"2":{"6":1,"9":1,"31":8,"66":9,"69":3,"70":1,"73":1,"75":1,"168":1}}],["closure",{"2":{"153":2}}],["closing",{"2":{"53":1}}],["closer",{"2":{"158":1}}],["close",{"2":{"53":5,"65":1,"66":2,"69":1,"74":1,"85":9,"146":1,"162":1,"163":4}}],["closest",{"2":{"4":3,"6":3,"74":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,"31":1,"53":6,"56":3,"63":3,"65":1,"66":1,"74":1,"76":3,"88":21,"96":2,"97":5,"98":5,"110":2,"111":5,"112":3,"116":52,"125":5,"126":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,"65":7,"81":1,"144":2,"145":3,"146":1}}],["ceil",{"2":{"177":1}}],["ce",{"2":{"116":11}}],["certainly",{"2":{"74":1}}],["certain",{"2":{"17":1,"18":1,"26":1,"29":1}}],["central",{"2":{"66":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,"31":1,"61":3,"62":4,"63":38,"148":1,"154":1,"180":4}}],["cent",{"2":{"62":2}}],["centered",{"2":{"66":1}}],["center",{"2":{"6":1,"62":1,"146":1}}],["cells",{"2":{"146":1}}],["cell",{"2":{"6":4,"64":3,"65":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,"82":1,"146":2}}],["changes",{"2":{"66":1}}],["changed",{"2":{"66":1}}],["change",{"2":{"24":1,"66":1,"81":1}}],["chain=2",{"2":{"66":1}}],["chain=1",{"2":{"66":1}}],["chain",{"2":{"66":66,"71":3,"74":4,"76":4,"81":2}}],["chains",{"2":{"20":1,"66":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,"66":1,"74":1,"87":1,"90":1,"93":1,"103":1,"107":1,"116":5,"118":1,"121":1,"131":1,"132":1,"134":1,"198":1}}],["check",{"2":{"4":1,"6":1,"7":1,"63":1,"65":3,"66":8,"69":1,"70":1,"72":1,"74":4,"75":1,"88":8,"116":11,"146":5,"153":1,"167":1,"169":1,"175":2,"182":1,"184":1}}],["checked",{"2":{"4":1,"6":1,"66":1,"74":1,"81":1,"116":1,"167":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,"66":1,"70":1,"74":2,"76":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,"64":1,"68":1,"79":1,"80":1,"81":1,"84":1,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"131":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":{"66":1,"74":1,"76":1,"85":1,"94":1,"108":1,"122":1,"135":1,"151":1,"153":1,"177":1}}],["calling",{"2":{"33":1,"66":2,"153":1}}],["call",{"2":{"18":1,"24":1,"56":1,"63":1,"153":4,"178":1}}],["called",{"2":{"6":2,"63":3,"66":1,"153":1,"163":1,"165":1,"166":1,"188":1,"192":1}}],["calculation",{"2":{"74":1}}],["calculations",{"2":{"6":1,"25":2,"27":2,"74":1,"158":2,"176":1}}],["calculating",{"2":{"4":1,"6":1,"18":1,"66":1,"167":1}}],["calculated",{"2":{"6":1,"62":2,"65":1,"74":2,"85":1,"153":4}}],["calculates",{"2":{"4":2,"6":6,"56":1,"59":2,"65":1,"74":2,"75":1,"85":2,"176":1,"183":1}}],["calculate",{"2":{"1":2,"5":1,"6":5,"11":1,"53":3,"59":3,"63":1,"65":1,"74":1,"116":1,"146":1,"150":1,"153":3,"155":1}}],["calc",{"2":{"1":2,"6":3,"24":1,"31":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,"167":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":1,"124":2,"126":1,"132":2,"140":1}}],["can",{"2":{"1":1,"4":2,"6":14,"7":2,"9":1,"13":1,"14":1,"24":1,"26":1,"31":1,"53":1,"56":1,"57":2,"58":1,"59":3,"60":1,"63":1,"65":1,"66":3,"70":3,"73":3,"74":1,"75":3,"76":1,"81":1,"82":2,"87":1,"88":3,"90":1,"93":1,"105":1,"107":1,"116":23,"118":2,"121":1,"125":1,"126":1,"131":2,"132":3,"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":1,"168":2,"169":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,"66":3}}],["create",{"0":{"193":1},"2":{"6":2,"13":2,"14":1,"66":1,"69":1,"74":2,"82":1,"146":2,"153":1,"166":2,"168":3,"170":2,"190":2,"191":4,"192":5,"193":3,"194":1,"195":1,"198":1}}],["created",{"2":{"4":2,"6":2,"66":1,"85":3}}],["criteria",{"2":{"94":2,"108":2,"122":2,"135":2,"182":3}}],["cropping",{"2":{"58":2}}],["cross=1",{"2":{"73":1}}],["cross`",{"2":{"73":1}}],["crossings",{"2":{"66":3,"116":1}}],["crossing",{"0":{"105":1},"2":{"6":2,"66":81,"70":1,"71":7,"73":3,"74":7,"75":1,"76":6,"94":1,"105":1,"116":1,"135":1}}],["cross",{"0":{"129":1},"2":{"6":1,"9":1,"53":3,"66":13,"69":14,"70":2,"71":1,"72":4,"73":2,"74":10,"75":2,"76":1,"94":1,"105":2,"108":1,"116":17,"122":1,"132":2,"135":1,"145":3}}],["crosses",{"0":{"43":1},"2":{"0":2,"3":2,"6":3,"31":1,"43":2,"66":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,"167":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,"31":1,"32":2,"35":2,"36":2,"37":2,"38":2,"50":2,"82":1,"146":10,"150":2,"152":3,"153":36,"155":2,"156":5,"167":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,"66":116,"69":9,"76":3,"170":26}}],["currentnode",{"2":{"146":8}}],["current",{"2":{"53":1,"59":8,"66":3,"69":2,"71":1,"74":1,"76":6,"146":2,"170":3}}],["currently",{"2":{"5":1,"6":3,"23":1,"59":1,"66":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,"65":3,"66":5,"73":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":6,"127":3,"132":1,"135":1,"137":4,"138":6,"139":6}}],["curves",{"2":{"0":1,"3":1,"6":5,"56":3,"65":3,"74":1,"84":1,"85":1,"88":13,"99":1,"116":1,"132":1,"140":1,"180":2}}],["cutpolygon",{"2":{"68":1}}],["cuts",{"2":{"68":1}}],["cutting",{"0":{"67":1},"1":{"68":1,"69":1},"2":{"66":1,"69":2}}],["cut",{"0":{"68":1},"2":{"0":1,"6":6,"31":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,"27":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":1,"66":2,"69":2,"70":1,"73":1,"75":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":{"65":4,"146":1}}],["corners",{"2":{"65":1}}],["correspondent",{"2":{"145":1}}],["correspond",{"2":{"66":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,"169":1}}],["correction",{"2":{"6":10,"31":4,"70":1,"71":2,"73":1,"74":2,"75":1,"76":2,"161":1,"163":2,"164":2,"165":8,"166":7,"168":1,"170":2}}],["correct",{"2":{"6":3,"24":1,"53":1,"56":1,"63":1,"65":1,"66":1,"70":1,"73":1,"75":1,"85":1,"88":1,"94":1,"108":1,"122":1,"132":1,"135":1,"161":1,"162":2,"164":1}}],["cov",{"2":{"65":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,"76":1,"93":1,"94":1,"98":2,"99":2,"100":1,"101":2,"103":1,"115":2,"116":3,"170":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,"31":1,"48":2,"66":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,"31":1,"47":2,"102":1,"103":4,"104":5,"146":1,"197":1}}],["coverages",{"2":{"6":1,"65":1}}],["coverage",{"0":{"64":1},"2":{"0":1,"6":2,"31":1,"64":3,"65":16}}],["code",{"2":{"7":1,"10":1,"26":5,"59":1,"94":1,"108":1,"116":1,"122":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":{"79":1,"80":1,"196":1,"198":2}}],["colorrange",{"2":{"58":2,"84":1}}],["colorbar",{"2":{"58":1,"81":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,"79":1,"80":1,"81":2,"84":2,"87":4,"90":4,"93":1,"103":1,"107":4,"131":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,"64":2,"68":2,"82":2,"84":1,"146":3,"153":2,"154":1,"175":4,"189":2}}],["collections",{"0":{"100":1,"101":1,"114":1,"115":1,"128":1,"129":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,"29":2,"53":2,"56":3,"65":2,"85":2,"100":2,"101":2,"114":2,"115":2,"128":2,"129":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,"66":5,"70":2,"73":3,"74":12,"75":2,"131":1,"132":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":{"30":1}}],["combos",{"2":{"71":1,"74":1,"76":1}}],["combination",{"2":{"66":1,"156":2}}],["combines",{"2":{"63":1}}],["combine",{"2":{"63":2,"66":5,"170":1}}],["combined",{"2":{"6":1,"66":4,"76":1,"166":1,"170":2,"191":1}}],["coming",{"2":{"65":1}}],["com",{"2":{"6":2,"74":1,"82":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,"66":2,"71":1,"76":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,"65":8,"74":1,"153":2,"156":2}}],["composed",{"2":{"4":4,"6":5,"88":5,"191":2}}],["comprised",{"2":{"6":3,"70":1,"73":1,"75":1}}],["computing",{"2":{"60":1,"77":1}}],["computational",{"2":{"6":1,"59":1}}],["computation",{"2":{"6":6,"59":1,"63":1,"70":1,"73":1,"75":1,"181":2,"182":2,"183":2}}],["computer",{"2":{"6":1,"59":1}}],["computes",{"2":{"6":1,"82":1}}],["compute",{"2":{"4":1,"6":3,"56":1,"59":1,"82":3,"177":1}}],["computed",{"2":{"4":4,"6":5,"53":1,"56":3,"59":3,"65":1,"196":1}}],["compact",{"2":{"199":3}}],["comparisons",{"2":{"197":1}}],["comparing",{"2":{"76":1,"88":1}}],["compares",{"2":{"146":1}}],["compared",{"2":{"88":1}}],["compare",{"2":{"3":1,"4":1,"6":2,"53":1,"76":1,"88":2,"132":1}}],["compatibility",{"2":{"56":1}}],["compatible",{"2":{"1":3,"22":1,"25":1,"27":1,"53":1,"56":1,"59":2,"63":1,"65":1,"85":1,"88":1,"91":1,"94":1,"104":1,"108":1,"119":1,"122":1,"132":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,"80":1,"180":1}}],["counted",{"2":{"74":2}}],["counters",{"2":{"59":8}}],["counterparts",{"2":{"33":1}}],["counter",{"2":{"6":1,"66":7,"116":1,"144":1,"145":1}}],["counterclockwise",{"2":{"4":1,"6":2,"9":1,"55":2,"56":1,"81":1,"82":1}}],["count",{"2":{"66":16,"146":1,"184":1}}],["couldn",{"2":{"9":1,"160":1}}],["could",{"2":{"4":1,"6":1,"56":3,"74":4,"76":1,"77":1,"85":1,"116":2,"158":1,"172":1}}],["conditions",{"2":{"197":4}}],["connected",{"2":{"116":5}}],["connect",{"2":{"65":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":{"146":1}}],["contour",{"2":{"146":4}}],["continue",{"2":{"56":1,"65":1,"66":7,"71":2,"74":1,"116":1,"153":1,"165":1,"170":3,"184":1,"199":1}}],["contributions",{"2":{"25":1,"27":1}}],["controlled",{"2":{"24":1}}],["control",{"2":{"23":1}}],["containing",{"2":{"64":1,"198":1}}],["contain",{"2":{"3":1,"6":1,"26":1,"76":1,"90":1,"132":1,"191":1}}],["contained",{"2":{"3":1,"6":1,"9":1,"76":4,"91":1,"103":1,"131":1,"132":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,"31":1,"33":1,"45":2,"66":1,"76":1,"77":1,"89":1,"90":5,"91":4,"151":1,"169":1,"197":1,"198":1}}],["consistent",{"2":{"66":1,"148":1}}],["consistency",{"2":{"22":1}}],["considered",{"2":{"53":1,"59":1}}],["consider",{"2":{"52":1,"55":1,"62":1,"64":1,"65":3,"68":1,"84":2,"87":1,"90":1,"93":1,"103":1,"107":1,"116":3,"118":1,"121":1,"131":1,"134":1}}],["constprop",{"2":{"105":1}}],["constants",{"2":{"66":1}}],["const",{"2":{"31":4,"66":1,"94":4,"108":3,"122":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,"73":1,"75":1}}],["concepts",{"0":{"28":1},"1":{"29":1,"30":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":{"66":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,"123":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,"82":1,"84":1,"146":2,"176":1,"180":3,"186":1,"188":1,"189":1}}],["convexity",{"2":{"81":2}}],["convexhull",{"2":{"50":1,"147":1}}],["convex",{"0":{"50":1,"77":1,"80":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1},"2":{"0":1,"6":7,"31":2,"50":1,"53":3,"77":4,"79":2,"80":1,"81":4,"82":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,"74":2,"76":2}}],["validate",{"2":{"9":1}}],["valid",{"2":{"1":1,"6":8,"63":1,"70":2,"73":2,"74":3,"75":2,"146":1,"161":3,"162":1,"168":1,"169":1,"184":1,"185":1}}],["val",{"2":{"53":2,"66":2,"74":8,"116":30,"132":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,"65":5,"66":5,"74":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,"65":2,"66":5,"74":7,"84":1,"85":3,"146":6,"153":2,"182":11,"188":2,"197":1}}],["vs",{"0":{"15":1},"2":{"12":1,"74":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":{"66":1}}],["visited",{"2":{"66":4}}],["view",{"2":{"66":2,"82":1,"146":1,"170":1,"182":3,"199":1}}],["viewport",{"2":{"14":1}}],["views",{"2":{"1":1,"66":1,"75":1,"172":1}}],["vincenty",{"2":{"6":1,"177":1}}],["via",{"2":{"6":1,"60":1,"77":1,"147":1,"173":1,"176":1,"188":2}}],["vec",{"2":{"82":2}}],["vect",{"2":{"156":2}}],["vectypes",{"2":{"59":5}}],["vector",{"2":{"1":12,"4":6,"5":1,"6":46,"18":1,"23":1,"29":1,"52":1,"53":10,"59":14,"66":7,"69":6,"70":4,"71":1,"73":2,"74":3,"75":4,"116":1,"132":2,"145":3,"146":4,"148":1,"150":1,"153":4,"154":3,"162":8,"163":1,"169":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,"66":1,"82":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":{"66":1}}],["vert",{"2":{"184":21}}],["verts",{"2":{"180":2}}],["vertical",{"2":{"58":1,"65":1,"74":1,"146":1}}],["vertices",{"2":{"6":7,"9":1,"57":4,"59":5,"66":1,"69":2,"82":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,"66":19,"74":12,"81":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":{"74":2,"144":1}}],["rule",{"2":{"66":1}}],["rules",{"2":{"66":1}}],["rightjoin",{"2":{"197":1}}],["right=2",{"2":{"66":1}}],["right",{"2":{"59":1,"66":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,"126":1,"139":1,"161":1},"1":{"162":1,"163":1},"2":{"4":4,"6":6,"9":2,"56":1,"63":1,"66":3,"74":1,"88":7,"144":1,"146":5,"163":1,"166":1,"180":1}}],["ring",{"2":{"4":7,"6":13,"9":1,"31":1,"53":3,"56":2,"59":1,"62":1,"63":4,"65":13,"66":12,"76":3,"85":5,"88":4,"96":1,"97":2,"98":5,"110":1,"112":1,"116":2,"124":1,"125":1,"126":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":{"81":1}}],["rotate",{"2":{"65":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":{"79":1}}],["rand",{"2":{"6":1,"81":1,"146":1,"198":2}}],["rather",{"2":{"6":1,"146":1,"169":1}}],["ratio",{"2":{"6":7,"74":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,"168":1}}],["requirements",{"2":{"116":5}}],["required",{"2":{"82":1,"94":3,"108":3,"122":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,"122":1,"125":3,"126":1,"127":1,"134":1,"135":1,"138":3,"139":3,"140":1,"173":1,"176":1,"188":1}}],["require",{"2":{"33":1,"82":1,"93":2,"94":6,"108":3,"116":32,"122":3,"135":3}}],["requests",{"2":{"25":1,"27":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":{"76":1}}],["reveals",{"2":{"76":1}}],["reverse",{"2":{"55":1,"58":1,"59":1,"66":2,"191":2}}],["rev",{"2":{"75":1}}],["render",{"2":{"58":1}}],["rendering",{"2":{"58":3,"59":1}}],["rename",{"2":{"10":1}}],["regardless",{"2":{"74":1,"116":1}}],["regions",{"2":{"71":3,"74":5,"75":1,"76":3,"116":2,"199":1}}],["region",{"2":{"60":2,"74":3,"76":2,"199":1}}],["register",{"2":{"31":3,"59":3}}],["regular",{"0":{"15":1}}],["rebuilding",{"2":{"153":1,"154":1}}],["rebuild",{"2":{"31":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":{"66":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,"168":1}}],["real`",{"2":{"176":1,"177":1}}],["reality",{"2":{"81":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,"74":1,"176":3,"177":3,"184":5,"197":1}}],["relation",{"2":{"66":2}}],["relations",{"2":{"31":10,"105":1,"132":1}}],["relationship",{"2":{"23":1,"197":2}}],["relative",{"2":{"59":3}}],["relevant",{"2":{"6":1,"10":1,"82":1,"158":2}}],["reducing",{"2":{"154":2}}],["reduced",{"2":{"181":1,"182":1,"183":1}}],["reduces",{"2":{"19":1,"76":1,"154":1}}],["reduce",{"2":{"1":1,"146":1,"150":1,"154":2,"165":1}}],["redundant",{"2":{"66":1}}],["red",{"2":{"14":1,"62":2,"84":1,"93":1,"103":1,"118":1,"191":1,"192":1,"198":2}}],["removal",{"2":{"66":1}}],["removes",{"2":{"66":1,"148":1}}],["removed",{"2":{"66":3,"71":5,"146":1}}],["remove",{"2":{"56":1,"65":1,"66":33,"69":2,"70":5,"73":5,"75":2,"170":2,"181":1,"182":3,"184":4}}],["removing",{"2":{"6":3,"66":1,"71":1,"181":1,"182":1,"183":1}}],["remainingnode",{"2":{"146":3}}],["remaining",{"2":{"66":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":{"66":1,"153":1}}],["resize",{"2":{"13":1,"14":1,"66":2}}],["resampled",{"2":{"6":1,"177":1}}],["respectively",{"2":{"66":1,"132":1,"156":1,"191":1}}],["respect",{"2":{"6":2,"73":1,"74":1,"82":1,"116":6}}],["rest",{"2":{"6":1,"59":2,"75":1}}],["resulting",{"2":{"69":1,"76":1,"146":1,"198":1}}],["results",{"2":{"3":2,"6":2,"74":1,"105":1,"132":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,"65":1,"74":15,"82":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":{"66":1,"71":1,"74":1,"76":1}}],["recalculate",{"2":{"152":1}}],["recursive",{"2":{"151":1}}],["recursively",{"2":{"4":1,"6":1,"151":1,"167":1}}],["rect",{"2":{"52":3,"55":5,"64":3,"84":7}}],["rectangle",{"2":{"52":2,"55":2,"58":2,"64":2,"65":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,"31":2,"150":1,"153":2,"154":1,"156":28}}],["replace",{"2":{"66":1,"146":2,"182":1}}],["replaced",{"2":{"22":1}}],["repl",{"2":{"60":1,"173":1,"176":1}}],["repeat",{"2":{"63":1,"66":3,"88":6}}],["repeating",{"2":{"56":1,"76":1}}],["repeated",{"2":{"4":3,"6":3,"9":1,"53":2,"59":1,"66":2,"76":2,"85":2,"88":4,"116":1}}],["represented",{"2":{"158":1,"198":1}}],["represent",{"2":{"17":1,"59":1,"66":4,"88":1,"158":1}}],["representing",{"2":{"6":2,"71":1,"74":1,"76":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,"31":2,"148":1,"172":6,"173":2}}],["re",{"2":{"1":1,"6":1,"17":1,"82":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,"30":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,"65":12,"66":36,"69":12,"70":5,"71":4,"73":4,"74":18,"75":6,"76":9,"82":2,"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":1,"124":2,"128":2,"129":2,"132":28,"135":1,"141":2,"142":2,"145":10,"146":12,"153":17,"154":3,"156":7,"161":1,"163":4,"165":6,"166":2,"170":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,"66":3,"69":1,"70":2,"73":2,"74":2,"75":2,"81":1,"82":1,"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,"65":6,"66":4,"69":1,"70":1,"74":1,"75":1,"82":1,"85":8,"87":1,"90":2,"91":1,"94":1,"103":2,"104":1,"107":1,"116":4,"119":1,"132":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":{"66":8,"183":4}}],["ptm",{"2":{"145":3}}],["ptj",{"2":{"145":5}}],["pti",{"2":{"145":3}}],["ptrait",{"2":{"85":2}}],["pts",{"2":{"66":22,"69":7}}],["pt",{"2":{"66":114,"69":2,"74":26,"116":8,"182":4}}],["pt2",{"2":{"66":14,"74":2}}],["pt1",{"2":{"66":18,"74":2}}],["pn",{"2":{"124":3}}],["pn2",{"2":{"66":4}}],["pn1",{"2":{"66":4}}],["pfirst",{"2":{"56":3}}],["pu",{"2":{"198":2}}],["purpose",{"2":{"153":1}}],["pure",{"2":{"6":1,"82":1,"146":1}}],["purely",{"2":{"6":1,"18":1,"158":1,"176":1}}],["push",{"2":{"66":15,"69":5,"70":2,"73":2,"74":2,"75":4,"76":5,"146":3,"163":1,"177":3,"182":3}}],["pulling",{"2":{"82":1}}],["pull",{"2":{"25":1,"27":1}}],["public",{"2":{"24":1}}],["pick",{"2":{"192":2}}],["piece",{"2":{"66":6,"170":6}}],["pieces",{"2":{"66":12,"69":1,"71":2,"75":4,"116":1,"170":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,"66":1,"148":1,"154":1,"197":3,"198":2,"200":1}}],["performing",{"2":{"6":3,"23":1,"59":1,"70":1,"73":1,"75":1,"198":1}}],["performance",{"2":{"4":1,"6":2,"22":1,"146":1,"167":1,"168":1,"180":1,"195":1}}],["per",{"2":{"5":2,"6":2,"58":1,"59":2,"66":5,"146":1,"153":2,"154":2,"177":1}}],["pl",{"2":{"198":2}}],["plt",{"2":{"191":1}}],["please",{"2":{"66":1}}],["place",{"2":{"74":1,"197":1}}],["placement",{"2":{"66":1}}],["plan",{"2":{"174":1}}],["plane",{"2":{"6":1,"59":1,"158":3,"177":1,"196":1}}],["planar",{"2":{"6":4,"31":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,"79":2,"80":1,"81":1,"87":1,"131":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,"65":19,"66":18,"75":2,"81":1,"85":15,"88":11,"94":2,"103":2,"116":12,"132":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,"65":25,"66":9,"68":1,"75":2,"81":2,"85":15,"88":14,"93":5,"94":3,"103":5,"116":4,"124":3,"132":2,"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,"31":1,"66":5,"72":3,"74":4,"116":1,"197":1,"199":1}}],["pretty",{"2":{"172":1}}],["prettytime",{"2":{"13":2}}],["prevent",{"2":{"71":2,"74":2,"76":2}}],["prev^2",{"2":{"53":2}}],["prev",{"2":{"53":14,"66":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,"75":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,"124":1,"125":3,"126":1,"127":1,"137":3,"138":3,"139":3,"140":1,"153":1,"154":1,"182":1}}],["processed",{"2":{"66":6}}],["processors",{"2":{"31":1,"94":2,"108":2,"122":2,"135":2}}],["processor",{"2":{"31":1}}],["processing",{"2":{"23":1}}],["profile",{"2":{"9":1}}],["providers",{"2":{"162":1,"169":1}}],["provide",{"0":{"23":1},"2":{"6":6,"52":1,"55":1,"57":1,"62":1,"64":1,"68":1,"70":2,"73":2,"75":2,"84":1,"87":1,"90":1,"93":1,"103":1,"107":1,"116":2,"118":1,"121":1,"131":1,"134":1,"146":1,"184":1}}],["provides",{"2":{"6":1,"77":1,"82":1,"192":1}}],["provided",{"2":{"4":1,"6":3,"11":1,"66":1,"85":1,"88":1,"169":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":{"31":1,"156":1}}],["primitive",{"2":{"29":1}}],["primarily",{"2":{"25":2,"27":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,"132":1}}],["part",{"2":{"65":2,"76":2,"116":3,"152":1}}],["partition",{"2":{"153":2,"154":2}}],["partialsort",{"2":{"184":1}}],["partially",{"2":{"66":2,"76":2}}],["partial",{"2":{"65":4}}],["particularly",{"2":{"59":1}}],["particular",{"2":{"30":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":{"29":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":{"65":2,"116":1}}],["passed",{"2":{"1":2,"6":5,"82":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":{"74":1,"191":1}}],["pair",{"2":{"3":2,"6":2,"65":1,"132":2,"153":2,"154":1}}],["packages",{"2":{"25":1,"27":1,"77":1,"156":2,"161":1,"187":1,"190":3,"192":1,"195":1}}],["package",{"2":{"1":2,"6":1,"22":1,"25":2,"27":2,"60":1,"77":2,"82":1,"146":1,"172":3,"173":1,"176":1,"192":1,"195":2}}],["page",{"2":{"0":1,"9":1,"26":1,"29":1,"31":1,"32":1,"50":1,"53":1,"56":1,"58":1,"59":1,"60":1,"63":1,"65":1,"66":1,"69":1,"71":1,"72":1,"74":1,"76":1,"82":1,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"129":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,"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":1,"65":5,"66":5,"71":2,"75":2,"79":1,"80":1,"84":3,"87":1,"90":1,"93":1,"103":1,"105":4,"107":1,"116":20,"118":1,"121":1,"131":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":{"65":1}}],["potentially",{"2":{"6":2,"66":1,"166":2,"170":2}}],["post",{"2":{"182":2}}],["possibly",{"2":{"153":1}}],["possiblenodes",{"2":{"146":2}}],["possible",{"2":{"6":3,"70":1,"73":1,"75":1,"146":1,"153":1,"154":1}}],["possibility",{"2":{"151":1}}],["possibilities",{"2":{"74":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":{"66":7,"70":1,"73":1,"75":1}}],["polynode",{"2":{"66":36}}],["polypoints",{"2":{"59":46}}],["polys",{"2":{"6":2,"66":39,"68":3,"69":10,"70":14,"71":14,"73":9,"74":6,"75":14,"76":28,"170":26}}],["polys1",{"2":{"3":2,"6":2,"132":6}}],["polys2",{"2":{"3":2,"6":2,"132":6}}],["poly",{"2":{"3":2,"6":16,"15":2,"52":1,"55":1,"56":6,"58":2,"59":3,"62":1,"64":2,"65":4,"66":107,"68":4,"69":20,"70":22,"71":12,"73":15,"74":10,"75":19,"76":79,"79":2,"84":1,"85":3,"88":4,"105":10,"116":21,"132":8,"145":5,"146":5,"170":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,"132":7}}],["poly1",{"2":{"3":3,"4":2,"6":7,"70":2,"88":2,"116":14,"132":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,"31":1,"146":31}}],["polygon`",{"2":{"59":3,"82":1}}],["polygons",{"0":{"99":1,"127":1,"140":1,"168":1},"1":{"169":1,"170":1},"2":{"3":4,"4":3,"5":1,"6":18,"9":1,"23":5,"31":1,"56":5,"57":1,"59":2,"62":1,"63":1,"65":1,"66":14,"69":2,"70":9,"71":5,"73":3,"74":8,"75":6,"76":19,"84":1,"85":1,"88":5,"99":1,"132":5,"140":1,"145":1,"146":19,"151":1,"162":2,"166":3,"168":2,"169":2,"170":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,"65":2,"66":2,"69":1,"70":5,"71":5,"73":3,"74":5,"75":4,"76":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,"124":2,"125":1,"126":1,"127":3,"128":1,"132":8,"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,"170":2,"180":2,"189":1}}],["polygon",{"0":{"34":1,"66":1,"67":1,"70":1,"71":1,"74":1,"75":1,"76":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":3,"65":4,"66":39,"68":3,"69":10,"70":5,"71":7,"73":5,"74":6,"75":6,"76":34,"77":1,"81":1,"82":3,"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":1,"124":3,"125":4,"126":5,"127":7,"132":4,"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,"168":3,"169":12,"170":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":{"74":1}}],["pointedgeside",{"2":{"66":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,"79":1,"84":1}}],["point2d",{"2":{"58":1}}],["point2",{"2":{"6":2,"59":5,"81":1,"85":4}}],["pointtrait",{"2":{"1":1,"4":4,"6":6,"18":1,"32":1,"50":1,"53":2,"56":1,"59":3,"65":1,"73":2,"82":1,"85":17,"88":8,"96":6,"100":1,"110":6,"114":1,"124":6,"128":1,"137":6,"141":1,"148":2,"150":1,"151":1,"153":7,"154":4,"156":12,"159":2,"165":2,"166":1,"167":1,"171":2,"180":2,"185":2,"186":2,"189":1}}],["point",{"0":{"110":1,"124":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,"65":50,"66":97,"69":13,"71":9,"73":1,"74":71,"76":9,"82":3,"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":1,"122":3,"124":10,"125":1,"127":1,"131":2,"132":21,"135":4,"137":11,"145":1,"146":3,"150":1,"153":1,"161":1,"162":2,"166":2,"168":1,"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,"132":3}}],["points1",{"2":{"3":1,"6":1,"132":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,"65":5,"66":55,"69":3,"70":5,"71":1,"73":8,"74":28,"75":4,"76":1,"77":3,"79":4,"81":4,"82":6,"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,"124":1,"125":2,"126":4,"127":3,"132":5,"134":1,"135":5,"137":3,"138":3,"139":3,"140":1,"144":1,"146":3,"153":2,"154":1,"167":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":{"66":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,"66":1}}],["most",{"2":{"25":1,"27":1,"66":1,"71":1,"74":1,"76":1,"81":1,"116":1,"180":1,"195":2}}],["monotone",{"2":{"20":1,"81":2}}],["monotonechainmethod",{"2":{"0":1,"6":1,"77":1,"81":2,"82":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,"29":1,"66":1,"70":1,"73":1,"75":1,"82":1,"116":1,"132":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":{"168":1}}],["midpoint",{"2":{"66":2}}],["middle",{"2":{"66":2}}],["mid",{"2":{"65":2,"116":3}}],["mining",{"2":{"199":1}}],["minimal",{"2":{"199":1}}],["minimize",{"2":{"74":1}}],["minimum",{"2":{"4":7,"6":12,"64":1,"65":2,"85":12,"180":1,"181":1,"183":1}}],["mind",{"2":{"175":1,"198":1}}],["minmax",{"2":{"74":4}}],["min",{"2":{"65":1,"74":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,"27":1,"56":1,"70":1,"73":1,"74":1,"75":1,"164":1,"182":1}}],["mixed",{"2":{"6":4,"180":1}}],["m",{"2":{"5":1,"6":1,"15":10,"59":2,"65":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":{"66":6,"71":1,"74":1,"76":1}}],["marking",{"2":{"71":2,"74":2,"76":2}}],["mark",{"2":{"66":2}}],["marks",{"2":{"66":1}}],["mag",{"2":{"53":4}}],["making",{"2":{"66":1,"146":1,"151":1,"169":1,"191":1,"193":2}}],["makie",{"2":{"13":1,"14":1,"52":1,"55":1,"58":3,"62":1,"64":1,"68":4,"79":1,"80":1,"84":1,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"131":1,"134":1,"146":3,"179":1,"180":1,"196":1}}],["makevalid",{"2":{"180":2}}],["makes",{"2":{"56":1,"66":1,"85":1,"153":1,"162":1,"168":1,"169":1}}],["make",{"2":{"9":1,"25":1,"27":1,"53":1,"66":3,"74":1,"85":1,"132":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":{"28":1},"1":{"29":1,"30":1},"2":{"7":1,"26":1,"66":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,"31":2,"158":12,"177":3}}],["manually",{"2":{"161":1}}],["many",{"2":{"4":1,"5":1,"6":2,"23":1,"26":1,"59":1,"66":1,"69":1,"71":1,"74":2,"76":1,"88":1,"162":1,"167":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,"29":1,"59":1,"66":1,"74":1,"132":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,"132":3,"146":1,"153":1,"156":2}}],["matching",{"2":{"3":1,"6":1,"22":1,"88":3,"132":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":{"74":1}}],["maximum",{"2":{"3":1,"6":4,"14":1,"64":1,"65":4,"105":1,"146":1,"176":1,"177":1,"182":4}}],["max",{"2":{"6":9,"32":9,"53":2,"65":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,"66":1,"74":1,"126":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,"66":1,"74":1,"81":1,"145":1,"147":1,"150":1,"151":1,"153":4,"158":1,"159":1,"168":1,"169":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,"132":4,"145":1,"158":1}}],["means",{"2":{"3":1,"6":2,"55":1,"56":1,"60":1,"93":1,"116":3,"131":1,"132":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,"132":1,"182":1}}],["meet",{"2":{"74":3,"93":1,"94":1,"108":1,"116":7,"122":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":{"31":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":1,"31":27,"59":3,"77":1,"94":1,"108":1,"122":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,"65":1,"74":1,"76":1,"81":3,"82":2,"85":4,"88":1,"94":2,"108":2,"122":2,"132":1,"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,"128":1,"129":1,"141":1,"142":1},"2":{"4":2,"6":3,"53":1,"56":1,"65":1,"88":2,"100":1,"101":1,"114":1,"115":1,"128":1,"129":1,"141":1,"142":1}}],["multicurves",{"2":{"56":1,"65":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,"167":1,"184":1,"191":1,"195":1}}],["multiply",{"2":{"1":1,"6":1,"185":1}}],["multipolys",{"2":{"76":3}}],["multipoly`",{"2":{"70":2,"73":2,"75":2}}],["multipoly",{"2":{"6":9,"15":3,"70":1,"71":27,"73":1,"74":26,"75":1,"76":24,"170":21,"180":9}}],["multipolygon`",{"2":{"146":1}}],["multipolygons",{"2":{"3":1,"4":1,"6":11,"63":1,"70":3,"73":3,"74":3,"75":3,"84":1,"88":1,"132":2,"169":1,"191":1,"192":1}}],["multipolygon",{"2":{"3":2,"4":5,"6":17,"56":2,"62":1,"70":1,"71":7,"73":1,"74":5,"75":1,"76":6,"88":4,"132":2,"146":7,"166":2,"168":7,"169":8,"170":2,"180":3,"191":8,"192":1}}],["multipolygontrait",{"2":{"1":1,"3":4,"4":2,"6":6,"23":1,"32":1,"71":4,"74":4,"76":4,"88":6,"100":1,"101":1,"114":1,"115":1,"128":1,"129":1,"132":8,"141":1,"142":1,"150":1,"153":1,"165":1,"170":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,"65":1,"88":2,"132":2,"180":1,"191":1}}],["multipointtrait",{"2":{"1":1,"3":2,"4":4,"6":7,"32":1,"53":2,"56":1,"65":1,"88":8,"100":1,"101":1,"105":4,"114":1,"115":1,"128":1,"129":1,"132":4,"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,"65":3,"66":2,"69":1,"74":2,"88":5,"91":2,"94":1,"103":1,"104":1,"108":1,"116":13,"121":1,"122":1,"132":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,"73":1,"75":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":{"76":1,"170":1,"177":1}}],["driven",{"2":{"25":1,"27":1}}],["driving",{"2":{"25":1,"27":1}}],["duplicated",{"2":{"74":2}}],["during",{"2":{"66":1}}],["due",{"2":{"63":1,"66":1,"74":3}}],["date",{"2":{"81":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":{"31":1,"153":7}}],["dataaspect",{"2":{"13":1,"14":1,"52":1,"55":1,"58":2,"62":1,"64":1,"84":2,"146":2,"175":1,"180":1}}],["dataframes",{"2":{"194":3,"198":2,"199":1}}],["dataframe",{"2":{"29":1,"194":1,"197":1,"198":5,"199":2}}],["data",{"0":{"146":1,"195":1},"2":{"23":1,"25":1,"27":1,"80":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":{"66":1}}],["debug",{"2":{"165":1}}],["debugging",{"2":{"59":1,"66":1}}],["derivation",{"2":{"74":1}}],["delete",{"2":{"105":1,"132":1,"146":1,"182":1}}],["deleteat",{"2":{"66":6,"182":1,"184":2}}],["deltri",{"2":{"82":1}}],["delayed",{"2":{"66":10,"71":2,"74":2,"76":2}}],["delay",{"2":{"66":14,"70":2,"71":2,"73":2,"74":2,"75":2,"76":2}}],["delaunay",{"2":{"6":1,"82":1}}],["delaunaytriangulation",{"2":{"6":1,"31":1,"77":1,"82":6}}],["dealing",{"2":{"65":1}}],["deprecated",{"2":{"177":1}}],["depend",{"2":{"66":2}}],["depends",{"2":{"66":1,"69":1}}],["depending",{"2":{"1":1,"23":1,"74":1,"150":1,"153":1}}],["depth",{"2":{"59":2}}],["desktop",{"2":{"195":1}}],["dest",{"2":{"192":2}}],["destination",{"2":{"192":5}}],["desired",{"2":{"75":1,"195":1}}],["despite",{"2":{"53":1}}],["describe",{"2":{"17":1}}],["described",{"2":{"6":1,"59":1,"63":1,"66":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,"29":1,"59":4,"154":1,"161":1}}],["decrementing",{"2":{"146":1}}],["decrease",{"2":{"63":1}}],["decreasing",{"2":{"6":1,"180":1}}],["decide",{"2":{"81":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":{"66":1,"148":1,"154":1,"155":1,"156":1,"157":1,"164":1,"187":1}}],["define",{"2":{"58":1,"74":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,"64":1,"65":4,"74":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,"65":1,"70":1,"71":2,"73":1,"74":5,"75":1,"76":2,"82":1,"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":{"168":1}}],["detector",{"2":{"81":1}}],["detection",{"2":{"81":1,"146":1}}],["determined",{"2":{"65":1,"66":1}}],["determine",{"2":{"65":3,"66":10,"70":2,"73":2,"74":9,"75":2,"94":1,"108":1,"116":9,"122":1,"132":1,"135":1,"182":3,"197":1}}],["determines",{"2":{"56":1,"66":3,"74":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,"66":1,"88":5,"146":3}}],["direct",{"2":{"33":1}}],["directly",{"2":{"6":1,"82":3,"146":1,"176":1}}],["dig",{"2":{"153":1}}],["dict",{"2":{"146":5}}],["didn",{"2":{"76":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,"82":2,"158":1}}],["dimensions",{"2":{"3":1,"6":1,"132":2}}],["dimension",{"2":{"1":1,"3":4,"6":4,"105":2,"131":1,"132":4,"172":1}}],["discouraged",{"2":{"193":1}}],["discussion",{"2":{"25":1,"27":1,"69":1}}],["distributed",{"2":{"198":2}}],["distinct",{"2":{"74":1,"146":1}}],["dist",{"2":{"74":40,"85":19,"116":2,"176":8,"182":40}}],["distance`",{"2":{"176":3,"177":2,"188":1}}],["distances",{"2":{"74":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,"31":1,"32":9,"59":13,"60":3,"65":3,"74":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,"27":1}}],["dispatches",{"2":{"6":1,"53":1,"56":1,"59":1,"63":1,"65":1,"85":1,"88":1,"94":1,"108":1,"122":1,"132":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,"31":1,"41":2,"76":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,"168":2,"170":7,"197":1}}],["diffs",{"2":{"53":4}}],["diff",{"2":{"6":2,"53":17,"70":5,"71":3,"132":3,"170":8}}],["differs",{"2":{"192":1}}],["differ",{"2":{"4":1,"6":1,"85":1}}],["differently",{"2":{"4":3,"6":4,"53":1,"56":2,"65":1}}],["different",{"2":{"3":1,"4":4,"6":6,"20":1,"23":1,"53":1,"56":4,"65":1,"66":3,"74":2,"81":1,"132":3,"146":1,"151":1,"153":1,"168":2,"192":2,"195":1}}],["differences",{"0":{"71":1},"2":{"74":1,"182":1}}],["difference",{"0":{"35":1,"38":1,"70":1},"2":{"0":1,"6":7,"11":1,"23":1,"31":1,"35":2,"38":1,"66":3,"70":12,"71":14,"74":1,"75":1,"76":3,"166":1,"170":1,"176":1}}],["diffintersectingpolygons",{"2":{"0":1,"6":1,"166":1,"170":4}}],["doi",{"2":{"70":2,"73":2,"75":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,"29":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,"74":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,"168":1,"191":1,"197":1}}],["don",{"2":{"4":2,"6":2,"66":4,"70":1,"76":1,"88":6,"111":1,"116":1,"121":1,"125":1,"146":2,"153":3,"154":2,"188":1}}],["do",{"0":{"9":1,"23":1,"72":1},"2":{"1":1,"6":1,"14":1,"23":1,"31":1,"53":1,"56":2,"59":2,"60":1,"63":1,"65":1,"69":1,"76":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,"169":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":{"132":1,"153":1,"192":1}}],["a3",{"2":{"80":1}}],["against",{"2":{"88":1,"116":2,"176":1,"180":1}}],["again",{"2":{"74":1,"153":1}}],["a``",{"2":{"71":2}}],["a`",{"2":{"71":7,"74":3,"76":2}}],["away",{"2":{"60":1,"105":1,"200":1}}],["a2y",{"2":{"74":4}}],["a2x",{"2":{"74":4}}],["a2",{"2":{"58":4,"74":54,"81":1,"132":6}}],["a1y",{"2":{"74":7}}],["a1x",{"2":{"74":7}}],["a1",{"2":{"58":2,"66":9,"74":66,"81":1,"132":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,"64":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":{"79":1,"175":1,"179":1}}],["axis",{"2":{"13":2,"14":1,"52":1,"55":1,"58":4,"62":1,"64":1,"81":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":{"74":1}}],["adjacent",{"2":{"66":1,"71":1,"74":1,"76":1}}],["adaptivity",{"0":{"72":1}}],["adaptive",{"2":{"7":1,"13":3,"14":2,"72":1}}],["adapted",{"2":{"70":1,"73":1,"75":1,"145":1}}],["administrative",{"2":{"199":1}}],["admin",{"2":{"11":1,"80":1,"180":2}}],["adm0",{"2":{"11":7,"80":4}}],["additional",{"2":{"195":1}}],["additionally",{"2":{"66":3,"88":1}}],["addition",{"2":{"58":1,"76":1}}],["adding",{"2":{"4":1,"6":4,"7":1,"76":2,"146":1,"167":1,"174":1,"176":2,"177":1}}],["added",{"2":{"53":1,"65":1,"66":6,"76":2,"156":2,"170":2,"182":1}}],["add",{"2":{"3":1,"6":1,"7":2,"59":1,"60":1,"65":1,"66":16,"69":4,"70":3,"73":1,"74":2,"75":2,"76":9,"82":1,"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,"74":1}}],["available",{"0":{"166":1},"2":{"6":2,"31":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,"73":1,"74":1,"75":1,"76":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":{"168":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,"74":1,"76":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":{"82":1}}],["accept",{"2":{"6":1,"188":1}}],["according",{"2":{"162":1,"168":1,"169":1,"198":1}}],["accordingly",{"2":{"66":1}}],["account",{"2":{"70":1,"73":1}}],["accurary",{"2":{"74":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,"66":3,"153":1,"154":1,"180":2}}],["ab",{"2":{"66":3,"70":1,"73":1,"74":5,"75":1}}],["able",{"2":{"20":1,"74":1}}],["ability",{"2":{"17":1}}],["about",{"2":{"6":1,"24":2,"30":1,"59":2,"116":1,"153":1,"158":1,"161":1}}],["above",{"2":{"4":1,"6":1,"53":1,"63":1,"66":1,"74":1,"76":1,"165":1}}],["abs",{"2":{"53":1,"56":4,"63":1,"65":2,"105":8,"132":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,"128":1,"129":1,"141":1,"142":1}}],["abstractmatrix",{"2":{"6":5,"146":13}}],["abstractpolygontrait",{"2":{"85":1}}],["abstractcurvetrait",{"2":{"53":1,"56":1,"65":1,"96":1,"99":1,"100":1,"105":1,"110":1,"114":1,"124":1,"127":1,"128":1,"137":1,"140":1,"141":1,"145":1,"180":2,"189":3}}],["abstractwkbgeomtrait",{"2":{"32":1}}],["abstractfloat",{"2":{"31":1,"53":1,"56":2,"65":2,"66":1,"69":1,"70":1,"73":1,"74":1,"75":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,"65":1,"85":1,"101":1,"115":1,"129":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,"74":4,"76":2,"132":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,"65":2,"66":4,"74":8,"76":2,"81":1,"116":17,"121":1,"122":1,"125":3,"126":2,"127":2,"128":1,"129":1,"132":6,"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":{"76":1,"146":1,"153":1,"154":1,"156":3}}],["argument",{"2":{"4":5,"6":10,"53":1,"56":2,"63":1,"65":1,"70":1,"73":1,"75":1,"85":2,"153":1,"156":1,"188":2,"192":1,"193":1}}],["arguments",{"2":{"1":1,"3":1,"6":5,"66":1,"94":2,"108":1,"122":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,"65":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,"74":2,"76":4,"88":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,"26":2,"27":1,"52":1,"53":8,"55":1,"56":2,"57":6,"59":11,"62":1,"63":3,"65":6,"66":31,"69":3,"70":3,"71":15,"73":2,"74":16,"75":5,"76":9,"81":3,"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":5,"124":1,"126":2,"132":7,"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":1,"170":2,"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,"31":1,"54":2,"55":9,"56":61,"61":1,"62":3,"63":49,"64":2,"65":44,"75":2,"76":1,"132":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,"64":1,"84":2,"146":2,"175":1,"180":1}}],["assign",{"2":{"190":1}}],["assigned",{"2":{"66":1,"146":7,"198":1}}],["assets",{"2":{"192":1}}],["assetpath",{"2":{"192":1}}],["assemble",{"2":{"163":1}}],["assert",{"2":{"59":23,"63":1,"66":1,"69":1,"71":1,"74":1,"177":2,"189":1}}],["assume",{"2":{"132":2,"153":3,"154":1,"162":1,"170":1}}],["assumed",{"2":{"56":1,"88":1,"116":1}}],["assumes",{"2":{"6":3,"66":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,"27":1,"52":2,"53":4,"55":2,"56":3,"57":4,"58":1,"59":4,"60":3,"62":2,"63":1,"64":2,"65":5,"66":15,"68":3,"69":5,"70":8,"71":2,"73":7,"74":8,"75":7,"76":5,"77":1,"79":2,"80":2,"81":3,"82":3,"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":3,"124":1,"131":2,"132":2,"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,"167":1,"169":2,"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,"65":2,"66":3,"74":4,"88":4,"116":1}}],["although",{"2":{"138":1,"139":1}}],["alternate",{"2":{"66":1}}],["alternative",{"2":{"66":1}}],["already",{"2":{"88":1,"116":2,"153":1,"182":1}}],["almost",{"2":{"74":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,"77":1,"81":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,"65":1,"66":2,"69":3,"70":1,"73":1,"75":1,"77":1,"82":4,"116":1,"178":1,"180":8,"181":1,"182":3,"183":1,"188":4}}],["allocating",{"2":{"82":1}}],["allocations",{"2":{"5":1,"6":1,"59":1}}],["allocate",{"2":{"82":1}}],["allow=",{"2":{"116":1}}],["allows",{"2":{"11":1,"18":1,"23":1,"24":1,"29":1,"94":2,"96":3,"97":3,"98":3,"99":1,"108":2,"110":3,"111":3,"112":2,"113":1,"122":1,"125":1,"126":1,"127":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,"122":5,"124":1,"125":2,"135":3,"180":1}}],["allow",{"2":{"1":1,"6":1,"23":1,"74":1,"94":7,"105":3,"108":7,"116":73,"122":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":1,"31":2,"53":5,"56":3,"59":1,"65":3,"66":13,"70":1,"71":3,"74":3,"76":5,"77":1,"80":3,"82":1,"84":1,"88":2,"90":1,"97":3,"98":3,"101":1,"114":1,"115":1,"116":7,"132":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,"168":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,"27":1,"55":1,"56":4,"65":2,"81":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,"65":1,"66":3,"70":1,"73":1,"74":2,"75":1,"77":1,"81":1,"82":1,"84":1,"85":2,"88":3,"132":1,"146":1,"150":1,"151":1,"153":1,"159":1,"163":1,"166":3,"170":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,"27":2,"29":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":2,"65":17,"66":281,"68":3,"69":4,"70":39,"71":30,"72":3,"73":38,"74":91,"75":36,"76":45,"77":3,"79":3,"80":2,"81":1,"82":4,"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":2,"122":4,"124":4,"125":2,"126":2,"127":1,"128":2,"129":2,"131":5,"132":27,"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":2,"168":8,"170":6,"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":{"170":1}}],["april",{"0":{"7":1}}],["appears",{"2":{"162":1}}],["append",{"2":{"53":1,"66":5,"70":1,"71":2,"74":2,"75":1,"76":5,"170":2}}],["approximately",{"2":{"66":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,"170":2,"174":1,"177":1}}],["apply`",{"2":{"153":1}}],["applys",{"2":{"56":1,"65":1}}],["applyreduce",{"0":{"19":1,"154":1},"2":{"0":1,"1":1,"17":1,"19":2,"29":1,"31":2,"53":1,"56":1,"63":2,"65":1,"85":2,"148":1,"150":1,"154":42,"160":1}}],["apply",{"0":{"1":1,"18":1,"22":1,"29":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,"29":3,"31":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,"167":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,"31":1,"51":1,"52":4,"53":42}}],["answers",{"2":{"168":1}}],["answer",{"2":{"6":3,"70":1,"73":1,"74":1,"75":1}}],["another",{"2":{"3":1,"6":1,"66":2,"74":1,"82":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,"124":1,"125":1,"126":1,"127":1,"131":1,"132":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":2,"65":2,"66":15,"68":1,"69":1,"70":2,"71":5,"73":2,"74":9,"75":2,"76":2,"82":3,"84":2,"85":5,"87":1,"88":1,"90":1,"93":2,"96":2,"103":1,"107":1,"116":13,"118":1,"121":1,"131":1,"132":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,"167":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,"29":1,"57":2,"63":1,"65":1,"66":7,"69":1,"71":1,"74":4,"76":1,"85":2,"95":2,"96":1,"99":1,"107":1,"109":2,"110":1,"111":2,"112":1,"113":2,"116":8,"123":2,"132":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,"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,"74":1,"76":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,"29":2,"30":1,"31":2,"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":2,"65":18,"66":71,"68":1,"69":4,"70":4,"71":16,"73":4,"74":38,"75":6,"76":15,"81":1,"82":2,"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,"122":2,"126":2,"127":2,"131":2,"132":3,"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":2,"168":1,"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":{"66":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,"131":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,"65":2,"85":12,"181":2,"182":7}}],["sqrt",{"2":{"53":2,"63":1,"85":3}}],["sgn",{"2":{"53":5}}],["smallest",{"2":{"53":2,"74":1,"77":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":{"74":1,"76":1}}],["switch",{"2":{"66":1,"76":1,"160":1}}],["switching",{"2":{"6":1,"65":1}}],["swap",{"2":{"6":1,"76":1,"85":2,"171":1}}],["swapped",{"2":{"3":1,"6":1,"91":1,"94":1,"104":1,"105":1,"119":1,"132":1}}],["swapping",{"2":{"1":1,"150":1,"153":1}}],["s2",{"2":{"6":4,"59":6,"66":3}}],["s1",{"2":{"6":3,"59":6,"66":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,"65":1,"66":15,"69":1,"70":3,"73":1,"74":1,"75":1,"76":1,"81":1,"84":1,"87":2,"88":30,"116":2,"131":1,"132":8,"151":1,"153":5,"156":2,"161":1,"166":2,"169":1,"170":2,"175":1,"191":1,"192":1,"195":1}}],["says",{"2":{"81":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,"168":1,"169":1}}],["specifically",{"2":{"6":2,"59":3,"178":1,"197":1}}],["specific",{"2":{"66":1,"94":1,"108":1,"122":1,"135":1,"153":1,"154":1,"156":3,"158":1}}],["specified",{"2":{"3":1,"6":2,"66":1,"71":2,"74":2,"76":2,"132":1,"151":1,"180":1}}],["specialized",{"2":{"25":1,"27":1,"82":1,"153":1}}],["sphere",{"2":{"6":1,"158":3,"177":1}}],["sphericalgeodesics",{"2":{"158":1}}],["spherical",{"2":{"6":1,"31":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,"27":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,"77":1,"151":1,"167":1}}],["sun",{"2":{"116":1}}],["surrounds",{"2":{"116":1}}],["sure",{"2":{"9":1,"53":1,"66":2,"85":1,"132":1,"184":1}}],["suppose",{"2":{"199":1,"200":1}}],["supports",{"2":{"58":1,"59":1,"77":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,"65":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":{"66":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,"65":1,"71":6,"74":3,"76":4,"85":2,"100":2,"101":2,"114":2,"115":2,"128":2,"129":2,"141":2,"142":2,"153":3,"168":4,"169":2,"170":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,"132":9}}],["segmentation",{"2":{"175":1}}],["segments",{"2":{"23":1,"31":1,"52":2,"53":1,"62":1,"63":2,"65":1,"66":3,"74":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,"31":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,"65":3,"66":6,"68":1,"74":17,"85":2,"105":3,"116":43,"132":3,"145":2,"174":1,"176":2,"177":1}}],["seperate",{"2":{"74":1}}],["separates",{"2":{"116":1}}],["separate",{"2":{"66":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,"170":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,"131":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,"66":1,"74":4,"88":1,"90":2,"91":1,"93":1,"94":1,"97":1,"98":1,"99":1,"104":2,"108":2,"116":2,"122":1,"134":1,"135":1,"138":1,"139":1,"140":2,"182":1,"193":1,"197":1}}],["seem",{"2":{"25":1,"27":1}}],["see",{"2":{"6":4,"7":1,"29":1,"62":1,"82":1,"85":1,"87":1,"90":1,"93":1,"107":1,"116":5,"118":1,"121":1,"131":1,"134":1,"146":2,"162":1,"163":1,"165":1,"166":3,"169":1,"170":2,"175":2,"182":1,"198":2}}],["setup=",{"2":{"94":1,"108":1,"122":1,"135":1}}],["sets",{"2":{"66":1,"81":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,"66":3,"70":2,"73":2,"74":7,"75":2,"77":2,"87":2,"88":10,"94":1,"105":1,"108":1,"116":2,"122":1,"132":1,"135":1,"145":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,"66":5,"70":1,"74":2,"76":6,"116":1,"146":1,"185":13,"191":6,"193":4}}],["solution",{"2":{"116":1}}],["sort",{"2":{"66":4,"69":2,"74":2,"75":2,"116":1,"132":2,"146":1,"182":1}}],["sorted",{"2":{"20":1,"66":1,"182":7,"197":1}}],["south",{"2":{"65":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}}],["someone",{"2":{"82":1,"188":1}}],["something",{"0":{"72":1},"2":{"10":1}}],["some",{"2":{"3":1,"6":4,"9":1,"17":1,"59":4,"88":1,"116":3,"132":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,"31":1,"58":1,"59":1,"64":1,"66":1,"74":1,"75":2,"76":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":{"66":7,"70":1,"71":3,"73":1,"74":3,"75":1,"76":3,"146":6,"189":1}}],["storing",{"2":{"195":1}}],["stored",{"2":{"66":2,"198":1}}],["stores",{"2":{"66":1}}],["store",{"2":{"59":1,"195":1}}],["stopping",{"2":{"182":2}}],["stops",{"2":{"151":1}}],["stop",{"2":{"18":2,"105":3,"116":4,"132":3}}],["stay",{"2":{"76":1}}],["stackoverflow",{"2":{"74":1}}],["stack",{"2":{"69":1}}],["states",{"2":{"180":1}}],["state",{"2":{"75":1,"199":9}}],["status",{"2":{"66":31,"71":4,"74":5,"76":4,"146":1}}],["static",{"2":{"160":1}}],["staticarray",{"2":{"59":1}}],["staticarrays",{"2":{"31":1,"66":5,"70":1,"74":2,"76":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,"31":1}}],["stability",{"2":{"23":1,"30":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,"82":1,"158":1}}],["started",{"2":{"66":1}}],["starting",{"2":{"63":2,"65":1,"66":1,"74":1,"170":4}}],["startvalue",{"2":{"14":4}}],["start",{"2":{"6":1,"18":1,"53":7,"59":1,"65":17,"66":76,"71":4,"74":4,"76":5,"88":1,"105":4,"116":44,"132":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,"66":2,"82":1,"158":3,"159":3,"160":6,"163":1,"170":2,"176":2,"181":1,"182":1,"183":1,"188":4}}],["strings",{"2":{"6":1,"63":1,"74":1}}],["string",{"2":{"1":2,"14":1,"62":1,"63":1,"172":2}}],["still",{"2":{"0":1,"56":1,"63":1,"66":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":{"82":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,"65":1}}],["shouldn",{"2":{"74":1}}],["should",{"2":{"1":1,"4":1,"6":12,"17":1,"18":1,"20":2,"25":1,"27":1,"32":1,"53":3,"56":1,"63":1,"64":1,"66":3,"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":{"74":1}}],["share",{"2":{"4":7,"6":8,"87":2,"88":8,"111":2,"112":1,"113":1,"127":1,"132":1}}],["shared",{"0":{"184":1},"2":{"3":1,"6":1,"66":2,"74":2,"132":3}}],["shapes",{"2":{"85":1,"195":7}}],["shape",{"2":{"62":1,"71":1,"74":1,"87":1,"158":1,"169":1,"191":1}}],["shaped",{"2":{"58":1}}],["shapefiles",{"2":{"195":1}}],["shapefile",{"2":{"29":1,"195":4}}],["shallower",{"2":{"1":1,"150":1,"153":1}}],["sites",{"2":{"199":1}}],["sides",{"2":{"66":3,"162":1}}],["side",{"2":{"53":4,"66":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,"65":3,"83":1,"84":7,"85":19}}],["six",{"2":{"6":1,"180":1}}],["size=",{"2":{"192":1}}],["sizehint",{"2":{"66":2,"71":1,"177":1}}],["size",{"2":{"6":4,"13":2,"14":5,"58":1,"76":1,"146":2,"153":2,"154":2,"180":1}}],["sin",{"2":{"191":3,"192":1,"193":2}}],["singed",{"2":{"85":1}}],["singular",{"2":{"74":1}}],["singlepoly",{"2":{"180":6}}],["single",{"2":{"4":6,"6":10,"23":1,"53":2,"56":1,"65":1,"88":5,"131":2,"146":2,"154":1,"166":2,"168":1,"170":2,"191":3,"195":1}}],["since",{"2":{"1":1,"6":2,"26":1,"53":1,"56":1,"63":1,"65":2,"75":1,"85":1,"88":1,"116":1,"126":1,"132":2,"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,"66":1,"74":1,"76":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,"79":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,"82":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,"31":1,"66":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,"29":1,"60":1,"77":1,"82":1,"146":2,"150":1,"153":1,"176":2,"177":1,"186":1}}],["s",{"0":{"30":1},"2":{"0":1,"3":1,"6":11,"7":1,"9":1,"18":1,"19":1,"29":1,"53":1,"55":1,"56":4,"57":1,"58":2,"59":5,"62":3,"63":3,"65":1,"66":3,"68":1,"71":1,"74":2,"76":3,"81":1,"85":1,"88":1,"103":2,"110":3,"111":4,"112":2,"116":9,"121":1,"122":1,"127":1,"132":1,"146":5,"148":2,"153":2,"154":1,"159":2,"160":2,"163":1,"166":4,"168":1,"170":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":{"66":2}}],["f1",{"2":{"66":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,"123":1,"136":1},"2":{"1":1,"6":2,"11":1,"22":1,"82":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,"123":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,"65":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":{"66":20,"69":1}}],["frac",{"2":{"59":1,"66":2,"74":17,"180":2}}],["fractional",{"2":{"66":1,"74":3}}],["fractions",{"2":{"66":1,"74":4}}],["fraction",{"2":{"6":4,"74":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,"31":1,"56":2,"58":1,"59":4,"60":1,"63":1,"65":11,"66":6,"69":1,"70":1,"71":3,"73":1,"74":11,"75":1,"76":6,"82":1,"85":25,"108":2,"110":5,"111":4,"112":2,"113":1,"114":2,"116":6,"132":2,"145":2,"146":7,"153":1,"156":6,"158":1,"160":1,"170":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":{"66":2,"94":1,"108":1,"122":1,"135":1,"146":1}}],["followed",{"2":{"26":1}}],["following",{"2":{"6":1,"59":1,"68":1,"156":1,"162":1,"169":1,"180":1,"197":1}}],["focusing",{"2":{"25":1,"27":1}}],["foundational",{"2":{"17":1}}],["found",{"2":{"6":7,"26":1,"65":1,"69":1,"70":2,"73":2,"74":1,"75":2,"88":1,"146":5,"151":3,"153":2,"154":1,"156":5,"177":2}}],["forward",{"2":{"74":1}}],["forwards",{"2":{"66":1,"71":1,"76":1}}],["formats",{"2":{"190":1,"193":1,"195":3}}],["format",{"2":{"69":1,"195":3}}],["form",{"2":{"18":1,"66":3,"74":8,"76":3,"153":1}}],["formed",{"2":{"4":2,"6":3,"52":1,"53":4,"59":1,"66":8,"75":1,"76":1,"182":1}}],["formulae",{"2":{"6":1,"177":1}}],["formula",{"2":{"4":1,"6":1,"56":2,"65":1}}],["force",{"2":{"1":1,"153":3,"172":1,"180":1}}],["for",{"0":{"71":1,"74":1,"76":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":3,"29":1,"31":2,"32":1,"33":1,"53":5,"56":8,"57":1,"58":1,"59":19,"60":3,"63":7,"65":11,"66":35,"69":5,"70":2,"71":3,"73":1,"74":7,"75":1,"76":9,"77":2,"80":1,"82":3,"84":2,"85":7,"88":13,"94":3,"100":1,"101":1,"103":1,"105":6,"108":2,"114":1,"115":1,"116":22,"122":2,"128":1,"129":1,"131":1,"132":11,"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":1,"168":3,"169":1,"170":5,"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":{"76":1,"165":4,"176":1}}],["finally",{"2":{"58":2,"74":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":{"74":1}}],["findfirst",{"2":{"66":6,"69":2,"80":1,"180":1}}],["findnext",{"2":{"66":3}}],["findlast",{"2":{"66":2}}],["findprev",{"2":{"66":2}}],["finds",{"2":{"65":1,"66":1}}],["find",{"2":{"53":6,"56":1,"65":3,"66":12,"69":2,"70":4,"73":2,"74":8,"75":1,"85":3,"88":1,"116":7,"146":2,"182":5,"199":1}}],["finish",{"2":{"9":1}}],["fill",{"2":{"66":1,"146":1,"177":3}}],["filled",{"2":{"65":3,"66":5,"84":1,"85":2,"116":16}}],["files",{"2":{"187":1,"195":2}}],["file",{"2":{"26":1,"32":1,"33":1,"66":1,"94":3,"108":3,"122":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":{"66":1}}],["filtering",{"2":{"6":1,"180":1}}],["filter",{"2":{"4":1,"6":2,"66":2,"153":2,"154":1,"167":1,"170":2,"180":1}}],["fit",{"2":{"17":1}}],["field",{"2":{"13":2,"66":2}}],["figure",{"2":{"13":1,"14":1,"55":1,"58":2,"81":1,"192":3}}],["fig",{"2":{"13":6,"14":6,"81":5,"191":7,"192":4,"196":2}}],["fix1",{"2":{"153":1,"154":1}}],["fixme",{"2":{"145":1}}],["fix2",{"2":{"32":1,"66":2}}],["fixed",{"2":{"6":3,"70":1,"73":1,"75":1}}],["fix",{"0":{"20":1},"2":{"6":9,"9":3,"15":3,"17":1,"20":1,"70":1,"71":11,"73":1,"74":11,"75":1,"76":10,"81":2,"162":1,"164":1,"165":1,"169":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,"65":2,"66":17,"69":1,"70":2,"73":1,"74":5,"75":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":2,"124":1,"132":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":{"66":5}}],["flag",{"2":{"66":12,"69":1}}],["flattened",{"2":{"18":1}}],["flatten",{"0":{"156":1},"2":{"11":3,"13":1,"18":1,"31":2,"50":1,"59":1,"65":3,"66":2,"73":1,"76":1,"82":2,"105":1,"156":33,"170":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,"66":1,"74":5,"146":2}}],["float",{"2":{"6":3,"70":1,"73":1,"75":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,"65":4,"69":2,"70":2,"73":1,"74":3,"75":1,"81":1,"85":12,"116":4,"132":2,"145":4,"162":6,"169":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,"31":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":{"66":2,"69":1,"70":1,"73":1}}],["false",{"0":{"24":1},"2":{"1":29,"3":7,"4":3,"6":51,"31":1,"32":2,"35":1,"36":1,"37":1,"38":1,"50":1,"53":2,"56":1,"58":5,"65":5,"66":26,"69":1,"70":1,"71":3,"74":1,"75":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":8,"124":3,"125":4,"126":1,"128":1,"129":1,"132":22,"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,"169":44,"170":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":2,"66":19,"68":2,"70":2,"71":2,"73":2,"74":2,"75":2,"76":2,"79":2,"80":2,"84":5,"87":2,"90":2,"93":2,"103":2,"107":2,"116":7,"118":2,"121":2,"131":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,"66":4,"69":1,"132":4}}],["full",{"0":{"0":1},"1":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1},"2":{"0":1,"65":5,"165":1,"199":4}}],["furthest",{"2":{"146":1}}],["further",{"2":{"62":1,"153":1}}],["furthermore",{"2":{"3":2,"6":5,"66":1,"70":1,"73":1,"75":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":{"74":1,"171":1,"172":1,"177":1,"188":1}}],["functionalities",{"2":{"66":1}}],["functionally",{"2":{"1":1,"18":1,"29":1,"150":1,"153":1}}],["function",{"2":{"1":4,"4":1,"6":10,"7":2,"9":1,"13":3,"14":2,"18":2,"29":1,"31":1,"32":2,"53":5,"56":3,"59":13,"63":6,"65":7,"66":18,"68":2,"69":4,"70":3,"71":3,"72":1,"73":2,"74":7,"75":2,"76":4,"82":2,"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":1,"128":1,"129":1,"131":1,"132":7,"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,"170":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,"74":1,"76":1,"150":1,"189":1},"2":{"6":1,"9":3,"17":1,"26":1,"29":1,"33":1,"56":1,"59":1,"63":1,"65":1,"66":2,"68":1,"116":1,"147":1,"148":1,"151":1,"165":2,"166":1}}],["future",{"2":{"23":1,"77":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":{"168":1,"184":1}}],["writing",{"2":{"195":1}}],["written",{"2":{"88":1}}],["writes",{"2":{"153":1}}],["write",{"2":{"7":1,"30":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,"167":1,"176":1}}],["wrapped",{"2":{"22":1,"146":2,"151":1,"153":1}}],["wrapper",{"0":{"30":1},"2":{"30":1,"53":1,"56":1,"63":1,"65":1,"85":1,"88":1,"94":1,"108":1,"122":1,"132":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,"169":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}}],["were",{"2":{"66":1,"146":1,"198":1}}],["west",{"2":{"65":8}}],["welcome",{"2":{"25":1,"27":1}}],["well",{"2":{"17":1,"65":1,"66":1,"82":1,"160":1,"174":1,"177":1,"178":1}}],["we",{"0":{"72":2},"2":{"7":1,"11":1,"13":1,"17":3,"19":1,"23":3,"24":1,"25":2,"26":1,"27":2,"32":1,"53":1,"55":2,"56":2,"58":4,"59":8,"60":2,"63":1,"65":4,"66":7,"71":8,"73":2,"74":3,"76":1,"77":1,"81":3,"82":2,"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":1,"131":1,"132":2,"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":{"65":7}}],["wall1",{"2":{"65":12}}],["walls",{"2":{"65":3}}],["wall",{"2":{"65":69}}],["wachspress",{"2":{"59":1}}],["wasincreasing",{"2":{"146":10}}],["wasn",{"2":{"66":1}}],["was",{"2":{"31":1,"32":1,"50":1,"53":1,"56":1,"58":1,"59":4,"60":1,"63":1,"65":1,"66":1,"69":1,"70":1,"71":3,"72":1,"73":1,"74":2,"75":1,"76":3,"82":1,"85":1,"88":1,"91":1,"101":1,"104":1,"105":1,"115":1,"116":1,"119":1,"129":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,"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":{"82":1,"154":1}}],["want",{"0":{"23":1,"72":1},"2":{"13":1,"18":1,"23":1,"59":1,"66":1,"145":1,"192":2,"194":1,"199":1,"200":1}}],["ways",{"2":{"168":1}}],["way",{"2":{"6":1,"17":1,"18":1,"24":1,"29":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,"82":1,"154":1,"176":1,"187":1,"199":1}}],["wong",{"2":{"79":1,"80":1,"196":1}}],["won",{"2":{"23":1,"66":1,"154":1}}],["wouldn",{"2":{"74":1}}],["would",{"0":{"72":1},"2":{"6":3,"23":1,"70":1,"73":1,"74":1,"75":1,"82":4,"146":1,"153":1,"160":2,"192":1,"199":1,"200":1}}],["wound",{"2":{"6":1,"82":1}}],["world",{"0":{"199":1},"2":{"197":1}}],["worrying",{"2":{"24":1}}],["words",{"2":{"3":1,"6":1,"90":1,"118":1,"121":1,"122":1}}],["workflow",{"2":{"105":1,"132":1}}],["workflows",{"2":{"23":1,"25":1,"27":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,"65":2,"69":2,"77":1,"85":1,"88":1,"116":1,"132":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,"66":5,"74":2,"81":2,"84":1,"88":1,"105":1,"116":1,"146":3,"170":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,"65":2,"66":11,"74":2,"77":1,"82":1,"88":2,"116":3,"146":3,"147":1,"148":1,"153":1,"158":2,"159":1,"161":2,"162":1,"165":1,"168":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,"25":1,"30":1,"52":1,"55":2,"62":1,"64":1,"68":1,"84":2,"87":1,"90":1,"93":1,"103":1,"107":1,"118":1,"121":1,"131":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,"30":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,"66":2,"71":5,"74":6,"76":7,"116":1,"146":1,"150":1,"151":3,"153":1,"162":1,"165":1,"167":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,"31":2,"53":8,"56":12,"57":2,"59":24,"63":8,"65":8,"66":14,"69":5,"70":2,"71":5,"73":3,"74":18,"75":2,"76":9,"85":25,"88":1,"116":9,"146":3,"150":1,"153":18,"154":18,"156":17,"158":2,"159":5,"168":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":{"81":1},"2":{"4":2,"6":3,"56":3,"66":7,"81":4,"82":1,"88":1,"146":1}}],["without",{"2":{"1":2,"6":1,"17":1,"24":1,"66":1,"107":1,"132":1,"153":1,"154":1,"156":2,"172":1,"185":1}}],["with",{"0":{"71":1,"74":1,"76":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,"65":6,"66":14,"71":8,"73":5,"74":15,"75":1,"76":12,"84":1,"85":2,"94":1,"107":1,"111":1,"116":28,"118":1,"121":1,"122":1,"125":3,"126":2,"127":2,"131":2,"132":5,"140":1,"146":7,"148":1,"150":3,"151":1,"153":12,"154":3,"156":4,"158":1,"160":1,"162":1,"167":1,"168":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,"31":1,"44":2,"53":2,"56":1,"57":3,"59":1,"63":1,"64":2,"65":5,"66":9,"71":1,"74":2,"75":1,"76":6,"84":1,"85":5,"90":2,"91":3,"93":2,"110":1,"116":9,"131":1,"132":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,"65":1,"66":5,"69":1,"70":4,"71":4,"73":4,"74":4,"75":4,"76":4,"82":1,"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,"168":1,"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/@localSearchIndexroot.L4o_yJ4O.js b/previews/PR223/assets/chunks/@localSearchIndexroot.L4o_yJ4O.js deleted file mode 100644 index fa9a7d6db..000000000 --- a/previews/PR223/assets/chunks/@localSearchIndexroot.L4o_yJ4O.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/#what-is-geometryops-jl","26":"/GeometryOps.jl/previews/PR223/#how-to-navigate-the-docs","27":"/GeometryOps.jl/previews/PR223/introduction#introduction","28":"/GeometryOps.jl/previews/PR223/introduction#Main-concepts","29":"/GeometryOps.jl/previews/PR223/introduction#The-apply-paradigm","30":"/GeometryOps.jl/previews/PR223/introduction#What\'s-this-GeoInterface.Wrapper-thing?","31":"/GeometryOps.jl/previews/PR223/source/GeometryOps#geometryops-jl","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/clipping/union#Union-Polygon-Clipping","76":"/GeometryOps.jl/previews/PR223/source/methods/clipping/union#Helper-functions-for-Unions-with-Greiner-and-Hormann-Polygon-Clipping","77":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Convex-hull","78":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#example","79":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Simple-hull","80":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Convex-hull-of-the-USA","81":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#Investigating-the-winding-order","82":"/GeometryOps.jl/previews/PR223/source/methods/convex_hull#implementation","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":[1,1,72],"28":[2,1,1],"29":[3,3,50],"30":[8,3,18],"31":[2,1,146],"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":[3,1,236],"76":[10,1,284],"77":[2,1,56],"78":[1,2,1],"79":[2,3,32],"80":[5,2,40],"81":[4,2,100],"82":[1,2,166],"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":"Introduction","titles":[]},"28":{"title":"Main concepts","titles":["Introduction"]},"29":{"title":"The apply paradigm","titles":["Introduction","Main concepts"]},"30":{"title":"What's this GeoInterface.Wrapper thing?","titles":["Introduction","Main concepts"]},"31":{"title":"GeometryOps.jl","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":"Union Polygon Clipping","titles":[]},"76":{"title":"Helper functions for Unions with Greiner and Hormann Polygon Clipping","titles":[]},"77":{"title":"Convex hull","titles":[]},"78":{"title":"Example","titles":["Convex hull"]},"79":{"title":"Simple hull","titles":["Convex hull","Example"]},"80":{"title":"Convex hull of the USA","titles":["Convex hull"]},"81":{"title":"Investigating the winding order","titles":["Convex hull"]},"82":{"title":"Implementation","titles":["Convex hull"]},"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,"75":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,"75":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,"75":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,"76":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":{"82":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,"75":1,"76":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,"75":2,"76":2}}],["`douglaspeucker`",{"2":{"180":1}}],["`d`",{"2":{"172":1}}],["`difference`",{"2":{"169":1}}],["`disjoint`",{"2":{"119":1}}],["`delaunaytriangulation",{"2":{"82":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":{"82":1}}],["`g1`",{"2":{"85":1}}],["`gi",{"2":{"82":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,"75":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,"76":2}}],["`multipoly",{"2":{"71":7,"73":3,"76":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,"75":1,"76":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":{"31":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,"76":1,"156":3}}],["$trait",{"2":{"69":1,"71":2,"73":2,"76":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,"75":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,"82":1}}],["queue",{"2":{"182":41}}],["questions",{"2":{"73":1}}],["quite",{"2":{"162":1,"199":1}}],["quickhull",{"2":{"6":1,"77":1,"82":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,"75":46,"76":2,"80":1,"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,"75":1,"76":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,"75":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":{"75":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,"31":3,"70":1,"72":1,"75":1,"153":1,"155":7,"170":2,"176":2,"188":4,"192":1,"193":1}}],["keywords",{"2":{"1":2,"4":1,"6":10,"31":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,"75":1,"76":1,"153":1,"198":1}}],["kwargs",{"2":{"32":2,"60":3,"66":1,"69":1,"70":3,"71":3,"72":4,"73":5,"75":3,"76":5,"165":2,"173":1,"176":1}}],["kwdef",{"2":{"31":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":{"76":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,"76":1,"81":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,"75":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,"76":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":{"31":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":{"82":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":{"31":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,"75":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,"82":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,"79":1,"80":1,"81":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,"31":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":6,"76":4,"77":1,"82":5,"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":{"82":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,"31":1},"2":{"1":10,"4":1,"6":15,"10":2,"11":1,"22":2,"25":2,"27":2,"31":42,"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,"76":1,"77":3,"82":6,"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,"29":2,"53":1,"56":1,"59":8,"60":1,"63":1,"70":1,"72":1,"75":1,"81":1,"82":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":{"31":1,"59":1,"69":1,"71":1,"73":1,"76":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,"75":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,"27":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,"75":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,"75":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}}],["392466",{"2":{"6":1,"179":1,"180":1}}],["395332",{"2":{"6":1,"179":1,"180":1}}],["39",{"0":{"30":1},"2":{"0":1,"3":1,"4":5,"6":22,"7":1,"9":2,"17":2,"18":1,"19":1,"23":1,"29":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,"76":2,"81":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,"75":1}}],["274363",{"2":{"70":1,"72":1,"75":1}}],["27",{"2":{"58":2}}],["275543",{"2":{"6":6,"189":6}}],["2d",{"2":{"25":1,"27":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,"27":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,"75":1,"79":1,"80":1,"81":3,"82":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,"75":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":{"80":1,"192":1}}],["11",{"2":{"15":2,"58":2,"116":1}}],["1145",{"2":{"70":1,"72":1,"75":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,"75":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,"79":1,"81":1,"146":2,"196":1}}],["10",{"2":{"6":12,"11":1,"55":1,"58":5,"68":4,"69":10,"70":2,"72":1,"75":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,"75":4,"76":11,"81":6,"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,"75":2,"76":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,"81":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,"77":1,"81":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,"75":4,"76":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,"80":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,"31":2,"180":1,"188":1,"194":1,"195":2,"199":1}}],["namespaced",{"2":{"153":1}}],["names",{"2":{"6":1,"31":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,"27":1,"55":1,"58":2,"59":4,"60":1,"64":1,"69":1,"76":1,"77":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,"75":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,"75":1,"76":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,"75":1,"76":2,"84":1,"122":2,"129":1,"151":1,"160":1}}],["note",{"2":{"4":4,"6":11,"19":1,"29":1,"53":1,"56":2,"59":1,"62":2,"63":2,"64":3,"66":1,"69":2,"71":3,"73":5,"76":3,"82":1,"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,"31":1,"53":4,"56":1,"59":4,"60":1,"62":1,"64":18,"69":1,"72":1,"73":7,"76":3,"81":1,"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,"76":2}}],["nothing",{"2":{"1":34,"4":1,"6":41,"15":3,"64":4,"69":1,"71":2,"72":1,"73":2,"76":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":{"76":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,"76":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,"81":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,"75":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,"76":4}}],["bigger",{"2":{"64":1}}],["bit",{"2":{"25":1,"27":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,"75":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":{"31":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,"27":1,"32":1,"53":1,"55":1,"56":1,"66":1,"73":2,"76":2,"81":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,"31":1,"57":9,"58":4,"59":52}}],["basic",{"2":{"146":1}}],["base",{"2":{"31":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,"76":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,"75":27,"76":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,"75":1,"76":1}}],["bouncings",{"2":{"64":1}}],["bouncing",{"2":{"64":13,"71":3,"73":4,"76":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,"75":1,"76":1,"81":2,"84":1,"88":3,"91":1,"105":4,"108":1,"116":2,"122":1,"129":1,"135":1,"175":1,"177":1}}],["booltype",{"2":{"31":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,"76":1,"156":1,"160":2,"197":1}}],["boolsastypes",{"0":{"24":1,"160":1},"2":{"31":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,"27":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,"75":4,"76":3,"82":2,"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,"75":2,"76":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,"82":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,"27":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,"75":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,"27":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,"75":6,"76":5,"82":6,"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":{"82":2}}],["hulls",{"2":{"6":1,"77":1,"82":1}}],["hull",{"0":{"50":1,"77":1,"79":1,"80":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1},"2":{"0":1,"6":8,"31":2,"50":1,"77":2,"79":4,"80":1,"81":10,"82":15}}],["hypot",{"2":{"177":1}}],["h2",{"2":{"116":6}}],["h1",{"2":{"116":11}}],["hm",{"2":{"58":2}}],["h",{"2":{"53":2,"64":2,"76":8}}],["href=",{"2":{"6":2}}],["https",{"2":{"6":2,"70":1,"72":1,"73":1,"75":1,"82":1,"116":2,"158":1,"182":1}}],["high",{"2":{"195":1}}],["highest",{"2":{"193":1}}],["higher",{"2":{"6":1,"82":1}}],["hit",{"2":{"64":1,"153":1,"154":1,"156":3}}],["hits",{"2":{"18":1}}],["hidedecorations",{"2":{"58":2}}],["hinter",{"2":{"31":3,"60":1,"173":1,"176":1}}],["hint",{"2":{"31":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,"76":1},"2":{"63":1,"64":1,"69":1}}],["helps",{"2":{"30":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,"82":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,"76":1},"2":{"6":2,"59":2,"64":3,"69":2,"70":1,"72":1,"75":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,"81":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,"76":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,"75":6,"76":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":{"31":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,"82":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,"76":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,"76":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,"31":1,"53":4,"56":2,"59":66,"64":17,"66":11,"69":3,"70":1,"72":1,"73":6,"75":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,"76":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,"75":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,"75":2,"76":1,"80":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,"31":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,"75":21,"76":78,"79":6,"80":4,"81":14,"82":4,"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":{"31":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":{"80":1},"2":{"80":4,"180":15,"199":3}}],["us",{"2":{"56":1,"82":1,"192":1,"199":1}}],["usually",{"2":{"26":2,"77":1,"153":1,"156":2,"158":1,"195":1}}],["usual",{"2":{"6":1,"163":1,"166":1}}],["usecases",{"2":{"25":1,"27":1}}],["uses",{"2":{"6":3,"77":1,"82":1,"116":1,"157":1,"158":1,"172":1,"176":1,"177":1,"180":1,"195":1}}],["users",{"2":{"31":1,"148":1,"167":1}}],["user",{"2":{"6":12,"23":1,"63":1,"70":3,"72":3,"75":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,"76":1,"82":2,"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,"31":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,"76":3,"79":1,"80":2,"81":1,"82":2,"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":{"31":2,"156":19}}],["unless",{"2":{"22":1,"64":1,"71":2,"73":2,"76":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,"75":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,"27":1}}],["unique",{"2":{"6":2,"73":3,"166":2,"169":2}}],["unioning",{"2":{"76":1}}],["unionintersectingpolygons",{"2":{"0":1,"6":8,"70":1,"71":2,"72":1,"73":2,"75":1,"76":2,"166":2,"167":2,"168":1,"169":4}}],["unions",{"0":{"76":1},"2":{"18":1,"159":1}}],["union",{"0":{"36":1,"75":1},"2":{"0":1,"1":2,"3":2,"4":4,"6":18,"11":3,"23":2,"31":1,"32":1,"36":2,"53":2,"56":1,"59":1,"63":4,"64":7,"66":1,"72":2,"75":18,"76":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":{"31":1}}],["guarantee",{"2":{"19":1,"30":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":{"82":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,"76":1},"2":{"64":3,"69":2,"70":1,"72":1,"75":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":{"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,"76":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,"27":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,"76":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,"75":3,"76":6,"85":1,"88":2,"116":5,"145":1,"146":1,"163":1,"191":1}}],["getpolygon",{"2":{"71":3,"73":2,"76":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,"75":2,"82":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":{"30":1},"2":{"1":20,"3":9,"4":2,"6":35,"11":1,"13":1,"14":1,"15":1,"22":3,"25":1,"27":1,"30":1,"31":7,"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,"75":1,"79":1,"80":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":{"29":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,"31":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,"82":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,"27":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":2,"29":4,"52":1,"53":3,"56":4,"63":1,"66":2,"69":1,"70":5,"72":5,"73":4,"75":5,"82":6,"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":{"31":3,"58":2,"59":10,"82":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,"29":1,"31":1,"53":7,"56":4,"60":4,"63":3,"65":1,"66":4,"69":4,"80":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,"31":2,"150":2,"156":4}}],["geometryops",{"0":{"0":1,"25":1,"31":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,"31":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,"79":1,"80":1,"81":3,"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,"31":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,"75":9,"76":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,"77":1,"81":4,"82":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,"81":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,"31":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,"75":2,"79":3,"80":2,"81":8,"82":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,"29":1,"52":1,"53":1,"56":2,"63":3,"64":8,"66":3,"69":5,"70":1,"71":2,"72":1,"73":2,"75":1,"76":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,"82":1,"158":1}}],["gis",{"2":{"5":1,"6":1,"25":1,"27":1,"59":1}}],["gi",{"2":{"1":13,"3":42,"4":31,"6":108,"11":8,"13":15,"14":15,"15":8,"18":2,"31":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,"75":17,"76":36,"79":1,"80":1,"81":3,"82":4,"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}}],["t8vkb",{"2":{"192":1}}],["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,"31":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,"30":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,"75":7,"76":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":{"31":3,"189":1}}],["tuple",{"0":{"186":1},"2":{"4":1,"6":19,"31":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,"31":1,"60":1,"63":1,"64":1,"69":1,"70":3,"71":1,"72":2,"73":1,"75":4,"76":5,"82":2,"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,"75":4,"76":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,"31":1,"153":6,"154":5,"156":2}}],["table",{"0":{"194":1},"2":{"6":2,"18":1,"29":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,"75":1,"76":1,"167":1}}],["takes",{"2":{"64":3,"197":1}}],["taken",{"2":{"20":1,"58":1}}],["take",{"2":{"1":1,"6":2,"29":1,"64":3,"70":1,"71":1,"72":1,"73":1,"76":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,"75":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,"75":4,"76":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,"81":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,"31":1,"82":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,"31":1,"53":7,"56":1,"58":2,"60":1,"64":30,"66":6,"69":1,"70":1,"71":2,"72":1,"73":1,"75":2,"76":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,"75":1}}],["track",{"2":{"64":3,"169":2}}],["tracing",{"2":{"6":1,"64":4,"66":1,"71":5,"73":2,"76":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":{"31":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,"31":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,"31":1,"32":1,"53":2,"56":5,"59":6,"63":7,"66":2,"69":3,"70":2,"71":2,"72":6,"73":4,"75":2,"76":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,"31":2,"32":1,"53":1,"56":1,"63":1,"66":1,"70":2,"71":4,"72":3,"73":4,"75":2,"76":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,"76":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":{"30":1}}],["things",{"2":{"9":1}}],["this",{"0":{"30":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":2,"29":1,"31":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,"75":1,"76":2,"82":5,"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,"31":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,"82":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,"76":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,"27":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":3,"76":5,"77":1,"81":3,"82":4,"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,"27":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,"76":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,"29":1,"53":3,"59":2,"64":6,"66":1,"70":1,"72":2,"73":6,"74":2,"75":2,"76":2,"82":1,"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,"76":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,"75":2,"76":3,"81":1,"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,"76":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,"29":1,"62":1,"80":1,"81":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,"27":3,"29":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":29,"76":70,"77":6,"81":11,"82":16,"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,"31":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,"75":10,"76":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,"76":1,"191":1,"198":1}}],["touching",{"0":{"128":1},"2":{"73":1,"76":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,"31":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":{"75":1}}],["total",{"2":{"56":1,"59":2,"64":2,"66":1}}],["towards",{"2":{"25":1,"27":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,"82":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,"27":3,"29":4,"30":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":7,"76":11,"77":1,"79":1,"80":1,"81":4,"82":6,"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":{"76":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,"76":4,"82":1,"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,"76":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,"75":1,"76":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,"76":3,"77":2,"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,"76":6}}],["overlap",{"2":{"3":4,"6":4,"9":1,"64":2,"73":8,"76":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,"31":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,"76":1,"81":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,"76":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,"29":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,"76":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,"82":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":2,"76":2,"77":1,"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,"27":3,"29":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,"75":1,"76":2,"82":1,"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,"75":1,"82":3,"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":{"80":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,"27":1,"29":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":9,"76":20,"77":5,"81":3,"82":3,"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,"75":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":{"76":1}}],["originals",{"2":{"22":1}}],["original",{"2":{"6":4,"18":1,"22":1,"64":10,"69":5,"70":1,"72":1,"76":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,"31":1,"56":1,"64":10,"66":2,"70":1,"72":2,"73":2,"75":1,"116":16,"144":1,"180":1}}],["ordered",{"2":{"55":1}}],["order",{"0":{"81":1},"2":{"1":4,"3":1,"4":2,"6":5,"53":1,"55":1,"56":2,"59":1,"64":4,"73":1,"76":1,"81":4,"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,"29":2,"31":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,"76":2,"77":1,"82":1,"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,"75":2,"82":1,"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":{"31":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,"82":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,"75":3,"175":1,"192":1}}],["elsewhere",{"2":{"69":1}}],["elseif",{"2":{"64":5,"66":7,"70":1,"72":1,"73":14,"75":2,"76":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,"75":1,"76":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,"75":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":{"31":1,"73":1,"177":1}}],["error",{"0":{"173":1},"2":{"4":1,"6":4,"7":1,"18":1,"31":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,"31":1,"56":1,"62":1,"64":25,"66":13,"70":1,"72":1,"73":6,"75":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,"76":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,"27":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,"31":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,"76":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,"76":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,"75":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,"76":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,"76":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,"31":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,"75":6,"76":24,"82":3,"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,"76":2}}],["existingnodes",{"2":{"146":3}}],["existing",{"2":{"64":3,"75":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":{"31":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":{"77":1}}],["exposes",{"2":{"17":1}}],["export",{"2":{"31":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,"75":8,"76":14,"105":7,"116":7}}],["extrema",{"2":{"146":1,"189":1}}],["extreem",{"2":{"53":10}}],["extracts",{"2":{"82":1}}],["extract",{"2":{"82":1,"146":1,"153":1,"154":2,"180":1}}],["extra",{"2":{"6":3,"64":1,"75":1,"174":1,"176":2,"177":1}}],["external",{"2":{"56":1,"116":2}}],["exteriors",{"2":{"9":1,"72":2,"75":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,"75":3,"76":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":{"77":1,"195":1}}],["extension",{"2":{"1":1,"6":1,"59":1,"60":1,"82":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,"31":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,"31":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,"31":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,"75":5,"76":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,"78":1,"162":1,"168":1,"198":1,"199":1},"1":{"79":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,"75":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,"27":1,"64":9,"70":1,"72":1,"73":2,"75":1,"76":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,"81":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,"76":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,"76":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,"79":2,"81":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,"81":1,"146":1}}],["lat",{"2":{"6":3,"175":1,"176":3}}],["larger",{"2":{"64":1,"75":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,"75":1,"76":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,"76":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,"29":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,"81":1,"147":1,"176":7,"180":4,"188":2}}],["little",{"2":{"26":1}}],["literate",{"2":{"26":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,"76":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":{"77":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,"79":1,"80":2,"81":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":{"31":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,"31":1,"53":2,"63":2,"64":2,"75":2,"76":1,"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,"76":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,"75":13,"76":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,"29":1,"56":1,"58":1,"59":1,"62":1,"66":1,"70":1,"72":1,"75":1,"82":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,"31":9,"52":1,"55":1,"60":1,"62":1,"65":1,"69":1,"70":1,"72":1,"73":1,"75":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,"82":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,"82":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,"75":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,"31":1,"56":1,"59":3,"69":2,"71":2,"73":2,"76":2,"82":1,"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":{"76":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,"75":2,"76":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,"27":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,"75":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,"75":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,"75":1,"76":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,"31":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":{"31":41,"53":1,"64":1,"77":1,"85":2,"160":1,"180":2,"193":2,"194":1}}],["included",{"2":{"6":2,"76":2,"166":2,"169":2,"193":1}}],["includes",{"2":{"4":2,"6":2,"76":1,"85":2,"88":1,"116":1}}],["incircle",{"0":{"16":1}}],["inv",{"2":{"158":3}}],["investigate",{"2":{"146":1}}],["investigating",{"0":{"81":1}}],["inverted",{"2":{"6":1,"82":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,"75":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":{"27":1},"1":{"28":1,"29":1,"30":1}}],["introducing",{"2":{"24":1}}],["introduces",{"2":{"24":1}}],["int",{"2":{"64":6,"76":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,"77":1,"82":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,"76":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,"75":1,"76":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,"76":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,"31":1,"64":2,"76":2,"166":4,"167":1,"169":4}}],["intersections",{"0":{"73":1},"2":{"64":2,"66":2,"71":1,"72":2,"73":1,"76":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,"31":1,"37":2,"64":38,"66":6,"69":3,"70":4,"71":4,"72":15,"73":73,"75":2,"76":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,"75":1,"76":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,"31":1,"49":2,"64":1,"73":2,"76":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,"29":1,"59":1,"64":2,"65":1,"73":1,"82":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":1,"29":1,"30":1,"31":2,"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,"75":11,"76":28,"81":1,"82":3,"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,"76":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,"82":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,"76":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,"76":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,"29":3,"30":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,"75":1,"76":3,"81":2,"82":2,"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,"75":10,"76":22,"82":3,"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,"27":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,"76":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,"76":2,"85":3,"88":1,"93":1,"116":9,"122":1,"180":1,"188":1}}],["isconcave",{"0":{"145":1},"2":{"0":1,"6":2,"81":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,"27":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":7,"76":20,"77":1,"81":5,"82":4,"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,"81":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":{"82":1}}],["cleanest",{"2":{"82":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,"75":1,"76":1},"2":{"6":1,"9":1,"31":8,"64":9,"69":3,"70":1,"72":1,"75":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,"31":1,"53":6,"56":3,"63":3,"64":1,"66":1,"73":1,"76":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,"81":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,"29":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,"31":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,"82":1,"146":2}}],["changes",{"2":{"64":1}}],["changed",{"2":{"64":1}}],["change",{"2":{"24":1,"64":1,"81":1}}],["chain=2",{"2":{"64":1}}],["chain=1",{"2":{"64":1}}],["chain",{"2":{"64":66,"71":3,"73":4,"76":4,"81":2}}],["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,"75":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,"81":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,"76":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,"79":1,"80":1,"81":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,"76":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,"27":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,"75":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,"31":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,"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,"75":3,"76":1,"81":1,"82":2,"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,"82":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,"75":1,"76":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,"75":2,"76":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,"31":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,"31":1,"32":2,"35":2,"36":2,"37":2,"38":2,"50":2,"82":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,"76":3,"169":26}}],["currentnode",{"2":{"146":8}}],["current",{"2":{"53":1,"59":8,"64":3,"69":2,"71":1,"73":1,"76":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,"31":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,"27":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,"75":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,"31":4,"70":1,"71":2,"72":1,"73":2,"75":1,"76":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,"75":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,"76":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,"31":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,"31":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,"31":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":{"79":1,"80":1,"196":1,"198":2}}],["colorrange",{"2":{"58":2,"84":1}}],["colorbar",{"2":{"58":1,"81":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,"79":1,"80":1,"81":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,"82":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,"29":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,"75":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":{"30":1}}],["combos",{"2":{"71":1,"73":1,"76":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,"76":1,"166":1,"169":2,"191":1}}],["coming",{"2":{"66":1}}],["com",{"2":{"6":2,"73":1,"82":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,"76":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,"75":1}}],["computing",{"2":{"60":1,"77":1}}],["computational",{"2":{"6":1,"59":1}}],["computation",{"2":{"6":6,"59":1,"63":1,"70":1,"72":1,"75":1,"181":2,"182":2,"183":2}}],["computer",{"2":{"6":1,"59":1}}],["computes",{"2":{"6":1,"82":1}}],["compute",{"2":{"4":1,"6":3,"56":1,"59":1,"82":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":{"76":1,"88":1}}],["compares",{"2":{"146":1}}],["compared",{"2":{"88":1}}],["compare",{"2":{"3":1,"4":1,"6":2,"53":1,"76":1,"88":2,"122":1}}],["compatibility",{"2":{"56":1}}],["compatible",{"2":{"1":3,"22":1,"25":1,"27":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,"80":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,"81":1,"82":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,"76":1,"77":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,"27":1}}],["controlled",{"2":{"24":1}}],["control",{"2":{"23":1}}],["containing",{"2":{"65":1,"198":1}}],["contain",{"2":{"3":1,"6":1,"26":1,"76":1,"90":1,"122":1,"191":1}}],["contained",{"2":{"3":1,"6":1,"9":1,"76":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,"31":1,"33":1,"45":2,"64":1,"76":1,"77":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":{"31":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,"75":1}}],["concepts",{"0":{"28":1},"1":{"29":1,"30":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,"82":1,"84":1,"146":2,"176":1,"180":3,"186":1,"188":1,"189":1}}],["convexity",{"2":{"81":2}}],["convexhull",{"2":{"50":1,"147":1}}],["convex",{"0":{"50":1,"77":1,"80":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1},"2":{"0":1,"6":7,"31":2,"50":1,"53":3,"77":4,"79":2,"80":1,"81":4,"82":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,"76":2}}],["validate",{"2":{"9":1}}],["valid",{"2":{"1":1,"6":8,"63":1,"70":2,"72":2,"73":3,"75":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,"82":1,"146":1,"169":1,"182":3,"199":1}}],["viewport",{"2":{"14":1}}],["views",{"2":{"1":1,"64":1,"75":1,"172":1}}],["vincenty",{"2":{"6":1,"177":1}}],["via",{"2":{"6":1,"60":1,"77":1,"147":1,"173":1,"176":1,"188":2}}],["vec",{"2":{"82":2}}],["vect",{"2":{"156":2}}],["vectypes",{"2":{"59":5}}],["vector",{"2":{"1":12,"4":6,"5":1,"6":46,"18":1,"23":1,"29":1,"52":1,"53":10,"59":14,"64":7,"69":6,"70":4,"71":1,"72":2,"73":3,"75":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,"82":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,"82":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,"81":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,"31":1,"53":3,"56":2,"59":1,"62":1,"63":4,"64":12,"66":13,"76":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":{"81":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":{"79":1}}],["rand",{"2":{"6":1,"81":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":{"82":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,"82":1,"93":2,"94":6,"108":3,"116":32,"125":3,"135":3}}],["requests",{"2":{"25":1,"27":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":{"76":1}}],["reveals",{"2":{"76":1}}],["reverse",{"2":{"55":1,"58":1,"59":1,"64":2,"191":2}}],["rev",{"2":{"75":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,"75":1,"76":3,"116":2,"199":1}}],["region",{"2":{"60":2,"73":3,"76":2,"199":1}}],["register",{"2":{"31":3,"59":3}}],["regular",{"0":{"15":1}}],["rebuilding",{"2":{"153":1,"154":1}}],["rebuild",{"2":{"31":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":{"81":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":{"31":10,"105":1,"122":1}}],["relationship",{"2":{"23":1,"197":2}}],["relative",{"2":{"59":3}}],["relevant",{"2":{"6":1,"10":1,"82":1,"158":2}}],["reducing",{"2":{"154":2}}],["reduced",{"2":{"181":1,"182":1,"183":1}}],["reduces",{"2":{"19":1,"76":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,"75":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,"82":1,"116":6}}],["rest",{"2":{"6":1,"59":2,"75":1}}],["resulting",{"2":{"69":1,"76":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,"82":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,"76":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,"31":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,"76":1}}],["repeated",{"2":{"4":3,"6":3,"9":1,"53":2,"59":1,"64":2,"76":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,"76":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,"31":2,"148":1,"172":6,"173":2}}],["re",{"2":{"1":1,"6":1,"17":1,"82":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,"30":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,"75":6,"76":9,"82":2,"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,"75":2,"81":1,"82":1,"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,"75":1,"82":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,"82":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,"75":4,"76":5,"146":3,"163":1,"177":3,"182":3}}],["pulling",{"2":{"82":1}}],["pull",{"2":{"25":1,"27":1}}],["public",{"2":{"24":1}}],["pick",{"2":{"192":2}}],["piece",{"2":{"64":6,"169":6}}],["pieces",{"2":{"64":12,"69":1,"71":2,"75":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,"75":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,"31":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,"79":2,"80":1,"81":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,"75":2,"81":1,"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,"75":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,"31":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,"76":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,"75":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":{"31":1,"94":2,"108":2,"125":2,"135":2}}],["processor",{"2":{"31":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,"75":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,"77":1,"82":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}}],["primitives",{"0":{"156":1},"2":{"31":1,"156":1}}],["primitive",{"2":{"29":1}}],["primarily",{"2":{"25":2,"27":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,"76":2,"116":3,"152":1}}],["partition",{"2":{"153":2,"154":2}}],["partialsort",{"2":{"184":1}}],["partial",{"2":{"66":4}}],["partially",{"2":{"64":2,"76":2}}],["particularly",{"2":{"59":1}}],["particular",{"2":{"30":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":{"29":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,"82":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,"27":1,"77":1,"156":2,"161":1,"187":1,"190":3,"192":1,"195":1}}],["package",{"2":{"1":2,"6":1,"22":1,"25":2,"27":2,"60":1,"77":2,"82":1,"146":1,"172":3,"173":1,"176":1,"192":1,"195":2}}],["page",{"2":{"0":1,"9":1,"26":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,"76":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,"75":2,"79":1,"80":1,"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,"75":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,"75":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,"75":14,"76":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,"75":19,"76":79,"79":2,"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,"31":1,"146":31}}],["polygon`",{"2":{"59":3,"82":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,"31":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,"75":6,"76":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,"75":4,"76":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,"75":1,"76":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":6,"76":34,"77":1,"81":1,"82":3,"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,"79":1,"84":1}}],["point2d",{"2":{"58":1}}],["point2",{"2":{"6":2,"59":5,"81":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,"82":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,"76":9,"82":3,"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":4,"76":1,"77":3,"79":4,"81":4,"82":6,"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,"27":1,"64":1,"71":1,"73":1,"76":1,"81":1,"116":1,"180":1,"195":2}}],["monotone",{"2":{"20":1,"81":2}}],["monotonechainmethod",{"2":{"0":1,"6":1,"77":1,"81":2,"82":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,"29":1,"64":1,"70":1,"72":1,"75":1,"82":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,"27":1,"56":1,"70":1,"72":1,"73":1,"75":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,"76":1}}],["marking",{"2":{"71":2,"73":2,"76":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,"79":1,"80":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,"27":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":{"28":1},"1":{"29":1,"30":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,"31":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,"76":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,"29":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,"81":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":{"31":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":1,"31":27,"59":3,"77":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,"76":1,"81":3,"82":2,"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":{"76":3}}],["multipoly`",{"2":{"70":2,"72":2,"75":2}}],["multipoly",{"2":{"6":9,"15":3,"70":1,"71":27,"72":1,"73":26,"75":1,"76":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,"75":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,"75":1,"76":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,"76":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,"75":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":{"76":1,"169":1,"177":1}}],["driven",{"2":{"25":1,"27":1}}],["driving",{"2":{"25":1,"27":1}}],["duplicated",{"2":{"73":2}}],["during",{"2":{"64":1}}],["due",{"2":{"63":1,"64":1,"73":3}}],["date",{"2":{"81":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":{"31":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}}],["dataframes",{"2":{"194":3,"198":2,"199":1}}],["dataframe",{"2":{"29":1,"194":1,"197":1,"198":5,"199":2}}],["data",{"0":{"146":1,"195":1},"2":{"23":1,"25":1,"27":1,"80":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":{"82":1}}],["delayed",{"2":{"64":10,"71":2,"73":2,"76":2}}],["delay",{"2":{"64":14,"70":2,"71":2,"72":2,"73":2,"75":2,"76":2}}],["delaunay",{"2":{"6":1,"82":1}}],["delaunaytriangulation",{"2":{"6":1,"31":1,"77":1,"82":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":{"75":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,"29":1,"59":4,"154":1,"161":1}}],["decrementing",{"2":{"146":1}}],["decrease",{"2":{"63":1}}],["decreasing",{"2":{"6":1,"180":1}}],["decide",{"2":{"81":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,"75":1,"76":2,"82":1,"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":{"81":1}}],["detection",{"2":{"81":1,"146":1}}],["determined",{"2":{"64":1,"66":1}}],["determine",{"2":{"64":10,"66":3,"70":2,"72":2,"73":9,"75":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,"82":3,"146":1,"176":1}}],["dig",{"2":{"153":1}}],["dict",{"2":{"146":5}}],["didn",{"2":{"76":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,"82":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,"27":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,"31":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,"27":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,"31":1,"41":2,"76":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,"81":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,"31":1,"35":2,"38":1,"64":3,"70":12,"71":14,"73":1,"75":1,"76":3,"166":1,"169":1,"176":1}}],["diffintersectingpolygons",{"2":{"0":1,"6":1,"166":1,"169":4}}],["doi",{"2":{"70":2,"72":2,"75":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,"29":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,"76":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,"31":1,"53":1,"56":2,"59":2,"60":1,"63":1,"66":1,"69":1,"76":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":{"80":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,"76":2}}],["away",{"2":{"60":1,"105":1,"200":1}}],["a2y",{"2":{"73":4}}],["a2x",{"2":{"73":4}}],["a2",{"2":{"58":4,"73":54,"81":1,"122":6}}],["a1y",{"2":{"73":7}}],["a1x",{"2":{"73":7}}],["a1",{"2":{"58":2,"64":9,"73":66,"81":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":{"79":1,"175":1,"179":1}}],["axis",{"2":{"13":2,"14":1,"52":1,"55":1,"58":4,"62":1,"65":1,"81":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,"76":1}}],["adaptivity",{"0":{"74":1}}],["adaptive",{"2":{"7":1,"13":3,"14":2,"74":1}}],["adapted",{"2":{"70":1,"72":1,"75":1,"145":1}}],["administrative",{"2":{"199":1}}],["admin",{"2":{"11":1,"80":1,"180":2}}],["adm0",{"2":{"11":7,"80":4}}],["additional",{"2":{"195":1}}],["additionally",{"2":{"64":3,"88":1}}],["addition",{"2":{"58":1,"76":1}}],["adding",{"2":{"4":1,"6":4,"7":1,"76":2,"146":1,"170":1,"174":1,"176":2,"177":1}}],["added",{"2":{"53":1,"64":6,"66":1,"76":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,"75":2,"76":9,"82":1,"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,"31":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,"75":1,"76":1,"146":2,"153":1,"154":1,"156":3,"177":1,"181":1,"182":1,"183":1,"191":3}}],["a>",{"2":{"6":2}}],["ae7256552c6f443dcd902dcf423f61172386c900",{"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,"76":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":{"82":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,"75":1}}],["able",{"2":{"20":1,"73":1}}],["ability",{"2":{"17":1}}],["about",{"2":{"6":1,"24":2,"30":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,"76":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":{"31":1,"53":1,"56":2,"64":1,"66":2,"69":1,"70":1,"72":1,"73":1,"75":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,"76":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,"76":2,"81":1,"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":{"76":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,"75":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,"76":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,"27":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,"75":5,"76":9,"81":3,"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,"31":1,"54":2,"55":9,"56":61,"61":1,"62":3,"63":49,"65":2,"66":44,"75":2,"76":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,"27":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":7,"76":5,"77":1,"79":2,"80":2,"81":3,"82":3,"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,"77":1,"81":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,"77":1,"82":4,"116":1,"178":1,"180":8,"181":1,"182":3,"183":1,"188":4}}],["allocating",{"2":{"82":1}}],["allocations",{"2":{"5":1,"6":1,"59":1}}],["allocate",{"2":{"82":1}}],["allow=",{"2":{"116":1}}],["allows",{"2":{"11":1,"18":1,"23":1,"24":1,"29":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":1,"31":2,"53":5,"56":3,"59":1,"64":13,"66":3,"70":1,"71":3,"73":3,"76":5,"77":1,"80":3,"82":1,"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,"27":1,"55":1,"56":4,"66":2,"81":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,"77":1,"81":1,"82":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,"27":2,"29":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":36,"76":45,"77":3,"79":3,"80":2,"81":1,"82":4,"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,"75":1,"76":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,"29":1,"31":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,"29":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,"29":3,"31":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,"31":1,"51":1,"52":4,"53":42}}],["answers",{"2":{"167":1}}],["answer",{"2":{"6":3,"70":1,"72":1,"73":1,"75":1}}],["another",{"2":{"3":1,"6":1,"64":2,"73":1,"82":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,"75":2,"76":2,"82":3,"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,"27":1,"29":1,"57":2,"63":1,"64":7,"66":1,"69":1,"71":1,"73":4,"76":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,"76":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,"29":2,"30":1,"31":2,"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,"75":6,"76":15,"81":1,"82":2,"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,"77":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,"76":1}}],["switch",{"2":{"64":1,"76":1,"160":1}}],["switching",{"2":{"6":1,"66":1}}],["swap",{"2":{"6":1,"76":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,"75":1,"76":1,"81":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":{"81":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,"76":2,"122":1,"151":1,"180":1}}],["specialized",{"2":{"25":1,"27":1,"82":1,"153":1}}],["sphere",{"2":{"6":1,"158":3,"177":1}}],["sphericalgeodesics",{"2":{"158":1}}],["spherical",{"2":{"6":1,"31":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,"27":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,"77":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,"77":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,"76":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,"31":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,"31":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,"27":1}}],["see",{"2":{"6":4,"7":1,"29":1,"62":1,"82":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,"81":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,"77":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,"76":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,"75":2,"116":1,"122":2,"146":1,"182":1}}],["sorted",{"2":{"20":1,"64":1,"182":7,"197":1}}],["someone",{"2":{"82":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,"31":1,"58":1,"59":1,"64":1,"65":1,"73":1,"75":2,"76":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,"75":1,"76":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":{"76":1}}],["stackoverflow",{"2":{"73":1}}],["stack",{"2":{"69":1}}],["states",{"2":{"180":1}}],["state",{"2":{"75":1,"199":9}}],["status",{"2":{"64":31,"71":4,"73":5,"76":4,"146":1}}],["static",{"2":{"160":1}}],["staticarray",{"2":{"59":1}}],["staticarrays",{"2":{"31":1,"64":5,"70":1,"73":2,"76":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,"31":1}}],["stability",{"2":{"23":1,"30":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,"82":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,"76":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,"82":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":{"82":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,"27":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":{"29":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,"76":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,"75":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,"76":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,"79":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,"82":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,"31":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,"29":1,"60":1,"77":1,"82":1,"146":2,"150":1,"153":1,"176":2,"177":1,"186":1}}],["s",{"0":{"30":1},"2":{"0":1,"3":1,"6":11,"7":1,"9":1,"18":1,"19":1,"29":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,"76":3,"81":1,"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,"82":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,"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,"75":1,"76":6,"82":1,"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,"27":1}}],["foundational",{"2":{"17":1}}],["found",{"2":{"6":7,"26":1,"66":1,"69":1,"70":2,"72":2,"73":1,"75":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,"76":1}}],["formats",{"2":{"190":1,"193":1,"195":3}}],["format",{"2":{"69":1,"195":3}}],["form",{"2":{"18":1,"64":3,"73":8,"76":3,"153":1}}],["formed",{"2":{"4":2,"6":3,"52":1,"53":4,"59":1,"64":8,"75":1,"76":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,"76":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":3,"29":1,"31":2,"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":1,"76":9,"77":2,"80":1,"82":3,"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":{"76":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,"80":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,"75":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,"81":1,"192":3}}],["fig",{"2":{"13":6,"14":6,"81":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,"75":1}}],["fix",{"0":{"20":1},"2":{"6":9,"9":3,"15":3,"17":1,"20":1,"70":1,"71":11,"72":1,"73":11,"75":1,"76":10,"81":2,"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,"75":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,"31":2,"50":1,"59":1,"64":2,"66":3,"72":1,"76":1,"82":2,"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,"75":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,"75":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,"31":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,"31":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,"75":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,"75":2,"76":2,"79":2,"80":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,"75":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,"29":1,"150":1,"153":1}}],["function",{"2":{"1":4,"4":1,"6":10,"7":2,"9":1,"13":3,"14":2,"18":2,"29":1,"31":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,"75":2,"76":4,"82":2,"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,"76":1,"150":1,"189":1},"2":{"6":1,"9":3,"17":1,"26":1,"29":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,"77":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,"30":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":{"30":1},"2":{"30":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,"27":1}}],["well",{"2":{"17":1,"64":1,"66":1,"82":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,"27":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,"76":1,"77":1,"81":3,"82":2,"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":{"31":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,"75":1,"76":3,"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,"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":{"82":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,"29":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,"82":1,"154":1,"176":1,"187":1,"199":1}}],["wong",{"2":{"79":1,"80":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,"75":1,"82":4,"146":1,"153":1,"160":2,"192":1,"199":1,"200":1}}],["wound",{"2":{"6":1,"82":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,"27":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,"77":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,"81":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,"77":1,"82":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,"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,"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,"30":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,"76":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,"31":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,"75":2,"76":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":{"81":1},"2":{"4":2,"6":3,"56":3,"64":7,"81":4,"82":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,"76":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,"75":1,"76":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,"31":1,"44":2,"53":2,"56":1,"57":3,"59":1,"63":1,"64":9,"65":2,"66":5,"71":1,"73":2,"75":1,"76":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,"75":4,"76":4,"82":1,"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/VPLocalSearchBox.BaZMIiIk.js b/previews/PR223/assets/chunks/VPLocalSearchBox.yWpfKypT.js similarity index 99% rename from previews/PR223/assets/chunks/VPLocalSearchBox.BaZMIiIk.js rename to previews/PR223/assets/chunks/VPLocalSearchBox.yWpfKypT.js index cbf8d7b83..cccef8abf 100644 --- a/previews/PR223/assets/chunks/VPLocalSearchBox.BaZMIiIk.js +++ b/previews/PR223/assets/chunks/VPLocalSearchBox.yWpfKypT.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.CDvBzsrw.js";const an={root:()=>Rt(()=>import("./@localSearchIndexroot.L4o_yJ4O.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.2ns2mT58.js";const an={root:()=>Rt(()=>import("./@localSearchIndexroot.CxEje2mr.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.CDvBzsrw.js b/previews/PR223/assets/chunks/theme.2ns2mT58.js similarity index 99% rename from previews/PR223/assets/chunks/theme.CDvBzsrw.js rename to previews/PR223/assets/chunks/theme.2ns2mT58.js index 39afc653d..46dca268d 100644 --- a/previews/PR223/assets/chunks/theme.CDvBzsrw.js +++ b/previews/PR223/assets/chunks/theme.2ns2mT58.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.BaZMIiIk.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.BaZMIiIk.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.yWpfKypT.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.yWpfKypT.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/ihegfhf.Cx40vhB3.png b/previews/PR223/assets/cspsnmc.Cx40vhB3.png similarity index 100% rename from previews/PR223/assets/ihegfhf.Cx40vhB3.png rename to previews/PR223/assets/cspsnmc.Cx40vhB3.png diff --git a/previews/PR223/assets/gpyuutw.4wfjCtJV.png b/previews/PR223/assets/ctsaams.4wfjCtJV.png similarity index 100% rename from previews/PR223/assets/gpyuutw.4wfjCtJV.png rename to previews/PR223/assets/ctsaams.4wfjCtJV.png diff --git a/previews/PR223/assets/cyucmbv.DC4y0VyW.png b/previews/PR223/assets/cyucmbv.DC4y0VyW.png deleted file mode 100644 index 7ee8cd96e25771715e02c1dba560a1be34e88786..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75314 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 t52Qu$C;)g`Cj)~=0I0nPredicates

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/mmkktke.CkQRG6fq.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.BSJab6dd.js b/previews/PR223/assets/experiments_predicates.md.j5fAFHV4.lean.js
similarity index 99%
rename from previews/PR223/assets/experiments_predicates.md.BSJab6dd.js
rename to previews/PR223/assets/experiments_predicates.md.j5fAFHV4.lean.js
index 3a01aa85b..b8effc339 100644
--- a/previews/PR223/assets/experiments_predicates.md.BSJab6dd.js
+++ b/previews/PR223/assets/experiments_predicates.md.j5fAFHV4.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/tjhlmlp.Ci5TFGvM.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/mmkktke.CkQRG6fq.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/uxlfbie.DiwGEg2f.png b/previews/PR223/assets/fidxlsx.DiwGEg2f.png
similarity index 100%
rename from previews/PR223/assets/uxlfbie.DiwGEg2f.png
rename to previews/PR223/assets/fidxlsx.DiwGEg2f.png
diff --git a/previews/PR223/assets/iuruyrw.BEFUMtlf.png b/previews/PR223/assets/gcpjevp.BEFUMtlf.png
similarity index 100%
rename from previews/PR223/assets/iuruyrw.BEFUMtlf.png
rename to previews/PR223/assets/gcpjevp.BEFUMtlf.png
diff --git a/previews/PR223/assets/aoipqcv.Dig-DWOQ.png b/previews/PR223/assets/gjbmlxs.Dig-DWOQ.png
similarity index 100%
rename from previews/PR223/assets/aoipqcv.Dig-DWOQ.png
rename to previews/PR223/assets/gjbmlxs.Dig-DWOQ.png
diff --git a/previews/PR223/assets/mwktlfb.BD0hVfse.png b/previews/PR223/assets/hxyundz.BD0hVfse.png
similarity index 100%
rename from previews/PR223/assets/mwktlfb.BD0hVfse.png
rename to previews/PR223/assets/hxyundz.BD0hVfse.png
diff --git a/previews/PR223/assets/qvdkgli.CPClNl7F.png b/previews/PR223/assets/isxruyl.CPClNl7F.png
similarity index 100%
rename from previews/PR223/assets/qvdkgli.CPClNl7F.png
rename to previews/PR223/assets/isxruyl.CPClNl7F.png
diff --git a/previews/PR223/assets/xzjfkpx.DaovVbE6.png b/previews/PR223/assets/kjgfzhi.DaovVbE6.png
similarity index 100%
rename from previews/PR223/assets/xzjfkpx.DaovVbE6.png
rename to previews/PR223/assets/kjgfzhi.DaovVbE6.png
diff --git a/previews/PR223/assets/agebpoz.pAYw0Yqf.png b/previews/PR223/assets/klrwoer.pAYw0Yqf.png
similarity index 100%
rename from previews/PR223/assets/agebpoz.pAYw0Yqf.png
rename to previews/PR223/assets/klrwoer.pAYw0Yqf.png
diff --git a/previews/PR223/assets/trvpmrt.3UVIT8DR.png b/previews/PR223/assets/kqiyyvg.3UVIT8DR.png
similarity index 100%
rename from previews/PR223/assets/trvpmrt.3UVIT8DR.png
rename to previews/PR223/assets/kqiyyvg.3UVIT8DR.png
diff --git a/previews/PR223/assets/bjejbqt.DTKLkKh_.png b/previews/PR223/assets/kvroira.DTKLkKh_.png
similarity index 100%
rename from previews/PR223/assets/bjejbqt.DTKLkKh_.png
rename to previews/PR223/assets/kvroira.DTKLkKh_.png
diff --git a/previews/PR223/assets/zmeroon.D5-bot8v.png b/previews/PR223/assets/lpqxuig.D5-bot8v.png
similarity index 100%
rename from previews/PR223/assets/zmeroon.D5-bot8v.png
rename to previews/PR223/assets/lpqxuig.D5-bot8v.png
diff --git a/previews/PR223/assets/qlroodf.0f3Lq4Lw.png b/previews/PR223/assets/maluozr.0f3Lq4Lw.png
similarity index 100%
rename from previews/PR223/assets/qlroodf.0f3Lq4Lw.png
rename to previews/PR223/assets/maluozr.0f3Lq4Lw.png
diff --git a/previews/PR223/assets/axkntzg.C3SxJ3x-.png b/previews/PR223/assets/mdimjbm.C3SxJ3x-.png
similarity index 100%
rename from previews/PR223/assets/axkntzg.C3SxJ3x-.png
rename to previews/PR223/assets/mdimjbm.C3SxJ3x-.png
diff --git a/previews/PR223/assets/fpvjhcp.D9AE7i2o.png b/previews/PR223/assets/mkhxykp.D9AE7i2o.png
similarity index 100%
rename from previews/PR223/assets/fpvjhcp.D9AE7i2o.png
rename to previews/PR223/assets/mkhxykp.D9AE7i2o.png
diff --git a/previews/PR223/assets/mmkktke.CkQRG6fq.png b/previews/PR223/assets/mmkktke.CkQRG6fq.png
new file mode 100644
index 0000000000000000000000000000000000000000..1362c3820d8d2ef7b9f5c530eecccc02885a01c1
GIT binary patch
literal 59213
zcmeFZbySsY*DbygMNF_zL{gCwQ9wW%#6szArKLf-6%Y&r6i_4$q(MNsOps7ix{*{;
zy5Y>N_92m|AQ;WeY2J{ml4I78nwpxJ$VzSN=r}t&d%UKFgdi{5-`6K~?i@Rpj*iZ7
zebU1qPpi)2h^VMzK_$h-?5e4WpO?1|Jd_hHu*vnj^>-Fn9
z^EMi_WaT8QjzT{{`nW?`--c&Cifkqrsp1pqg`KZltR630^Q=!)IC=8q%y84AklE2T
z|68}H21Zh6yWjdSUkbNq&p*k|&VKmta|s`^G|imFZXb##{MJ^hfnDxXfraUr&J+4>
zZl2>C340?;+~#IST9jN`@@);OGin-c-n_|Y)y^7pMpClSVfba`^wv*JP5i>b+H@5a
z6-~)1Db9nW1aSq|`QKOjtHL-fmY1h$$D1>s%MX%6uuh?6t+^z?`>jqtd%7rRW&
zb$NBgy{&x6qUZW6K0jZ8+3v?Xzis=EFE0*f=y}XE_-@%_H@xum>6tw&vdZVFj;RxY
zSpJ@BhHjcCH8r)%KuttArxsO{`{dQi2h0g_vEdbUFJ-1CCfGU`P`-AA{8UI*m>?lA
z`sTaMjd`st>AAE&KTqLv(@k4j`^uFo`ufi%Xs+AY9hG@fkJ~YcaVeiql}(`GF}{5D
z@&SVP@Cy3hl6`%BHIe+ahHqDj#!I(t
z+s5&|U<2Vw<9%A8(7>jB=1u9*r_93x17$KVU)1XITuPfH>1c1is8j^XAPd^TtoEQbBYg-@kufo$sY!{1AWXk)opFcE_qBkEPiPdaq-?ruB*6R+i?h
zyGkubL2FE9OJXm7yt7Y9Ny(2gGc)si5S>TQZI+rceoo?rATm=8bY5HaU}0e~F)^v`
zdVm`V4ec8kFvh<&s7nSU#JEB#38j+rHhR_4T!@LHeWnoK#gC
zeKu1ht7Yi&d5&z}-b^*Ok?>}#t*xzf>4I^zphHx2w1}{9R8-VZQ-+vv&0`^_vBwtl
zG&Dd{)1K?^2veY`0+3E1-wcLvL#+?rIh*zDXP^I1cLa}LZ|Ug
zq}A~t^ZLZ6o@BQthqEqyhTn-aGp^va+)3Iay?$^i7Fvrl7lb=MJL&5xa6?_t=>3Q%S!V5jQ$P`wJbO
zD~mI@ZAH4f?7r$*hLyPOo%Eu|^c;s9WqzID;ZY*bv}oaG=Js56_DP}>aaBIumZHWr
zla!d4c!P9vVL?GbVIfkaME~QR8#iuXp?Ig>k`P!O5FbVMzn&Ss=kIhr&(c)a{jbY<-WYP;ylJRrme4&o({*TGBLO5ST{`*+qrY6*z#|m@11>yzLa;VI3MgNE-BezHwLT@yAXKrl)Yf|BB|&65C5u`
zYjrQ#CStu-3l!s}k5(MyHoTy!8qT+N1UJOa%zQRFn~90(m`f8dr+!?}{%7z#>-Kzw
zEv>Dsbf@j4T<-d*wcjzQxZj`K*jZOM)mQm2OM|#-3+g|1#swG}8O0Auu9eO78WU0R
z`S~Ee`JuS{>w{ka%WKP1a?EysO#UwSx+^=PTbCE6oJL!XDr>@G8&N4Z)Y6LqE13or
z2!b@PwN)OIFU77i$rD<3c6R0WsGm0t<5!kH^LMFpqa``p{YcMK;l7?r|2{yH@#iO%
zkG5>tvNSi&?^&I1+Z#G~Cj}{0Wq9;+P0dJGSy@D2z2uoQCN+<*PS(G^R`=k+gY7pp
zG&HdM&BZR)t!M`-D=HFniX12BzeEdF+^1EFRq^sVAYco!3`aZ|*2^I(+!B{|=g$A1VTA
z5}Jkq_<+0nhfY8HP~lu-tdmcQii)&rkJIxr?VuNJ@8-lkD_fT@R&iu3uP%*yt;{@n`*}bz
z=bcAwjEM9rjcj8^M#kH>Z#QM=>E+uzvq<}}
z{McAMS=sx#8FIKTUi{TjlxJs#r(|Pei-?HGI@7yv%(XZ?b_9$8d~Gi^Iv`Ql52J
zx<>X(J4XOvbvUPzE}!Yw?r+b}OQXo=$DcGPXPp@M9Erl+i+=#@QS)*nZhqnUM#@Z&
zhSBdr%FUuh-Eowx8xwq)_^#RsO)4oq3+=-nk<)1&xEd0_`
zRC}-Iwc;?tHWQXDzpovTtHhk|vE(?THPn#8(u>TlDm^~LXklp?CR8=!>LDp9iG;p9
z+n8sq$L#sLTVjUw=(aI_>rQ1)3AIN{4VPAlZ$YgrrslXjKQZ)0Emi$#6nCix9l=}w
z(fG|G-3+}vt7yAi;6Rm8YG7cX>$pHkm|8p5OVzWCfBvK3(WB>1H{@DsFnVk#-BVQ&GEfJBbKI-tX$MXdMG
zBR)PpWSM%Ir-zM=4N7jBqUTVc9cNytGXga
z?b1CwoMMsaI^HQVv&t?RfE}nJ)zZ@Pkx?eHkcUAV=|x=ar`Lp$PtwbuLJn75S0dJ)
zAZ?}M<;m)yY0Yfo&-i!_t{{4`m^uHNv!FK!ZT6t|@7{$*B$gSl&Se51q_?npu^Qcy
zw&O1#r63UEn>aFxCnu}9s(bJ5=jzP2Jwu0`mri(
z1+Cy~2Y{7UUT$`_((#lVil0Ttj}qeiP$QS-=N}8J+~fWVN=sGIT!K*~KNv`oY80!k$vQ{yTQ5o%>WD
zsC^aJkbFxkzKdGG<_eHxYT{h9Y(o1UwKUCBGl#2>%tZI1gsa?dO4H)M_Wi|hQ^ufy
z{8_)P`$Bu!Rgx2%T22cH6a!(cOJ>5|UGNBwqpg4nnd2>BF(Hd?XUxo!?TXzO?A+Xz
z)buhRVuRlnikF;ST@O+`J(Q9cQ|%uY7l+WQj=!GO?TOxDe%{$db>%UY1GA3CHtS=j
zPcLAlhGeX+$m$eu*ULo9uTsTg|8eb~U!VHeUCQ_IIU_DE4*ZOD?zs(=Pa4PnfR2QO#H872CZ>1EPc1Di5f@zkC(<_@IdX)xV#h(=SIH&>
z!kwC@XZ%AyU!8pIII5{(lL2@F-NU`G`Uc#;|D~!*QS2Nucwx!R9sR}WU(z`qRiSM3
zUdx$x@7|sKzWlYk-`OEtE!Vv=4?Se%O*c)=RuF;En{NI)Y3peQc#%pixlTTk7txfLN~|>Px#sugR}W$gQY3n
z@An)7{jcie#(((WO+p%)bIqTEKG$)2C#~QoAGA0=G=qTl)I)iu-z3R@^!GP>-8<8h
zPlji-X#RR7Qy6G@9(_v;;y(VEj+$9JiYVD|2O3y(L#E5K2(?e7LPAAcWy^|5xq7AU
zErxD6V1+co-QSh(wf{;9p-Iw%o`Ttm8!mMRIJ+Tmj;aE*=jmcKuZ6cSDtoDSij
zrkk#nHd*rMqU017
z2_CV!vQ%y7g%5jt(jYXjJ4GesrJ*4y+3mJ_=x-o3sL^F;=15yno0yxom3etNWTPIi
z@_+G~__%*)RW4R^6#HgCyq@b)qO+>BAF59}W6b7OjN(B-!*`j@r55ju;ygKzIx(rK
zl{I^(2)R`i)B^fMFXmb7J{du&Kh|D=JpB3#+&vwoV#w{+-f$MzxEEhZ#h)fA#^0GN
z`wZd`X5u#U{%dQVb%y9E!%vhmYdVMx^6lGsonN<3|Ee=G0G@Wzb+oh;;IV0i9PRDx
zmGj0S%6wl#vmBaVQnG^OUR;^$s#ZFE`ZQ2wh`%veHJvl|kc&u8sP2ZB^BSQ9ZZOQ$9+dHlCiIWO9NL{MIq9xoCo4+9jh`09zDxnS3D}
z@A;(A_De^mf&W_@5M2IM^TaY|XE(PXY+TQW+a<0uie4nmC2mflYZtNeyp2{5h^^K_
zd9CQuf)@WY3D(H;+-4_gM&$TAX5&)+dQZV)6gi{@l$aglu&$^wFpef0AY*SNmt
zh*ipK>Nav0E||7t#Yb3g5pkWC*Hh*Y`$+Q>MAL3$bTsXCZDnQ1QW*!Dy!5CNR2BsL
zb(%u7D=wbATgM3AJxu(Dk2*c(I@+JGnOF9o9UpDWGjb=Ez=Q<$L$tJ@3n|6QTgS9=
zElx%phagrTwupdf(bchm6j4%16r<`G+>YxM*2jH*cJ^)`+tj8xtgTNJ-JwGk%T4(%
zQ!gXZ+AP7DRu_lem$d+_&68?2Vqgn}+UdvGv|e4gvD@Ckp#(hso|fCkw5DM+2FAt*
zrv_`)`1v0GyzwB2(})nd6C#PQ=kk22M)vmb@NJCAs%eX;F=H*+=RM56M4iqkT})n-
z7{V?oy}aClWd>U^Ji^E42+d%!xxCyMvH;$K_jF-UQ0?tKEHNIl8a~c|SacO$OQU%k
zJOvRg7p0}EkTYSA$lMYVb1d6b3mlFK3AsTin#_j|^z`XdGKynqs%fo=Wuq+7PS8-7
zsR8O#x$(9aFc<
zY<@On#M)-J=9tHxz77TD$
zr%;(eh&hl-7=zMEdZ;9qr|aafP1l{A_z#pIF;O2+Bz6x9feqh)=fpL3n!uV3gnl8s
z^J7<6*Sw=0DM}w6WwIHy8Fi-Il1|v!ru)qe$Q7ZXp`a?f=8Yp@R`!mLd@Vl~rUrv(
zg{bK1$AA5zK5&3l$xTX1N>cKs1w@kL^p5QDFJID$c`lR&lg_p7XlliJ?
znnV7fL-vKi!NJ)kwJ#GAfHh(#PP{^UHZ;qrm8;C<8x#~ov1JRoxFkR-;McGObYk^;
z{H3fLK0ZF~^$Y0Y!%PZSv64u!5j+NH;aFGM_>UjokZliznlFTegrHNreDR{KgToGT
z@?eg!GiT0(v1B}1E=G4gdHa|o`TqTnz_|t*%P4ymXNIvkMUa6}HXc1vLrtuoD}&_t
z{il5)5>vBNSJ#OnNN1NM%AI_PhqvCn{E?dP|gUfU~q_-_Hk8
zxYmF6CUZ7r$IssS*U`B_2&?LaAXT5PQ$!SkApvasZ~o$&aA=r+um9)UvE~#1jClQT
zpZ=yaADfrj0_F{nwlV=g;O9YMp#ta%&_8Q<51iEZeg51)f@}u`g&rusp$O=Z)<63Dayqm2q0;ebR53Mcq_Ap)GfdNjLA*F0}sz(z}C(4|3-(E$fp0U%#$Zx?%HyJp=vyGpPJeEGTJc
zil9P*lxP<_e`{!H=<4$N-TfA-Pmb9w@s_8X2{M~DZhX8TW`Z^-+&;@;SaoX63E0oo
z+WlhKq0O`Os2%wAgNlM0KRgh4%^3o}L<|ld^SB(%63#l?mM?Zf2h~KNu-venO
zg2!ZFVHOHzJp>K%Z?CSN>CHxYycB*cNjd3(#2^;0w;~9&AajhA)Mx`oJBjHCbfHb-
zeUtswe*8btY@Bi$(`J-{;NicW`g@|n^XBGetX_*yg>(uE|QM02TwIf!*_8H~7wl+8H
zn9LL2+xPBiBLu+w_#tvaFc5S(0F=%I~-AA2?&82U4xc!?2kbl`;=x}MZD+@*P
zm=fp=^U6K+)Z`QON^%h+M>se*x_rvZ%d3ROW85bz`}z!-V<3b>`E99%M3}Sag9>-A
z{5~y*@2l+WZ98_TR8Y_fvwCR)dCGRz|FSQL?|=z~OxVVFkk2CVOUx#EULhf(HoadG
zCQ&bTWM~$F`6@GWm*n(lTho;Q$b{plb0t5vW9JA)K`Lyg_-Xj9LJKBSGD;OI_UzdM
z-|Db$A_Sy}ybSeBNjAoV88$(8?mTE}l7qeiYzm!+N{c<@@U^kGhfZnMNxzR(Oa0vz
z@k>=z)4=YwNc|sGwk>jSYh)btU(wuC@kv+DWIA=K0ksowHFU}qi3xSeyfHO`lBsrw
z<>l|c?5|zB7XJFOj7-Du%)$YnRLV$uffD(|P)Y_uTbFjcyb$P%pxt9Aj0_Kpq@7#WfQA3l6&
zr|Ti=xTrka7`NNKW)ct(z*DufER?OSWTd2|>_$i~VEMtE!y_UV>g2@wPhU(6ey$*i
zCO3|`Am?smWF*Aww@c{hZx8s~x^-(SBRMP_v`19N?HWHI}?ICB(giyXHLcjPerWYu|FLvhRa7G#3-o5s4A$ye&y4$yIeIo3VHNj@b
zE6p(bXPKL|byz{S?QCpbB|p4(?;gxY2Qlpb{rmTyY^@aYP>VT}%;P1+N1WY&0wk#fqaT
zF?M$Zt*i*5pPQM9Cc14W4K6!E3ELF1wCLorc>z9cR(5t^^-4LPb?5TWZ_nf67z}bKfkbml^f>Xqtyc;V=~Va!Zlo}
z_tn)YD6e47Bj27^0N@-1btK3{u;pONw|3B6-pLtzr0(@KrT&9$#q^%@S6i}-&fMC*
zW!tvunwop}@54Szr0fB{46(dFrkyXZ+J^KXW^{gjK5V_pjAKY-cmsJO6r=?2eP;EE
znOEKdqN!e+etXwl|2dN1h<&6kA!tF?sy%-KoD{Yqr~0cm5Bf|;7MFJ4rjtI!u8
zFoN2;&Du4)5w+{xyLZO5F|@R_(IFwW%k#D_wZ!67;4)<#--1Gvp}LTETKQ#JI6?!=yUaXRsc!&9#-yV7w>W%E7T
zE(t2+%Ja9#L0u+_MGJAzxHOLE+5h@3OoOto$p^;vS`bP?9dvC*skU6puq$}oml9z9
zT7m_EPbG={(hxX9AWU+Kih2UHao=vkX?bXi*nLrcB|tnEoJwGdO9r5A-`^kiU2JXn
zu-fR3LjouA_(09MX|-m))F?=b@_mfNya!4qaQgHXMi8katB5C0
z*yplngd9`*&yW&=#Wr0`x`P@98V+I54yXqr0)a$GXuPASDXs-AB%qzscYe0b+DJ-N
z<>UO*B*ernVtG5v%>1!i`P{j407S#wu%g_7i!ZwoT?b+pftY@jtE;PIXMnxjnep2R
zoRuF3pfRF#KFDh-AIWD48w@59H%bsJ`(JelP+33p?a(hren94*N0y3BeAt7Ixf!_t
z)i)O^0-_Ah{2Sy++OMSB2lh8n`r!7%Jz7Dzrt<6r6Y`pEF&PSg#Sek=J{0)Jj}tfc
zzvM4pYDQPq3vQC>SPkwo$;it)4O~>!C2Bcnx>S;tPfmp+4%4BKLO~vC%iZcGe+~U2
zJcJ9EE~V&}EbiBH4=MXLHT_|a+yVD9zkmNmyWWpI2^01NwYqn2`_<42U^03Zc$bXZ
zsKC*a-4m2^Agxs;q)9sr)wg7u1hvnfwZ!d$iNQg(lcV7Q6l9~W0S7LFNlx^9tom#t
z7;Oc`Xi`$0eB$S~!zlyT7!iT#J?ZnLtU|l@?1_fm5fydx^5ZKu>`>Y}%~cVBU@%iF
zL{%EK3XgP3y)wON7+A%=HvUA&DP7fPtTpG-!mS_U<6eVbXfKJTYX9iWHj(R90vhj;
zguuZO0xJEdAqTvPUJ~3)5WnuVw&H~M(0pzB)Z$(zKn4Yk$NE=8$|K62=RuoDDowV$F==$1PTDCBP^*?*|>=^wf%#ZXR
zjz4$_E*zLKmLFpnhAdd1g{fMx2Ft$aE<_Tjw*1Y4G@GX38PLU>BSeh`LmQ(AhtkC%
zJh0{##?Y1i&nDOXayZ&6zp-Yb!(nA2YM=$PnC7T*VnKU6$v=d#g?;W{@p`4=P0Dv)
zzF0wU#ebptB1P2>W5LM1D!)73^H@=AY*#3o5}L&D&``r4>TsqnB-C;0m1=heLY@zU
zf1cF>eD|e9dyMTn%kvWnOmv9b-_E|<#)YYyI`_Oy$MQ3DiW=urCEn^}G|5E?DCFkl
ze7zmiSaqzq)V%4qg8|Q`xep(t
z3e=Ksczb)p!28q-&*sugL(8{1a`(?&B>V>6^#t99E??OzG&q$G_#1`
z2B?g7mS~Yr;J$qQ{60tUoVOyFoZdFxJ={@5v{8zSi~BAQe2H$uWY3dR<`93bBZgH2
z$x%XET3ewqOfQX>?U&SscSV%rS}u!T;6&SwRX=;;Cz{YFe3pgI6Fu-o#l*@`#H`wK
zWvm#qoR8J?B8%`Oxp(hg!f+N;O|iwF&+!+9MMZf2--r>mdTP+4H}8aF65#sSVgKQ*
z!q8sEOqSvAoF?5%a&lhdC3B%gpC|jq#vp&sLQsY4#ft`|t}Yu}Nel$+1uS|)8ky2d
zkEQOPtCS)-IxZub6@B9kP%Sq7N`PlA832SqT_3cTFVPi)LV?E7$kj`s{;xM`YW&Hi3$i^sKHQYg#f~sG}=3aVVwhzcw^lIE`S_Ow7hun0%^8|
zvF}dqJ32sqJfcDN!UdGAa=^PidY?CM#CKG1GC=Laz|zqpM=X%{pMn`D_fJEe!QVQJ
zG}|KIKZ-~Y#0v~WgR~MM`GcFOIPIpUX7g1qw7=%(rB&))K>4SX8zB+57jE6URkPH6
z0q=-4b%fZ1We^k)_)t-?jnNEf-PF6E3}A5-0s}7wh3v7q?L*y&cTjvu^8SncNAdXJ
z?s#1bn0%C`y~s(9T;ch-9TC}6Cx2pwp^x300%IL$W938_UNFa|cf)l?B^2~pT}C&E
zjvWs7IV+2~HtRA=D3+!JXl2DjVgKSu!8sy@hr7EO=B&d2Zok38<01Mat5mnXa}p)f
zDf3(bp@E@%vW*@QikKWAK-^()T{*mQeSKEncq^QyxB
z(Kw)tTJ$~i!*~`!Itg}WK5+l@lT$nz9AaLp#l=r+YHMpRvtYYZ;6@@70OB%y0z_?d
zkNIZkv5D^FH5g+<6=mDMX>T%6&?T}Bq$VsbGP3Q>4N^q5e3BwF<3|1>5(4jjO3Jvp
zUnp|m`yiqa5>B2}=zH)8fpwly3PBb|+pz80*ZTVUki+K(`uflv!rf0B8yi#Ip|+7I
zbfHps!DAb`f|?0Sgk{dJ`qL-YPeYOf!e#agbZSme4xiWkvb&^0oRDzJLVcuE>ZAA#
z3=QE5OPN8*#LkZVZbzIxj-4Ud4Qe2cwdlc0g
zJbkyMJ(l~`W*s~z5(rAQ*Zhyo=69FQ_9B#s?}=fbz>H=N)l^oBPrU@f=YFA}6j*=_
z6&2^ni362J=N-;oxDcTI^`$*D!$(#xKP4oC!c;$!UP8U16R=@8a>NkCW+(dX_DIK35zZnMOYlamv@Sj-KWSX-}^(^!8p
zv(wk_!N^q~*LU~@q2`70U|W@X^|jGL3CGN65GjB@ro)GcQ$GSXj0(-m%c4A&4(101Ft;+#=F8G%v^j$kU;74wWX)5!IK-C%#|ea`^f6ZFgW5
zQ2>)XSJ_?R1~|jJ}BI27p-0rx&3eULGqN-^z&I
zv|mD$7o!9KZuGv9;GvHmHKDX~`4We+Q1baP>FWDf)T0n>yNU-iw&MAoy9h8XadB@-
zeWW3j)>ADH4h25AL_uhUG^{Y`giV7Ipp>C2LPJAC4eiNS!mVE+9+h}#9x-Cn{^d(L
zU<@*pYSlDMCQ+A3!&S1tyLYqu#LiJr1PO~JrAEp{3pUIX2U2}0J3Bk24MFgv2O%rD
zV8&!+WragIk>M~ZKwh`pHiCDRhn1%rm~sw&Qd>N|5Kis+qmXH3qH0K163I5
zxrTYb<(F3t3?OD6t@bA)ys>K>m>@d*N+8Ax74XNdQRii6nm;m9_&i@U~;CMKs
z+p1znxzQqSj%XXv;iDiy-V=jf>FQdD9tocI0XjOXViQ+a*G2FKKT0eT+lT}@RgCJ8
zi0bWHfJ*UFE>;(A4@wgB++`Su0Kod;8T2Y$sDzieN|f98Y$SxrAZU+{q92E)6vnOs
zi3@kiA{zw;aD$SGm6a9B2ffgzq*E5nztKugrst#XKyDnKapmXF1N^RG8b^Af!w$lL
zE6f^n|FBkjdwbFPp#i&YBojkITuz!2UA^|}1bMO!R8HUzhzDRC-4C>)g`Y=wc&5;6
zV{KuObAm;~tj^B9ew9Mg8SDa}LDY>NKURmLi7kPE6k4-l24%43?_}NcXU_nLks!ku
z5@%sa;682orwB+hoGl+63t`O`HZ#;(BgY
zY^ISV-zO>cc|1<)S%utganFzpk~nhw>BZ7>Z$t1Aq-ebFg44Q*7*)F*}01IMtY|wc1h^Yu{kP^UF+n
zaNfD|t-79fF??$J#FfQ|zVcaZEA$`YlD$z(wcJdId(9f2YN_|3mxLf))E;iEm8C0`
z7pD^Vd78l|>qcuB$=mSFfo`vIwJy1u3NY56KTxXXNipwK{53WfhSRb0IkW`t@6YnH
z_=v(Zu1_=#j_@q+>esZcpHcfn`uCNd&;MRI;ctc|jX#@dVhQDs5ND|1#S?J6+y#Hm
zD77Wu3b#kazC|N)-(RcivFh&hHWGq2v-E|=+;4x*R)ijfp&?1G(+Rf-p*$OP8f=a%MS}yv4cS%$INb?
z4Pkn446HN)1j~W+b
z6e4Kk%eQ?$W2LvPe&VOF=tctJt72s_@$t*0E&dY}%yWeh9uBZpYP6lpXxcw_Nd5^B
zhn&%VBJhqI6Fj+Chr>IV)W|l{RLGDS33rL`Mo}I-Rp#^7t-ooLgRtxJ5yp*`2OAL$
z-Z@+CI!e!%Nd#wv=owlPUa4-WZM9${CA_*{TNsk%ZgEk5Iit}+)KtZQN2KpLH#S)Q
zfm$W@HRnNWPRrjcmiG)>CO!^B*qv0Fzo!%BWy9|Lc}ZHX@#Ww2XAP3BcEBdHp4EsH
zL1g$XrDP
zcxZ3CbbBL9)xTL#_2|1p2aYJXs1E%Nw#EW(hI|Hzg2uM_(8~ON3F=1@y&uQ14q9})
zV{conIDb9;;rlglfp&W*N7*c`+P7j^^
z&#Hun&Hj1YAnxFt(LaYhIjKh?JpVujH9x3xyNzUG&@
zDH@!!zMYVP(sEYy5<{1|F=LUVaAO2@|$-*N3yjGkQ`VVcYo@Ch*
zSH4BHJd5wIcPt*ESWb+6*7sGq|Jib(s!rmT8>vM6C-;q{B8c%EcbPp!qmAen6XIhK
zYQ$jO>_mX0Zahc4heKO9kLsKYRqW9JwNe|zv+3hza$$j!G*Kw$POWXO!pL+0s
zL?GJc_G$F4pCFxO7UZB4@u|ARb)OCWk@^|q;JCz-)NW-E@6Djf@&Ae!-p_*DdOWIq
z-i>gtEuZ46JEPFaD*uL<^MOyg-gcKvZu1wU6Y+dNdDC!*Ip8{!|D)S~Pn&+3i2s0S
zsJ@X~81UNYqRXd$@D{J)Ld38*3sx45$iEhSoH9GhpPeJ=XEATvKj926i1`aB-(aB_
zS|FO&f*1#}d6gRrqPqe!3al7IF_=lfa1{LYnlxK8vmta^kj-%92ld!>Zfvx-SLs#l
z)mG>-kR^i9e1F9x=w+Uiqt>URW%)5I1Bukl**UQn$6-1^USa4$z#-dtNF6fR&7e&L
z*0xVgH{Ev-m~|HltoVacIX|@$fQ^)~0BT$u{EoJZb4Wk&#+Z7r^Q;L4%RFJ-c=h
zJ>N9Fvd#yx7}nNxpEw&KjU!DPs~qH76CXRNI;DxGT*DGKM{z0kB-mzF;`G7t=Vs
zh$;+(OGEsJzJPHI;xOFQ$}vowz+;jOK%awAFQ-YTZpfS`@bEA&bfdG9?uF$B
zRRuHT&%w4aZ+PvG&x^TM=-r)|YNOPL#emL?b3WmcjEoN2Ds=5O7nj3`=1rMn&6GE;3>%(aAEQozc@_w@6a@Bg-S
zjyU6)P#Db>&abhS3o1*QOyg7bOFretBXd
zT`~Zs6VX(^wuacn{Kgr&Pvaz#IIfX(=F*javjF~}(0@iM7~MDmpbZN`Nc{ZS5$Namn
zBtJN(5~=nstSwbXib6)@kL-lmaiRb(&=7xVKNnX9Jd}Qyye8x@l;NYk2l%a`N><8@
z5i=Qbk54diaF`?W;9G^hg=$022-1G=z=1?7ZA@FD3qq5Ca~{u$=OnyNWi}%1K6iD8
zk5{e%T+lx8*ZqLRHj4J{hcLfo>k(@|^Nzw9oHRP-zMl|R%&7MeMD++qUeoB&kUzKj
zAZ##IXYZ!D*RNm0S>49iXKYq3EFywi!(^CsX>8frsurE_OuZ6W0?x-G0SZlO>EZ(^
zdoYD18304;fKvlRW5gtct3x=d75_*#YySBGVsiuUzu(r>^krH)t>kqQ}bJzfjn5KtqWBAqx^Dgl$lx
zh;{22T1DLHe#ys|b#MX+e=kW+PftI!g5jTwM49U9WYZ)B9O7I7G$k~#=xG@lf8gyU
z$`XVcq
zp$Dw2plL!5xnPhcvzA3ykbRm7hbn>Jv
zU;{cW+32HV8d)#_rt0c!CN*(dx%_&qNFIigm>-0PAN75e!}+XaiG&bOzR=oQY3>Ku
zAF%DPx|eD>+Lt2_>02~?;o2ua%XcKdvmnT<%RQb>(
z%o$jT^Hvz?^ng%_e-WIAfJ5|Wk@|q76#1t&w^t3u6crYhfB2AJP@u6mvGv5l@{X&i
z7?y-;vH*_#=BG&F^3fu(`Q~#o2-N;z0l`65{h9AT
zm^mplo74IYPDN1;9o`DCgw$|HKPNJ>;{BX({8#2bKIPwPy$_&R@Z!+9`exTQ(
zlJ?Whdk^T%Y_^@-ag=(?*2}(;th=cXY;UJ*IVYh&E&h$+(g*5W-l+$Dy)C%w%EZ`b
zN0n8YqLPQw$Ldx*Mdk|RmPX$v@yxl5O(k7lRHl7HGUcdtVN~5`&T$KeA`RhCaO3wQkAUhk2qJP@da$ZV171n>RhL(aXgo-dC}25GWOyFSfe5dT5GkqyC)M&B$k#vAJq$)`xU>(>}IQ1s1w~^U8Z!9zt_}
z=)ujO`qN(L@|J@ZAKP7IpKQJQyEC|n5O?3Dh~q`>`|c7(;4y6yZHVutImE8$^6&Rv
z%f0l&Lqk%1=|yAgY;4y$i(N|AzRsUqhE|l@g+bBw`LFOgF7&##(F7jG==}}0j
zok($bgkH$e0?shz1^8{c#XpLDUF$BP=Ef)mYck2tjk
zesh-9kc!`8$QZ_A^qnHG>UXB!uTOWvy|xnK0_yKmP2XI?gsInTb}aSgH2d++6?p$S
zB3BM^)9;9-UZi_x5NH
zc*U_Ex%$1IC}s%W_s;63Y!@B-WKIaULi|`&YWMb#RsyAjS>#5i)blzz9Tc9wedt$z
z`)}TP=u>571YiSIBhHhafvG&C3qYB*;)pRerUzkRM#a&bcB1)~OAtuM+VbS2T5~PU
zS8`DloZ4;uCl;RFJzhB5YTmG!`q5kX@W=Y_O#vi?E$@nTb|s~WIupci2Dhrd<;-83
zuMmqlef?zs2G`60LGYr<{Up;}f3_E72aI%dwWYDwHick<2`qWE(%;p{a=DAIqW*a%qc4dlC3
zeZ1(hlxn*6wNZ9O-d3qdXiPBCdJ)4wR3{7$b8axkO;+mGc4}_dY17(h_qn1j9FLrVqK;J;({}1`_@<|#tn7|`
zW3sE0;Xiu^N~11DKtUG3vn>__S5S<0hu{xlu75fGZRY2aH;r|%f)sH;24ly)R#$M|
zG;^nT&{8+ae2ALr5hfMC_!%mlQ;t91p2;g8ByW4BpvJ}SnBtk%-cu!flK;BO-d#!^
zxj&O_?Z1VN<(_?>t~=e8mXkTEb0Jmh;ZN5<%e%ge8I|UQ3rqu}>A|fp_y|XKC5*Xi`Td
z@}`*4!$GDKcl10Lj8IANVD4`>?N8M!E0yr^vTj?01}f+{G7onEhmgZC8hSe_Q50f3
zIN|LJ8X7H}dF{JJZeb|_BZ
z`QQ4cp<5|@B0zt1OtzAa+?(OUA}6D6nV_?I6jPa2;#{znwuX-46*H<7R;F(=Pfi+~
zJ>va}YO=MiTZzhLhq#btZ5zkC{@u#DG#4x>eB?B+5Tn7ZUv4)4D1~d*`~J^h6fI4P
z#?`Aoz!Cy$LCsk?IQE1<^OWk^dJnt;LM_qm0YZ>%KkyYd3-__lYi-U8rLqM`gYQ)M
z$tu!&k0%Bc9g{(MU7kW>VqS=3*qHnNTuj_BYhhAFmY={BKF(k`jWnMuY=+qh-5iEQ
z{SQ%bzZ9e#<%!AG_eeS0r!&POY{XmMO!%-VNhgDWsvVX@Z$kr|vqGC6?=Vt4la|-1
z`RdOw)4fFvljs=;!&+Tm9IH9=Kz~e8v{h78%2sDG4$t7O!1CH+SPTj&PP{g2V4o*`
z){)89Hhh-oN$WZ9`dL0_g16j@+&lOr96cF;q0rDaf*#_&`&eBcfjs`oERYglf4J}9C#-W5;nXk?%+`rI+(PBK*EsIFd@kE
zr)~fG7>#_~HpR9u2FH9-@i&uIccfki1W|J`9oK=c!!40eza=H2-DJz
zU>Pt@zr&=T+=e{7fBXqkSFUM&!`;=Q9KPI=Q@0(;cI#whT0%D*`1i(~cwgd2-F#mR
z;YTO9mCpCw51XtCLi7RuFHK`(p(8g4V#?x%?2(!j@p0Tnua=3USNh9@H
zfK-!t`MrI+-W{|GX(A}9YJMSxuB7gJ)O7JGrks)=VbB(r=?$JnsZ|jO!Q|IYTLZH=
zLt0}dq^bWr4{wZ)Nvg7f2?B3^^Y9f3>t=@fv6sUpFO<(vRD04!*TP
zAf--u?yKc)xh3T?RV&;0iF0?pp4tdRjhqx`c`AQF%FM}0dRCmUk+E@L#o2Odu2JAD-Cp@|#=QLRg|?!q
z3ai&2d3=7H$t0=%o^$e`IQyq47q_$d+Mmpw&zg~5*!05jQ0CwFr!Q1ldOrl7FdOPE#A3jGy|ZU1e;?Kgil5(d%r
zeG-yzhQeCHJe(@KW^keBTI^6$6=ync$(N6o3i`#A<*vG{P)cdn-;ibJ`Wt$#udSn`
z-}gZr=Atj;oRgawO&H3D=)w|b4UcAJ=y+?ZZ{;K-fh1$`zQwHUC$gl3m
zLkTCT{{7z`mi#~x=N4JZ^{^?%f5T=SWXvIbgU@7GiSHI_U*SdQS?#sBdrqh1XPK6{
zK^x5zbtjaNgKbmO|z)2&Bo
zwDx*ZMEzT%@0owq=9O=@Ve3RZu&u?>2CcGc$39{@4ENx-)MS6
zw!Vr9_vHl+$<7{#dnnI(gej*;h}n&S&{Ns`LQh5AEN$tSW|2dF_;rK2hZ~31t8|j>
z|10O04LZ})|Fbsp=gm^KG32yB(#JJV@$WIrvL1*K2)~)V0~^>y1e_wxw6ZPpuH3!w
zzb(>W`AZt|86s;~9B*uGo*iRp~2{ohy8k=pOx>L>NW(J8@@Vxzclfe1z8
z`^rrACOfMrGm~0Pw-aN|$(OcX{%m)bqv7sLIVPgZze{B?MB
zTob8zRHewx^Uvy%zWP`!BEkL-_q{n4g(Nmy7)|})fNDm5C0gz8!^byk@+u0;)p!h0
zsV)8|#?o%N5|hHi(cJCQ3tip@a|zn&!DKvC7tV9Lzi4z`W_Dalyy1p|eU9{|zH*+I*CE9p68BP#2BP
zg;9o0!L1s%hf&!n-w0+%Q+(-o*(#lxV=CqLfA0Pg#ea5R^y0tWf3xdfs?rlt1=la1
z^?a|}z5WzO|2>7yIwbt^{`V^fP$vN*>|9zXwgvxwuVlSOP5*<}Yh2*g4@Jm+9@)F~
z_Jwt}>RiRau{$LBouYY%$+y8CG_i;4iC}Kp=F>cCl5w2v!nB7XqJMq+sr_8s
zzK1mZ_Ngc1-kKC`Px68<1A`HPhG|pD)7|ZsyVdUOyL+y4@OD8hN=)oo^Sqr%F^fVr
z1+Ie*GtYAThaPMoAuuriD^|CR~3|Ci$gBot>c?Mh-l
zmec4#mDVAsT`hQ`xA8^c3-MzqZGTa)#nN5HxB9H_t6N%qr-IWT=OrASJm?wRDqhHx
zqohPg`pjWOylZjNf1guHtl5@F>ANl)@t7h;W9G)Y$}saoqHP6%Ad=r&)UNM>tn3#E
zLZ-z`oMU^}5+M{2zb6YSf*Hg}2#^?{>pkTSnN7!Sl=!_Hr*y`wy_VY0Pw!a-!T!G6
zMMjsDeEXE+yp-9)R>FoeX744wQ?(Pn?Ev2umWnU4ARgXdOU6kcG@MX10~)Ttt-vg=
zhrJQBy~F44LqEONr!$XnA>!GxfL(`+1KV#@(a%8CgD!m)@=Upxv5`@SeVq((0DFz*
zCR&i~n03OyI3{y$?@dWgCZnJ$#xu&ZA}b;06rg3oi10!&72#}ob)C$~D3)YmIaVIw
zYqY#!*(hIx;qrZdd`Bop+lLec;;EQ55d0Ud4JQT>^`TI8o
zB=1tUIV*oMoRkS#tsNQ~8uy$lT3a3zJB!nMDfn2l$o)8GOdL%_gA__eI5O$t;(~FX
z!ruErt6ghLUR)*95AwE=5V*IxaQ2<@7C&L_@AV=VTGR#!v*)@O)or@)6<%m)ar#JP
zxebe0KmQw(aWQsPY>j02y!)%QyAGdQ#+P_
z2hJI>Tl2rFp0un0ccRdi-loOq5q6zZOl%G3?jCa+RpI*s(7oqkfF9q#_PMPgK_)U6
zc13Hercz0I`WTwjgZO45PtVeT?eHM60tkiDycEJkH5K)PbNcRX0S#}OjjhZw6p3Xa
z%(+nTPo(bscQhjKn+1VH8^f9)FQ%Ox_
zy68@EaA=t*LSXRA`tZs8#pj+Acl82@34u|mz}S{r!Qs^N^d6A+O7Il`5g5>gkc9c;
zp{oZVXE06T%fQ-gD`;P4z(#d~7DN+^Hh%(kh}XDV*Obi`hJAfu`!v-47hhijPIcF{
ze@AX_=)vI%Ud;iv6d#!uj>t0W-1m8Rvu{Col`*PdgC-K&&uZbKt@67(O?
z`P7YK%!3G*8!bH#$9EEd4tjvHR6dn%+K=0*{t_NX&|UD=!3{t--OLv+%nMB_yy7mX
zY1R2Rq5Z`&>!=+#usDApUfZL>wP^dTxK)-EjYCudB>BRfMlv4FQrGq&x7|xG6saoA
zT_buJ>NSbp{W5$JA}_MTZygCbh#oEKrx!ls*q)sUm`Y|AnVB?2EVd<7z4i%{tgiY
z4@}pE+ipJm&BsQ$el|-%4Vdw)V0Yya>6BnTn1hyd%Gb>f+@0Xa0`~~*aYx5uogK&d
z`Z}l~_M+a1t|&L)lh`j)^gS(q{=2b2+Wai2hv<>pr3LLryN(BF6V3B~F+SSmZO2hM
z{t#AwP8S{qsMwzB9wJ@@(Vlwg%bPAPR7C}Y_bQ&vJv$dD4V0<00E+hY_M&Q`CIBEg
z7cD94P%cL^e%UbSWpe|vgpm3+uC(8{C#*^nX|IaDnB6~LOALrNNwuq8N_~G-j_8Yl
zzs*1N2!}CLrMCds{gWqSqr!&9#$uAFa9MUd0%QvM9;k8}(bsRMrVgMYpIF8ddRtB
zPL;X@A$Z}5;o);Kb%3)Th8TucbE3~^`;rGYFGQlxVyLB}v=qSM7|=J6TK7KQ{{{@j
z4TvB{fJm+yyG)NW%8SndXmmG7TU#5wly1%Rjpy$g&%~12(9eihN18Xl1@I8dS}EcG
zQbdwhLPaDtm}_Wg2+%(Hio|E%ZvZ3q#&2<2iDIRN#jV^Iz3#7hC{nrf3VzSB1y`jPrEvSNvL_ILHQhBsjpQEyJ_|x0_s6;-TANNfFS<
zF?X#k0|JPyQIyV`%Tfr?hx>6DW0~JA>p~1RFqV1!RO#8n
zSZ3PM&)?BYulDWIE{LC%L2p!d^yZ0TI5lsO-(5Ou)}rCO$w;cV)Xdg4-qxP91
z?0NEjxf#sIxx##~`QrA#0*Ex7AEtpJ`{kkAq4W9fE6RJ)2?SnNTKW{F!VD$&Cz*uw
zMqC3`XzIddBxJNbY90Sv`9!T)J|L(W|;QJm454
zjU*jaWdpIeo8UpdA66f(M3=yGP+0Ky5srCt^NhjcP99yPQ+p!_^&ty9T7SjfaXi|#
zn@T;X2=S@?ZjkdC+7fw6F|SEQq`D_P1GX4~@{5eI`hySGSLc5T79PkK4bLNNIrGQxM2ar(q&QxTjI=*V+>`bKB2W4O-)bu6pZgWT
z%(((w>jy^%fW!Krty8-h-%tObHn-`q`1t^U%Nw;cZF`U{S$9CE5u(FyDnMK7`P%fF1BlY{-mXB5^VmBRI*+Ki2k8QL
zt;fx<=$6~7@$Pl5oy(|zume;ogyQet*U>6o+j0|i_}X!NjqYv)3*?Oc0rGM{RA0>T
z_GiCgc0QFA$D0d!dyiM!r`c5QKe<98KpAGSJgZw%ASUkV(D+3Z1;ixbB=@%)ql8A9
zl}=$_(G&&IyJm8~fq3G@`y3!J^*EG>z!O?g?iP0nY81+-mT9f9-xw&J!Y1Wcs*}}<
zY6{+J5lSJXk=LKswj^g{7iq}VipII1=hu*$BEbLWIBz7R+R8_tE4SnQ+qWz2gsId)
zHaOPRw;Vl3`zyF+igcsp@wDdcdg5J$8D$R2GQfn(P2*N6-G>8Q4R
zJTb0eiJV+dut~5j)j3joR~j-;_x*OHbZ|d|b;9JsZQB_+3JDEWPfvt~x6Qs#6WMZd
z;NL<^IVtQh!AhGyats0sht7(V*sU73=S0#19~
zcAr1HK0A~96{XWMR2Ku5TR6TEgajqJT2fkuDY_poiWC^*eMR
zqYZN-1nhp*_an9*fjD%(&veu=L$Wx-zFte)AdS#u=0Wsc*wGwakhYc0?G`2Z{t6~V_z@I6t_T1GadGJWtBO=v~R^PDJ
z9)L`h86dKr^JENS$%;YhWSw?SCeRu=*U}CvF;RpZ-Hw^U
z8rI1Tysqhj8nfQ~@qIa-$Qu}(J!-cvK34e6pqyme3$uVG`{}oW%I(@mzn!X=y|dES
zAH{wC1>ZZQ62EfA@Ju~dsxyg1EDc)P8M{
zCYxdXv*gsyr}xt*f`GPKO<}g1ks(jDEZ708iyJk|k4UBXzMh}552$)Fvy5_y1qEC<
zBi`xYUtcFM)0l6@@A~hFU%phIno^$OvGb(5b<|iCP06lqaL-d0v#z_GDvSAp#ZPpf
z&ElK|;9&oJ#*QqQ5)*9lg^5SM&7VL*beB&oZu$hwCjDaqAHBxfp%@x-Ly{){jljGc
zGhCI5?^&Ev`jT9iyw1Fzzi@Yio#zU{i^q)~L`uvnZhKn3y7}q$*Bt&yFU5LA1Gv9;
z?9j5v<a!b4lx~NLc1LNfaVaDp*bO9e4|7>SDslyxMHr1J)-x|zEK>>Vjgm+m+}@@=uIj+f
zMY+y`S?D(=c7e)3jJRTgFTG)6W{kZSi&oH|3)rr4nE;pPx|;((ZdY3tw>edxin;dR
zy5b#D#(%tlj}#u+y}JU(^C*-BqO84q!^9aibXdj}{rtZ;lkSNGi8}bttvj
z+zi;r1Du_t(Zq7JvL8px~q>}i^V;px;X`r5#uffIUTv+{8(wzsX
zC&)HD<5P4eYElI(oR7!68z5TFi+ewnYfjBO6>G;vF=ai`k<-j7!X$*gL5>MAPD1EB
z9ZZOE5<*vSdaYdJtMpz*=F!q+hRXs2V!&UhiSJqaidkcY9RLRCdtFm#xKoRH@;_?t
zY9^Ifm)7;!M>>2JFTk@S<742}x0f*AUcodLfamq!8r}LEC;q2pXsKBLn?2ALJnAH7
z{t;55YT0+_Ax7h
zyaZNkz7y#1EP%hcgxz4;!6z=(I%HwIo!!;Segap;I~VeX
zr^h>|nI(%W7|AGXdl6q5z|B00b5W$e;KzVISK)q+o`6;tPXM^K(JPrA=13@OiFKp|
zCRMwj(Q>>0XEjwPv7Frz5+46DnxAzNIJ}=`v7V%Zd5maztoL%Awqe&--u!1$B93d<
z7>=%Id-FezjxFCgLzT7VwtN!2(fubRY|h?PeLvp@?ofx3OKC715ppS=r41zp#1T!p
zwt{&-9sHF?20~04$9M-%+rSV+%CRNTh6XoB@L
ztfieNYU+iP4|ta8GuN?p;Q)vkqy_58q!YT%+y#J2hJsg?3gLz@mP2XjSE^I>o%ECJ
znfT!a609Atay+uM=BtwM)ZDTzA#d+Ohq5o#T|$AuP5tjTI@PwUOt$mvc94pX?6X|m
z{Bt+&zEijh$^MZ%1;D)S7WgzFQU<{P$Y(xXZ!Mk6e7~NXH^msg`~CB!f!?n?Yx`jF
z)I-WPaYi;bz0HyZgnwRRd=wDjXy)y#yBZ%gk6Eui0HBpoz~-F5;Fqun3v3goLZ4N=
zVHbc`k=VUgt8+)F;ZuPBc#xy#CoIDE2-D^0%CbDbwbM$v;t3Ak>l)vGdG_yG?Ea?K
zJ3p?oGoy)z!dq3FnR)b$H%kKpJgn4-*{2=+UuI7!-oDY4ns{6Odq)W`!%-dyEO8wW#^i&X@k?MgUcSbsk!dUtmRz(w$3EJZo?A=BhO<$ljN)SS*7f6`c-`+
zINdUTUe^4?+e`4VbC@3+SbFyU!~vFO9pHwE`*Rbk*hE{+w1ovMm%-l8tnO=kV*Q&a
zzX=0>UUQ2}Y>@q^q3E!RXSomGt?h~Z?uBvH5-Rg_+gnt=%v|evWy6;S9(Nvdn4||Y
z_5pcCmk)O|_E<`l<*1@UnDK+OjiOQhqv4t}9WG+&3p}k-Jow&LnRGmQ{2{n(%(KMl
zm_nl;BX-bfgO6|mg9W!X@+O^i`xr$NniGqgK{I2%wrQ;DE4##mca&o7ryH{vMU!GJ
ztYI$GUCv@TJT~=-U`o8_@?=!X|-B=yQALeZ$UCRvFIgdN_DDG!*^%2^wG3fXIW}FGenwX
z(D1zGX0ED{<>P#nHdpx#1G;#R4AZ72{bTNn(TW#i@?igq*`?nGW(RN+$ZsLi@1G^!
z;4%U!!w8Te$d##p&x-#GvomVib0Qv&?6l)b>_poMz%hAw`TKt$>bDLO(oOc5O|frJ
z0tcmlpAaA2@LHxx5aJ_vtr{l}{`2h-0AuvFM}m=xrrg@GY9e=n6az^M{T(T9pd>?z
z1;AxK#C1rzHTc$#4W!Y>LDS_EUS_fadUh`WsRQ@#UUSlOsn4bAm$AxN0jU}6%jNuR
zUX1M3c+Vacr`8hC;^n~RLXJWDr^g0gbhVgLXfxMa$naW-y9dt%){lpaS8{WXR#-JP
zhUc~U;w4-$gglN!J1k(bveb>bL^`_mf!jf+G8f7vqz4>`q0d-fq&j341V}PxhYYoK
z0OADm(De{-6S9s--;RRR2^KV{e+#JCE7WAxqThgh_-+laMJ?!yPr#By$`w=q`Y?dx
zSwl1bsvbn`N%6q%Pib<^N}p1Ah%tB$jKvK8J&M27B*~
zEKU{Rbu%y3WGRr8tbr{ic;*}pYp#q2jJJ4+`B^?dwUL#^#Kz7ZOq&8>x6vYdZ)xgy
zpZfR-AeD39pu~fMRDCU^Q;|*rP8QuX2z&~%Eap;Tt*2>$De~fL&7D<$t6QsLk)AgK-70vPu2!{^b
zU$8v=B3a?wnBYRP!a?3a&(3ELpm_(q(0)S4EO2TEh(
zVFU+3t#!RnQUaMB)C&}0=))8Ncc4++GiGQVz}%Tzh>cCic!atrk)H!PB^`>#y85fLHWO&&{Q)3d
z@lZ5-^ym*75R{#J$5uaKJQt}ZXltLzy+>&609pG3o5vudYY;1}_KgOul1naHp_@lvO!sMnOZspcPL06PiiBFC&pJBb
z$Gx1Njv7;hiu)?G5rMu5n07Y3uUPp*6;axNC_So6L|1z2UdZ0cAF&)0f0cSI{bf)A
z&>x~f{pZ=800Toqyy?+fo}DWPgn<@)2YB`zpW)T11oq?OPB)wO8j1Or8Bjjq>uKzb
zPBn{GaN20i&Nj`?Khp<=UjaH`vM=6nSY`ri;duZbOB|gS>jm;LS_A%}LNq8O0s8fA
z5TuHWi8;5tyu3U_WMw0Lqr`NZZbt@!_vfB7YU8|TH1q1wrb-Q~kO-?N5ytl&i%#W=
zR``YL!ON1P{$!%YKh)G0=0OF3>4a(vf7kb?hOSu+fj29Fv^aod;tw`LI~s)=U_5d%
zGRiGCPjtQ*A44UBbH#7Bx9{JJ0dB!8z#%l~plQV&Di|;^
z!o5covv(RCy{UidvF!IvblYT=CB2g@qr;zn8wT2m1=W`K<9d5T4Wkwu1NpEOp%thF
z)w23x0DygSTAwy}H@==Ou<{m1a$srj;TqDKpeVXgFI=Gm-5&5TD?2$MWChR_A~)S9
zB^zA2>oDJqydQYE(B-7&K@cD?!2w;N9@UL*#$XB6s=j~tWfKbz;l5Ng+8NiL^$um-
z;12>!>PO8f`e6CJmjBIO$*|sIt}mrwDwP;Puh1n{2DXy2bP8Po1p!@Bm{H$@SpYQy
z)w%(qFRV6te{->u9Qs%tcKI?PAZKJ`^!D}=wJb=TLM{U(`cZI}alC4BIJ=5aMzvOz
zxsPfYQR+rdWo+GcrFkyDuly}Qd}8l&kx~UWT-P?5OJ8i-wQby;K%@ofC|vC&9Wy$s
zn|vy&)jlnwqGu7WN05$hguDmn0N$uCVg}oKUI_}t3w5O`g|Q6`-zg4Ae{sZ`XhCN&lgd_4ZoivbJrivg`lDz`wP5iJ?Ej6J(9k((IU0yX1rOybDq_o2-G%^4MMoVI2jH4C8wAN+kW&_EFjhjJ!i(4+s0Xq2`
z$MsZCeAjE@u*Gc?ItMq-7&;4#3=L&1vVLc@Cj^yZf)UDRP6E$5GunY?3VEGFi^1GM
zHk3?1ynjEN4w004;P81rmZN{M@8s!>>X*{}|L2)GHYfgkW*9n=Ote4S270WtP+ctK
zJ7>KG`%xf7VOL;%U|4G$zt_q;2wgB-rbMC)RfwPj_1*$$s{ZcXLnvIsZHT@hb&?{|
zBmjg}w+S*xXuA#4-MRB4MoL)Efs)Be6k1R-IIDRZrJL}C;Zu?$QE24E@mkTz-W>kf
z9J^{{V$wRKmP5J#biMHY=i~h!rJ)3cm}h}`V5fsRP-!&sX*Z+s@nb)z7NZSZ>Tb|6
zL4VC#$T97~YazcykiwwslbL8vO*eTocM{n;jIC)PLJy6mhu?|$EU;=hfv;xXnVG(V*AC2FY61EQ+
z?_*z&_X^wi$4(_7T^w_0ZU9#ELgqvY;jJi$>jx$v!q<K`dMyk
z1?~xzq)mOPl-YM`uhN9)PPlsCw!~<;?#9#BIUR@iN~CkM8*U!
z|9ibPNw*wiXr<*{Ol$)ETg-k04eQ3st29PY1Ovow7?>a`CYDV|HJj7!^L%g9er%)d
zx;(FKJ+%E7A^B^k=l6qQ>=Ph7aL86f!ANU?jG!c)z3Q3fW2&BPkvLws+fEI
zNs{%!rtdcoK$Fx!@QP`WyMD9pM=p}x(iLN7=SNxF=j-%}
zfpUl0P5#L0|K0h~Y8cn0mq@suwuGMf@RKc*?f#>lR3H_mlmVpDaXnUaXoA96=1FPT
zJi&hz)U%L2h+UbYL$YUOa>{Zh$j@$vmbuG-PHHIHvWcD&jB0I@%91A*jQ#zXv(6hk
z&0s~Sx(&;|Jn^wC<#mz$bUUB4?t1pLy%Y)nZbsJ&PxL=b4si5z7Vz{*kdb+7tec?t
z+e!s9DU*|MqwlXg#l7pM8!I8kp{GVkl4Yw|cX<05F=Qe;bY9*W&{7yabd_N1
zOBq;A#9CZYf-s(C>A4YwS%Lv0Dm&~!7wL~&oJGoATtk^>QXZ$(&r%UKH{Vh-a;0Iw
zl^gYp?N{Dj%gGHdENq_%GQ6$;qjaoA*?}v>tc9O*dwzk=udM^+h?&q}cz3GDVnZ
z&tE7rz>?uab=R`YQcBeS{wwh&rK=$yMyoyuMCsQbjr0zoIJd%7+73HsSjTxM9nM}9
z#OY%6;LqDTk3~^yC7@k?;twn?3RHPuv>6~-WKVh#{b?*Ol0+cMw}tg}(!)LNs3FFU
z>Cw`-IO6)HBBzosAOa%`yNQJF_e^30qQbGEdfD*z%!p;w4|{+y4EqX-sH$DyuTg
z=Eiio{QRtA)WE}ZNBon!csMIp+=2=6n+Cz1Y!pT=g_d7CvtRY6HcyaP?pvU|2#$E$
zn^wE{LAF%f>gfHc8rXrP3cg>9@o9()Xp+qBnrsYY`#tAB{W}YG?zgQoUY60ZeqQAC
zB-uyyea1F7qqsO;KglI-)=S9T{QblHs%ZO1vA|Z@T|KYIP1F)M4`-Eg;~aJ{&*2iB
z!vUN__}tbalkeM#jNg5!yFb-PZ%>m{rt?E~%2P&M0kj!05cAYbXEoJO8YgbzG1g9K
z%ww9*YgR3dJwUGRE3aIZI9ppEn)y^0-x@fYMOV4u@zIvAw}`u>EGTu6EqcOA|9QyDDrtGiuO2n0`7F1mEq|RWnOxV-rYnG#DG(kkT
z=VkF=8JzPW#;J(_VJ7VQq$hHmT<$D?VCjoGd^}yh1lsM-e7w%6wtBfu_5S0EMzQwn
zT>Ol($H--vT_9ulO9KeX$V;??@aLp{WSgJK>oAWRauE9FefFo*_LJo_23C8
zt>>E&Fx+Rk6|||AV?%5C6dFDsqkmO8%~KbR^&-xv0AoPt$%RCP|K;r%5^ua?T^$I(-_r)0pXb(o$g@sU4H&j<@U@K#Nog|cF~z$l<$~!WN7Kba!Wsrf}KrYOY*Od!8+Ba%*n7(k#)0>_
zlO&t*r&jZxqhIkY!NHc7Hy8%riy~;wg9>Uchx;@!(si&Oc9XNa+yDLr@Ry}I;aQT`
ztX-uTQIOxF?~^bGrC0p7#wO+Y$mu1vUieg=@B8BRUn3fOsELJAL3yc1Y(7m
zGg{54USt8{8x37l)%YfekbISZy@P*`B#@}r0PTKbeF8h<0?cEa2Q69Ibl}P0cX5UJ
z5wtcH1`;C`VEj%bZ3@Zm0F7H!M}gDT?}8CEf6C45&lO-N9_U@)KQd(me(a?Ap7=IwX_V@u1$xwsX
zF^{WjGcXr0Jlz4GJV!r3D$jk)WC8jD$Usm?$RqP~yw(f-ybs>C{t|Q24xx+dI`LI-
z>J?^dYE{3m_zl&kI)b-ZzIiRr`@~F2x7qp6H+l4i@=Ae@8m$nA6)vF$a16G!Sqnfc
zH6K`1N4&p-(g=X9zyd&B>!2_!y;(aNQfDuqtKrjoG4dpuctBsKj~y<$kpc{=>69b%
zK`@`}B#>~7L^s;CiwK7O$rAjH9qU6Y0~uTf?7c@kO9nzEP_(KaAqZC847|9nU;QPC
zz6Bw(-abLm&>`Im*Wgpbo{)F25Inb1fg0XH0{EWbgGTdLbi-&jKOgRV|L#xd%6gO%
zFkOtm-5`Eak3zuxqyTCT@4+U%BZiq92Oz|Y+6)=H1HcwCUmfncuxe-ToT9!4Xf&r|
z=9)h*N-(Q%Og$1kAu<4o1MK_v3tN`&oV$oY@NSmBL#*N*d7_VG&;I$!-3f&dl)$KD
zp7V!@EC|Tu`FDABdEQSX#5l-D1qKG{iV5s~cKlwz9taJTCqNP>4+Qq|va)QfMzPlE
zV#|D}jSXSxE7gpRj0oeiM|1=LE(Cx(9e$uVxBi<^1D2ZEd|^vqpiP}SZlLL)$4L`X
zPt1AH;{<}yR%AWvc>@mi0L(2&*TSMs5|A+s|W=z87yA99?i?-C6|lj&Z?QanmpB)XQOxnDB;X8ze&daZMrxH
z#xdrbQI9JoL8K1AENQcVW_gO2(>4fncxIk1<58?hB3#jTAWkR2VZi;mqF7k0o)xPi
ziJqpm+pQgYhh8Ma+Vw>jROw~6rgF7EY?Bp@+oP41qN6PsS5hCgTam
zA8gY&-6O8J^Q0m2DVYMmX#+9eWl`dt0JBgXC4)Yt`}dAC3WFMJ0-bhu_aPjlo7-0d
zPJS4$#;)cIU~;nmbS9*Ke%@L#p$w4zkLt8UM@9Z;e7}c2_;dni>}be-`|e#E0DsK*
zk-m(rL#1V51{wFG9S!>;SHuZ>Qh{sF-fwZew%74`?Pf=Vk4&|UR50TnIw5F3YQDor
z4gupbnc9A#t!Z!fm(VF&Ng9ST|(1ll4XsKS7vtoe)wo)yeV>%FMr@Ki>=e7
zr~y)J(O0Dc=J-b4NeEgV@Xl{@y`Vv~tRKhjoqM>a=xDI*)Oa*yN}!*C?+*579M%dcm`0o5hD0ubv%V9(gnWKwZnNXB;;iYIt*&5=((M(lBb^?j%iz+8GpfUFM@sHO+zJd4mK)Bj%gqF1#YrtH{*iaj!p@F}eo>
z+wF`6i>9WF0~HTlZDt{Hz0SuE;>n>SBlP^Mfh6sZd+wozgoZ+KVB0M>wFth`J
zCtCnK#wn5f4vODQm@L;ygarRw%W9Co=wm7ZDE#=Pt9EUg&oB?@>fxlth`0pk7^ux|2%5EaGz#~fW<+A=?nb`MS_%9uDBie6BG)-@&hNUH34y37
z{8$*5Oh`4`R7ot1*9hu9v5UWO3}OTd7}5|{^Z_qILK$*6x>}v-O}zcit`=zclBJ?p
zgJQ^u$^&WDhIiZULK0`Q7HXi4&t*2=ZELc@E`Y|35-3Je{Y0%46F^)c!a07J-86`c
zl4IGN64EFzRmqOa616rA}SGds`dcJvmn6al5op8*p709ah%C~Dnt~2
zJ&y#rz#w7I5F#2h1ndN4d{Yqupkojqq<(s^U2>xpP&M*psvl?=X@3@_@@>PN8Mg{xP9j=|)Zexp?J3{@|D1c)8Ua9}6a
zpqGGz>UeL^wA%$`TZ

sDvmxwMtP@NIikau2DX+R4peac|lv&+RwSYj((r-IQTvI z$6Qj>Ff(6ge6Zm?dZ${-GPpiIUuyehoxKHjiQ3p+O79zwVSRxmt&o>8_3UBW_RV?Q zar0#E={vAL1$)naOVPAGCaac1uc|{APw!Q>81tmV=|KhcXs9LG2Fe3)9B`}0(252L zO>eYtqKx|B{{6G3Pm`E8#GMwf0HTZw76j-b7>al>1qHBi+}3C&zKYnF$TxyUfI!&d z+3|0%s-QVbR@v97v@9l-v72j8G&VJ1Mu|Tz+J5W^CdNVQl?b$<1wsWC#NtvH6`Jq>d~_@v@0tVH)J`>)F4&LL2G#TUEqd2$5jK((&0_@G1-#z7&mEZGTH!YQ5TJcm!FF=Gluco7@nMr^Ck|)n6-*|7`bLHP^Z*HjjgZBI=K>2 z1y1WC$??w^g2*GOR+C?xae29U)s`Y&h9@C{bK-GuB>X3FQz?U1Oj#BjegiyDsRFzN z3e6CKS6m1q#h8FQ|~uOd{ElDg zT%o)E$rVj;;iOEJoP5}l2F4KRX`1+ailrcKV@qZk!H);qNHO7v;gKp}z{|9#SB`*} zjn?C0RAYe0Qf|1#nY-Y})asZv>+i=LOs?)YR6&t>TxmnSaB)w?Pt6g*h!t8|vzl6- zr44_6=*-tCucY`WQv9TSVWMiylbu^bLyAJ2e|&!&@oY|1E;-Kg<8B+4G^Z>iYv*RH zonpCwU0*q_!6jJA<^8uNKa-YzAHGhRHy<0TWUZTdeMD0_UuJW*=v*E0hnGy@k`(K^ zv1p~w6pF~%Ch%h8&@ISclg=Rg#RX6P%`XN*K|3?~QfII;%4U{^lgrWc^Gs)d`L;N|j=?P=(!2Y1iMZJq}=(H_t=iKy{^-bJMVQKbP5&Xqjx?2*i@MFA8y_F&i8;7Ok&kA{(nsm&;3UimMdeLUFN=xOEM@iJeB!f|-wtiP+tDkp|1 zq-~K4wGoQQTUzON#t~g1$$BXi3x_RpTLo~KBFsBKEq1@@jD2nP^7c?G(#;xZ^f!3!8R<@^CihLsq!l6UOye?Rc^hFxzy z_wDpLV$dNWHd=q`#NECM_ToD_o!t+1woB9;E6DGX9jRxpH=|HyOq+c48(1P9T_lio zNGb8mL+Utb&?UZ%S0{3M@<+UwKO*q=N0|8Q9Hq(CjqLlETl!R4-u30D$!9M z_E{yxzyhD@g8?Ue>cu9amzvg-YR{7&(v?S;UZA%}lWlx3=M1R(>XV-oCa1*c4&(4+ zEe$rzsOa_nHG-i4#`2pdFCI#-FrzwAu$^_DDb32^wRVb`oF?ar4$Y<)r+Vk9$9^7H zT@g&NT-)BUg-HAuEloUepy{%BL~&Y+ZZ_GI{8p@<`om2FWQUA z*R*&C<37oe`};F%7-kvuce$L*s@%HCO|qQH{E@#8c=q3J_lHfpD=aV|ohvopg>1ii zX3;S|ilz4dShrA(&r2K*B@h$PR7lZTC6$sp!>(f5{{Lf@>$ff|ZObB;^!B^ussZ(T zSBQ)hVKEG6QI4yT_L6zKtZ87m$Q(E3;*2L3cg>IS=6?S*++?QDF+=*v^s6~qjDOT1 zG`UABuKwGp95#Dlm29Q`TJ?=;Dlyy9N?Qvc@G_?MdzYeZ>?z}9D()R1ZrKfV_eod6 zxT>1ZP1= zJ_csro^*~HG`yF^S}NOK^xn9*5|viXkjc-^dC3^i)G&F5X*8x4kEu`Y#Z*zoTkQ6k zTMP;09JAJ0E zEz_)+K7_nYHktpQ!LBdTEd9}4M=T@QbWqAW@}qtCJx&VE@(s&dYDhJa?V`Q9^2gPd05)D{hm05|G?jcoMhaMJKX-7>~zLkoufawd=rke zOTH4gydOTekkOL;FH7ZcY!SK-@7+Fm*XC$4yh2n7yzPXQm@4I}D%pZf2~wdNWJXL) zO)<$2FvVIR_kbb3SB!-gg={?^xoBKDzvepY~-?xd8pzwQER~!1N-_StK?>bfiP*P}mN6 z{;{9+Bw~nAJUlk|v-h;hHtp@*PD?ZR;9l};m)^X=BNf1W|LcB>T&!68*4eyjtsNK5 zPs4&s5x0)tIfO^5HK*PI3|dU}o*U z!$ubHdK4OgCNyM(@UNkjaSbDTlPe)qWD4wV<1lc?{Z>}m%^+*8OoRfT)P8;DKO$i` z^B*CV(IQh_F)s2%Whq7-3T)ETQvujF{W7RN<15t?@uUg(SklMTQ#(&<`7?_!KdtZM*0=V)1IN?ckbTRZvMDYvj4f{uKG|4 zg>Qz`8cR_${`(oSo#xa7w^bu)DXrwU`pvHrDyvqnF5_#vqu~0;+?>Bf8(>eiP5-xW z%m)htk%DRWlyylB5-J#&S;mLi4id@_H)%knCadc(%*p~I0zV%DPLD~HJ-!WRC}av916SV`=ucx~BcbQJ z$S!s&XwT8IIHqmUu0ejyb&7Veq^6`$Q=Fy9uMs^Zr42h_Fa5dbXHj+8(Gg;YI}ZsY zGhw1QS-we?ivx=hH5Z~#95g3Cl-TuV z%mUS3uyW@>V+01{8RrO+`%Hi~QlDKI7eRpD~V(Az`FnA@0S7;A)5O@eV^9q8S= zZfl+avdSB}q@NL=YAnj&DOUSr~V@j(DSmFqP9_7$;2VokLw;cl&mtQ4eq-P)OF=#heUeV=N0PETubw zd3z$HWc=?+{@>Yw1zZfT%=r5-K4!6+{6R{RNvk5i*HB}IALRG6lM|xFN^KrhsF+7ey?9Fl4kP8ry;@ zzfo35y2lGL{$qFN$&uDKlVSYFrEg~9;ID>}l0;Jk(5I&6tIIORh0F7&;L|Wp<|!I7 z0J4Tx(&PZ_2w>`usOTTe+$8uHUevX9&W|d!IWnLil?dDoXc_>xbLY>WgpNjG!r~HA z9!K96rsCoe$!yMFsIif*okPML&5L?XWf=c)kzYm6OpS>bWc?ph7}-5~0u5Y*j0{bV zYnbJ3w~wtI)bLq!;9`$_mYXC+;l$u-txU6ze0GN82~fN=h$ty48jr4Cy3`t~HU!$l z@h_5{*^Qm!bC18ApGCxGpmJ6uyUg-gi?fr{FLGVFc3GU@=04ErJ_^k>8x;4T%JN-^ zvsqZ*Op>|FAy1qe7Mnr4LKJhT0aI-%qQKp~zbw;ojbBSkYXnMw3Yj@HBUI)9p9Rld zowrh~pr{BfJ-v)qAIQ^dY5%xUtF?K0f)8 zEszc=jF+`U@selmDy`8GbPt|6d-jn4#>Cb@1FYgRj?gHe>JovwAaZDxWmV z`%z*#`1H+Yv+ROA@Og1%Bd^Latn9#n17A7@fJX9)DHQe$_JN5H$9u#45UmZGS`h04 zz%QQci)}rpi^8B@!ZIl@6n&_`FlS}fszJ#J0Og_u3+6#H4FzWHz&WHySjoY8^Y!c3 zB_$g=l6C`kTmX=M*KG!k7YfYadh(<36pXV3nOiySO)GAa!} zb}l5O_}#lznHn04daEP>F*T+9>qtjGbz`4j9ABlXxyTEL~nJIS!D??OV?j-NPzN=nQ&Jt*(I#^sYxC1;U!B)RhU zpW3@*S}cY+xn!!Us(L{RDP%yoE9(S6&hKS{>Etm{t%wP#g-3U3%Ht_}j&g#4V^%xm z*!;v%Tt%7_SCMo8y~>-KB0qoPDiV~qF=H<}(`4l34YeS&`SS@Gu|p(6A{d>`2!UZj8{0tLwcU3^%3S?q%7hy#ru3WB~Od9X&_)aKktgM?`%J;ajy(05QCy zHN6burtOj|-vMIRJV&c9IHpdosH0b`3#%}tS1eZ1wN+0hnShrr~TDZ5UZ5 z>`$tJ7+eNvEde^VS_QjvR_HJX&YCe__FN#uuqA^#TIW!eB7^RpwcJ7%;i}Aa7r!+( zLxa%)b|8@k)4QeQsHuhCo=7w@0z=M!^JcD@rIZJ-epDnL-kQ@)`f%I)F{P@r{>3=F z&YGmB6lb^v9Af-UeN#EgWAfLa!6piKi%J0|KU>=PYK%#dSK_&T;+5RpF+XKg%i43j zbvrbjwXIv;7JhEuw*;4}QP*|ML~bctgqP#RE=R?jh%5AO93jx^S!VjQAX|0Gk{Dct zZL=#KgR2oP0LQm>3-*18>Ny~O%no;||MkTxR8Y?1BxHZE70aNWciW@*tT3VlK{6I& z59GTJenuDzE5lQlL&U12WQRmb^a02?#hE-t;i2=xrR`g`1f4qT|BBJAU1Etg+_t+dxOE0U+2S&3^GkmUZ?14i|)jBr|T|1lLZt+aCC_I2) zR=F?Z0erJ`_HD2p_A4#-Wjuf{^8ut(RkLxOQfFa~Antg#A2GN1Bt%6$eth~T_Z|0C zwB=>tcYu}ZA_4JuInnCNu#rcGKkUfxTa9AUig zowIx3Q&)*;I7lbjpJVL<^D*jY#l-VX+=mguLN&LG;6K2=(TWDez#`#bro&giwgFJ? z#CG5MfyX1-g0N}oR>ia1xDK(Kt`yTKkxtB(P8`iI`N0Tv?}kaGWJ{+o{!ENn87(F^ zvcb)1yO2hjG#4)XUKWpPJGB>+?nQQ+Nny&-PIdmH8EelLgU8fBzrpi5FAu8`NM@U= z+FPZJS_bj7@VD|art4Ru=MnO_ywRyf(Wx5(D59zmwgT%$n2z4F6h!iPcM_Qg4;>2B z9qRqYBfFe(`t-=)ho!4l9Y;NjD5c`Yz%XwcJHzrukql&iH_U?$s{C#^g&8+%Q8Pjx z{2>?Fa(;2~Y}AaX+JSKv*;PMHX;ao)cy6>94xM<7I`h|Cdv3HI4xM<7E)zwZf3`x@ z7^DQMJ`N8Y0~v(lSeF6gMb3NX%o%jy#i3{E`y~+(jGB=^Dn}ZTK|LU|V>0K-Y}&Gg zd;0Wq81kOUFN4b9W(eyQCA``!vXX4Z#^w||Y({jb(RmTF85^Th?XVdK!i>&e3vf8A z?Bs#4ryfZ*SPrOtAq;wgjx>Z<#YIJebof7XQyCLAwHQq`zOZqx;4Hh^b>G<}?%lhG zE-EY32sIfK17AMv%q zG_IQm9DL}WgY+MVdXBibt;^c-sJcUtrG5q9T9oicv{Xe3_6v4K$ocblTRCf*Q`rCY z^-9ty;wZH0+A@FLi;6=t=niA}2PkeLOt}EGMaHJyv4<^Qu#Y0{7Jl@N3dLcgMc?{I z)7|6Q?N=jUmqIVL4!2;RFgr8|E#+k|V^3j3N@$*ZKM3hK96oun5pUiQqz9cK-bNB#(fVSlrtzIGdZ> z1nId5WPtB&xq4F!A2$qFiH6U@xJQ(0xX8%MB){U-|4n5g#(z>&+!30*2P0}E{}XON zgs(TujT`;|?6WR?IG+l#PsBQBkJj7%rRtY||Naf*4>z~UalH9_Cx{dvU=Wd4KtU;& z5d*YpK#{b5jVl6V*c;*D$6SIbGqwLB9qiq>S&4m- zUzbnA=1352!?xUiR8+EX=oG?>1PI}3)AsF(nK>G`@%hf_qTw2Rh+?{M!S8C^<^H%-ZK>$zjC zw`tRLB#liL$Kla3-TUr8bDpwd=7b3`tO!vG(o#l#nn^?2o^G1$k@82+9crG-_ddt< z2@OdVX08`I06C4Ds-ERPSFvxwz~0R%V2-8RfCy{~!bE9F*~6Vp2m|jMh|q3%|2Zn~ z4CDnYWRF7po@bwWF8AUs>n)L^0P5JWwWM~O0(r|p@R=S8v?E=`ILsx2Q&!AkJllUQ z+*||j!k!enT2n39N3~gRSomkhAB|aTU4Ocpzej%{~$c3JQ8( zShyx#g+bboV%dATG|3g1$Q8G40L9_L_3O_FHx!|C();_cjriTk-@zvqq=P#I=lm5y z-N+ZhN`Xb@e1L#1RpFcw)tJ!GFH8{N+!@>sM0g~i z6ww_x&53GgPrw6Pw}R_(B_R*cQ~7o8TEbY0N^3G)PSE34=rkBX8G>zTVmr{(FQU45WwjB)CW1$ zomTLFrifJa+N^g8?9OnCVLWOo$Q-NeYLs%V*)3PFG6k+)Q5vpkW}3jIpD9HSpuX$X z+0f~5f4wCQbHZx?z*F^csL!9Di4Q#h(V-n129XW8{Xm4TQq}=|{Ig|3*KkoscV2UW zP!6&`=|nq#mAFJ^(XqJFg5D{F;J?%;ZZQ={7C!&Q)mx0_4ltcm6%{LzdMP4^hl3d& zmAF&9s$hoqV!5uF^OQ=i#)cvAkI#U1t?}8iLkTDgxVbOuM<`SpUjjc!#&Tz6AdgH& z&`<3}M)Sb(-OOcRb`3mn#&EhyZbufoa8p8-?d$RZq$Y7bb1f=5Bm8+>vR z)Ty8XaPGLHa%dMXT{1xMhyc$0IuDVc0fI%v=Mi%FdZcZp&b!y_Ye@`96(W_75V}e8!B+AfhvgL7MLBTAhhCga_zE8 ztH!Ob9gXkjFm;eh??|miXbmZj$KXDPio*rq0)f9=M8$>IRT^_qbe?dVs*#9J9GKsL zFyQ7Lo3k?kpFr-!RBId7hws62WDYux7z&+T&+Z4J7}oP&|7<(uqVNdYYUrpCRd1~< zpWqR+Ry=Gm^7r=#&Xi*ni8cluty>Uqm?EQ)bY4>3!po`Vcq>+H_yJN)jX)KO%`jkF zj+$2MLb&ZSo*%dfQ@#t@Ftu@1>^FvkWBkS5U=uh(4005^8bKzEYZ0}MDTzuH!gb|2 zGicuc%==-6;1Ye(zJfIsn{n}oE}-JrEN)?a7c1wWK!Vtd z6=|P(+z_I<6!nUH-C>kupo8(i1H+`r4A-MakGfS!B(6j70Vn-&jAowb*|Xn!EuW1ssqpnAlKu^3q(6a>kgPye#a5M z-q(e3sB7dRFk6F!z=Hy?(k}p>X2#CdV4I)F^t=cd+0vyZJTER#9`v5ihyn7o*2mf{ zk_R-;`ygS46l1-*!<~{orqFPkBTGG?Le%G7s-PqyktbX69MnP1AyRsEMZB0*&64z(w>!{ zNW9kn)alKkWbn-UaLb-8v&q0`1nI&LqZV}I)~&jfW5$yH#dc{e-@l{JXbF(OYx?Z3 zp@cL~LSp&2azz6Wp?*h&s2X5#ur-dohbTh;O$|p#iXkuGkL*~jnDY`^V4!}T`%U2l zXq7B9Wg-e@<^zH;wljokc8VbIEk<#;00EXcRaRO$cla2H=tMCDCmtb+=q_6t2&AS4 z1_r3X0yKMM`m~sH#%Vh>^5 z>WqtBfrGnq@p(d79bwxVJ+yeqlDFU9J%`UvPggoy%stqWwnD6%jAaU`DBcIHOC}e< zo%YIxviRx$WzR0%vqd3yVvW1*ZCvNe$z1So<57$x0H6AzjJL~2_dj2bZ>vLxv z%~I2%1z;Sr&at>qx8tPN1fD3oSg6K#ochVhs@2I-AxaP{nQ{BB*oFra4sGs7#ve#7 zVeWu{bBvFEAOG*EJ{wvr#sb?=Xqv69c@y{!yMxXz#vcf{Bg{`e89yH0$8l!i@raGdbu9r@RxQxJq2xP0IRi4-T=T8WyhPcn9U) zQ#W`}1F{5u)Yi;FIWyZmUTo6&&y9%}o4`3DUTC6>IZX?9E6)Cot9G@RqkiV3#0m&D zqF9^&BfMH{-HJ{G{cA03m?W}9Kbq7nPW~h*02FgxgneLdt4Nd-5TO6R_O3jf%Dr9F zDwe(|XLfFR?I(v_9iD)wmP|ZfWV~u`B8LguafBh^rxAB@}|qzY00ZUU1Qy z$u|r}`XY>DBBYlD{NpDK`S0cZYE)>Vu7+YyxYu)>p7}Y{qDtpVgFBe`7nQTk<8ALP z6!c641*$~I1#e4U8~oDs`F*$NtnSB``S-R_w59(t<$XX1q=VQO$Cim-WP+`g(}g#9 zd~tmC>o>z~HM-hq#~LTK)vi3e|NCE-Ojj)6d#n=t^4mwUkp}!0*S|m_3mUJk4t6>X zV4DTo6BXwY8At)7SSbUFLE&AQthH08;d1J=YbOnyoZbOG>pWZI3QYx@v)Gj@ls3Y- zA0eqq8(;4vRM?0^Uf3w3-h23XocFIEp^)ftXI@Z+?+^d%+SQenC_RQD%SBLjFt$Lc$x4(tdwM!}k)3q4TPfRWHqt?lA+jTH^c{h!CF5?Tifzn?EaPfvVIOy{>Qlzdhh zJCyK2lnH2pV6m!P((NAjf^j%~>un%l916c=C6CyId7webG(3>_z$bgV{u=ngP@vGr%qTBqTM!eVZX$k&p8kp~fi5h_QVb4$&&%LdKn>=a~Rm}lIk*0sbjWrm7IK~M!* z$9+@u9XReFH@68cloY*NKo;ygpPHUr5H&KsIKdJ&ce=69$r_rTFq+x=$&fOt#y7~H zYG%^MXU-=ftEuAZl`A@n!3mTm@QX~`%tRvlbu$xuKLg*@DJHC0Qr*O~MrQfpc=-mu zY(Yc?sbATX8}7dhy{vY^@<3zw5);`Nh}Iiusb^u)0CRxGLp#$cNS|H?S^Vw5QttU9 zfQxE*KcR5ApIj(|ILwSVkuV*V(v!1Jl<**bQ+R10+9tB`=7FEwuH*`zL8(G-qXh(; z*0aFYD!+0r@6lt~;{>mSIGqpnImYh(-aoCgoMhI50q@FujR~zKkZsLFUP6*i)L_=V zuV}Pzz?-1gxIhjlS!WkU=Js90@gOTtl>8uTVRzI01Ie3IM2QcA1;P61``41hn3S)) zT0$m7&(gM<3Q2Uc9aT~y0;NuUW`v}P?ZA7U^OFdZOnBKi8#G= zU0C=hfi+xl1(K8Q%=t|#z}|5P&;Pgj$ZoEr_Y1C@2U>>(Md?GMBc2^6!X9WBFX{tN zT$&HalyM|AvAyy9`u4M5r5cN`3X$C0gp-n(DEZWVh6!&NaP)GUy7zg{$`J>*d*d4^ zt0)?oej+h35$X`Dl#u&Y$&f4vg_idk0@>;1vkw*XP#wZ7{^3K6MX3T^0RI>RiCC_6 zd@@-$&F(>V+y;)vE@3ykbqK8>bh5z^vkVLjkQ4L^{q_f2frOk%E(FN;s>Jj&ao(yV zc`?9h7vST!0OfDm+>d)yfXvW}Mtqq+BqTVUOck^l{kPD^BQ_?~&aj4i*zn;fO8`r9 zA(^OH$3+CQY@ObI-c|zuBzlw%7Wg(jKlS=`^zQ5EpaSgdOjFS=lP!WfVY?IVzZ+5wJjUNN@8bq^<0*;IA0EtObAhYmZL(8XC{D}oH1o|nO)ll3ED`dQ_^{7@ zL&`9wFpe+E%|QEzbs5-O7*&?aK+&zLuC7kEh4KzlQ^VH-BmqT<3fvN>2Wp3yU;sj^ zaUSLjD8arFoBToB1(0pqwry~l`FbPMq)KFgpAHPZamp9}1KGDcRb7r4aysAl@v=8?k_&uIMxhhB<+{ zMqnW&Z|8teVbI32tkd(>JgK0*3HfR-JZ;7d!kqDoFOb7*aPsV-W)_&7gCS~xu<$=* zP?c*0f7?r6Ra04c%Q8b^PYGXfMBy;LUY-mf(6)$Zq7%?iopfHEDyyt4#843(bku}k zUmiUOC5)wxQS9>gs3=Ek<`Q&n)?wOYqpla{a4sam0dQ%Nvk*_W)nCPlCetC9+&%42 z!ewapJZ(1LRE~G1&Y3?SEz){%8K7=_YA=UL)Q}O!Osh zFpzxE`Z+>I-PXS--d9qDtc~&I8ku7^Aj%DMJq#N8Og5rj>9>w?d0JW$yiB~vsV;}I zXJZaBFAxY0TbfDyTGA(qj09}d`wG0y3tFnt2?JCMaRv|;F+jlg0ZU#Ey5LL1=$50$ zkCU0A3JS&y9L|gc1vGz?0jrAj< z^rQjs3eHUcs1m#n#9bv6#mbpT!Z!!ezn|9ZrA)2|OCarrhbt9pSO$3RLO(TUc8=Kw z>;diQUnxKh{;b{gDL&@t(aFN{w)bv1my1UK?>QKQw_E%5)iB?sWa??qUrMnc+yOLJ z77&^jo@m_;?8#mI<161;pTE0VZS+J<7Ax6LMK?CaH2h0mj_e8w1pwiAbO14cHO>FT zfu&F+3hvW}1`FrVX;-U~)U9;j4!;NUYS%FOWPz}0LiQ6W+u}POOGDWVnLidRC6fT(Y7NFi^Jx^t622O;cr% zJi>0suMl1Ke&RlyxF*c%=+UiH0I&7`&sWE=)jO(9B-FdWDg!iEu3uOX%pLGaB#aWx;Je3`Zey9`rw%I)I|K@pqd4juuKW z4dG3{+@HAHbmqB)?6)Y*5ympNr^k+Vp-hYzljZAJz)QBg2k|@E!ptW~Q@>9h!CH`i z!ho56K|%Qy*K%^!l{~$bzCGO^?$t&tS?;@VVIHw{QKhASVpb2>@Db!-@hH52fJM^B zep2IE^B#D-}< zl~!(}qw|d5>yLLq@!;7Od?7VkZSvcFpuUDGh@YRT4qLHbUyIEUStI*irX2n#ESfek zy&wtbnsab0h*BYVwuYCuO?foquf%OiXhv=uxVuTEQ2KNiD=RB!&H_%SNy~x-!;0ZV z_d;M{h;NcLLIF2mWd=U;w&1$ZnkZznk+F11E#~#V7>V@7QA2s!31$jTondTUgq2=A zxM)d5b+vcX?If0to}L=@adzm>gAA&^tE($A+4nEq=3qfe4s_$L{R=hLuMYq?!+iIk z5Al2G7KG=}0~GB*7$-aAz`tM)zrx2yvlv((eUb%s zUS*5n=Z{$>RP)U+%kr=br~`9xM^r>|ur4lIgvHl=b4YIomdCz+L3Rp4=e9h8@d3-` z&X_eBb@2APd%GT~ivx0-FPaZP6Wp|kPy5*40Ge4&%kM8b1g36NNH5`BjPsx#?qDoX za*rl}3bvrMPr694oK#x?Ts$_Oa20v|oyZR0AM@F_=VK}i(1On5Wy?5#cq?1MaonPY zz|~;irA`&wgv)#|S}-^;gf=5BD0aAD-4wXik2MOA;Sm7U6Yiu5Xft6=@}C2k$KQcS z4hTCp3VMRtB{S|yMa8>#nK|E!HuzT0D+vE;qG3 z8g4|fh|AA8k2HEP@O54+78QtYX|Wq(r6793sU6r&-XKLMV(prs+mvAW2je_Jx54Cj zWZsOvsmmu|%p2+U5ZJ~TtM2@QFg8X;M&RBWzPQ3=L=WQa7r-WAZ)-1p1$A{q+u;E% z#Pj}FD-;#YHGRfNPs{x$8}CA_XR)RVr&(vcYkzutkQ0ld8MS|PB>!PBWiT@TA{M9c z%w;@oR_fNK$x|1T3GO^e8U%PaAPkISFD&T?iI0B`S_AT8VDGiQAENNAdNTNL0yLB0GHn{MAq-OLlZed}p@U$+ z-JXmvvS5?fUWAB5ST(>gYC*p;%IDq;X)?k)8U;=h>2;$--T9Q=S*yM zY0`K>-5ePF832&vfudand=WG?_-&#|&9nzhH?JN~*yga1(}L8Vqz?7=qSbLkLyW1{ z)zc%Ps`SaEmndQM&QMnn%FhFitoQOJvtZ(U8}c>jGcHl;?=JDE$-`8kv&S0#kUvMFY$)JOP4L+I%?Sb6jiFHQ@Gdw zT-j-YZNxF+()5QlMvFM!ecizBMRw3)4y3r(R991#Juk2@J^TYw(g(3=WUPsI2V;Xw z<{(;F_UgI!=(%?-g7q}Te>DiLzf^I4@pT1%dIXR?R4FFRYzq_IlBCx8$`8hbA-OJm zw=zFx)1wn*_*vIFUVqxV{CME19GeO5dkdD*@Lkegb{FSLLRNG zG`X9uU`^)D0XD2F+J#3Pd0-Gu_%{=|(`xDSqsNZjrWfTOGMcirw$$S(n9Q?H33Oa) zaYTdiOy2v^Et}$Bi*^wKLjaS=$cOMQt*a6MFoO&I>IM(cU-%k{sSoy|^b&-HZJT?J z$Au%!KS};pR$5BN`@=oe6Rc~DZ(Z|J=^RONR)>3ST1nA>bwgSAnV2Maz~0nEm=-Gb*TE2;2XKTn$DR8#!rJiz zsQP?fTzP&@*7yf=i5_4KLNJ_=*P+ptfEy_(fn1|1-7{0tzn};y0W>Fm;5J4JJxsDg ztbm&YeJT5VeY1I8aTwo+gH|$_TgR7;+aNtFXarix{o1m>2H!>3+B09?A+Df50q$=H z7-g^tp%pvraZQ~8S$wB?*42r2t=|qNo{8xg8c?Sv4r(}H@(2CW#rEe&c)*_+4RVZB zi&P%zL3yw$BaZs+@69|BEs{?a8n z{O3PzuHeJ0Hr16YNoK%n41c_9T}m1L2;Lot;8bBIn9$bb`bi7#^Stk{zbBwj)!;Rf zK~O}5?+-Q6d_*lavwwf>jVH355?rM7LC#9#p@5n)mQghj9^?XJ33kuovAe|0tsVa{ zXvPrJL-xzGd+^Q`XGC(f!y$>k08E}go6b+_b)F|;SZbn;ho=^^15%U|!#f5?HQN^N ze8^apgJyus2SIJ=qE`&71%gApz>^h=h}KFj@<)vZi!?D!eQm;3D9OsEI&h}zV0g}> z8qgPTLZXt6lQ;kC1<>F)syk5(QqsW+5`|Cds@MimY&q?*Tt}`Jui|(c)x_5VzJS*` z7ozX}6g$J@e~jE^6kr59?jDWW;mDZ)Se%G73a@ins@k48HQ9*HRm?4R?l*m#PXw!Ghs)%iNM zT`qCiAJ6R8^~{Ovss1r*_9Mq;2E*k?Wio@FSwC9Y`?+8H>sb3(uZH4UTBq{rHEZ^P z>+EaJO?SMSn^vwEThoP@X4k3wne-OH8w8}U)8$D4L2M$g2}=gK+`{AD(DVhRgIA~e z;XqduJ^}4B`u#hMvtxe=O&PgADy=A?cT0WA2i)pJKnNDQu{XjOgfz8Hv$d|o# zLPA3J{q{Z}r8kezIJQ1Tjfrk-?JVmSY^FAHL;VLUlc&D`qCn{LfTF6Zs#aXm>p|%Q zy;&bj*uHqJ%#7T2?dmvpX2VFwdHK{AFJ3%`fPFIQfluORYAHL-r+g$Bb1!&^G)5STiPb>vAzd z4)(s7)gl0cU3YXHCjH>??s0LUf==b+g<+$!Y^oomealND9&b>Z-xKWceLze5g0jKl zkx(J%gVxqoP+lqwj)nO#ucGUhf|jNFVX?jaKyp1IK@tti6Ks3g*TH#tHAmAV=FPhh zAMe(YveCJ$Cw+0Ihis;YOlFu7?fWuA?hZq4f`QjE`4+e6w6ru>Hm*ez8+UJs>7QHW zKJlaJ1x~wHs6Fqk*`@W2jIt`XdIbh^xE9>M?Uy*$2tsRRW@hH)txvAmqwn4-KgSQsAh7IQffNd2dnf*#ERYUPmP zQI*q-P={RnsxAQ>VJzQ@JQTjku{~f6hLx&|f4GYAE=z%TS<4rb%kq%@eOXzU=oLl7 z8Y@ta7NMb`M%^e%Y`*27_}`ueXrLk0OEBo;#GPM*bzoew3ODYtj z%IZ_SHP)-Et3v>RbBfJpcfNzMkUWK=c}yYvIf@}y&4Bydz^h!OZ=L0ckT*Id4CP6S z$tg|61By*x4KAv_Ip@6K#%AV%kDor}30bJY67}TBYr!>m=s5!p_XKxc-v@4`N@9*H zl__ORZ_=i((xX!b4Y<~{f?2c!YiJiwKS?^K@Ybd8ocNb=M7(Gke54G;J+>!3DGW>l zG{R6+D}Rp%I4A?f<(du-4v(ce+jhui;#{ef3NXZVF(2!;p^mmi&$2R)jqWAqni*%C zx1VcHaaXeX-6J$5Oql}Q}3223Wf5(&KvZ|iX>rIkzaRb zWk|=gq}YbrM;dOQYv?nX9+2P&+>Eamry3T?oxQ36om=F0ORp*JguQibTt!S?*nnWw z{`sf}EAE8_Z_rXvQGvCNbE5ghmoI*!Kk1jo3j}A*n$=8cOISK_+db|uxf^m_$ulgF zpcN=Ss0L>q5s@05U1PY@)yYYw0BrJL&3eWySp~KL4#6{?9)r!^s)GTvr#t^{&S}+>*bbohSt7!M>YA>!U`j0GkX?hW*X2b^V6h^-J7)C zcShmH>{DrJjf%DVR>C_D{+?{ZdoBG48?ZnUV8!s zqaAw=NTheJv9+ta`!aP^`1Q0>;kD7t%k77#jyI$YLWyF^c4AJekes;GR7^sR00P|8tc3R#?MuB}e- zzrO80<+C*E3AndLp|SR2V#7V)!R4Z~f_gdLB3r(NkFzajPc$<(O$sMtg!uR-ZzVIB s&<)M^pa1Zm=kcH8@c;j9IP{Z0>`i_9)DP(@H!n0doYQY5)KL literal 0 HcmV?d00001 diff --git a/previews/PR223/assets/mqvljwp.-CDZiwfI.png b/previews/PR223/assets/mqvljwp.-CDZiwfI.png new file mode 100644 index 0000000000000000000000000000000000000000..6c34115614701f68927452d83287e8fde629b743 GIT binary patch literal 81670 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 S06AEQl9y4DelKYp@_zx5-e%nZ literal 0 HcmV?d00001 diff --git a/previews/PR223/assets/asveida.DHcwB147.png b/previews/PR223/assets/mtkwylx.DHcwB147.png similarity index 100% rename from previews/PR223/assets/asveida.DHcwB147.png rename to previews/PR223/assets/mtkwylx.DHcwB147.png diff --git a/previews/PR223/assets/atbogdl.DC3TvBOO.png b/previews/PR223/assets/nehkfku.DC3TvBOO.png similarity index 100% rename from previews/PR223/assets/atbogdl.DC3TvBOO.png rename to previews/PR223/assets/nehkfku.DC3TvBOO.png diff --git a/previews/PR223/assets/nvxsqdf.rhXQcALd.png b/previews/PR223/assets/nvxsqdf.rhXQcALd.png deleted file mode 100644 index 5b23cc4629bf897d38e6310b9e9901403f462ac1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207890 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 literal 0 HcmV?d00001 diff --git a/previews/PR223/assets/qdorhiy.BIP3BpPa.png b/previews/PR223/assets/qdorhiy.BIP3BpPa.png new file mode 100644 index 0000000000000000000000000000000000000000..17d43f902fec1e2060e4b25ea1db8036eaf322dd GIT binary patch literal 65171 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 literal 0 HcmV?d00001 diff --git a/previews/PR223/assets/nqzlexw.DeeQUply.png b/previews/PR223/assets/qlzwqxu.DeeQUply.png similarity index 100% rename from previews/PR223/assets/nqzlexw.DeeQUply.png rename to previews/PR223/assets/qlzwqxu.DeeQUply.png diff --git a/previews/PR223/assets/qsmmicn.bBYqkLs5.png b/previews/PR223/assets/qsmmicn.bBYqkLs5.png deleted file mode 100644 index 8c9fb4a8f962cad521a7159af7095bcbdfe195df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64554 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 cQLoO_nl~@8LDmfV4O%heUD(}eSFoz%E|+4 zkEbHD4ZXR!&yVSV`+nZ;zX;P*w0r^e*YfpFq?DpUkA#dt0q1;j+CSpy(+NnTsFfyH zuB>nU^{O7fc!uYQ*f-O!1{Y^%&ooWb9ZkLe!uomIV%JW@;udZqYS;&zB49H%5JmLB zeY_T2O1e5a;7+C2H_jUy%kuEd-~fQ12ELVnLyNz?rRCD)%PC?GtP+e$q}X6h6_sgJ zVGpj84AD)@!e(b-{%bTD4~M80xIaZBRmz>8wR;tNi27T3YbCp+gqA%fKHeP~3|wz^ z17(rP8^i*hKPM)XLUyqS1_e>DN{b^v&#uJ9#Q0NxAFL3Yv+@F|jV{qUJ`5cAp-kf8 zp8BeDm6K*@K$s~5lrvx~3vq8p!3I^wOgRnA8?*M%`ARr-6u@UxRCZq8bbq7HwZdM| zq3Ga1!bsozeo*3Kzq?q1DL7A{f)Ot(j_$kja3Jt{P8fV?!-fM4aQFvalr+oHdHG1( zX-sTS5^gxW@(%;UaPXmAz|hKO3oTi0tYR5egu@b-M)F$g?bpwqk(f9w$`Cp&cm$!m zdTjhYLF}K#NiXHbxBlnQkB*E0fCglVKmj|BFMEe8Zh{X(td3P|gB4sP@vmI+;|XN) z^GH5s(@KBo$p@-!3mRz|8Dyk2KrV@N(a319rA3{&bjfIF5TqGi z2t7XXqxfOiz!gbP=oba9HhZHx1bZSbcWgm_zPRD;?tLCzq02BD4h%@cUnMEYh%mk8 zh`9EA9)^}ktY&>7=W9pDD1|D*DtP)e>Ci6fsFW0zxl>dcvMqmyKU*!=xHq)6hOR0@ zQ0@d^N0HDVk5DG9@>sY#H=3YsVPwQ&KJ8B_zOiek!Y3{$ZFnH9zq2Tm^IoH-p>YBR z#`TLPRl#xx1%#vXt>P(Y>Pk;34y$Qus*u7`KXPt&nXqTNfiRSYxSe%z59an2ejLV{ z(I^1lPh1=~LtV%HiW{kH|j1{cGOl>3V4E>dm830 zC_ISdx9Ms*^BUvUm!*Q(WxR)dV1v`4csk)+jNfs}o=w|vxM?|ZWC7R$@j z5#J|i`23E`x%(mg=kDMA5g6Rz9l*Fx!tB!X z-$6S)-Dt0%vJ(WLl$6#c78f7gZ-Xr%5Hm z#jR{?knH%c6ilEfMssVTMwb*79kfX2-Bdt*^w@JB4%|`eO}RT2)y3&MSFX2rH!b%( zA$c$&dGC!Iopa-i<_}gSQZk7h^nUvxo32-{i1T)1mlM^whP~v$(}A38YHGp>dV9QV zafOpJr=Ju@(hj8)tvBR%0PV+eenai;7$RXta|xOk$^@>#J^me9i1+XJ_D~srp!&cL zOfzl}ApG;frTK6jMa5l03bzG@d~4XQe7N%ZM)#}HOw@EA&*(}&_j{h`TA5|N#ksg1 zBws`?Pzh@?s`E>mlXItZa{A8sr=6(UPyqA2F`ep1FdwWx)6v$xVNIMXIF~Up^&%%{ zJiV^&=MJh2yP≫!hiNU5Mxtt^3)(LVYafMs>Uvp9kY8Pw*=#l}EwPtvR|nL-#YU zoDvZ^NJr=X<7?=e{ucCtIgxDia2It714BY4SPT|ekiKzUFhlvXwaKfq&?WnmSZ*OK z;Q#V)bespU{Mg)#7Qz)AGsvuMtBRU4uRhqY-w>rcL-tttZ1kn?!Xq)yqdty^J!+nW zxp;xHskUCK2~CKGddvIy`yPgd$rTk9w|9-EvNEe+kfCVV;@giOS%?QFyN28HL-}XC zn}bF!IEqm&aP}bMefsq2N})w&Ru+7sc(D5;KP!jO3t4wQ1+BU-VMpL}cTtSlXqHp= z+~_M!7QuIP!OguZTXMBGH~)l`bW?vSc-T0TQ%ERM?C`|94drnS2{`s^&(SS--I1~s zN2RVGWwLh?XEsf3xR4enTT~{Td6YCAG{HVS`*`W6udz`mm(VUL$jCgGXD;HfoH_Fj zM-%d!sih@?`eoev*CXHV+ohaT_OCp#hfU4rVz2X)j`T-dEP{*&_b+^feLOcaW{$o? z#sfVUNC%8R9rizR^e7MnoD_T~PJl0w#cb0MnSV^H6eVFu1xXO1g#j3l4Rg64$C=6QPw&3I>jif%8H=5$4n( zOzr&aJy~gX5g8>uURSLt8Xy2?xG`y}s9q~Ru13PFq~Fi-hhA%C`y<{LCeASCSx(gwgMsG%k^VR$wFZf>F+R!g*(*Z(p9b?!DLrREoN;lvZIWA%Z0 zVf6BWH6Ky;-_F+osX2LJ`q!oh=| zvtyEmv;H&1BW5w`28`zLjWYTyV>0CK5A`5&?~5_oe$#(_8M-uF2j2H<-K`c7*$7Ai z>`vnhs~;U{8ph$DX0hD3mlsIyr1bcP2BD7^TTO#|+T^O5%n?9NioJXH3s&vjeDbv6 z9V>s)l6&#YvF&Z6bL4^-eE)P4wePSKKeVobsy~0i@6R$XhmjViKg_`osKMLxRVMm5 zDx8Hi4c^D+`e<(z1~RHavp7&XnN;06#Y#UnK7LOP5$(i1Ew;TqwrQzW&2q3Y!v_E?jsU&+J{3+G{I1Iab@#Lr-OG{X)pv+8V!%eOtQ*(hDtD zpwv!4c>oUxvyhx} zvWdONH`elxi8lC0k$o)if~^oPVpZ&K^ZVUJDZZ2$O}FV!rBn8Cvl`m zS^4_5{ni41)Y7*uZgv$vGEnbe+{ekzqE~tvLNVoBzBY9OE>YrvIE#Ee4-wM2<7j2J zYyGJ)?B~H7jA$88=bRWHd%UN1#`O>A9vTI1jpUIOf9gYrilJ|!Bi*25yh7~H&97|m z!`ATi&7P!KN_LkGS-q>P=7r78=J!}a{Z*Gf@nf|;x_`*p`LK4HRd7 zLo270d$9eYMAP)1_DhC=6BvP7VRCX39;`#Jr_sg@R(c*_|BSIF7{Lso(Tm!A=JEf8 zHVio8b7u*PrpL!#5UEOEoN1yuZ(e3vt^U!Vekgw9qvG82P_N;e&aZM4=@f?B+&lHr zw7i!vf?0rjM2rJWN8p>L2b3%isXw;0O(li9!Z?Glz`RTy73##o-~`CO1s#k-U3GCO z1f}IPN99-X7_^U=KsR=hSB#i2h_*TxPAv(7$00fH@#CQk6)F^0)8Zg#T9ovHL~M6= zP8ZX@UL-bN%T7zXy_!vMa>4Hs794zImEl2UOYEDWn~A!@c3x|w?MZEg#vxbqMSWD{ zYn=A(ud&&t-{D6I)6mBx>F_4AK6tNtdT>(_v_^+yzr;!tCs) z=My?X-0ZM>-)N!=d9TjhMnO>#mYWu)T6jxZQsvkL9G>UqLeo68cs>(>6&w`gR6bzc z^=vmWF?DGZDVQ;)lNRLh&9j}E`|`aN_9*EJMs+f9zWl+JK2Uf<;dD!1ALH;K01=cD z0w-(9sYoi6s173@+}M46`a@#3KpL&-gW8;oNmsUPORjBhIM6kPk>iD@K^Wo2VT`JO z3C{!xG4Wx43-FsQ76S$5!4MP?`XJsUDy$(x{i=QTR$v0z5oh=4@HiM9WDv=uRy5=6 zQAb8kZ=n@JxJ;zL$}rw0gWe}jc|T-|zM&yj_9Dy(F6O+-$*J$YgfR6ED0d^y)+*rF z=Q==fi}I(<;qwkl5>|J&H?|wUkoLj_g<1jXIqQ6qa<%`}d_4jQs-Zy{s?162SGUiC zmX1#Q)b$D-8dab#-xYsN?A% zT639{b$xTi)DmQ&&Q2|S#qYSz4W-mxh0KBJH!`vyuwv2Cfop&MVE6$`XAX>r^MHm8 z0zNFHP#$l5&Fw9+j=s%1GTi#*%L+~zhV=lO%l)=}!IU04co2M7$aQ+SbgR|a$;i0R zjXRfvAA~M3k4b54s>3N$lDpyIRKxu_r0KAqZRRYEQ-JSJ5xiE1Bqso^_`rcKoT(`k{w}{&Vj9`I~NT*p`dh+Rbfk?@L)h zJ~fG16&Dr3CdJ6i48=o{fEAiOF-?Tt^1OydNonaEjE?Z3z_S4T8E^?xIT|UF@63c% zF!^KtF$TxG_;+yvR9-KyJ;cO-zPlhK=C2n%C*`yLymWn>hhPGCrY z>*&!?dLachwS8H_A4W6LfN_r;hRQwY0UhA&5Z! zz=I(wT2fwqML~fB!#)Lnfb#zSf+y)(oj;41SFek$`Q{+xBaT z8eQW$iMDY6Y9Xo@FcxMv{s4S~wIXMghGDtPZ+iHU=M&ov8rOg~c#6brTwI9&Kw8Qv# zq34nXb{y-=AD;x2mYfWPA4;uXXc3x}#6;=eNXaaI)xp8!!UcSVZxqA(t)q@8lk+EP z(3J`pmPI_5hS45u1>9x?lPrGv`}c29E1;r00`uOyk@S32g(L*Y1Y|BUvjch%2L}fm zn@6Zq2M*Mm34_D+1|)G-BPfiB5jb^VUf{s`A}VxsS3x%+R`J0GnC11Jy9#|9-3vxa zYLk|~e^JxYTEs6PgprA#bbSLKbI7q1mp$_Hry+E9d_n|r|MlzIMn*oXzlsTEj@$VuwEyH~R^SvNHdiIl!0NwTuCKG;-GmHmtF zy-P8Sk%$wKxdp-%%h7I7o}Fz2@qXeF4sm;18zmJLtW*Ra-^G($TqL@XRx^H@0bs%e zgEJko7#K)eNyd8ZtQ%ZJ99>+I4of}x*HOc~S8qF9xrnK_dK_7Z+)8BdV`3xWLmD~; zr%?0cSD48IA|oTq`hY^#9$yyzNORxTQ4PU`$tIW&6m0EnZ7VT1_WipJM&2=UW(XJ9 zxmv08N^0YmHkO8l1L%qyW4G7F!x4B|LwSG)`z>3Vnu2(!$jP5F6L7G{7oa{32CNSw zBjhkTT{jn(@eTIcSX|=l>@4pjI!_1=-1#n;HGoeLov^O1E<93@2KS%B=+A$4e2w0E z;1%#ijVDBegh2iIz~b;=My_g0mDe4nq$Xy)@N>TPqH9O` zfQVNx4Wf=|v4S%VqP0pdwWIqO3QOaCTql~+r?wcwV?~ekaA_-Pe{w)_L`+P>q;n7% z9mZH1Sl1rAkW)!u&Mzw_ARu7L_d3uDA}CO62{x|E#CDYs`imDXL?k4fowyYk8alb< zaBH8!*~aGAsX^}#U1U2>WCp4hjAj$;00IJYUtcD{R}L?M7~LKG2sslY4;_FAVAU## zoM4G@b{0-*6%`Vy9e#>K(*w;8fkCXUy?z=X1{Rs-_V)OQ2thnVMY-Y>*G>cB0Eoft zg9fZF*W&n7HU~#!2sDXs(qQ*6TAe>nslX#Z`1~5osQmS~XYfTsH0dvH0F?xLibcaC zxjo|UJJZnxR_F>7d&x;KD|-}{Fjdu$b#-?KrZ0f~zj*PE)N1ucF@{5c&koVi0c{Xw z3-j1J5Mrq35Nh^CpN?ssM6ty9vT&k0@*n(oLoJy^-fZ}A0tSZlRvVm(wMVjeE?)lP z#SU-+a`!*HqM{d+S5+mPYNRAA8ZI41N2I^4scb=bQ}I*aeDrW2)NylIMuhlL9fPLE zMjjp>dT>Jv!-8UBx@$$6kVeNhW;+H3nDKr{9MB;kmEx&{k@S0eAT{YHY?~nJp^Jb< z2RMB{-i|vMg1thzm;8dGcrvtSV1CRyf0)m2QJ^uMLUi?UP zu)gFpX*!H*IBw{ZhqfD0?{Eo(Dw>^L*Bb?G)zgJ~G>Y=bVEag}@=a6TXT537tOgGr!k&)aqw z;CcrJ;OhA(CC0_gZHdnr5Mi8!3~iU<{cl_>?J{A&JQjSjm!~H?!Pd+(e!QTtkWJd- zHZ_NR3(@?^-6SL!a_B^!6g#s9YKvL{#*n-Jjj^$u|L{GJSYFUH{jPa)+-L_EDLYs6 zIutGd^s&(l7Ew03wW?4SDOz^I@D3J(ngNW18e!gTx{bx3Ix?P|FrJn+ew#gGgf2QV zQpo({L1_m)oP=}dUOazJnkUx*(2TWKF!udq?Cs;@lr1Tl^6J?$@V81z5Ag8~i>s>+ z-CzHW$<6QB!M?Tvw;wK9_SW)qG=i-b81{i#2MwKvrzghNOWl9SXVF4=0>=#F9tMhW zJTWf`k`{BzPS|aZmP5pZi#mLan)|?IehhY zX~PYk1m;tu`Jeet6>D`ZCo5i&%~j70yTWqLkM>CuEa&lL$0D zKuu4Q++6*#d3E)}gYtI4w=KqA?Y=VG^FqGeeZf@Sy>nGxrwT#(eatg;n2_zOB1#!(7UZ-&cbg1JyD<7#{mb{-$W?NzvES-GpBx+M#A|w79VN zV{^G$^oQG|^`v&HXz+tQT9+L-|9xZ}kLwE-fv?q$k!u5^Ks{` zf7^Iabhi6tS$Uxd567<$OiW+@@+BQIr?^AdZTZt`bAOTyR*k!-kBI&?iIiP)Jo>+X zaIqPdoslpe*O9vtec!YoM4oW&($c=U-7}M%$g=UOi28ZGKd5BLXO%E1W$akH8-?5` zdFstCn0kX0VIzdb0`g<8o1#2HZ7YJ*QK|%o-z_1!`c^9t>FCRkhryhOD>U zz%2_#EhL!#jTJI+R;urxeh0Qq`%`#_+pKBDzxVq(mtJ<;Jl$Tb8h*0wZ{dYYaWtd` z=*+r;1*&^iB(}HawtauREdAA2tfmA}jH2GrX!S+bW69Z~t~aSFVt0Zh`_f8N>ZY%EmPWVrEQ{VL zRZYJOSI(qVHL^P1`nl%Us&VIv^5Gb{?e%s*$j8#2iy$F~v7WCqw??V_csNwpe3sG8 z!A8Ktfwz-etEIB9UbmpRQef5uL`3b}AViXoHr*<+jQK zZ6P;f8cb&X0AaG(@%C?)l%Z*EH|wl?&s}8Z$10T0?0GG{0vzV8R_ zQpv7e1zEwdc#m!KuuJ{xeIHo8Y_VuZ;|&X79~2Ex4revOG(nrhbmij5<3=V=G0_HL zY}9eBY&`5hB+@->(uC_p#ZH80tIPWlP={rzj~l1}gfMrqV;u@Xtk!HE$gnqJ!`_A2 z*&jt(5w#kRrPq6|htIwt#O`4MD}l^Gu*uh(c59N9Ca5;EuVH1a**P~f-e_y!nC&j9F{K%^@RzkSsxM$+-}QC$qf{+zRkk!jyQ@>UMUyR^%!4!E?pdjDN) z7O>oTEkO9>RhY9S2iQ#ElOu2)udgX~%Nb5_a5yhEal3m&5-$1XAmLtE&&}$?hqg8r zjL(5{T6jm7>M<6?BxdjZ{Y92xch&k-l8N`iJJ^81Bsjz27J1eT(?oz9Fu=T7YLhx? z7r_yA_J~DWa=Aq-BaOt$XKilvgov|82)hZihmqIV`1tL$4|1|r6u1ldu#Uda;I5u0 zY8RAv&6Q(}_#RS!4lxN;92-50Hrbc*}Zb+QQO=+2M4A< zzof{QVV!U=Yv$|rO{cgUTbRSGqif<*{NoLwS4KW^@Z0Fu@?_GU(0Bco8E-+W{o*tF&NzOfTf@kf`2U$TYY_oJ9OkyttXR-7y34_#+ACy! zC}=Fj&Vaa1@q(@{H%H3-s%I;N(-kbAP=403+uAeIUS}m`&O3{j;$h=uU87S73W(`w z`*-i7HS0_ZY%tAdvM;*^ry(MI!Dm>IoaRcgO>AHYn_M-Xb5@+WdbXrr2Q(-LRu&mk z!ioYRc=7*Y?60G`>bj_5_<#tAq(}-<7ZQp{2nb4tf;1|jASsB1NOws{ON(?%OSeiR z-6ay4=lQ<(zxNvV7`H?4#6Ekkz1CcF&MlaS?nur)yYx-Urh@&?AJ7=c zmeZ(nUcW$+Q^vvzEO6a=QLo>m&2ulwI#y}Mbk)D=85+(>a2rh8UwKRaO-8$B{;k49 zKHaM>9zaZ>5-rHdF|AIDC!cfDRcGuvasaj>P-(fixvhl%c%Q!x&T-2oSj=0W@fd7R zjo{uXY-Vl0$vc%RwKZa_WXlPHGNgCUYG{!#k}igK`BL=$5x)IPNNF*MxXp2QRYsfk z=5vjN=q{o(3V(`_8c z^qB|73pW*407by757;T;lR8){EF9&BmtoOU={n91C~$X6_rc1C2)6nv`EUxDkMO6G)gib8 zVjHwuu3ki5Yg?oAjxB)Gn2M&~OSbAUp-B7I7HL@UWp5A}ylDsUlCG^}t-@o7H-Uy2 zG~;HW3RF~N5wO>y?dYbUfOg<%J7+Ae3!$`T0Jk+bcP7k>&=3ela-a?X+lc!0niVJ# zVc6o!<>A(z#AY*Ol_ker)W*iG{x<0=H#W~Z;EV2eD8IQYoY-^!`wJGnl0Q-EO3Me# z5G^IMLac%Ip7oCH$c?fb+Jz-h_d`v8Key0IuqC~v5^g1lG`u!5GkLTBW*Ers?AdBj!NXoC5A+Iy6Lc3v%d4E%T49ih^-YS>?dJ*=j%76uj;OjS+IM8#TO zVGXB9G(0Gh=C&sAT=4pYRmq2_M6-)8Y6HQ~$?JC?Ay~!$(h2RM37BmFA|;GOtIZsK z+iTb@FS7f|ET8)<$!YP+dG5zhUST$fJA3@}HQ&9@yC1LU?YT}TRxQNnK$zYgQdb78 z+3t$osq3I}ZJm{oV$>1rX53P3mD1$H(%osX2}t z$0ok&xmCCVt%R$YXrT_QAaryC*^-1-@=I&9&<||wSe87p9M+O+wQrlld(D{YQmT6= z;UN21UX&%xXS9l96sgPD;4k}i;i9U^-F)U6oKinIS@Z`+kt3FmMMAjjW2nf;_+E^$ zu3k$v{#VUt^^bQ^U*&ul!P|ZX>pK-a{I)pvV4*#2JWZqzKF0jVIcRrq!pyX~v@U?X z>B7~l{5bqGhS;)up(-S~dbH(!|k6(dWc1=GG&ArlTdTzq_2#KJ@bYE#GGQtlA#wAyXRVNLWHJ7`_YJ-* z@y$c@VWGG&t1N+sGiZt8^~ocw55*KJ7ddD8Ez|AE3n=4h)bC=hEdE*Fgpl`te_VQQ zazBE%2`l>bC(IQ+u~XdETFWQfyQs^Wt!~4G`?BqX_++C#8X8dW@MV3%yojghn|K}} zYHTL-=cA_F9F~t=a$|xzi{YJ2Loheqrbz4xRyEPgkK<*L7=Ha;2J=Azdp%87C zZu9tf9{UpZZ@cM+M;&k(WJ~KOe1Zr6bp=br{(Ct0UoT98Db(%B_ze5#F~iT;i^(3IUmuvjIe7N;qn5UX&UK1Jk z+(j*=#Z&SoiWmFCc{c*gCurxIP&Uu@isxy^{&$&6ynKcOL}~FfKG*(@z1QI3rL#Ic z!7xP)###)vQqJqvqG<$t;4TcNryE2-4 z5cHhH^C&&`jpt!E#Y~Qiq-)vbgY3E=hdJS@IsdMTKcVnuGN;})??KZ;`v~52EQ+%@ zm=fMoRPldn3D-0TeO=6){`C1b25WE&-7T9Oo9&`5F_4e{`~Y{J67#MHr2oIwbjH>j z^UoSQ<9R;mV;+<-+3qG^*4_A7&ra;EGni?xfA4T2#Jmz*;y&rmZJ>d2OA$hiG>6EQ zhcK@_*D=w8(c=am?vg6zHRiF_SX)BOxrc33X)55ag|IPyjdSnN%-C00Y-$tI5xOt*xsZ#gK8i|aYTlLKNd1(%lR%BcPooM2eW<`tD zrHRvd!Xmo-i+(>M7t6HOzL2^>aq;hrfUJ)Oo!1Ra2>a%OQ_yTf9P8eT6ALOc6=~Yj z>Q4nTQTy676$E>HX=kFJ+^5BH{x>e;kz+^m5&+5+2D6J`%AMYcy~sFiF+hv z5MRuO(w9)S`*uPxAhz?U@y_r2mFx9|dgQdXGe=jj8JVY;(6{Ox)ONWCrFk1Dn;NnJ z5Gv^(y&HS!+`E$02(sjr;|o{;m>J&}=_&_!f=#T_+OTEXLeEwwVXlgn>F=nw>h4qH zdC_E?heL*)oSpIo$XMKEczd}Xhw|7yOUbg)-Ee&lz7P3vIg2`En|qfFJpPEdJ6nAv zFBs@Ie#VVYB+Pbx2fH0JZ@%9!TMLZ6$emknJ89Ud@lYdPl}Grpc533me8scGcY@{W zR?@h>xQfIi^(iaa_pr8wFe5-5P077byBX8%b;uzVug{a-Nr1b6ONNQ`4J3GRjQs55%ATZBgH!y8aXoN|{*<;FU6vji#Vr!o%M8$INLZ zD96riUYKy0ybN2pY!pTM3Q4;;W*(MhxxxHYu;t~vlGc?&ZBH7FwWN>viIJ@^r!0pQ zHN}~28T2naC9{vqssaTL+k;jaDAMzDcv;HuvE449Gd4xV>{0ExwN?=t3UXDGvIWa6 zAQH9*+iNqRb2iI=|#+MCuf!K zs>7#Fz5q-Ym8i~nalQ-pEf8-^@LNg{rl(*@>ngs%iHl(FS~M=kd4*}h+@-xZn!;Fv z(DMrBK}988AWS6mH4I`t8ncN8P2Jv^K7vzr7{_^@0=H!&jbL`Ec(RhT;5S%(G?-go z9?(AI*o1jjVNRxD;7780g#>wmiRAO-YuPOd&jtJYEw|wJtxYkZX#bN#`RI5KwL-kA zaSII6cNI)jw22)_a=ZuEQK-C=b>CQq27Yq)cP}0c1@VCJpU3R!2FUgm%pHmQb>-`% z@zM>VF0dGB^610!CrP10)Q;8gDn+LFI43SVP8D;Bls3%8z2|BnlZ+i|nA{~ruOo`N z&WM?w%e~DDiNS9I185%j(Mua61n1H5VKgsuTnF{P&-pIdgYsqY4&{DEanl0Ucx${jRuTKskqKz4t z?eHGC7Ixz|6sjf~FanIRm^Bs}JTjqdCdj1wahfMHKOl~*1!jW{W}3jl5aY6xtPLcF ze|Pmm7k+KWnRZNS=qWX{pF_>_0`ssPPG&|+ z5lOmMey2Hy8gaXb4jH6f%U#ExcHyJs=I6lZ|Bg8)KGWQ233L3$^6{uMyc{31Q=X;+pHn4zDKr2 zvoo0UYAf9IEM}`ZU@W+^`4+AaYw2=7{!q@3mlId~^W2OCWMi?mcQ~(HGtr2jWh6M` z`52Q(xOt(WK$sdn>;J-lOb{bdCW+3S{VoUMGJLoILQI3c&^*)3u&!iX#_n{5KcPZA znQ@DByo3fWvhRyVhAscyatKuY9XW9U@Umm*Pn-hLpV%a0f)P3pyuR=P)>Y`NXLPW; z!zrt!YAkC?hU3|US(epuwG)b_g5S_<@TQ~7Mh=s!+W763C6ID|hSzK-#-5FE21pDg zWjJlkH@WNsE(N5N7w;D1z;6`_l+to6B%DDQovIuUrMm)nCB33>5x0Z^ZHA+3wgym$ zqvaR?m?#!@`Iot#^KvGN_Dws?SZLpZ(&)1DQmVSrtxP#{9E9vnuToUMU~dUFo=hg|y$9 zP+r+?b2rFVTC<46jiz}x>n{5uoM4BA2wNQb6PL39a7aGgPX-|CuYR5V{})jE<1t<) zd=Rm<=h@$sSBE<8OoUX@(mfyJ)Oaq9muvl+H=U69tmkTq|L?xl$;ypKjR(VGC!1kZ zdaf_w^8OAH|G4*>G38LWmiCJ3NWYjoIr=HKad@&2s|Q%$F5qRZbC+h8`oCZy_>l6% zUKC7q%U)w@QZq3Tbov&Fh$Bl(xA{S$Ds=L9Zt~jY=OnWwZI|Kb4z~{0*lW6VRo$t; zQF;VCET|BnB$OYe0_r+Y;=tKUbiHa$+GzYEiZp|z#0B+~d&rs25#6kvGVQB zW)Oml0=QbZ^3C;6H`)dPuLzWG2K=YH|DlLK0B8UbPXpitJp%E?g+OToXpy3g3l{xM#ueda;DXQhYV$S zLhGmoKo;oo6mpP?ZZ?y{)2PaWnsEum{H|rGlX3_Dh$C1L!z`ND<>P zbiL}kHvrd`l#D3OIxR+ng#RoXFk8ruO15;7rqO=w%5trfGWUF%0J3DRbZ2J>g`aOs z@)~O2E}E9Q$;|vi=vt2$2B>-lGVWDQ+fRZV z%b$>DpqrsGbN%)-0n%=zZ7#;Dt5&CxcYH=hnxjAx@)S>3X~wP!;5Cy0Wd4$FvSO0X zV&ZK>RaI32)#^22dp0%Qmn{@PX?;@sR028!iYPFwCsF~dD%K11ZcNy8Dp#L^5@br^s7ZvdKUwCY%hlzH& zs%mM)Cp!OsL51688uAjIQ8aPHG`nQ@yGoOqeIOZq#+T!03N+rH{2%QAB;04 z(WQ~aB}~f++@Y_VvnB#*5mvH0XEcg?qKy-vSwl1!8X3`bn6`uI125C1&5C&HzWr8x zt$Hm?clruhNoT9CzlQ+-?^WX7p$T$s4qY{uH60v9W0`0g3ZFd^q)*P;|Hh<}(5&zM zOS7HPS0@>|gO9;P#lt^AZTkaEwQo*8!S?PMkc(j*bWEkWZuiTTKE_2-o;igutnPmu zy5k{Q`Et59QpY2C>fq4N!M)~Zweqm&DYv_UTo8G=<2|tlc_#A#O)l+3&7PycXE{j+tXx%Cg`?qTS4cD8FeBieipuaZDtQBHw=N&5S2p({Gr1s z1i@x`zWN~|-tarJcJIho{vbVel0n|WL%&xq>mXNqEz{OHnPFx*d-qN3b5SV{o+ep< zjtMmY*voiAha50s>vPLriA0fMkP$&V(kYyQ8Ns|YqGMIAb&9sHVUNiocTUi!h9=9s zOf_ZEeWStk02&bcL1-h5fc=;CJfN=5_l|WO9Cs4e3FqDGO4dWHmNg3O$+__SIr%aG z8Mh55D!5^zyQ8umm;(1?@XbK849!xz%K5U=BjEL*WFcNyI{fd8*{6g<6t0}!ibG5K`{cY%OI1swN z!#qQqr_k$n2Gl#tEEN1g0Pa5eLDe|c&9w|WM0~X)`^D$4mdy1ICm?FaEo;0m1FO3D z*s>QYkIPK^6}aomo__X*Rp9#jGaht<+Ms=9mYuj8V&$4{=1+)-i}wAfop6wGNqe$Z ztNSFIB&gztNaywCg$V??C2v+h;!X)~K(8J27k;VsM{Qa?q`l?aJ&$%9wpx62^G{!M z`{O20ioC`~Z0ONSzTIrXA$r#~cDzW+WLZd6HjijwQax+f%C+|*0piv^QXfda(-CKJ zSujP&U}xdpdo=fkgaIKMnHY+o#NJ?WU74FbF%ug zmTS*l2;Z2q>4Nba-j?DheFq`hq3J`V?&O{!OT)I&Vuh>E@;`RA((fu`BL{CYR(cPL zMo%5))_48oSw`NjTv4Q-#uJl3ll#8fvfbg6RfnfPf_~D;@A3_KCAc3-rRWFRI#_+$ z4vmE|krAuT>#iZAe=KUOYT7ryekzTmSk*4am;X84b$=%Jm3jAIGMnxJZHLJ{Efnla z`MJul_oE#yiqGZ2%-q>NwXLowcudTCXxFN|7HH+jzW|Nq%)-=Ec`N(ZodOkAA7Vz*2eNv;Ftx%=W7mhuXs*_H(+s{^E#u zPtJ!xhVA!zd#&`nmEEE{v-D6#c#f2D<5f5<)xYFMJm0_FB|Zu8ANgTcQmUdzxggDW z|4L+09vHk3OEfCvAD?6;5#|D-M%U+<3Qno7%@bAq^cp= z`p9=Kx=j-Aj?>eZRU2#fsI5s-Hx5a}j(#UPe5(dRM^+11`v7s>5zah;r1dW}mpouG zpVeeSQo`Ch(1#KKtDXH=Y}S!uv^W1~F5SCI-Zr6OwX^OqdN}|jA@`q~X_y<83Y!@R9bGM_-HY;G#0h)eA&F0+=aW-QeEz?CrXX?@wTbm3^+Ch+L^$J=}>!#c)l3WZZ>aN&c3rIk~Zmnej|#PcM3*M#h6dnFfEyX(7&h+gK|&k&+9p% zdR=lPrE-m7$LXoz9t-sjhhJut%A)l}; zvt(|pIjtRh7k)t|?c#Oz3sh&yaX0j#uoC>{I0qXN>~E9F0Y)U{P66w(qs!cK;!bW@q|#S@Q+A5;@y9`uXM&no z^@I4w+`JTNx*eg;GU-i9%w>8N+4u52q>cwZB%@txB`4dyJ+csEul4MT6@_~1+Kp8B@sZh24{0Ve0*zaPFKOiaJZ>*n1!VPyT z@r9Fq4l0+J39ZY-cMBdz4#$jVu+HcT6gC1RE4PaM=j9>nZpZA->6TrcK5EnBAWL^LbdYt!Mw~-N-fkT^ zPAFDeyh=&cXcmBp%e#M6;(u1aSVJ1#ls>GD!Ts;-^`3n+sjpcnghSb;VU=iIB}BHO zcM~iR==*b&jRiLL5NM8ym(8Vu-T zj-wcFkg5WWVDIEi*4sdDv{-+}W?lfyz-!E~ILA3ikWdwy$y5HLV}B*ZKaDSTJ^AF7 zYOdY}@o?kP$xCiL;bUUoPwRe-l(2owY_l9MQ5_k=75HbpGR$`l8`A8N!H9TMvU zKOd+ysSUq?Y2~)R5bKgkhb-OOvGSlt%kDG0qiH-3p{_~PsafWT*?;O&8z6^gcm+{Q3 zsvNyt-z(rw;}KF@58Pveb5wZGvtoVH|Ft+p1#LK^(?7|<2QVwoJt@QYQ)GFbK$alj zKSgn5c(-8#es;QQZFsI=2Z{-`T#ZpTKZI0>PoPXBTg$lZYHd|z5EjCCo|nsevuv_Z zDxC7O>ji7ZqYhkpr zWQnK@f0suB_lw@iR_x62x&w(b=tc)GJIzO28#;sdcPSh!3->3nr<+c3?RX>)wp6#U zxrRNHhVb{{E2Tu>#KUF*_|9@($4UDQVh-z%$!;w~se?-?982p4T(vjt07w8?16%@* zyZCzVzvI6rjq(U@1YQ&`1TdY={AlP~*81nMs!J>^qBG@mIg2y8o8jDhX&N%-K@3$mAV*&ja+ z@OOh&yXzKMCH;K=ss}I>lwk^@uCr=vNZCSdgF3hFM>7cy^;H7^R}VurMEidCC?CzQ zXQj*9T6YA_goV_`Px>I9wo$51KxPk(xxwAnrRO5lEl(^E3D zd@v^wH)4^bKZ@dkeQr*LayvWAMOuC>T*V&C*N`TPa=o>My}#UwjGu_2q$|f_?DoY8 zsEmN2#K@F;7UjzVPmhx?pE;Uy zsK|{L0NO_Wa{P4#A^Hk@;%mgQveyQl>QRhstbpralo|vcK(ZJTC}Fd8B-;mG%|zJ` zC*7>fa2Ump+7WEHckGI=aK*@XYO_K$4P>?pJ}2;bu`X zs}igcTbcoP77pt^Ve7+r5YI&a(2!LFf0hBZovwl}P(w;dpTMqJ55(vA!OI>;o6^jx z8X8g6>G+7&k6QN+53`?_Zx~TV@jl4u3LqrqqkCb7^1FLSL(D3(c z(h0qcI+lVN$GAPV_{NI0&Hel1tlI?G$d*Ru4tZ#-ZN0$8LG;^VGii%Rf64QYKY86~ zdimb*w(i4+G5a$p4;0AXR&|@Qph?QO7uf)4Y9);<0dhwPXcj|)djuv|+I;0@`acmO z?P7TLWZOsf8@o+th7@4TdD&GW6iPY#@Le_GCu|cIy1Xw~G&p71tI`leh%TuJ?r&YU zJK3S*_h!Q6no&t0qxO$TE97jK!;x*`-{nOLh*_FiCEuT8Bj3aKwP9P&lp*zhBaWZK zXr|0}3l{~?MmR>5Yuxd;yqU=+gC|VJnDNrCj-U5M;|mqAP#ufzz>-V?{3odZPds&C z!mLk;CDIVOAYV73wqT>v#(A0XkqRFq&z#Z1tE0Owpc6xm{({pQv`RM)EEq61Wpj}- z{$H4JETZQ(?SrW0Tt>hU=e@cs8US&r|a>bzXmf%ix8D*hCcB4Q#^L z?!xq_I6E$-3C1i?Dy_eFTCe`uaJ2Qc{xPvD3DCN%&EakHQlO$O6IfP;Jr&x-f-X}bj4M;bEA=4eFGJk~-Ge)H#K_bVn9lPD$T zLm!j)YOerP3y{_D$OxQuhxdfolkPj~v2CJhkyA@?^pg+wufRI9k(~Gw3F$$r3m%gl5|Fxbi?sTBySNY#^eip!dw`H) z&z=Xd2_2aT3K~p_M=#H6*4w*!xqtDq3VfL`o8yRnP^N&llmnE^5>(iX(3=ZI`FR)6 zclDMGVm!!T%npX59eV7huPcE>5{^lf9{Gh8e!eW0va(?T=GrwMbbflG(}srAAfY7O z?CqI|N*lMybI93dhhv!Bu+veTeFPPdxEU8mZ&>#9MK159L7Rn$ez0Jyn0jCU{VJ%t zz`fzVCo5L_a9Q1WQ^nlYz&iz#`{pkb*#tmp6 z^#P?ZCM>K08aKdzr-zgM;It0xYb4?uKn(m%UaOrc!Dk?icSG(X60TTSw4%OV=r@$q zYFlSVOBgR})=aBOR~Yd6uFsO8cbyby-W~g8sOq7ok(gKv*Rz5S8Fa8*fXQE~MeTWQ z`Kir)&D9IWV_1}D5q9>ZqR7Hn+ao0%9E(Bzzn&M|9)>4dPeC6lo?i$E@z8{9{rGMW zRVe7f0tL;^V`)m%L~>9W?;)$FZc2TW(#YT3`fjs6*qy2g9);s#AzCTrP^$|heH#w{ zpisj#2xY-Fqg`$SB6i|fU#V9#R?99yXpWG(d}}!) z63Fd|-CM{uCHfh$q21f3_SEY)6q0RF=U)2?ClP?SGusMh2A&iav7cnB<88}#FJy@3 z`7j@Tu;n_M@=uuX8*NSFpJgw;`~~f%(FnZIM5#Tzhoo79%aDPfMD6ihB5`FH>LDec zyMOkc0wDf`^Nq4T7E;eX$Q)Q5<=!UDA@99l?*)-dFO(ja17ErXVpNkc%3fz}5? z@vs41$?O$rL61u&5Q9=GOW=tWy^e1RLD$G)(w^=aC}N(x->scFR+2{BeIVyI$>T@v zuwZugo7oagyk98LIIx{m_S56Nt^EkwUh5zXo!W(x;H{iHIsZMTEV<_+F8kDj9B}f6 zqXq7u_R+?Z9r!?5ZdcQPIsuG*x~%NM$qWZ3*Q-r+;%)hF00^G=VYneuOQlmIm6wHA zyvw>c6AL-W=(_GLvJy$Z&a6pUf)_2_X_y+&eV-sD8oo=w-P@O;RXB*+=P;ur<`ycw z+pd3qgG(?p&T66extyI`_~FBa2$Y5k4LL5sOeDOtY`590&$6zC77c*)uPG(I<3kXT z$pE~`?~=qH3lW(Si`w&80h0QvV>DJSBO3ANYyneVkJ2xsQ~v!ymaYUDS(AWdrh%{bRRSa&uPmnV#neu1rP$-r z`s=ffQt~Y7a(j)lU1ad5HRYaFW@=>=axkKj_#QC-kP#C4oFsx8$&I)GWYk8SX?sLd@(xb(Yf+xwvwM@qYS$FtC8Q7Wi%{_?c$u6b{ z8f_5kgZl(bj=xUy;En+F`lWGa#5Vc=q(cU9$M40aT(gs>Lk(=jAs%AS=EJyYFO{2- z;W$6q6&)=CVSP?c`veJI%CoQuZLPSDddNz zHGdtUNdczQ;`pVk= zy*6c`q#0+^mRP0BBX*2*s+SW5{PxMj1#tF>iwX zR1{q$a?Lw-Up6m<{@l0lr_%O&Gq$MsEadMWzb78!#d%G!I)2W7Kaw|5_GTdC;q@Hp zYi=t#Gw(zk3Q>I!#1E+Ihxd*lhQ4`2(EH~b91DEk0wVVQx7fGK>ESJwWXD6Fn+zi@^j3Gx<_Fsz z=(_zXetScaKztX+-rpMZ{mFlu+3pV>LBPc$nmA?Z1O5f*CLx`;W_~J$6RYdI3`$3| z9R}18k#J!zQH8?^3nO$A{x*o3V8JzKYz9a-wS~GRA|gdk-qY%l???U2%LcN z37Fk@L35n8oAUOq(=};YoGr6NT3dsM)yx? zX0nih9vnK3HCDSCrLxgFBVfaPK=Y<0HE?s1`OkaAe5}9|j(B;~4s!m; z4x_;z7+@I~Ko1As=u?9^)81_>$QH)AFD$9M%CYS&0TjTWL--Xx_ELmAibnGN|D_6s z6BhBfTv8PN1zs()Co-vN;WF^Zs<5Sk4l+bGJy+w`=~43OU>R!RO12MidZj`E}14_N_ry!*NNdUH~=8%~TW)hi7LIDCItr`CC0Eds0ax=AQIl0u}n;yX9o zI#^4qW_Pc00r!HRn(AbJz-wGee+8D9X-jK%PuGj{GxLCL{P87MB8>pSYrbZQq%>@w zg^ef9WYr*N0S5&z=-}=64J}`yVkJgyGm!aA+uPi44j@#q&&5pSvw-Rzly7eL91J!1 z4%%o0|KBZniu-w~-tE3NoNAu>0Db`hl$_+TGyJHi;ow&nQ4>f!!TlD_#i(0;4+7=C zFbyDE@Op4=o}PQTGMUaWmNQaU0ujFoMW2xFz~)3F3!%Y+lk9FiIm72Pn zoh8&BkcT-z*^Qk~(0*x+tt~*!zJ!dv9ip{o83WA+5eAx02cncuI2Al@tuR3w0hPK9 z$~0~BwwKq;J??;Q7U1>i0gv7H7a%d==H@0TyU+LxfVAh?5*Z-aGik<;egirW*m=nz zP;hy3`8OL;%NuLs&|Elku?pZnIO|jl@M#D&0Rj5dA6nSdpwR)cKY*pcx(}6GgNGbg zd|F3i-^zsyo{54JxS)>}5zp_Cqyyln+c{|Q&L`?^xLGr%)JgC{yxrhro=K~s+*}}0 zL3J?$c+~yUeZN+;0}e$cw6xi2L(tcUg!DYjho67V#I)wJcLgvB+JbC`7{mbrtKOv7mRe|r!3zt{RfX?O) zA)NM>jSI#AhfFF$ zWw8UN$@L;(k?9}yPCY&-aZTS*;2pnm^_-VDwwLrnAoQy+N>}AS636*`)w}8fRh=H0 zDmU{INg8`6v-hRDQHkOzDkH`Buq6fVGU~tWNa`Axeqi_O=p-kDZ`s26?ee;oZf|4j z2fhb*t}25YqS>O!x1$YlY1SDbTy8UH2SpVLl)ISg)OX)&G^FJxoYgjw`a<(?g)n#$ zzGEZXO8ok@q6YoDO}T=JUSINUHdGMt7Dvt(JKo**#AtlA77XajMruYr`9>CJ8V`tL ze=5w=R*i3miAf_P`t>96t@&{9Mt~p#rK}~mEkTU=peB#MS>5ZlUNLEz_v1gWH~re@ z8Xw@T(TA!6nsgAGqjA4BHrpu2nD(X46*_r8>?MH*#J*r7C3d{53?a7_>Yv4=g1o## zaBH{)oE|uDdA}MfIy&1XSigm+R+suBF5=k`_BIvykk;vS<0D|ewd*zJU?sN!>jS78 zV2xA)MJyPXY?cB=5vFC{9g&pPGWq9L<|aNlDXX*!LjjlAxVUq5Of!FRcB*XXG>XZLjKxa5i@TLt*JUOLY2~XeaZK@v&5&A*) z@qNWB2PdqC-7ldRD1tZHYRV}3^4`5Cl;5y|rZV#$DNf&|?G*8xsDtl5B*3;qjRGL1 z#9d)X>_1dNKXkE@f?ulz2L}+eALX9-4}pbT^6Amf${F`VIM3Jnsm?Ibs2!;6e=l%* z?EeVjj(K}$Z|Q6fBpq%P=&R`a^^E^gxreeeWvHH%0m)VJ3`EIBU^H5t9`6;+=X(}* z=-g_}X}-0s0`jnb4x{Ebn*coX`y!cbC6$x8Nfx!_qGG~p1ptB z3b7B4mV}PmFBI!Ya#@cT^JpM7fUBbWBpiHGzIg6pM)a{fFzXf7X0wPrL>HxesV(8JsIk>pJPqzuHqYZs+6`y(D z`1^$#ab`fjjH$(kolsWp(|WVzU-Ki{lXr^so2%!+S6xI^Zi1WYWc-=0OKi4SZuMvvnsmnd4%PG4M^`_)Li^*3U zRw=KOpJ5xvhXYjWRy%`QZOYSzr?p|C4xWQ}GX{AR-zs8aD4Ck!jE$fS38rQkJDTHS z5K_zEKhOT(cGD1U;=d7R&qXRUr}fI&G2sjS#5TbTYCsmQ9#!fuqBg?VrxlQJVT|IeN{Zfdk|XYJ4@QR-$5ye?y2HuLA`Kh)Xw`DLZ$K7K|B@>6p~bWSrOljU z+J$`>wzf`1;(#TULoWU2)1ks?e)?lKWnbjzk7Dj9S|G!TFIeFMj4&>aM#D4bnn-!R zz6h8Mv0L|yQ#^AnCE3MwSR`*!WIWQ5%B%Pi>xDp|g=yfw1mUpT>ETS6eYpM5)RZfP z?4Ec&IsDC?B9D3kb!m^Ra^eZw=ZU*I4nt(oJbVH}#VbU=0O){o;&^Z zIpeJM;-{)T4g zynBb9I0(~LgOk-)2ui0k&8kChMosYJga4Q#mTawcbP}RIZlCyrjvoxcO0JnZn2Zf4 zq+QeC+^!%fu&3j(Xet!^Z-W3^Tv@I|1*u&epjtdK*$he~Hs9Y4d%k9HQ^h&)`E}c> z!oxl(lEjy-G?D>e8ZZOZAR6USzBm{v9M1YPC}pa}7`x4$*Q7Hu((^^($%wfzByyKZ6GCQoj|`8g!+)L_WNc-ULanMgF6rKJskl( z2QEnJB`bd5gre#Q0G8sw`Q;lH6coEq9>D?A@9kXSSfF0f!&UH`EDc2wu^ON@y3OI7UmCIGXp7nA|x?mQ3}1cY+qeT`d&t(o==(l=+yHNg2|&wGl_l=@4w z$yCh6K&xA{J=AL0W!<~x9=$LS2mOF`W0 z+rqhOAHZ}7h6A;tLdmd8-{C_3#PqZ{66^Bc!PN)ct2uqE!1bmP09mSJ{a8zFQTbdT z=%R`MwNCJJ1t-D@{=);RJSWaJp)7Uo`?cs6I!{%Am*pCLn9Hh75Pv*c~$@ zVUjL$0L)!`3fSagV6;-FDv6{H&rMVHMu!b?Q=otJwJZR8Ey@o z*|MilRa&8NIJ5_b|WksQx=@f_0gI}Ww^ zg&h9K2)pCaNwKHcn4+8|p}NnN4(E-56>f;TrMWq|B=FuTY4gi1t*odd!CUzGsHGqT z2q?Xuo&4Nz->a2m0h>)~u9(ZfLaKhI3{*hWk|Q(I7}99KXevpWf5ngmwSes4t;k6; zxpEzN&p?ku)7AM&z1d5M%%~sIqMnsp!v=UhN#K($x{BBU*YR{S%;Tb@X3R}E83r7@ z;3O(pPIt-ej^b7m;Ax3gKuwD*JUmG=CuQT;6|%0Iz3{doq>ZSk6CO-6>Fz~U`Cz! z88zktA|0?J^uPrKKo_#^p9*>hYVqqjXN8AOMsAcBNsh4sQn=!_U@w^M3XNcMNn!!<-`uGNPJf}+I zefouUOkBTxj-S(BfdR|On_f?d-+4ULNQ_nFAg` zrccz(c3dwIC^!}%D>Hr&%Co9Ht1!!!CkWj=(n$rsEbn5Kj=nhKnk){tKp5WTS^P! zyzO6?MxnrA{B6-|)3I)@xQnDj^V-I+O`F44#o8wqZ)Qg6Q`_e=ziOp6KljEv|?(8CEx%w z!lU2*VqidNV0-&=m~ztX>g^RH`^txJEl)osc%*)-VF{9Nyj8Ls(Y)AJ;MT~ock+>} zjDQ}W$8^$B>YaU}z~SQLC!{aPXynYR#!-h1vU1Y@&SJOYm+zLz<2DpEO;Mi9x?vEr z@Gi!1z|Q261|MmX-H6tMI+qx5z+{pp#gWgQ8pQ_QLYsa(gIezDo3huf=wMER($5`s zKh#+a_HR^`1r5N^TZ?f(#Bm126Kf%nET}0u`I{td`x;J`Uu}=D?)T(A?Y9e*ws76( zwG@#=>pv`4iYv!AmhrR+Mk(kUlS?ycD!Z!`NpXsO2K2Sha!@#Ol74w}p7Wi})BnQ- z5d1cqZ~TtOtS!Sh@{EIWvbNGRJy^O2ySLYkj`joBsMJqJY@YtTgKOnf*(AU-U@>$G zhdWxqnNOq!V9EsZybbCpeuL%!C}5mMoy8u?PEHEqISqcd=Q{5}cc6ooDi5f9Ygp;? z&38sBoh-g7ef5qp8>$)U(|&e0M12mLsrXF31Nu7OE$&tpC{|c*s+pA!>fZXwZ*JjW zns0BKU(sWK&!;v_ys8_9C5-{?0!)>HKBSA5@))3QhWYC{&syO);0(u@m0yZqp>KZ* z-x&;9ozce8;q-=5f)|rr97{v8_S*F5~E;9@u9Tp7VG|dqp6VGJB%7p zF;ng6BZ6gQzj}r;nvlM(9*~7CGn`LKx2*GGx1xSIjzoO?7DyCi_0{XPU=7(RXJtnn z?;aq&3rQiwHH8TsCaSZ8BO@cM3S0T=GIJtsL`8XmT&TiH;r3XB**k{Au{KmG0-2o& z!2gv~HbKT(C@>8XRld<~!Ia{~`t95gF%B{_&Y4iAHK?p)6bV!SU^A$r?v-snFFttV zM+H;`P0yzf;uh{+?nk6knkdEUuMcbghbPdwf?Ip@W(>=|=_A}Dk!cg)iK*UpnU9dO z>6OJpnOAKu(^$|3bNa{k)pOAO+yi&K^GpEX_t(Q?g61)166Xi(>tE?<{ASTC=6@T> z+$PZFpfP^bc(T&yOA21G*N;ai(tR@eJ`C#X_o;b-J&Z5u{~KLGE0{uKf&bp?m-l?C zqAwkvIr~(O_;KtDi=9DwK{9H;S$T7De>zh&i>mkdz9O!Rd~n*}ZQ!w>{Cdl&gFSw5^>pt$(e>x*^f&At#p z81w2toLj|e@D3;x3@Sf0`9yHOgwD|)w?^2`z{ZK{v9%ZJj}#wb)I>@o6lH63eMP~J z9w?dEdu|E}p3bw0Rd2RlO3w?S;k&};2vi!dh(iH!(4W?cz}EpC)X{68)xiJ5+(wNC z0nL!k+$zd;17;nSB)sY=v>deR97{G1JB+q=M)ky?&VcR_1yeIe_WOb1+DCqTt2s(- zRZZCso?b!v#AGrJ-sz}any9l^wmZ`9=M51aeV!jgRQU2j==>RaPj);3HXVVCi3wNb zWlxEr$0cAfagiQQ-8g`CDPpo`B?O zeX1-RBB3bc>X2q`KnkBcOkxOX2UVkKXe_r03qqq7)sv;VrK05p3Q5K~?hz;yxS9_B zKeWAhIMx04KDtqC^Dar5cV*5{k!ZlK$WUYqp@|HkWK2Ye5-LMdLTqECGL#{r5Dn%+ zs7U4_N-~`L?RlQx_nhDFuXC>JxIUljsqFn8Uc*}Jb+3Eft5;uUbERYaj;U7V;O8|P zNP`D7GNYgA{5e|teR_SI!;4dEi}zpINuto~b6bvHGt{tHe$?fsdi7~KZ*-iK#VL`@ zyt~tN=m|PP!0&e|Hg($)oY(aIBTr7>{EFD$uP;LR?XJJ4-g}_woL}z)z>7rPI1q(? zPP>~{o*f{!fB_*{t#D6q8+I3hZ7rg%u08w$v`D?wM)RvZf1(fu#0+@|!%FO$xD1BR zKB){;g*M>ei5HF>cQN1Yarb^!mJhv;bA#oG>?rJkQ^{dI9R9jD_X-gw0NY{$HwQ@8yl}F zD4QrRDt2j2c|Vb_bfmd5^?OmMpkb~LK*JS|iCk4_4^&rQzKj6T!tV8Esg+FXd!oV> z_AU3fkdl4$Geq%qyzR@hvBs_W-yW)p7#?^4LkjHpRxx`oAs2| z$@<8%T8VnaAZbs}X3Of!nHM{rZ7zKMs(R$)`1@@ITQBfB{SRF0d;EXFwGXBlaJ*SN zW1Z>t{#IRJIZcV_GoVS#{zK0(3+fAPi9~lCi9dRFIfL|h<*l%LqXtnH1;GOkSmI-D{ATla3Aar&xC3FEo z536Y({r`^fCJK^BelO`4%%7Zd%5LoNwYK#5JNG-)aMRIHK-8)2g_qh(b~|-j6!)!L z7vL|^cr+&|((RL}{MWIM?_U4og`=5#bF$|}icY**+520zLAu9#9&&m-wEkZx9wa56 zD}8F)bHn3h?c6L~$aV6h&Lyrc)6FrWHWP6^>rUWrxNdxU zurT`<*Jo_}U$r5FcFwoW zRG!QtKKevf=#`dga>dWxv4$Etf1ZwMLZDf1ZSkr11$x6e)4YIdn?^1ocsb?j3W?5; zOSb3I(apoy-mZLgAZp9$PnEid;tfU&!WlM|GX7*}JdX6flp60cop1f>N4FW)$Zi*R zHaya6R4C5~5k~%~+G>S4u*-~2d;o@GNqvDOuiAbaQcN#HEF}Ee{%oTLQ#>9@7pE{9 z$XaI>&HkS!nf;35jx0|vZ*$0x%C->I+prP_>=xxqHj4GJZO*dT=MvBp(SDLj=s4@V z<3`c7WNS&ckwDk{K-|FCAG3tHYtOawu-jO)F8s{Q`jO+@*5?PQ$C=~&YDm&@(M*p!Yqd7ET-EN1U9Cbvg2`@~Mk6{Q zeE48*Ue?V;sytAVz_k6`(ENTizkzNa-F8>)KeRB&BHY<&+y6dtt=f}I#Vmol_6{k~ zFBY&}>92fJ;2;up^)4?;eAVL&-Hv>eD-4}$H~wUi?lfUe88m{6H}p6CI}_%tV`kB> z-cLvZCQA(W2$GZa+1%sV=G@oxzX^6dWMZCjFAGhnTTJ z(m_ClqMlJ^KsULj%)(DV1uh+%I%`wIvsV|~c-8+NN}iIO2LB)X5HsgW8i(M%Er&_!B3fL_3=U5SN^)+oGtYB)dgBrQpudUJ_Ui{S zpgpnkos*;Ey49#r7IqU2_(ID~-Jb%Np%$&BqVVrBn!TJoz2S@%aje)c9!-S5(y`g? zim1i0PHES+aX$4s!Ls>ww7)68dz!h(WB!q2K~8u0LlwzWTKN4}SG{6oxcrQ02VQr* zpg4#2&hbx&-sF2bmkX`uy!SEtWBdY9eU4(*BJ6J)w^w3#$E3b(KB1iaii7#pTsc2J zVv`AtV0esF^|D0ib7lMcWm~Q$uvm!i?>~4D87s8e+6i7u5D`P~?UBTC*Bw5m9M1ocJ z_j6WnqRZqyDcGODa<4YClkGDoQ^6D*W6#6k;Mkn41RXrpy_l3ceAxwTHv%)<+ATQ# zv!%i-2Lq8Aa_(A96GZ(8AU^eXd;a-s%w%++$PK0@Clgr;A`5e!ry#^T?k9ogPb{5A zi;QZ~Tw|TDuL9G7@?FtxP?8PuOBv+MHn$~YY8Lyj+$x#4?|61Pv?VZ+NGmWj>k1kj zc+-rpvCVzde|Jl8O|&PkILqiIN9HQjxeB6G1*Ie92)yK;%^YjUwtHnnQeQN-;EFL0 zAkAhhr6ha)Sy-DKT6PJSn<2;`wgft=5lk$O-S0hqL$-%T-$MYs1f0uzSD2K{y`F_p zaviKD^Q+3=wAjB6w*icr#aL&OjRsrw>!d6*uTUXJK*zyb$cT4qB_Kr=uxsfF z)~NvYuZ=m_LdL(lO7oF-zS};S9JJ(*&moiurVyI{I_E=ABMm~t{teqveEyx7wHLqA zR|Gbzs2Hq?j5*T~sePMe*=%lo`R;ff`j?3(lw$zU2vG~;waZDP%*1rS-f_$+e0!X? zHkaiF69aXRNAXqkiSxkWjehkb@<$Cj*TN;JK> z-sqy;JU+>p_0DU{iDD+Od7(xzjf{i#OBXiMU_@P@`r>utg)g!r7V}eed*)|Ko+m~| zxgFX3quk)D+^K6!fqB`7m#h{_JwLX#8b92Q%GH}oqp1aYM9nE}wq>)I=$7v<{GNWw zeg223#qy@>X9|O!6)kSEx#OOu`1<~HozSLdjjumN!slSS+x?Pfl#JYknUTf{nr}4P zudBaUYnAI?()XMg1% zrg?z>b^QB+ewm*lGaW}WR@eXQL}E*?k&|osY;hDE1ZHV5yIiO$9_?q{zaim4Lgcu~#W%&Hbtr z=ojCb-WAT>bNm}0nIT3Sm(*Ypa>r)zoGu1_XA}u|q+~f9+X{=p0>iPun-0`%eltC1 zdu$HP6(0~Rbp4aTocty5G%DzUT4(>*&p`T0EV(-(*}p3FnXTKonq+=$pA6*gF;xBA zbbZs=*ZxM#5gUI`k;p|?8A&BDh{;a?6-{>e$=6*zpI5Ll?(FD~a#xivQw`QLPCYkS zC0eUVYXa>r-Rj>64E7RJbqrrujm=ukGn{BT$3Z<7Cv>w&=I8l=9cNmfC9NrZ zR~3=Ncj^@K;|G$_&Jq)Yi_J%QNUyU$ykCa!Y%DmT^#sBX_$iN2jc5 zu0?rB(%i-Ll&?Wqgv0vkv3_Q;OJpbi#Hg z^0V6Yn}#zqmgd{8BFze6)2>|Jb#vL{?3eMERz!PNJ#scOb#lSP;b~^siC>3UWW@9e z&-lk%$=1Z0etdMiS=w5bS=|*c7O*Q4cXoH+-4L6^c9F5|*eQqjwgiCyH>iiI_Y$_L zWUTGjdAirRV|&_;t&EE?m{-=)p17%2)AN!KAsQd8*;zw0B6)PuSkXiFN#R~TIWISC z-0q^XLy<)2xK16y?@BAVO?*E|Fv*WRKgzFJ<@N>E9{2n}Xg2R;SD{qOh4HhB$BG1Z zL@X0BGQ_A*cc6IsutjqqxLKuX&11wx)SVK!f=+z;mb;qgCMMH<138(vgZpFUT_4X? zZ)q5ivnYMo%|{z;qNw>zhPmqXI<*EI8b5-;w=znz(EI52C2p*7A4Q#&Bloe|MH0!g z<6V;F!Zgcb^zCu}FTebfRAz$xE@>`4P7}1(e%8)%Z7=(Ej({L-(=0dwT!?8JpEz*VDdTvv z#*=ih`RfOn4skCt*q86Dtx#%l)nUyh2Z@bc>G$x zjFxLu@5+5%?RDPjJ{=i^&JG7L6~!QhRp$M?sE}LbPMMXy9}zpXN9f@9IA2pZ2!urS z`pX&Gjx90DNF|z1*SU->LZoaw?(?4O|G?a!=++SGS@8Z-!X~CZ+oW{?J)({q;x`%) z%Pz0~EPueGJ`E<482Du@N2Lw!Hb0%d#krf~f!DiTr~8w7X7Zr~=JxvT*E{P`Nwu$V zO;-$SL!>2_z-|U(4rd8c@*4e+A<@@eDhA}E{Fj_=ZL%zhb09x__U7*g%@mPiP1p-uPRqf)v-c5j&pY~$ob~)$lm!v@z zZ()YPC>Y)$bvnE8@x2kjK(q6M)qUTbH>|l?WINfmGC-K9vyGBz-KwxVL37GZl-Gvjez_Smg6Mkg zs!`30ky2T!L7)4ivOL+y$DG>5vZRVWMZSd>NInv>rjwa*P;SYxsv4X7>EK8d zw~V-I5^Q{CLMH8M#+3rjRe53#0_5bhUKeH2_&)eKa?bf9g#iPMr4`GQm zR={q>TyI||lv%*mqOlKe%FE-JXzXA5eYxsify_(`y{ow?B++0zkz^>BGgIN)_sXX+ zUY3(Cq50I0_6}r0*u)VL$tIBB{@A7XFa)xt9USfD%Zl%u99_4H%xJ z#d2W$ogTKB9c)%eb=-6V&t(AN{s6VQdTDbLd=!!Zx;i9P@LxPWt+fscPC>@4#x*xBSOxO$R_W0$%^ zNt`wYGWKBEe?};P?aM9pDW#OvL+VXiDeC&sOXg)#Y2`m_jTDQpdX{Vxl68+4Z0aY( zmCtCb(X`zCIOip~I+nP(bl(b&sbg5QQflAtHVQd2S%rV^W-yNV$ELvdM(2+{`TApe z70DPnV1s^FiaD=Jzu0yITPnNyKl3_)ZS#+pe|C>C;4XCZr}(?1U(85MvTLQ-@Q_g@VFO2{7QS;)Z&j|#!P1>B%mdA0MuADNY()><3iq{OuF z{nJ{$QIFFD`!YRr{)`2F5AA3>cG%%1U|v~bR7H;W=b4c{*rv1}ByY4{8dhn$<0bR) zwf=vS-Z)L(oxfmoVCK1o1n@Fre`#_i_Q*V^Ot88#v2%n+!sQnV4ft2l=1xC1V&M=x zGxcL94piBQ?`mVu9|+id7$t-M^a#M|JCbE*emJoozWG*ow3IjStr9ugaPQlez{ah% zaJ9_{J4jPJAcZ?&0<+Y==2F(b_{FxVsJ~mCWTO1QLAzb9@vwZJugy??Po&t!+RYvO zY@~U}mP@h{dqgv*v)Em=hTBAPPdQIc<$0i>P|%i?Z0$5s70RSJGszNsA&ZswXGTfM zqH4wtyxuAG&eZsux&o}EK{UuvFVgF(bT`PSaS)eNyhRz5itP|r%}Y;du@U_A;?fJp z`W@Rz>f8V=gFjePYmD}GGPAwEf#uqmDk+q1Lit*$&};doHu3`^qgR#kZr6=!NA=Bc z@nUlDO9H0>$iLKQ=_*nDLGY>wd1fW0w)gKZ^sg6riq2tN+dc)zbxU$oqjCL5FcDBc zbT`HgL_ZZ&4wX{6;So~DEVXA!woNREk*C>Zw#wOeCQP+uGE5w=;pX3> zU|sJTOBlt+606jsD2_tqltUYqB@hs6eV~xp94%Mv@5gd4d0(a9W{w-b^&FSqX8StL z?Tr8!iYv%JTP)t)QTYkZtjtO>lsGRmYOp}9sJUoN-+wY1Ws^2&zu3F*s~7^utW z!byAGwFJLmqUkr38~g$FyuFMMC0^dZCF-rSCxG$=+6?f}vEuHUZ? zBsGYZd9<)~fv1tfCfLLw6f}(dc2ezc$KWTTRol$x&SGTNWP7VYbuekJ zUm}E{CVU1&$t%Qh@l$`azCYB^gDFJS3D}1v-;#1&pMD(1D=a_8XQllIo-MYfA0W?2Hx$c`FnHe0&U!LDK0MFXcjCN25oF^mFS< z+TC|oIouCddNCFZaFW!P;vR4Ke6@TbQol>tU%K(N!dfa@AXE2DzV{gZN0L|_9j8qO z5Mv|nZF&Es#bdh&3fN&QeBOb-U`SrE>^UqeTg0owX^kHD!pT&KV3gl}EZdKsdnP(W z0s?~M+30Z31@Ysi-}B~=?PL$-9|1o(h=p6OrQ7S4EN6?t71y=AwAR|u_?KqFr0gSJ zC3{FD1MOv1R-nm>2iKMEkPHs1?Gp;+tq5~S@Cm;j=Y73Fl(Zj*C)-kqK_vp zO)|Ek#wyOt=1oga_I-Yyf#IS919ruE59VHwrYtSUYQ}+$)|nR(fl#Wp(#3#CuclH+ z1{Zg8sifV1FF_fZ|rc+iozGmmSDF|~s z$gFX|o^XZ@6Wni0x@+JB=3R1^?A29J*+ZfY%E^h z#UAY0DRvJWTK!fd(N&~I84B6!U_pmlTegYMJI#o7X#b8LcAZ0e*{md5oY!r+FG#pu zf=-X}Bce~NHzYE&9&pJWe)6LWP6zcikmWaiX8ApReJ!WOwvi9IQERp%*7bQ@lNFd&V3&dO2qnox%k_%G zpOhi<|HXzwi|=yH$ppOnv3kG1Xv~YFo9@uZYWTz(Lqk!r~INj)5Z^S8oTa9fYE1fWl456CnKE^dE7&p1#Td^p}7Y z(@1!ginprLFXs9?`eo;;bUc#k?h*DjcW6|+8ehP??O~?LCv}Ot`GQ2beQ}?Bhg^cf z(W*ceVaZ^kSK=ea51?lAlrMPw>Nx3jE)jYuM&vW#aG`r*QQySNa6Te!PYVNAJVTeq z5*ak4z?&xaVb!34<=yQN;v=lEnUzNy_-aYMTcy3X*f%E2bqkTsvCFz!ESL3HxgTf0`S%}Pvko+X1v#UM2K@?<{dy-72i>ZD<@f4=;($Q^TX%mXu zIXr(+xiJfsJ(XD>h`;q=6N;QcqWK%05GC9y&q_>yg94%0!pw|sc>~Bl-2966cq@yM*UwQD z!zs8;;in9E^GT{6jsv>nr({O1T|N&tb=vQ2|{?4J8CK zXG@WvwL(8r$YO&4SBsH>j@P7;+OmMn2UV|T2c1h{W1sVgzJ%%)3l7Cs{-gl^s3M;3 z!RByz@0>6MgwaLvi|ay z?7^B;h3pluW~8OMWzwKO-Q%)?pwtj?BVM9ERd;%e+=`2gDOfQZ0MS&sOzi#|Qf~zM zWk`L@3P#M;E#i&kMhtI~30p|i7Bc`@R-LNO_YQ27T&C&DYzTi5aF=N6C>cgP&XhB8 zr2{&nE05k@MP5!yeh(CuC|yZtS( zTUS5{eHYPg&`*SLd+OG>-r#K=DT*}bmY)`)%V~J5P&`(n*9lrOAG5|j;zEtAL|(*& z?tWPT#aVlacfLk6cr1@1{I?$0>+Rw#V(YG45C6)b|ir%klF<(GA zcIf`Eikbt@hAaD!tCOCz#B(I8OA-VT&6Hw1OX;Ue%1KX$3v1nYtP;l-96B@f*KWz` zdv4$)k8C$)Qjv#I$iX~V9dD9LJe>2m)k00i-9LUQkIy(%oEtWi;1nE?S{k!P9xSwE z-(ZWVzYS5yoXTyss~OZLsi!|064sTo^mZcUG- zb42R;g8u)}2m>ccWZ^vbCRe*tygx^p1_s^nma5oRVt3?L1~aZIjW5PX5A%J;dXg@F z_+mwMjYay};6IjRP4QOlwN_h_@0`Vg9b~kyU{K$r6Dq}fYQoSdIv4-5EHmEx<8gB` zky{x%*me53H49%w=lxf;acA;KB$Cx0Xynzcb`+Xs1u?=)OaXa^^u2o!p^3};Or;jj zo&1?lR^e9jfoWm${1$OKlyB9eh)gF{HCSDqgU$KxM!L3}~uJqL*o!ew$vuq(? z{&&5mLIu$j&^U;-N*Eq>bQw!FlNMWs0TxrQjd5ROLT?FRE{#s3u#-1!=^wh0*G#TubzdWV9}LE2GM?@RcCA39H}M4wF4_{;>!W#>{RV+>VaZ@&b`PcqnrN9U#EQk4a4s+|9sMfDCW*OboqH6T;4nwoG)qNC4)&A9a1)SZgSV2{~3M?@vrB&@cP{= z9mhg63f32#CM(`sz2e}i`#(7FI|Halsw0WNgLlt%T6nO!WkTfAiP@o19t|dwzu~nd zwWX*?X=$}-EWLO+1HPeQVXrSGZ|tAhEG?;cN{bxROd+-)60_>$BN7(&Y85ch9ifn-gi`5x2%yrC}#TO5sVC#$FA;=qwlUM^XtUe#%8B^q@(60b2~$&&XH7$QcobA`+-Z~iIfsD;-3mnnF4jlA7)g$53%B=uW_YDImpI$>(u1N|p{6=f@=%Q&wS#dAqx zpkhKQa#igms3_vz1i)@-02eFDeYwN3UoUQ3c+KHOd8sQZDJhzk<-9LT^19nYJuz86 z_6J#)+upT3nl#KAaJ-d}lNFox_1w@syD!TboRkh~*tWI4pafGG4zB*e%<+0|VO!Ve zD2Hgh?V7iLr}=h#+kW!d7U85@+}|$M0OTLu?@UV$F_aQhm!a#t`kaghQ;-7KEwRWM z7|Uy-rA{?wqZeKwCOkkK5c5anp;PKZ{3!{Jzn1Ax4N5GNby80Cb75EmI_4$so<)PJUCj=MOh^LUlsn~PoFRb+Q(^BPyD z;}t0vUNlB_UlqB>jwiXow!e*PKn*SsxVH4ZcJTj?)0!MvB+jq6dG=vFeYMWlyVouU zeLVkCgqnZY=%BTER=csOx&G1{?N~uR8n@M2Rb}CaveK$2+Y5Bos_rHq^dlP|$}%ol zPZLPf#S0`m^!X~hHk^8ymcZ^`VN&qDKE%LGWL_i0;81pqsSdjgy?|S+^IrGoIqs^tA!z2BqfKXMFVq@y6q^Y$oCy#c72@&5K zz~Xp(BE@)|%g4NAx{Se>J?8=Adh5Z~#}lQ*%)Mq;P7ht%!sdMV?aSPuj01eu<(65V zkDXMK%ipi+eTF;fb@StMN0<>Q;78O*a5Ee6ht2==3n$$|4iSG1&?BNX?5*_wJ_iGh zpKDmP#DD9SnsK6)JhnaY_y51XzEQ86^t$U+w1knNpV-%kN|gEv3y-z-5fo zI0HVRiMjb7gxEOC8~tXS)AINC_w+1!{P--y?e-HF0a3F;kv}3SDar8F!Q=MQZfDP) zb#sFP?Dv5IyJ71Sfs1p*kckrR8bAN9hm;r-QtOtJCr?5M&p=YIoBYED;H#XR96J3e zc&x8nJniY(?pUZ7Z*M3lC>XCG5KYTzODKV5#l*6nu9GDG@c(%R*^QJ*qzJ0KyemY6 z9UL48S$s0t8*sT}-n+Uw$Zb`AZMZoloSLTdt^iE1e`Gc}K4 z<38>Q2tCw{u60}Q>;XXq2TmnGM9(NyH8q;E)g9=IDlIKdJWV5B3UB&(boB6UPM!h3 z&({u;-W)bJ?|=k+;+;Ey`8RLb!p_c~dhZ^gnGCrTGxJ3P4+4a7_wHR_RI-wiAE3;P z1Qm+c^YT*QWU!>IkhVu2)&j9xozS!j1pF*o12dIh!{y2 zlI#xwr01jEM^i>+!^4L+2FIhQI(8b_vz0W#9o`1YAh13-WMT0rnlkP5*)`a zRysL3(G9UTZEWXz%6%;h9os4{T zO}WbY(;sG2Q3ZgV8uohyD*gE#Cx8C5@f}mbc4c8nK$e}>y~Ft)QcE#+lp!IY;@pL(1#Q8;Un`wJ>`(HR*h z-whmgHP(PCPXuC6Z6%9TiIi171wrtcT%`*QUv zM}%hdjT_C_RA|(px@}uQI9Xv#wsgoRxRqs?-xgyp1BS8X9qTB5yEp)ro$tIdQ!qUVlK}2ySZQHhOL|r{fI8n<~1dWOEaz8seyF_c=*EZ$) z@vmOJ0uTr!>XvEFPV`>QT)5T*Nk?`nazM#yGpM*FQ_;87sQBjcpY0SLJ8$nN#l^p| zDGM#ek~M-Hx1EUjcOGR?+7+{lH~X)@k%h(Z*qCgvL6$KRht`IM%|v%v0Q0(0!&s~y zPS|dT@o+@(D;jK`JXwsHm2S9m=MHW6?rAMHHnw02pxkp-)_ku!(e;Ye5*nQo{81XX&=XBbVQ#Y9ZZs_r^S+aM`{ z+{4IB^O5#pzp9N=QWKMtY~0*8{c}|)cU8_B^hOMmNCM&7do+wS$q((D*3CahHwjj1 zk!!E@H$IlLZ4{mX7(v;M8zV*3AF{@OJlg_|#6hb6J*{Pll~ z21Hp$pglI*M~t}QGwhs%q`b7WwB4ax=5R$<3vEC_n=IW#K;XdTsZSGiN56>ADco$+o$5{W>+6=%6jz#m>p;apug^B);H* zWDSYepFSPwi`9L$FzXZ)3vtVA<7`-F?F-mGDEhj3^{Q%xLHw;tw-vZWb{+1v8yXq0 zZ1@$g;B@3*_g{8WM9us6W{ba^V7>0=O=2QpI3cB-o9sD0T2w09Em87$V41|bK<1TZ1syVZW=1l@9MWIc0>a41g=ed{t?WMovkgJ z3YVbTsAlA3Rheu0fi%*QeF=%#b3w&1Z-Ob8FJG?FMT3WRvio&)TR6ofB-p9YB{Z?N zmWz1t@}*R4J@(qrdzgs}u<0dRc;Inkbm-#?dpkNh5Lgj%L_43U$FCo{lH4}`+;Y}e zW8c1gvAXmY2RNu{78Y*dQvm6|ykH%A4|@PKzOJh33)Bso>tHcqDvS`S&G((Z9m3A1 z6OQ1pK*SDJDbtg~N1nm$C>}Y_mGV4T%5VRB-hGcpU=2p5ZX8*_&L)0C<*~B@4x*@{ zbiSg=%A&kJybn#$wRL}wb!Di@S=GPp?)F2EG;9b{$yGf)J%9fEX*L|1$w4$RJPhp| zx!@nae@9)t>JD#x<_w@Ko8f7(s=3y=c}>;twkW;B{>58|P#{4Nyl@231)NDp$lfDI zK0&E^WOVdCvR2BzLo+gk7P)PX5Q$Cl8CXl*1K%3TDIo556iFo7eEF{UoO4ME(`#91 zL9CC<%H|-_RGgphJ#gz}RdqG$`}$Ez83*5 zKQLCaeF!|*SXn!so;`^sI2jq=Aknpkm)F+WSypx$p}ex|-G#)FUPwkDd%sOwTwF%R z38fZ15(h?MeS^w`75SRu%)i=Y2`GQqSYBQ(4>y8RF9enF3YvTNTou}0govx;B3uYm z0dyCwrBHy_iEu(g<9PrB(=L!8&?rUmlkUYozWJ<1HlbWXh?g=hO!Eh^wlp_SLTEA~ zGIE#upn-$K5Ro)Qo@BT;Ls;P#JY*m`zJ&${4@M~*Z3oC1pz_r3ZxMxtp!BVG(@7_% z9Gi4VGQrew=C~y;EG*30cx{05LkG>%R$U=GVs73vGd3nuPn|lIz42O+Uf-KXaG20j z>&>AHTv<=v52DZlReJ4n@iZcs#W>i zlzq?&@z*5=2_+1qC)^gfrsR~;a~iR_A(ZA&&c5EXwd9;QyN zyz`-}i=9ebNJb{&W?XFS&`pMjYUHy@;)sAhc6oE$E4#~@HNls~!&o1);>4&R0mE>^ zzcEoD^*fST%(m)%*S0>DR@R-U{qLjcmsuZY0gh0RXfCV@rkI&B}OwWE97!dc{hmBY3ou#-&Q1FzkZQF-LjUJ@mHU!r-G;CS8 z!o$axVVV;{Ib6K@|8X(0&_tN zLouHEg~O>$8_gf>AveKp_LbfyaYo>=5lk#SwjB!bO_Y_3A>0jzBC%mZW*ZSDeE;z9 zIO>yWWHq%4xbuV(t-8p>#BQwG5DL*GUgd1MJC~lL<1mOnH*VZmQfA2;=O0n8K3cVh z=S6Tw>*?d?NOm*c=&eXbK<>-HATU zPEI2T2D93RAz-ZsJq9d6M5GZN(*3D$%^DgSfq{W-yppS~px_a$-)d@Wwa8SzrxQPa zA~NklGL!$o!8(qmrKR`tUZZ1S`Zxng*ucl<56&(o(y{0-@1AOzEQL4LJbE+*>mfBY zHOrS_A!zC0(qH|DLTo#+ia50X{|z_%?_kH$S+_DsQcmven>V~P93b&pMM}o$85uck zjuH|QCr^H>8O~#a6ef*~8OJci=SQeE+bd#yL;Ks>+Bz~aGTnuRWMDQ*T}Fzhqwx<; z1%-&9Fm#wVC1d90%RRyRq|~ z?OrY*wxOu(%H_+OOwa)R6x;%7Kvqe~14rrf@q2$@oBtB+8-|+2sKKSBf1xaLBKv@$ zkr7VHI27DKXvJc!?e0DWMF*k^HY$Q4K!rejUiT3EIE3y-UQI-EBDw9`Etf*F`}gmI zLDkVJ)bi3r7v?IVWCclK(_7+&l(9tMEP>ESh>J_d&ZRs~>HqpwTMhZ`=7K~* z0m#Px51n!kFPuKMjFiBzYa1Tf8GfG@hGsvve%#-xf_2f%y?V9yg43hW&|2tu;6U12 z>gC#k1m_!)FY%7f5Q~|Zn9zz6PTX?xfVa0dR_gaZ*AQ*ko;WcxI}1Hl{*5~N`cV-P zSXPAAw95~ILWRf`@oZF-{^7$P;ayr6@CxsgG*1DRPZ*pewfDnaL$mC$?cuP zujH*t;IF=+TzOYHJG}yv--V&d_h)zD@a3 z_};oDA~+PJ3j|IP;l<8f;>4+HHV6t@JTzz@Eyk;QWIwO9$DM$A6dteT>I>ciG-f__ zUl61Xuiv#wLhmG0xwknMYHWca1fl8n#L3?{x?KqmpO(SFOE%aWA}siu$KN*>gMys= zx!WA4G3F6bk3HPoKR&Vz&l^RlamE>LH0#mebXtJgOfUuUE-Nc5(5$WArx3dXwc!wU z!&Bj;%&&GGgRi4=#h)JY6|9Vh4@;g~m!D&$B5){x=>j?t6uXRtWu(U%odbgC*!Io$ zfVI@s?duc94nk?8$fxZ<0fs6%ogSQzErSTa+O=z~ zO5E4(I{yU0gpN)t1hYx!?4CCP23=v=a^B;8NLZpNhB(lR>Vb`t& zIBh~Ej5v%u^YhJmR9037FVrli2ON=^OYj3m2Zq75yJQ-&gd<(W-(e>>dtONk?KErNN4UY@65G-+W(dx!k|(-2gJUB>C%9jyf1uX}*%iBGJc zaja1g-Laz#xuZ>kcCf2N4b;4kyETRGCJ|HDZyFzn)e~&}2b_EUC$-ec( z>6U_Mta|2=GA#^fEh`nS^eWRgNZ>mDaa)Q3p&Qp6rGEp~MmzNOu&2kad~|1T@&2(y zB8!QO(^>l+O9qd?M_ZGo@d}mz2T`XEz3)Bc5#RSVrR-)&@rrF7CZO-x&$nHlp*c>Y z4N&=eNQDqox8J9bG~)V(5FjB6mGcTXP)SI912av<_t*V}$Ok1YFDw39oJcO=`AqQA zu?A0`IALFC5kk8j7bhNk8V5=+kgtX#$3Yj7vo5ngZDJxKlGIsn(9m$5t-_GK$#Kw2 z_vz`CeX}m~o&5bh#)51!9H=)~W3wJGl{$z z8_P;v#TMc|o77sfK5B>I&sbVSAAQ0@D<@4RCr@PP$a~di0yWA7jn~_eQOI)AOl<;2 zEiGaw|EBd4l1@0L5KyjbuP~ATh7plf4Uy3Zj9p ztm5T`7@@YRQQohs@9J}G+QtTM{JQb9q(tXigO9Io(oWy@hK3Q?3a7BGX+k$>VQ^v6 z>$7VYRmyA!-Mv?k^-zTIoDPQV?p(xpott0ubaa|~ZM+aJAtH>6iBWWSh4T5mg}e#` z;d?bT*{C18yFJ#*Z``QIb_(ueJL1iSYM2#ydOJ};A?LjDP<|!Q4@470e~Nd(Qc_Z| zO^5@Anr+c4)x(F4`U3Fmw|7Yoy4G5no2$U~&&+sJU%;59ZQqH=b>rbD24v8%FN0KW zwHU{ZJ!kRoSjdu)3kaY4gl=z2uW%l8ajrP>oN=B%*HmUY8Ht-$6jA~wan?}O2Y5_0 zaskEjWSQiS9XRIDV`F2fR4Re~z(;9n))49+KxpO(-ZpweRC|bZe@I45NEFmS8st3A z5qRU+n>Wz|BM-RqA{Pse$lM$pWjHDvIdTNB9z3)n|Ndjg?ztcS3V|tQtjZGiFGE9r z&~r=Hx@_B~O%D;6;qVI^0}ZtXtZ$&(bbm*m%L&8#`0C8_k32{04_Mg7)btmUL%Lp3 zgIH}iJbT0v5|Q7MF5Hcee}X*NlP6CqE7i5MYWw?746SO!HqpNPP`D7T4X751KVbWu z(5DqM-GSAfarfLXoFa}Ed)?gJPM^+CP3^YX(_gNnwAMGFv1}g`L;#~HIV4x>pO2Zq+(NE}Q-h{}93>vetoEU4B9@LL@V zZ{BI-@?d#V< z;4|3TI7zo#tvCLLgDJ{Oavw$e)-Rm_zhNokn24ad3xcXREOm8tz5gn;3%WM=jjxXn zoZS#MB94D*o}-5lA!3c}hU#Ng)zzS+eylS%zPELC203lOg#NDq2Z|OhT*!75m{Z#M z<;9%70O!8G@AJ$DPIB)4ID7KkxpU{u%S%oMwr%A9egqa7p3C#9s;ghm*Zm1}Eb#PA z6JXyG*jxeT8en<{PLAgTi-)uNk_>0SOF*s||8>ZC7019}3Thex0q$iDzk!X6hAK1Q z%mHx364(SebfuSp;a%fu;Gs951t*0Ru1lcr!W8t8A_BJms(0COP&Yk3rxg@Np00i_ I>zopr0DK&_O#lD@ diff --git a/previews/PR223/assets/rxezlfx.CTQklLCP.png b/previews/PR223/assets/rxezlfx.CTQklLCP.png deleted file mode 100644 index b0fbd8931bc2000f4d096b1401c713373a56db0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59618 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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/gjbmlxs.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.CTMtCCBJ.js b/previews/PR223/assets/source_methods_angles.md.upuhPtDU.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_angles.md.CTMtCCBJ.js
    rename to previews/PR223/assets/source_methods_angles.md.upuhPtDU.lean.js
    index 189364ca0..fcea03441 100644
    --- a/previews/PR223/assets/source_methods_angles.md.CTMtCCBJ.js
    +++ b/previews/PR223/assets/source_methods_angles.md.upuhPtDU.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/aoipqcv.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/gjbmlxs.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.BXopeq0f.js b/previews/PR223/assets/source_methods_area.md.D3r3WiYF.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_area.md.BXopeq0f.js
    rename to previews/PR223/assets/source_methods_area.md.D3r3WiYF.js
    index d8254d0d1..ee2b1065f 100644
    --- a/previews/PR223/assets/source_methods_area.md.BXopeq0f.js
    +++ b/previews/PR223/assets/source_methods_area.md.D3r3WiYF.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/aoipqcv.Dig-DWOQ.png",e="/GeometryOps.jl/previews/PR223/assets/uatpmar.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/gjbmlxs.Dig-DWOQ.png",e="/GeometryOps.jl/previews/PR223/assets/ztcrfou.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.BXopeq0f.lean.js b/previews/PR223/assets/source_methods_area.md.D3r3WiYF.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_area.md.BXopeq0f.lean.js
    rename to previews/PR223/assets/source_methods_area.md.D3r3WiYF.lean.js
    index d8254d0d1..ee2b1065f 100644
    --- a/previews/PR223/assets/source_methods_area.md.BXopeq0f.lean.js
    +++ b/previews/PR223/assets/source_methods_area.md.D3r3WiYF.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/aoipqcv.Dig-DWOQ.png",e="/GeometryOps.jl/previews/PR223/assets/uatpmar.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/gjbmlxs.Dig-DWOQ.png",e="/GeometryOps.jl/previews/PR223/assets/ztcrfou.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.5f4UddJg.js b/previews/PR223/assets/source_methods_barycentric.md.CzZncmJl.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_barycentric.md.5f4UddJg.js
    rename to previews/PR223/assets/source_methods_barycentric.md.CzZncmJl.js
    index 61a4a2909..1c2ea7527 100644
    --- a/previews/PR223/assets/source_methods_barycentric.md.5f4UddJg.js
    +++ b/previews/PR223/assets/source_methods_barycentric.md.CzZncmJl.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/agebpoz.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/klrwoer.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.5f4UddJg.lean.js b/previews/PR223/assets/source_methods_barycentric.md.CzZncmJl.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_barycentric.md.5f4UddJg.lean.js
    rename to previews/PR223/assets/source_methods_barycentric.md.CzZncmJl.lean.js
    index 61a4a2909..1c2ea7527 100644
    --- a/previews/PR223/assets/source_methods_barycentric.md.5f4UddJg.lean.js
    +++ b/previews/PR223/assets/source_methods_barycentric.md.CzZncmJl.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/agebpoz.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/klrwoer.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.BeZryoQV.js b/previews/PR223/assets/source_methods_centroid.md.YD8bCMDe.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_centroid.md.BeZryoQV.js
    rename to previews/PR223/assets/source_methods_centroid.md.YD8bCMDe.js
    index a83b9de00..941d71765 100644
    --- a/previews/PR223/assets/source_methods_centroid.md.BeZryoQV.js
    +++ b/previews/PR223/assets/source_methods_centroid.md.YD8bCMDe.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/mwktlfb.BD0hVfse.png",k="/GeometryOps.jl/previews/PR223/assets/asveida.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/hxyundz.BD0hVfse.png",k="/GeometryOps.jl/previews/PR223/assets/mtkwylx.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.BeZryoQV.lean.js b/previews/PR223/assets/source_methods_centroid.md.YD8bCMDe.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_centroid.md.BeZryoQV.lean.js
    rename to previews/PR223/assets/source_methods_centroid.md.YD8bCMDe.lean.js
    index a83b9de00..941d71765 100644
    --- a/previews/PR223/assets/source_methods_centroid.md.BeZryoQV.lean.js
    +++ b/previews/PR223/assets/source_methods_centroid.md.YD8bCMDe.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/mwktlfb.BD0hVfse.png",k="/GeometryOps.jl/previews/PR223/assets/asveida.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/hxyundz.BD0hVfse.png",k="/GeometryOps.jl/previews/PR223/assets/mtkwylx.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.BoQQ7tcy.js b/previews/PR223/assets/source_methods_clipping_coverage.md.C_Hyf7aG.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_clipping_coverage.md.BoQQ7tcy.js
    rename to previews/PR223/assets/source_methods_clipping_coverage.md.C_Hyf7aG.js
    index c05a06374..4941422f2 100644
    --- a/previews/PR223/assets/source_methods_clipping_coverage.md.BoQQ7tcy.js
    +++ b/previews/PR223/assets/source_methods_clipping_coverage.md.C_Hyf7aG.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/dlyahbl.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/tlraepm.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.BoQQ7tcy.lean.js b/previews/PR223/assets/source_methods_clipping_coverage.md.C_Hyf7aG.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_clipping_coverage.md.BoQQ7tcy.lean.js
    rename to previews/PR223/assets/source_methods_clipping_coverage.md.C_Hyf7aG.lean.js
    index c05a06374..4941422f2 100644
    --- a/previews/PR223/assets/source_methods_clipping_coverage.md.BoQQ7tcy.lean.js
    +++ b/previews/PR223/assets/source_methods_clipping_coverage.md.C_Hyf7aG.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/dlyahbl.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/tlraepm.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.rF9braH0.js b/previews/PR223/assets/source_methods_clipping_cut.md.6BFyK6po.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_clipping_cut.md.rF9braH0.js
    rename to previews/PR223/assets/source_methods_clipping_cut.md.6BFyK6po.js
    index 052dfe34f..19ba39e70 100644
    --- a/previews/PR223/assets/source_methods_clipping_cut.md.rF9braH0.js
    +++ b/previews/PR223/assets/source_methods_clipping_cut.md.6BFyK6po.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/mwqumqa.-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/uzrwkyb.-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.rF9braH0.lean.js b/previews/PR223/assets/source_methods_clipping_cut.md.6BFyK6po.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_clipping_cut.md.rF9braH0.lean.js
    rename to previews/PR223/assets/source_methods_clipping_cut.md.6BFyK6po.lean.js
    index 052dfe34f..19ba39e70 100644
    --- a/previews/PR223/assets/source_methods_clipping_cut.md.rF9braH0.lean.js
    +++ b/previews/PR223/assets/source_methods_clipping_cut.md.6BFyK6po.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/mwqumqa.-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/uzrwkyb.-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.DnZQet05.js b/previews/PR223/assets/source_methods_convex_hull.md.cbwZFasG.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_convex_hull.md.DnZQet05.js
    rename to previews/PR223/assets/source_methods_convex_hull.md.cbwZFasG.js
    index b83fb4a62..f593fa592 100644
    --- a/previews/PR223/assets/source_methods_convex_hull.md.DnZQet05.js
    +++ b/previews/PR223/assets/source_methods_convex_hull.md.cbwZFasG.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/cyucmbv.DC4y0VyW.png",h="/GeometryOps.jl/previews/PR223/assets/lauqdma.mCtKcWOr.png",e="/GeometryOps.jl/previews/PR223/assets/rxezlfx.CTQklLCP.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 t="/GeometryOps.jl/previews/PR223/assets/wcaofkd.Bjs3GBTk.png",h="/GeometryOps.jl/previews/PR223/assets/ebhntcy.mCtKcWOr.png",e="/GeometryOps.jl/previews/PR223/assets/pomvvgz.CuWV1WnB.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)
    diff --git a/previews/PR223/assets/source_methods_convex_hull.md.DnZQet05.lean.js b/previews/PR223/assets/source_methods_convex_hull.md.cbwZFasG.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_convex_hull.md.DnZQet05.lean.js
    rename to previews/PR223/assets/source_methods_convex_hull.md.cbwZFasG.lean.js
    index b83fb4a62..f593fa592 100644
    --- a/previews/PR223/assets/source_methods_convex_hull.md.DnZQet05.lean.js
    +++ b/previews/PR223/assets/source_methods_convex_hull.md.cbwZFasG.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/cyucmbv.DC4y0VyW.png",h="/GeometryOps.jl/previews/PR223/assets/lauqdma.mCtKcWOr.png",e="/GeometryOps.jl/previews/PR223/assets/rxezlfx.CTQklLCP.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 t="/GeometryOps.jl/previews/PR223/assets/wcaofkd.Bjs3GBTk.png",h="/GeometryOps.jl/previews/PR223/assets/ebhntcy.mCtKcWOr.png",e="/GeometryOps.jl/previews/PR223/assets/pomvvgz.CuWV1WnB.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)
    diff --git a/previews/PR223/assets/source_methods_distance.md.BpcI5Aid.js b/previews/PR223/assets/source_methods_distance.md.Bdzu_X22.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_distance.md.BpcI5Aid.js
    rename to previews/PR223/assets/source_methods_distance.md.Bdzu_X22.js
    index 5d567c537..b8bd85dbf 100644
    --- a/previews/PR223/assets/source_methods_distance.md.BpcI5Aid.js
    +++ b/previews/PR223/assets/source_methods_distance.md.Bdzu_X22.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/uxlfbie.DiwGEg2f.png",k="/GeometryOps.jl/previews/PR223/assets/qtrpchs.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/fidxlsx.DiwGEg2f.png",k="/GeometryOps.jl/previews/PR223/assets/bmacnmz.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.BpcI5Aid.lean.js b/previews/PR223/assets/source_methods_distance.md.Bdzu_X22.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_distance.md.BpcI5Aid.lean.js
    rename to previews/PR223/assets/source_methods_distance.md.Bdzu_X22.lean.js
    index 5d567c537..b8bd85dbf 100644
    --- a/previews/PR223/assets/source_methods_distance.md.BpcI5Aid.lean.js
    +++ b/previews/PR223/assets/source_methods_distance.md.Bdzu_X22.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/uxlfbie.DiwGEg2f.png",k="/GeometryOps.jl/previews/PR223/assets/qtrpchs.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/fidxlsx.DiwGEg2f.png",k="/GeometryOps.jl/previews/PR223/assets/bmacnmz.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.1xJjnk6G.js b/previews/PR223/assets/source_methods_equals.md.ButfUZdG.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_equals.md.1xJjnk6G.js
    rename to previews/PR223/assets/source_methods_equals.md.ButfUZdG.js
    index 6b7aa7d2c..2c1481e38 100644
    --- a/previews/PR223/assets/source_methods_equals.md.1xJjnk6G.js
    +++ b/previews/PR223/assets/source_methods_equals.md.ButfUZdG.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/aeyryqm.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/blqgedn.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.1xJjnk6G.lean.js b/previews/PR223/assets/source_methods_equals.md.ButfUZdG.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_equals.md.1xJjnk6G.lean.js
    rename to previews/PR223/assets/source_methods_equals.md.ButfUZdG.lean.js
    index 6b7aa7d2c..2c1481e38 100644
    --- a/previews/PR223/assets/source_methods_equals.md.1xJjnk6G.lean.js
    +++ b/previews/PR223/assets/source_methods_equals.md.ButfUZdG.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/aeyryqm.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/blqgedn.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.DqcOInUF.js b/previews/PR223/assets/source_methods_geom_relations_contains.md.BoL57JL7.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_contains.md.DqcOInUF.js
    rename to previews/PR223/assets/source_methods_geom_relations_contains.md.BoL57JL7.js
    index 90ab819ef..fa48cf8e9 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_contains.md.DqcOInUF.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_contains.md.BoL57JL7.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/hhxokux._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/uicozrk._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.DqcOInUF.lean.js b/previews/PR223/assets/source_methods_geom_relations_contains.md.BoL57JL7.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_contains.md.DqcOInUF.lean.js
    rename to previews/PR223/assets/source_methods_geom_relations_contains.md.BoL57JL7.lean.js
    index 90ab819ef..fa48cf8e9 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_contains.md.DqcOInUF.lean.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_contains.md.BoL57JL7.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/hhxokux._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/uicozrk._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.h-u0TBeO.js b/previews/PR223/assets/source_methods_geom_relations_coveredby.md.cROtFb1L.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_coveredby.md.h-u0TBeO.js
    rename to previews/PR223/assets/source_methods_geom_relations_coveredby.md.cROtFb1L.js
    index b9c68044e..01ace10ec 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_coveredby.md.h-u0TBeO.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_coveredby.md.cROtFb1L.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/atbogdl.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/nehkfku.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.h-u0TBeO.lean.js b/previews/PR223/assets/source_methods_geom_relations_coveredby.md.cROtFb1L.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_coveredby.md.h-u0TBeO.lean.js
    rename to previews/PR223/assets/source_methods_geom_relations_coveredby.md.cROtFb1L.lean.js
    index b9c68044e..01ace10ec 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_coveredby.md.h-u0TBeO.lean.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_coveredby.md.cROtFb1L.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/atbogdl.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/nehkfku.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.D7uNA4Ay.js b/previews/PR223/assets/source_methods_geom_relations_covers.md.CDxzQwKd.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_covers.md.D7uNA4Ay.js
    rename to previews/PR223/assets/source_methods_geom_relations_covers.md.CDxzQwKd.js
    index 3b0981dc1..d17e38597 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_covers.md.D7uNA4Ay.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_covers.md.CDxzQwKd.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/atbogdl.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/nehkfku.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.D7uNA4Ay.lean.js b/previews/PR223/assets/source_methods_geom_relations_covers.md.CDxzQwKd.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_covers.md.D7uNA4Ay.lean.js
    rename to previews/PR223/assets/source_methods_geom_relations_covers.md.CDxzQwKd.lean.js
    index 3b0981dc1..d17e38597 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_covers.md.D7uNA4Ay.lean.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_covers.md.CDxzQwKd.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/atbogdl.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/nehkfku.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.D6k5JY_2.js b/previews/PR223/assets/source_methods_geom_relations_disjoint.md.B5cW57zI.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_disjoint.md.D6k5JY_2.js
    rename to previews/PR223/assets/source_methods_geom_relations_disjoint.md.B5cW57zI.js
    index 8792a9917..20b030754 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_disjoint.md.D6k5JY_2.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_disjoint.md.B5cW57zI.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/axkntzg.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/mdimjbm.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.D6k5JY_2.lean.js b/previews/PR223/assets/source_methods_geom_relations_disjoint.md.B5cW57zI.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_disjoint.md.D6k5JY_2.lean.js
    rename to previews/PR223/assets/source_methods_geom_relations_disjoint.md.B5cW57zI.lean.js
    index 8792a9917..20b030754 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_disjoint.md.D6k5JY_2.lean.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_disjoint.md.B5cW57zI.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/axkntzg.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/mdimjbm.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.JCqk-z9X.js b/previews/PR223/assets/source_methods_geom_relations_intersects.md.CJwei8bT.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_intersects.md.JCqk-z9X.js
    rename to previews/PR223/assets/source_methods_geom_relations_intersects.md.CJwei8bT.js
    index eae9fe53d..1e74b7470 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_intersects.md.JCqk-z9X.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_intersects.md.CJwei8bT.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/nqzlexw.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/qlzwqxu.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.JCqk-z9X.lean.js b/previews/PR223/assets/source_methods_geom_relations_intersects.md.CJwei8bT.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_intersects.md.JCqk-z9X.lean.js
    rename to previews/PR223/assets/source_methods_geom_relations_intersects.md.CJwei8bT.lean.js
    index eae9fe53d..1e74b7470 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_intersects.md.JCqk-z9X.lean.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_intersects.md.CJwei8bT.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/nqzlexw.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/qlzwqxu.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.C2vgBSzp.js b/previews/PR223/assets/source_methods_geom_relations_overlaps.md.Dq8ENWxl.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_overlaps.md.C2vgBSzp.js
    rename to previews/PR223/assets/source_methods_geom_relations_overlaps.md.Dq8ENWxl.js
    index e2a12379d..10a31a205 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_overlaps.md.C2vgBSzp.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_overlaps.md.Dq8ENWxl.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/aeyryqm.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/blqgedn.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.C2vgBSzp.lean.js b/previews/PR223/assets/source_methods_geom_relations_overlaps.md.Dq8ENWxl.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_overlaps.md.C2vgBSzp.lean.js
    rename to previews/PR223/assets/source_methods_geom_relations_overlaps.md.Dq8ENWxl.lean.js
    index e2a12379d..10a31a205 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_overlaps.md.C2vgBSzp.lean.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_overlaps.md.Dq8ENWxl.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/aeyryqm.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/blqgedn.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.D3r8Cap_.js b/previews/PR223/assets/source_methods_geom_relations_touches.md.D8JlYW-C.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_touches.md.D3r8Cap_.js
    rename to previews/PR223/assets/source_methods_geom_relations_touches.md.D8JlYW-C.js
    index 9b7750e96..900c15ebb 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_touches.md.D3r8Cap_.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_touches.md.D8JlYW-C.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/iuruyrw.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/gcpjevp.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.D3r8Cap_.lean.js b/previews/PR223/assets/source_methods_geom_relations_touches.md.D8JlYW-C.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_touches.md.D3r8Cap_.lean.js
    rename to previews/PR223/assets/source_methods_geom_relations_touches.md.D8JlYW-C.lean.js
    index 9b7750e96..900c15ebb 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_touches.md.D3r8Cap_.lean.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_touches.md.D8JlYW-C.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/iuruyrw.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/gcpjevp.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.t05a5xYq.js b/previews/PR223/assets/source_methods_geom_relations_within.md.CY92463r.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_within.md.t05a5xYq.js
    rename to previews/PR223/assets/source_methods_geom_relations_within.md.CY92463r.js
    index 47b693001..fa6dc9903 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_within.md.t05a5xYq.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_within.md.CY92463r.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/hhxokux._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/uicozrk._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.t05a5xYq.lean.js b/previews/PR223/assets/source_methods_geom_relations_within.md.CY92463r.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_methods_geom_relations_within.md.t05a5xYq.lean.js
    rename to previews/PR223/assets/source_methods_geom_relations_within.md.CY92463r.lean.js
    index 47b693001..fa6dc9903 100644
    --- a/previews/PR223/assets/source_methods_geom_relations_within.md.t05a5xYq.lean.js
    +++ b/previews/PR223/assets/source_methods_geom_relations_within.md.CY92463r.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/hhxokux._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/uicozrk._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.DYjxvsJj.js b/previews/PR223/assets/source_src_apply.md.CMBNO61I.js
    similarity index 99%
    rename from previews/PR223/assets/source_src_apply.md.DYjxvsJj.js
    rename to previews/PR223/assets/source_src_apply.md.CMBNO61I.js
    index 2952dd7e8..a997ee0a5 100644
    --- a/previews/PR223/assets/source_src_apply.md.DYjxvsJj.js
    +++ b/previews/PR223/assets/source_src_apply.md.CMBNO61I.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.DYjxvsJj.lean.js b/previews/PR223/assets/source_src_apply.md.CMBNO61I.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_src_apply.md.DYjxvsJj.lean.js
    rename to previews/PR223/assets/source_src_apply.md.CMBNO61I.lean.js
    index 2952dd7e8..a997ee0a5 100644
    --- a/previews/PR223/assets/source_src_apply.md.DYjxvsJj.lean.js
    +++ b/previews/PR223/assets/source_src_apply.md.CMBNO61I.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.CsA0wozr.js b/previews/PR223/assets/source_src_other_primitives.md.CuWgCcMg.js
    similarity index 99%
    rename from previews/PR223/assets/source_src_other_primitives.md.CsA0wozr.js
    rename to previews/PR223/assets/source_src_other_primitives.md.CuWgCcMg.js
    index 136574fa5..992f3fb09 100644
    --- a/previews/PR223/assets/source_src_other_primitives.md.CsA0wozr.js
    +++ b/previews/PR223/assets/source_src_other_primitives.md.CuWgCcMg.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.CsA0wozr.lean.js b/previews/PR223/assets/source_src_other_primitives.md.CuWgCcMg.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_src_other_primitives.md.CsA0wozr.lean.js
    rename to previews/PR223/assets/source_src_other_primitives.md.CuWgCcMg.lean.js
    index 136574fa5..992f3fb09 100644
    --- a/previews/PR223/assets/source_src_other_primitives.md.CsA0wozr.lean.js
    +++ b/previews/PR223/assets/source_src_other_primitives.md.CuWgCcMg.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.DF0LZ2pv.js b/previews/PR223/assets/source_transformations_correction_geometry_correction.md.DLKdBqqy.js
    similarity index 97%
    rename from previews/PR223/assets/source_transformations_correction_geometry_correction.md.DF0LZ2pv.js
    rename to previews/PR223/assets/source_transformations_correction_geometry_correction.md.DLKdBqqy.js
    index 5c79492e6..e12734307 100644
    --- a/previews/PR223/assets/source_transformations_correction_geometry_correction.md.DF0LZ2pv.js
    +++ b/previews/PR223/assets/source_transformations_correction_geometry_correction.md.DLKdBqqy.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"},c={class:"jldocstring custom-block",open:""},k={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",c,[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"},c={class:"jldocstring custom-block",open:""},k={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,b,F,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",c,[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",k,[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",k,[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.DF0LZ2pv.lean.js b/previews/PR223/assets/source_transformations_correction_geometry_correction.md.DLKdBqqy.lean.js similarity index 97% rename from previews/PR223/assets/source_transformations_correction_geometry_correction.md.DF0LZ2pv.lean.js rename to previews/PR223/assets/source_transformations_correction_geometry_correction.md.DLKdBqqy.lean.js index 5c79492e6..e12734307 100644 --- a/previews/PR223/assets/source_transformations_correction_geometry_correction.md.DF0LZ2pv.lean.js +++ b/previews/PR223/assets/source_transformations_correction_geometry_correction.md.DLKdBqqy.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"},c={class:"jldocstring custom-block",open:""},k={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",c,[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"},c={class:"jldocstring custom-block",open:""},k={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,b,F,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",c,[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",k,[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",k,[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.p2tHvMCA.js b/previews/PR223/assets/source_transformations_segmentize.md.DOI6H3S8.js similarity index 99% rename from previews/PR223/assets/source_transformations_segmentize.md.p2tHvMCA.js rename to previews/PR223/assets/source_transformations_segmentize.md.DOI6H3S8.js index 705b7419f..c1ca72d7f 100644 --- a/previews/PR223/assets/source_transformations_segmentize.md.p2tHvMCA.js +++ b/previews/PR223/assets/source_transformations_segmentize.md.DOI6H3S8.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/zmeroon.D5-bot8v.png",l="/GeometryOps.jl/previews/PR223/assets/qsmmicn.bBYqkLs5.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/lpqxuig.D5-bot8v.png",l="/GeometryOps.jl/previews/PR223/assets/qdorhiy.BIP3BpPa.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.p2tHvMCA.lean.js b/previews/PR223/assets/source_transformations_segmentize.md.DOI6H3S8.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_transformations_segmentize.md.p2tHvMCA.lean.js
    rename to previews/PR223/assets/source_transformations_segmentize.md.DOI6H3S8.lean.js
    index 705b7419f..c1ca72d7f 100644
    --- a/previews/PR223/assets/source_transformations_segmentize.md.p2tHvMCA.lean.js
    +++ b/previews/PR223/assets/source_transformations_segmentize.md.DOI6H3S8.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/zmeroon.D5-bot8v.png",l="/GeometryOps.jl/previews/PR223/assets/qsmmicn.bBYqkLs5.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/lpqxuig.D5-bot8v.png",l="/GeometryOps.jl/previews/PR223/assets/qdorhiy.BIP3BpPa.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.Yt3iEAK6.js b/previews/PR223/assets/source_transformations_simplify.md.XMQQ-eoJ.js
    similarity index 99%
    rename from previews/PR223/assets/source_transformations_simplify.md.Yt3iEAK6.js
    rename to previews/PR223/assets/source_transformations_simplify.md.XMQQ-eoJ.js
    index 221620a63..04553403a 100644
    --- a/previews/PR223/assets/source_transformations_simplify.md.Yt3iEAK6.js
    +++ b/previews/PR223/assets/source_transformations_simplify.md.XMQQ-eoJ.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/ojxakzf.Bglvb-jp.png",k="/GeometryOps.jl/previews/PR223/assets/gxumdfo.B94PsR1K.png",t="/GeometryOps.jl/previews/PR223/assets/vyxjdbg.D0C8NCan.png",p="/GeometryOps.jl/previews/PR223/assets/yktfuha.CNrCOFe-.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/zrorncv.Bglvb-jp.png",k="/GeometryOps.jl/previews/PR223/assets/usvmtvf.B94PsR1K.png",t="/GeometryOps.jl/previews/PR223/assets/mqvljwp.-CDZiwfI.png",p="/GeometryOps.jl/previews/PR223/assets/aaegqlt.gC6NtZYH.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.Yt3iEAK6.lean.js b/previews/PR223/assets/source_transformations_simplify.md.XMQQ-eoJ.lean.js
    similarity index 99%
    rename from previews/PR223/assets/source_transformations_simplify.md.Yt3iEAK6.lean.js
    rename to previews/PR223/assets/source_transformations_simplify.md.XMQQ-eoJ.lean.js
    index 221620a63..04553403a 100644
    --- a/previews/PR223/assets/source_transformations_simplify.md.Yt3iEAK6.lean.js
    +++ b/previews/PR223/assets/source_transformations_simplify.md.XMQQ-eoJ.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/ojxakzf.Bglvb-jp.png",k="/GeometryOps.jl/previews/PR223/assets/gxumdfo.B94PsR1K.png",t="/GeometryOps.jl/previews/PR223/assets/vyxjdbg.D0C8NCan.png",p="/GeometryOps.jl/previews/PR223/assets/yktfuha.CNrCOFe-.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/zrorncv.Bglvb-jp.png",k="/GeometryOps.jl/previews/PR223/assets/usvmtvf.B94PsR1K.png",t="/GeometryOps.jl/previews/PR223/assets/mqvljwp.-CDZiwfI.png",p="/GeometryOps.jl/previews/PR223/assets/aaegqlt.gC6NtZYH.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/tjhlmlp.Ci5TFGvM.png b/previews/PR223/assets/tjhlmlp.Ci5TFGvM.png
    deleted file mode 100644
    index a7dcfa6f5df119e56cf80df9f5adf8e58684daf1..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 59478
    zcmeFZcR1F4|37|KSICGKp^Qq%D%m?BP1)IHqzI9{3#DO|C?ge-oxMpzMo3mRA=xW?
    z{T^rOzOUc-9LMkb|L44qCG1
    z*yK&N5kIjfmu$y>NDNP(kRz-S|M$Eo?h%2&LO3aROwBQ3q{GSeO!M0Oj&eo~Tn;RgP^T8tjGZTkC{=Pb{=
    zx32%ilY}Gp?=PNjARqhto-3ZW#Q*-8;eX%$zbo^J3Bl1Y-|aHohnzaUcGebQe{+4O-+AQXsxWY
    z!+59L;;(p#*{P{R8c9!tdaIrVNG<-Xi4>oj54S3|wzse8m?RJaA5oILf6S%HeNDH}
    zaq`|SuHr9~1fRf~i--GWcN2DA;N|62dM1$;(;pzcIzQWH)s<@C~wNl~<>VoM&RsJe~S_n$N_wN4U#1I>ns(!kf1>{$1i5
    z2zi%lpGl6kW~r_w=@;eqEB!FT+qFyFizGU8tPB!0k_G7Xg%%bT^a>r7nNG;dJ2^V`
    zjX4qs^K^KA#ezB*m9wz{Ng;3nw4JpapC%5{EXX}l!W-*ss;XJq>v+
    z<00wy@7~oslhnzv>}Y3DqUF}jo%sCp=#=ABUxk#ERGv5!f$*GlyX2JMAt?fjHw`tj
    z)bhB;8dpGDwuQOc^?(NtC@ComJ=Tf`eXu9TjveDG`t>z2wb;yANKnx3*UvgW!?y&2
    z@mWK|@3*NKAKXgROsz54Jf~M+Z_!z(#Z)p`#wc-T6XASd;Lo5`nu
    z?QFsOfAn2U61@8Lz^m5IIHjnYn@GjP#8PmpbuZ;*eKRvN^KJ};@#L;eyr*VmWfc|E
    zAQ1R7?S?f>dh9+9H71%?hrOyFv@ua^U0hune@y*zXeg|}YXgDB!EI%xnSP`}<%O(I
    z#2(7?isy+J*3L3}rOzuAzJ14zC@Ht0@87?7cV9f|;#E2^(Q}-RE|fc|-=??BuQ5@x
    zs`u^Nx9W)+70z;4h8^3t+mC!>_0F~FKc%Z1QFqGe$dMz=?(;8bUg9GIn5F&i-c6fr
    zA`q^eD|&V&&G6$hX%AlST&L+DX-1#I1kFPxv$p(xy*l+ceaIjGfLA5PH#$1HKQ!jm
    ztB+-6`T6;+t*zR2e5`WeLKaCy2UM-Ct(}WHTdB7aWKt+7DU-A^e%vp+P~P3rvzrvI*|-o07k$dh%Mp|rt_xF0qOq|t`FlI#b@Qfv)%$?;#7&joAvT-TM8Ufzy82SVrQp+RIBdOOx33%Ctv&-9ncrWC~T=V
    z8_IOV(0h@hG~J|XtfK&FSX5rFSnqcA;MuTW^OHubAKv*;@GM^<5IpII>Y`7y!^3qD7HwJP4)YV2?3S|3n@Kir
    z=4^XO&PvOxyL;zO+rIK`3#Lf7;H{4yJ@TPB9m1`=5BqtPVF>#WoUvET_IwmMHT8H~
    zPHJLeVn)Udq|p6cT(rA)&o>)*m`s#zAe1{GICL_vyfA(*-067SEgLyk8IK|p_v#gA
    z9JkYVq5QfB^heE_k_J&Ne*Dltk@58ORFYaaz{+~;>Z7YKNvAe!A`~8GI~}67n$?nJ
    zt{FSJf8V~~SwBW$ji^(nPwV7fzvLXA9LlMB8QG~&l&n|K)Y&Oj
    zOD{k3+Lyc=rfl=S230AfmvH;WSBsURq)5Dut;Fif%HHycMAjyMyidoqaOH#Vwt?Cx
    z%~e|m2c?rIj}#p^a>V-En@h2G)Afs-Z{ECF8MQP!s>++^Jd=PWbmq)G`RL%?yLV6Z
    zZrDV^5l72?;iB06_Rh}LxF~m(*6_U#Xbe}E7t(L$uAuiczkGOFz4b
    zVDV=Vto)hi^}W=KbQ9^;Wz@FE<=FL3*Xgs-qPAuTS0raR+kQ=VZ3laMUgeh`qC8eb
    zFMocbk*qy4*0FS-uQ=CzC4Z0&g)90*fY5GAwo}3LKfQQ*&Df>*J~~f9>n*>nw6HeG{mC{rUtp|MRmj2`8It
    z*OHXar#1)dK4OR%8?<}E$;=$3;KxwWOG?eON7`N2O=D%{g;iJa)Wxb0p5u46s$ZT&
    z@+I6KFIin2##)E<6Wf*1!$*(mUACjmsD#;#wyK}JCF^^42Rk{dimGbd+3?tZx?IMK
    zP%$fw%%gIdrCh%u7OFz|!Y%gD)3=~x{(3fdbD2GdYn4FGKSMc386jdVo2_JZ+XeUM
    z{8AT}o*QYoF;Ek^SKPiKSx56O@>`OV^Q1n%+oCO7XR=OCU|`@KYUbNMK2&?f)b0lC
    z6>qwDm{^uRe%y-UZAEBsbToODe4nVOD35;Ox1U~B)oMO8
    z*o#NoE`uc5bl@X{ed^lV+xuMY^E!M5u6;WkeVW&xI7$D(%uKUESFzhtieAA3eIdF8
    z`Z3fKja$XV#fZ=XkG0j&ww#isG4cMf)z#HXo`$3CJ~T+A<*|bCTV7r$4f=UDCT#iz
    z_M@4Z0$!zoPoC_iqic>=W$$l5ilUxiF-`8o9&M*0@p2x`jaQ933PNemoxELlgp-l0O(Y55B^~A~xo*D>K8*!l%AGJ?P9b
    z9^JjQd-K=a?LIfA*H33_muDc^zt$Td9dc}@I301V>QL;uVACHw
    zST#i;^yPEYVQJr^r3GgQnm4I28QF9^7@OlC5TLmhUq7huV0W7RXe;VnbE2lw-4e7A8yz9m4-N6EMn<@a4xqU!=H})L
    zpZ+0q`|xWkDKO11EO1gJNICyfEGoW7^Bp@h^|q|6?8>&s*pjCm+g%%8D{ot?Pcu5f
    z=KkxavPsv@BK_1(o3m(P)OOBTz>(L=(ZSM65h6hgcg~#1v+38)zQ!4FTvj$X=yiz^
    z$9P(#l$-XJLu)UBw;ihJ7$KLy0vTZAoCBC7`z8Te$J_Jv2XwhFS-g73t2OgsF9So^
    z!-x9<3Ty{oK07f!Ix1;g9=M3GNj2zdYSM5@BAF5__#95~q$T2_-d>|wwU7699W9=%
    ze9TojS;bd!%~oTtvi2dj+uq(u1|_TQc{g6XctOXfpLxA3U-l^#JDR-J$hWj9$Ddzb
    zP%#LIIE+Qm?30jK9%;$&V-OT`n(C{SUgP$5oURsr+&>EVX-CJa8z_33Oga0S)~iKs
    z@1Gq7bEZ*l2Lm*dwO@_UJ_`=Eo&IswX{5jZ)n}zp2?>b=^~Bf_+m{@wu@53bnCR*A
    z3_spGYFa}?+Gy@`V;xntfw&9ddxcY#T$R?2j*hXC#?O)0Nbg6VJb=mCtV(#)HqYhT
    z4L7}3KF*XVtTkF67f=_v;r-g|vx*-?P`qKs!83|h?9=${rz9TpJ$F`?<`Q$%Ca0!U
    zN)E7NA>Bq>1^X`)9ZEV7_59{7?_1)Yd%osabs;`XdfqiOsP#wY0`Ec3v&1J|
    z?VMO%xY6&}l5S#eZ;!hWURogm$~h)kRCMa`Api~jwh=6;>*{je=kwdPZHteO=O63u
    zH);J=RaKSQ&Fd|4QasqGDSbB2n45U9jl^Og_W1LI5^B9aEq{(r~1&?I6xb&p00|@
    zMR!fv^GH~EHxc4Cx3sp3iHMYc>dno~#ZpAuX){T?C+(r*RFPv^UY@SCDw+w|j%I23
    z<@qrg8JU&EnWedLtA&pHh@%+AZFw#Q0RaKdy(09={{3^5CX1bY6_4tNrz0IYx5?U$
    zd%Z
    zkzXAq7!D}Bm@KFo>!5t%Yxr|hR$%UCeHRNf4_RMHm)Qdc4;~sG_-UIj<+jMd(^)wazdw_7QRpFnLj0UrM7vhsy8wbBe(^2AB*3~Nf!%T@Q?x4d3F#Ccl)0&!U~?6k
    ztuxLmNUg?#7;;u(@3G|cKD?XqR8d=Jr#rF=u;!ss71BqeqqVFo7XM_5Hdfv9=g%ws
    zx!78b8A^hTzbL>!dRH1i|4Y;8iP&R
    zJr)PqqxnF=c3w1aos?Hp^c71-zR2IFt#C4W2)sXZ#%zIZJIk73y&7RbCgXB-aPMXc
    z+TD?n(jLV&+|4(@&(xYit~MoUfzkx$T|MEyCvA4@Y?we0DI!vVug0o9S6MVgJu!sl
    zT~$?Lg6L3%wR(bDymnSXov{;vpucCvng1yoVK~2?UcB|Ek00r)9dt_ER}k-K`J`QD
    zlO*0`WkrhKh*hyD0T^tVH3OzN+WK|*4zv4t|77R=ok{4uT#rVYQuJH^%$<_-l@!R7
    zi=6HHzrFrRAjoW>-M*dw#*Z^jBSS+8g^yNBNts_$^fyUaCsK@=H>aozo!=$9oANf8
    zRLk$zV_rS&)MoR=o1X2*O83f0O`!W9`UJM#iyHG-+O+l=Ph7$l);)XnpiUn2R#a3x
    z&!CG91&5iM2PS3qShkMMx&OO!jC_3-64I1vAiZ!O)jbNe3KXb6o){vB-lF-ZJnil2
    zd131~`CUGmj6mS?*H1Mluuq;EK#NNWQw7>+VF6fLkay}U532M5M*?*T`g9_I3D_vJ
    zrHxZdL{L!uDf=pVxt-?VU68Mif*kI-;h9DB5iW{S5S~*Nx%Z60FNU1f}+SI{N-@cWJPHv1<
    zisEIAi;YbPJ>g($3u(d*wuV24z+_ogWLL4P$C|KJ&I#g9vtA!}Y$yLIN7Kak~
    zpF~6?>6^=w^$ZSP-5E4H+Q!Z|_~nJy_RO@jcmP%aK3zRMzt-Uy=N9+3o*NY6Mn*>w
    zI~JMs6=;Kv(Qd?^rkaYjS5upeuG`f=?ff#7&4N$1keOXCp&H
    zW7oCSm7xyRU0b(q1$I(fRU;pROu!$`TU1!s@OaVJm#jr!?>Z7at;HPl*fdy@jz`&5xxPN*=!jy+NyGXz2JrXli-Y!&=jMRLO?x~*g!D6$cD2`n;_`-asa6)R
    z%<8cH92s#PZsMWOnZ4U~@i66HF#)ejpTmWfIz+sPT#cJ^6N?82AQG6$iWLKr16%B_+=L?Oa@zsHNsFf`9-Kg$4nl@apECXBxK6C;pvBr)i|a
    z&DHhXGl>=;v1laXM|7fPM3nJ#{RYCstq&hRTC}9gFVtTd-I;}iKa}eKDkdgLC+8ef
    z&b1bPbf7EmzoOkkeyh6XR*0ZLLlq2*>I6}Qx--MTy@UOnK#~38uR#T+Ua`ormAS62
    zG^0Cpbe=u$@5~J~auwA++~DHkGUGElJBubHV4;zso0nl)>(3;qy`m>;)}A{_q?MQ6
    zd2_e#C3s3G@*a#Haq4`2Y?Fz@BZp3>6I!-oAd34H9t3_uGE%U*1Em8U=jP?ncXTv2
    zI}A4^E9_e4W_M=c`$A87yPav1=f>fQp7)jZ9H2R|sgD>>o;gFgb!*5ch@CS-jYln}
    z(RIOiz3<#XJ$}rs^|iS<2Wk?uoy+2d*L&W9KS#fO2}H4J(Vd9=TM
    zn{Z(#u&_%2DMBHvjG`ZS4qQ<7;X}C*l+c-juK;j>i1XaxC>`
    z@pH<>{XRZEdd04yyu39nEut(eGBvr>TeoW1>kBS95#=&}Zdo#R_Bez=
    zY;y_Cchm`&xv`=f1OAbbk)feLtyvA@C7TF=%`vgDOk%d>Q?pZfIxY6{WXf4)>N8Wx
    z(2|0Jf-0lX9+llUBe-?Qf+8Xyg!Kck$jiw&Iy*1owY1dM((-g~cndMsi9#w0F+=?=
    zmoa}*{IPs%>;n)^{1r3gOYwwy}Vu0g(-bWOa4Ps#=_sz`}g;)Tu?Z
    zBWTku*kkk^)G5+`{wbVk(jgL(HYp*YS?CvH2!jh3E&v@9i7=C-vw(RMx44lb3aoi*
    z(d_(WFG4uCpdj4h#`h0*k?jV#*IA{cicv7IQ4C_Xul@X<(#tlv?;{YV_>$8*v8`M8
    zh+M}tp`fVYJ$NUO`P{ExpMSkWx9Ws)0K!L~>4apS>aRi&5u@DHbN~w6rT4cRQ}o&r
    zwr$*eX9GcC7Y$8dX^E)OC;zONM=>!ms6lUQYCZ?tLVzM!YUZcdm7b}k=xY5AjX%#V
    zYWwp%P}vz(eFOxGi(#uf{(z3iZ_!oau?FB_;x(QnH6&{1lp`uCA`L=_mia(D1u1w^kq#Ap;%sehoPnQd^>WqCMa;HWF}8
    zo2(8J1)4`#~id!#Vfa3jy
    zbmI!&ZTtJIjg5^F5q=DXOJfDV0ns!sp+rDv;x;H=hAh&Yti$eor75Wex_)p}Me>Rq
    zks@oG6d`emeS)kG^1hHoD=MYW?c2Qih4WDQWPMRP3n7tR=1Z7$?fg3nAh4SykSy32N`r}V;>5hEU*g-(O0Ll8cqMC$3sT1NH|JY9`H
    zKRF^xrlZq_wqm!8q?wBA$3rIeLcWsq#nn2BTr{`DzIsK)ETtP;zW;>(1@YTozMP*C
    zABQ3}2TY?xMbCc#0N^ekT3}fyuU=UH-*{&t{ji%;WHRD%mdwuMV=$OG+NLDDH&{jmn=u>`*7O!
    zw#=*hy(i}8h)T2=TeJIUQ?gEzR8ZD&q)SNVgMfhARvrT3&Ao$K|0*^c+|~Z*;loqG9IW0y0V3++@u*einkl+Z2U)UY{S}x>!?qAI4>Vgr
    z0JFPsqsoT8w6s*#7cxmWFR7KODLZqONnZQUB>mJ-uFwATM-LW_DrL0i1wr=4lb>FF
    z`v&4QO2$6Djgl2=nM$Cpc|v0_>Z%cf}i2jp$y<2xrBs-SXnQXJ)rOG>_ip8
    zOVF(0$x+jDhK4We*x)6h2Eb^0mXVPGt0OVd{L#U)?x+}W%s#I&LRQ|TZ6f)!i&5y>
    zm3+Ua>GAQ(?tJPA!E
    zj8d{eNil#o5j#oBW66y#*UAve({W95R=KMXqvB?+r
    zj1CSyMa$LCz?6VuOi9cG*VUP+DSj6XjiJ$z5pLbg>WYe!WNA>C>Q$rMW}ni$!;*8H
    z^H=DUE8XiEVqDt#OI?uF+so@c!sc1^Dl9fW7dV4KVoW=BsHW(OvVK5J@$E;o%J`C}
    zl@7UYx1d?D7*TM5_{}Q!{x;R)izpx7GzbdeA-NjnB)x*{ey@KBEaop?z7)Fl?TvB8
    zLy(Yy+*~qNbYMfZRUjODO4#64-rn9{q>>g{}Vmhytmb@mhcYYl;2wI5p9fS%bxfi@^{hY0QK=O+o+3;!B1
    zB!&SFfRQI|$GBC&t^q>wKBq$nC1SxvK&Im$H5)f=>KAutwSRVVJKL$DmtLqdPMKjWz>Vz;>Col(-_1H+>GLH<0TjmiVcnI`=0@L@KCNqE*w4e}PzVwaW;aM7*8Bj(m2S*&^Yjq;nO#|0KO^oj)t~xfRJZOK$;cEm!k_u#~
    zPy_cotkhKeJjx3Abb-@!Y<{&51s%jNd#C}C=QII$;Q^x;DV`H%M186Z1ZMIhzeRv
    z>NYm%iUWHc?AmRGZO)=%nnFi;PA@E+gLaCSRq;aE&*0F|W~4EOGN6BeJ@bqo<>nq~
    z)HI;Na0~3}tgIENxBkr1DJj-b(jNL_YQ+#2@-&ieN19fC`t<4HWi;6BvJ&pgx$w2^
    zh8msT0H)fXW}AlN9N8)Iz76+=Ui-4Td+xw#P%PU%SE%A*s=e&WmmXt04n7YGS}
    zr4#D-rvPSXx30sIQ9!-y$@uq=t4I^X%
    zau)0|{O;$#fCEYgk|9dcMaVq*VdL5_o0t6AXB_OS8EgcmxS^!m_)fJ=5$pI>tHZmC
    zm#3;wNvgWqfVB5)-#!HlS}EANa}x=r;+Zq9<3)3zl!8^HMwbSjrcY26BT6hb|z(Kp!P&u3>ANiIM})
    zJGkh$4-GaP03pOYT`63M*jDImr7&Frpie@@Q0~*p&lXop!P-YXZH5{N=ZHqO9b65d
    zQ)^!CY5L&+B8vqEJ9q9JDh_aQl#qosR==aYeQ|bl3DE9>BOl0iP=AtX47v|dpVCOW
    zfS4ML5T$s`p$y)G8H^0m$GO*L_aVB3e~&O70`g`~;BgwRhB^k$iZsOwaUtqB(T%#M
    zm8ii}A7WF~j1bthBAhohLL~lCn1!*S6>C0^P6pei7(zd^*T#6&6LIyZn!reLsG2B}
    zPA_su2yfMJ@BIh&VepAR9r%M)4q?{M8*c^?>o;^pa6{)k=w)f5FXb|O?e2EA1}80j
    zUhj#?$)Ig{PaYH$6wthDY*c^RmJ(|`KtacA+_U5A$C?_;uQ4a<>grIy7$qFv>@m~T
    zZAXR^A#Kkoj5A+Re3YaK)(gOJIc`Uu^AG~K`WaDWp?QavX?bb!?>anx`t92{C@_-l
    z%il&?a68`K|FC+yN=g_Z%pXfPC`F3RK*<8Vs?Bw?v9bAD@+vl#oE0P2+be7aw9~S(
    zAno-RI!(*U%7R?vnl&Z>{cd4})E|H}>;Jr)K=AnlE%2JDX=ta)RrG$F6%96d*tqxB
    zBt^p$U}8vM!H>n}oCDpcta2{Wf2OhzLo#H_aQs;1u#L<0zUSf|k=k62$cj?bK^Pz$
    zbV2QKQy9x3ik;Nd0f5cVpFc+nrL#Ukkhv6lvI%823NR%yQqQ?0w9243BSNhIb|Nyz
    z_uf5zNtdy9QC2xPT93UgxAco2k3F_ol)=ew!GemwLIDrxJ&GoDaH32w7G{I8fN=#@
    zIh53+V*^m!pwQ9DevT9u=HTGyEki;DcQ8D~e~4f_ly40l>6S*WYZ`VbcR@DF?TkpM
    znQ+Ta^tN_(M0^={E)rY^V;vb_@h6J3U_7_bLGK6)V_;--0ThCRMIY$~hyb?XbBM1w
    zL46n%9R%t~TO0aO|IMf<0}|oLqo)2XY|RdEQ{m3Aet>Vn8kbkmuiMXc1#pr`X{bld
    zPT4(2E+d)3M6l9mnE+1>28zxAs>ok9Ou^MuR+?S2XYH
    z>e4V{p*5zK)&Fi5xV33Q1Uyz)h+LxhMXgGYykw2>2(mWQ}{V}nDhfswS+4CUE?lW(Ba05HIu
    zwfOetnA=HL*JX@kvU$G-+S9$((W(@47Y<;R1XKwZ4-bzS&OFr!mViwJeZtxFXZP>J
    zsH(-pAszRH!_Z$A=HtI1^dh{U^*3li0t2Io5O=Ud2%*xRuQfJEGxX7YUxY5EF_QD)RHIgsMd=sZOGON*f-R6~n9vwC^8(`9^Rs*11j!!$}C_3pzmtNT_u9J+Qv
    z5zLFh8o|`W3;2WI@bK=w#X~5zs1v$@{=YGVH(%!TFSP`Urya6QXaU$
    zK?cWcu4yq6WO|g5OyEoutUrJyQHJ{UM!=ha&uha3Pm|SQ??8jg=e@V=s0`)=qxy=U
    zpc8Pc$jQkeM0)|ZWPSOH=Ve#8Ey6w}vxVyKlD!5W3lI{6xukR6~GBQ>O2FlQ(so*ntma8;{i`gZ7u0lQ6xRrju
    zZKxrhI3zPY14x9W;PalCopqnDyhBNEn9YVn58Xh>ywO`mWg;F7=K)dj9RI0&v;a-)K`U2@Hb#6a6pf8z
    z*w*ax3JOdm9zvYl!kVCwoUqlbF|YJupaBEc#Ms$vtUXVb%*x7&E#0z1?A0`|v4B-)
    zdskPqYra!d5ueg{%Gc`!E}Ky*Qcea
    z*^H9y?BvAhR0z{hVI};>ET)Y|e1vLnXjG;I9Nzpk`&*3_gR!jM&hl!eL`Z}jLxMz~F0U&Of6}v6<}}m~jHVGS)pK$8!6aZzK;A?Dh>IHl
    z`l992kGM(=QJ>G!5ur-?YouiwgPf1ss`W6g13rP)2}-Q5uTM;K{3ensdLv<{BN7?n
    zb^Du3@2_3E2J{6->N>nKG%!d)XVA2uj#bw7sQ_OhrkQu|=I|z}+Q=}h2ix>KBn94_
    z19cJb|A0~so_TUU^GaPqLj!P%f}GrME|(4?il`fjM=9=rs@M2yupUmy(}xdj07l@o
    z>KD7VTs$mb+3tuo48YsGjFlxDP45J9DFN2P9l(6OedkV;gp*3KN)u4imoH!N%$ILO
    ztgVcDAXwjHKnAnJmaUnb0s?Aeb>NO@yPR!Lv@G#3J
    zXTWe{j_#(+lO!Q*{sMIoZkG+le1wICvG__#we3vGW2aA^6!lnjH8$=;3jtgj9v#&q
    zLYfYf4TLZ45alsb{_g#I#GR{~8}1FWBS8<^?%ci&tF{_1_*IBcg~Z}wGJqIy2uYQ`DIXM@^x1z!mA6mGK<;`p4G$`|Aa!
    z|HF^|_vx~Nb|%6UedM{&w&Mg(*-ylC3p9bXfvFo<27*$91dS~S&#gE~*n9n1*MC(%14*BVlI$&y9qwmet&JNok&iOHrcb2nNYCV|n?R!g3dQh^J0
    zu5W1ex$5s=+kS*sk)S1COyaqxJLB?!1%{RrP55)*QLS)#@N2w`eQLvkrsixwwm
    zXo~%FEY7p>bvCRvgFfT`{KRhkC)b;r(t^a2_RT4o+KCd%4^n6rMif
    z`sE&}>!|9QWq6rvp>!Zti
    z{P$C3eyrb`;oqB;Ik^54%m4gDVf`o0O_!99
    zM|wIr_2gj>F6;|1wt$0EK6->jx^B=`*0fp}fnr=|N$WY1-8<9K=N?JC=Ss
    ztGt=;d<#WXn*(FhmMOvXdr4G;uyS#&a5fVHq3L9*N`(HxHx5goE9$+J&Vk43(`T}z
    z?((BJZCsjY>C$1l1`SdeqOWZSk
    zxw%&Oy0y4wpzlKb*yF#@3*gckz2?woT}0>#O1Y^lnCN2+PuGcvz>&YZXnGqV=8k*!&~hZr+-Jo1+D;7
    z3k;1CE_^brR@9QpKESc6XVN;;Vg#TQ_r(HqQXs!Rz@%AgO1j@a>WfM``^QT?zq>z_xQ~GW=|bihR@Uc^{#b8v>({n2u7q$u9j0JwdV%Uv
    zsdr}#&+%Pp^~&nd{&w8CYgfZ0Sq2Y2JG(!c_^-+Hmj4r29J*7@#HI1kDz0k92s`1z
    zfOgc!mMxWeow0GB%Xp|Ob1B2lxtAae`j6E!C5<*cWJ>U--Wt{X;ivY(-tPvJ*2Dk6
    z$yF;RZqV~Dl>vX#&hyR
    z%an$CM77~`)wL9-{>%s=HQ`v_(
    zdM|q^_$B&N&u%NL{z^g4`T)W3C+h^NtFbQc{=F`&>+9nAk^JrNtH_m>6R+}ICTPam
    z!b`!L`N-EyE$3tPQq?5MW)a7z*XE`@Px7o{fkH^ny1dEOIqm%4sGz&=@$pmg4s32B
    zdD-ueJ9e|86_X~!?d9+!|4jVZX8mK8|9OzJ$B2Rc{36%I|7^Jo=SAX{@4UE~&s_D7
    zXTEdK=5gey=dA>p%NBo*?s{%~Df4@2S#~ufSrC15PuE)0>T;CGa1tLH1#7$WOkAHy
    zOxmZO`*di#@I{xYe%BaF~~nfAb-bZ`Z@$5$*ZzQP!xe
    zT+k-=yjm`a+EM!b<`ifXeNH}y%m>V-h9iI
    zim-4D^}06stZGH;Ep&s0W0$I0MRQ_4<2)jeB@G?jz|auG?%g7=3jj8UZ1aHw;hDor
    zXnJ@K20muZj1R#E9R}(FR`Q|2DD>F3v|b#3c+iTc>;eY5=jWG|mUb1O9da;W>+iEs
    z^!&!Y+056mr;ZQd8R2|)
    zP-;apA#kogeqdHtuIZrpCYer6vJCsJ)z>k>cm~D?#``ejQUGZHu#z4j<&N2J7&dx(
    zdO*|$IFQGCkvdz@k{Njp-6GV
    zeOFfh&H^}KMgr4WL&L*d-f)SaV?&5Yq%p*VA_T_j)i@UbV9*faiA@Y$
    zCVmbR9ER8rxC+Fbx|lPE*%oLeewbLmgbM#xEEx{c;XF)IhvGz=`1$e}VJCyctE*b(
    z5hwI_mS3i(E#5(c4D9QEAUc(m<&{IezyRrxG^*`}$!&41w$@S|A7Vr2h|m(hb2+y*
    zLiDJhU}IgKHD+Wg=LoEF5Roxl#`&8~Kyu?B`*86vbRbQ#y3DKf&^D_g4tQUIBnFRt
    z|L@^(fZWHkSe`cE^uC+ROf25S<0}~E!H|p(O?uAA{Nivb)(X>+#DfM4k}`>;>
    z@6+-ST@~ea410i~!Nl~1V$Jng{T}DhZnUUxp3ypgT=(VS?6%HVv@pAi)k4I9~m5Y
    z><$8LZf-8;dIZR3VCp*;~KkRm%o8fOKAyD@#=!+O_T$ypOAon
    zEtFJnk#8j)B|dZ;3FOpMcC;i)L@2HLB&zLfP*%oaN8*h>k$skR<7Ky{kx_<86)mfG
    zO9RHLb}}#=B5Ji2xlvr2DP+W{*y>g7P7obLC)`v>%NT`+C<&*4f)ztsXBdUAeLEjl
    z53=#*&Ea9`FKYuoe#BD#fTW>KrB8Om97Et4mrYEs$@*e|ifBOKI0Lxu6qa;u4ihee
    zuzPSQ<#DQL9vj>hTeHAI1Mc?3OtD^g|6HSC!&RB0j!zgH
    zlIj?5&Zw0d&7qE~8JQlLj=!;}7D=a%gM9-%AFU@QRdjS*-ct#4>*gL-!4TeSUjeh7
    zUka8s5ExifJGM&cmzxu=mlby0Yp@recVx}l@RmNF=VsCS4h@k#&oB(RKR{yNKJZ}X
    z!xueoEP?#qS441Il=wAJ?-dJv^vFoS-m(M-{cx5_p3Y;rmzlUI2ttq5=_n=fQGw_y
    z5iZXnBa6`95QGVBs{zglTc`2k{CeH)U}pJx7xGXnANP$
    zn7V;b@z6lyz&>@KS5&lmg7!a4kLQ#PkhQ&3*5o^6pXi=k_`TBgi0}>do!eA9vVSI6
    z+t%&u%a)H$(f`$zY)G9pCi`+&Fq`L=y#6PK!kp6=f|?24o=yc^G4@HNE(PAZ;;9H*
    z6)lc`rEMpU*dw1AJ{8&yH(8)uP_6Fhb?8-9l5Cu9Q(Qst1eH-`3p1Q3oOnk;6hPrM
    zo)zveZl~Hkw*e!SPbFQl2bKsqUURV!Ly;HoiLGOZ2kWP%rV7T3#cfV~_7m>Bplzm4
    zD=_K$Ks-<^sj4gOUJApf9MY)fvtOc&R()hf+)rOu%^aSgrjTvZleT!+TO*U!1a&af*S^aKy^Nr@?-Ap>T{4;r0Hk{SV)C7o+0f
    zkitB*$NX_Ow<6zmyJkH$Ha18iRujw&(zl~Ttl!PHVUUB7IZWW{_N(m|U81e!(E3C8
    z3_43ZJbEoJV%8jbIxtWLiUKJWL(DwsB6FcIb{dcOI{q74B&O9ypr1kJz>m%^luW~M
    z-c#Hk>O?4~>9h0ln!8;{LXiL5))>@EwY8H`g^{o`sI~5v{`DxRmbD(MH+r8x#*CE&
    z^qK5|@HVmO&qw9^V6&&M2u&qsO?E%2%PpO4imS!>2n=9a(K~E{9)mkN>Ex7GOI+=M
    zf*UoW0}(fBl&|esc)>&nOe;5kT>5FR6BS|G@5>(Y3J}L-_bFOD>h_;`otnDVgC&V(
    zUik@EATKWuQtc{K^~Ui{avwydTwqRR<3L)|Jw*+TkV*UO@`di~QAn|QR$WrtuC`?-
    z&$OZRcUgbhTQ-1$Nb~u_DXPrIx+K&Dne@QsAum$G0kUa(`Izj*?hS-3vSvD)bGla_
    zMJ*enJne(B_!API{~l5Po#c5#FEFgVk7#by({ta3D(tK1?p{3UoCVc~zQhQJW8#|1
    z)Ya9?qV2mDY8;Zf&LQmHd2d0mEzIVW6hRTf0KNi~!u01xTuhO6O51IM;3;>pGsV9_
    zgIR*WvQ5!KX9K=KU^2iX0;hC*&mf@zM?0AYhj8x9x1qV2c>XIk^!Wr5b+yfEmt
    zX~9IuN>r@7vI7?8Rq2HaB?e(j39C-x!A-ldcBhJmY^&oW?OT}$p4~yseS(Aobkp{B
    zF+#|s3VE|n+rNmnN4boNZli}v1%M;rFx4^co`dX$`LO`)j(864gonDa@+3s{yXElm
    z_Hb?m8pCOHNNI2sG6scbL-n0c%E1k@8_OF|XpSD=WSKvBaGMrdF>xfb;3f_MeGnr^
    zj(L%GpK#X-@>SavB6PvF@!Jbh>JEme{nzd*=oP*Gmb{oXb&qTMWBX@yWw|qUZ7&nc
    z>f}}P+i3mro$EYun#!^rSko-e{;m+)Zx}~@`D*b^?l$9#wdU(J>v8b&T)-O&b9BjdKBYQaMuI~s}SU7$X1+O%lI+re_Kx$Y*O2e$4t6y)OOj(~$U>4X|?
    zVq&uID^}#E&P^mW5Z&B+YUw@Lek2&&hPA=Cs8t*qNl8w&K;i;z*akmy`tg)_cJR`r
    z9-I)YhyRU8{(*tR-!I>C3}&5pu=^6jd+;Y14_{H3e;T5x;ENRMlC+NASt9I8A*S5h
    za&u~=+y|eg>Dd^TEJ;cx0u5b^z1OV^*Hcqc{53V>BJEpoYsFBFi9nKQ@8n*8p)8Gh
    zLp;ed+}2`QG}DBN=0|@tHX&h1vt&^{M*qSE5u-B7wrS%ta~p1BC}guVj%MDH(|2K%
    zAiQP&G0GI!+KJ0g+-=a<_TknNPfq(+3}ujnN1_%5)uPj3$|27eCt#Wyk`VbAUh=@C
    z0|p=cfY41$O^Jun=O=nli*rV2pSg@-(BZt6RtumEPS1vghl}HE>}kHDhEL4KM0XEaza_nC9;^gWj^|?+1Ux=i()E{RxQqa|)HV
    z-}yGX`}vOEFAMn{kq;pw9`ns|lGblqE)qN!M7p`brJO4ziI?-R;C=O-K|h_Vzgh2-
    zz3`rAib1CGRMqd$EjM?RH`}DB6_YJosDksVYew9`)2DE*U^^?%0K}0PHkG!c`hRp4
    zMUfx)$x7=HxN*2_VyDv`7v20Uq3j}u
    zyLQKS=%uDvY#_*(8DWyqlUH#x*XRzO57g3feG|mDUHGFMeIQ-mCw8*b;0@1nj3XNd
    zJt$8~jH<3^JAHf{+nkrnbLs)zy9>1xo3TQFKk&n)KOgv(Z~gJly(U&s?CPWQ90&H<
    z6^OGzAiYInKJ8wZz2IUVv5%Vk^<1E)?$wSu=0uLQ;+2xiBO=>alX_^Ks8}x2Oa1F%
    zH|)=1D~+%I6E>a>_#HNDe~dlB5!Z|<+39+xAPN<}-tU%0-RnfU6$f*RYc9uk4D+(*
    z>l?LgBzOjw7DBVu3v4aDxPF%u>vy@8lH!lt-~4wS6xSo5{nGkUc~0WO&Q*L|{GE!H
    zhbo1w4mt4Vn~i+&x{-4z^}MD>YX0#f8aY@?>koggLgDki$2eev*cKnzeJVKxs_CQ~
    zS)R48hIIF6l0G))6tZ73y8U6$fufeU+Zv%epM-rpbWhQ?=wB;f{Uk?6-Mh-C@U~`*
    zkmm>1tmKV~7VGhQ{@wb8D&BFK5Lj4Mh92`%(fU!=(A|i_7D?T2vfP{U>YGUZm3)^s
    zJPdX-FV`%S{Vc|93_BL(n$552Knte)4Au0@=J-gtkw5z`;JF^9kM93T3eO#XcT$Y@
    zkNSONJxlBlUBs|xXHqJ^@V%ydi#m0qJ50I{Ft#GY{P$D$tw+Y!@YOp0l;t#`2o;Lz$v04UP9#3j_sg{)e3R^Z>y7
    z&)N{y6fNvF#0ZK1xyQBJ>yM#&RwErUZ}C5G(zIWZ4p^#Mm}igDUfWjj??viw|7N@C
    zg}%Vhko;PQHe*}o%7=WmdnwJ|vXL4=e?ww(+8^6#g75F+g{?oH?_pvnGRN3g8vfDR
    z-x7DmBCs|7!JkDexBdH1zRUJp7ilr_JSY1i(6?c9EO_K5!IwQ}pwwAJRHI+J#!q#0
    zM9ZAIY_F2t$(!+7`qrl%*#x6*lXeQtA0_)h^y32c?x9N7A2^E^L)T#pFt@>8>@
    zL7@a8jl^Hw?G_0Z)!DRuZ~t$RL40V-`_w#h7M2Y?`+HNv%N6zaOId;<`x0$PpR#
    z7v~k_hU^_q&B_oysIE5{?cqOhi@TfO^XKkrI~W{f8`(C;UPe?8$*WQe8hyG;c8Mwn
    z)HVA_4!a^C%b&XcM&68Fkq{sGI5%Yj3t>ajbi(h4Pu{6>U*X=s{k+=3@2CC~WBHBe
    z`G`qTYiVJ1x8Z)Qv!4adgSIn%nSCko`|(H=Es`gRy@NndywMajL@b>9vg|(ndBB*X
    z&rbes7WNEC1LB*$(yp&t9O<7-VUhfsDXo9sLi6`6kN!W(;`a)Xhp!UeG-%IhW!ev4
    z=NTxAyV&sp)WH_pj9cKSO@)zq`*K|9AIA4A)cj*LzeIyja|RM>lYl_Ih-G
    z{pasfaIHV+-oI~QAofWd-|IISCj6!bzd=Nt@Sh&#+4(n@Mt$D(Tu=W*i1e0a-4?%&
    zR+Sb^(Jl}_4*^5?)>w}GDrVr^wsqu5czivNWOnj
    zBgl}a6>Xc;qRd5=-F|O9IgYAw?AglhLiyz+$Ik6R>lkM;cwOOW%CCKyrE|wzi}Z4P
    zm|EygUlTi>-&Ihmz%TXQ^*mpirt9|$Nxtryo^6oRe^0H#sHhoZZ${3N<@D;e4|wHo
    z?LJCR?AdMV`f%9M;B@L=_smuQz2y9&=Y$%Wi|2|I7w?AGqr{DTb
    zm#)V<@A@L$UQc<>`|EGG)Qvq4w0@A2qcgtg+Bl^v?T%&dJhLrwic!i9A?DD614LS24{g^uR$Oh1*A&DD#5wp-sRp(MvY3l~HF_t|*X1Dfsc
    zTMSROa+!bvW`ena{AFS?+Ow*$sR`#c79a{iL7>yK4Vt`{nX9@Sjg#C9nEQbf!G+O!
    zOu^uLq9z&MLOw|?7|RD?f66LuAmNZx37DQ6e&EmcubZdk$EX
    zuHf4PJa7O4UnKO+osphyS-kLrPT#R~jj9y7^lfV9VhsFZFj?*%B!=U+
    zDO)nHs&eearob`L&b*=wCCF8u!gF75|6uIy8oI_miW}o__S@{Sj3>EeoNX3itf_u$
    z2U0g209TklVaB+263AOXg|X&gMz_AY`V78n%z6F}OqFjq19036TGNR&Q#-pEhmxfZ
    zqEfi;;p4}RP;H5W!7yU*g=EC<#sUi(xI~%udRZ9*J(19HCl^LCY9UFjVSsy}Iy?td
    z7qXLMF(Y*Dc?_=WJN9fI)|6gqsolyXK_u8vi!t&|)M(ab4Ay3FJj-!SocP32s;9EK*`h!)Is4ywDXC(^ffR^zc
    z9GJX|hD*|E-(~@Ck2o{$KHt5VC2$njYA#{#DhKUq`Dyg^>Iq$
    zP04L^2Chfo4Sr&BxrTG!_|6*~5)R8r1mAaqV}zr8vCeL8D;R#2#5cHM(CThE2DC2M
    zL@eM|91F+;ZJ~f#^Ofb?xj^;6;z#W4A!7Yf8x%^-O-Hu;vhr)&+_qjm==&
    z)8rGg9mb%svm#@kAi(tQ&uu--@n_98k&(nx?JDKTg)QL-*@fA4q7+}VM&~s4IXNNW
    z(6+0M361qi(j6Cj@$F;S9tF8)&O`ApUwZsse0>L8&42s;Nh%~25>j$9vdU;_qh%8f
    zQc_0RY41ZQY1%8IP&6bB?SwKa(a=t%(jMBW|Mfnn)A#%Qp5O2PeR+BCaL(uR9{0HJ
    z>%Q*wQbboS*7I*0L^)l6M;sfg=LapjPin5$3#Hb~iP22e<56zdA57J1wnpvLG_FLPOVdF$W6P3$66)R{K9m%tDZvyZFFv?0zpyZ~D`Qk89AFHQwgqMOReZd_STlt-Tg3qB
    zu5i!oBoQ$U3zR693q^7zU9~oOe!9QEAEnlL!QfPq9z!sfecbF@BcCbu=83@G6n+{h
    zJ9bE4-@*-qTCao`?d|Q5dO*v9@V77fb#w+R%wqi)ZhTvu@#@tp;F~Cg{*iYwZiG=!
    ztX=FydMVJn4QsfJ3LBv_)Ack?7r?wbN}l7mo_;%VbO|=>*kxeJ7PL3YYOnOGuXb(`
    zj8w?)v80zp8$HlC)Gk$;e%_+`^hO*1gNb@UWtPEZ%1@8i1QY{c0bX(EQt>4Y+4ad?
    zKm^}io=5F1%N*~&esJ$^SPnM+qx%mYjE7x=J=}A9!*Mj7L$HAhIb|;p^zTDDYOjtg
    zN}7hMm!H@IKEC|>Tl#|4g*FBlY>WbI4iFz(H-_V)muUXmqWgo>5_V%Z(Af>6q=ZoF
    zh{h%XiW@_@r4pB&pmKnSaS{p(3mu1a6a$l4C?{lkD*&?OiGHaJ*3_^_(y)Lrt>{*J
    z#^%_tLz)*IP^k9WRwP+jjR6mo>jEfF1X&+HhMvi>vBHV5eY{)FHv05*oOu>ERyNR;(9pZb#A7Ly7o
    z8^Sq7IoP93ulBCA)dQQP`JaKTEzaFYv7tMDiA4K*8L#Np!t20mOOK@J7yN*G4?L+v
    zrKt7lwC|acoy*K8bBvS4(b5uX#s?8!e~o@2roXW@Ng<0mmhvL{e=nq^HuylgvGFl()zzE=g
    zU*OLix>%Sk&|o9v*Wq+jpW3UV4g&R!7Z1N<-`cvPAKv53dN%fodawGIgDR#L7)U$K
    z#5qyM0^Zf=U>DzN%DTv>_|iWAs|vJa9OipHKd}zHkR4glpoA7IGm9m2yoopf72YDT
    zzjAF%ay{VU1;MabDvF~g{Bj*OP+y%c6ygPhayrER=7br#x?UmgTLfTE0yig5Ib3RN
    z*F&~J4IkpAs01n|lzVB8Tlb1fOBb)oLA(3=kq-2BuiAZEn2PcXVZJ|fs-HQL(^mB+
    z-Us50n|qJyy+#8G?-nv1L8f8$L>XAPCs8ci#MS4}0u(&xjE2R#i+edcx#1!Z27LPb
    z*&?(0)yXS8*-pZpxT$Yi9$!%jfAy_tVjlzxEZmY|B%_WISqfm;+=@eWXmc+C&jI~B
    zV-Tqv+%g0x-!~7WWZ1ee-G;b1$U8cM$|yX*s8$CQv(sj13iLewE>}fbRM0~PCxNc;
    zr~@K>``7?u&kx3tR1vaGMd1K7t5L*S;|)tEHYli^N>g4hEnSwZ@8eU&;kQ(&#_2-`
    z8d{g4VR7C*dEQwUg}{L6aoBfu^#
    zKb?rmQuhUWs+;(9ny$P#9QD}ec59-lj=!MG2H#Ti#K{X5SE)P5lW70&{X5CM7cGw?
    zPoc2(IfN@BC7m5ERWGW_UxiNlM7!Ubyl+rJ#VOwz=2U5sln*j7OgOi~pReMc!=GCQ
    zNMz`5=lQ2dUF1DH;ArHt2ePmbxL~;Y3nI}b?t;<L{w?`NzO9(fd$%{N-9
    z&!U10uprVuc~=pequ!(akTN-p$7?|M6}qF)_tM*9)s@^3fT$eht`=B~d1x!xg6u?x
    ze7TOn<>J2HUbx#63UVvfuKjGc)UX9r$B7;s0|$hN@bl=TKaIxyKehc6S7=;lT$k)QT3IVqQ(T&8p;yTc_Q1KKP*mTF`jJ$n_Z7&Y
    zPjm#Cm=;O3F|EK+c>tMY8I
    z><*k8j87PYfpSLfRQn&*8j#0q-ju-XX5^XmE~e?hz^x;ZXV!X6ftgodvpF`;`zW4V
    zH_e+JCLZxc=*Tbht>Nnp`v+$k)cV{c
    z!oZux!x5RoSFq1&zsKPNczYvK&?R_wnCphcDlgWo(-I%)+RAkD2jg{Bc{i3=T!~pM
    z_s4L4^lHmV0Kg^bt16}WnF#W3<$7e@e9l}-2xe?FEOe(pRLY7;B*gy&Y8h2OlN_h#
    zlz2@WPa0k;H82oLONcR;UmLhMLP=CO;NGADe{{9fPy`G2EEVJ2C27lI&!PSvpvzd1
    z%gUxA3mC|ka_=M*D0OubSGQ)O_ZpM9y70f|7_Gyjd|bnmBc1p{o)?5EBd
    zFz=4qtD`X8R{L3{(C+u)_e*|1KskS^*`Y?>cT$4BbV7hj^z
    z*@G$#g|>VWhqnly?|{wra8=)MR6(?^`8SJ>f4YKb=nt8#fs1vov=&a6k=WZ3#x5_)
    z<1c7SKF|%Ypbq1;6oV_QFEWr}9#Q5q&-z3VXNn1}ssmRGV25wAWYxYS0Lm$?jq{-}hm;GSQGk2F3soU|g)dPlW7(VCD3#QKjC&na+
    z5#6~Qh^wU4rq*X}q);w@n1q!yY#2aOP!aPEMT-A-vF+Ra7aVM3@(Oj&k)0|9-<~_!8Y??ob5^m>D
    zL#?1&eD&y@LE+rG=Xw-cDf5XIGfHGMKPDFTm6L&xZ{lSBYdHqYo+mtc6uAUZd=f4|
    zLi~KzF1{;Nqvt^K9L?MUCd)cF2mcEZYM9}r_lqBKt@DRzQJE~#S(x}vKJGN;7asd>
    zNIt0Pf1C{7z{US6Q~9_UD^;uUM-T1;D4VEiX59aHdy+>CpWi<~WfT%N8^)2*4wss{
    zih#&RQdnOq63n&
    zKTM2PLja5I6R)zQ{kL_+GjB^)nHS%;b3Zjg?W9NTY@zCKQ%F+*0+z5VtyYFfrP1D3
    z;AE1SixEDLaW*xinO`6=@4vChGX<~#9uI`9OMX;(P4o4i*AuZ7pKmYi9`*Q#MY>~&
    zmr+uYYTF(yRBbGZDs)LkQJ-)%f_hYpdO@;^8XNo*t6|tEIVPMC{8PhX`Z`+iDS8o-
    z_J>)O)Y#Q-?JYMp5McQ3q<8A&oRyYl)g7hg-u@-N{@<<4r0UPpuc8`>_rrx_e{w|n
    zBiJ^isPHeFw
    zE8`l4Ze(8Xm33baCFj_P%}_f!XOEWWe&x7-U!9$m+l~141=v@5d9$ARd!OUpveSiU
    zX9&O?25-S@^U;A?wI;m!EE&2U;6J8q69;VUoXm8Qo5`6u3XcR{q)R&dxZ8nhU7XE`
    zMZVh6m&S8yg39uy!{y4-50l6|I7>ms15!3KAMojMy3M5RWv;>^A4ch|f@y?KJY}o`
    ziVOhLe2IrBx$+=YGJSn@qNrGHmKe;}<=ja_lBc`m?kq={0=8`H{?v;Pmu@~PIWUlV
    z(Wt@cZ!fR@p!1igN+J0r8g0$;KW1-ny}A8I9hb8|S-;g+=q~l!+(`fH?;l0tGbzks
    zV4gK&e;;U)O0A;n2EKXeaTR*T-qGcA1YYn7JgY4=f5#@*L_SIa#$h$XJAa!U=|4Z0
    zQT1NL1m#&6udDoNvRY%2HF+xzF>i(Pbk0tidMSUfT(L129*~xPlWJdhRM-n
    znjF@Z%jRf$uf6{;U}%#=rw-puW*v@RKXz%#0=W{=1gXBE2uCl*#raYn*ZkN=j=ja<
    z|2+1hw7&1bH}lL)@VKwH(+%Yjk%UJfQ-)HLZPN0vCgSuu4s|HJbuhM%N-5O;VVQJp
    z*DGo57lT1j{v|bw<;?RPe&|O3kolW_iLYvzX
    zIk-8#jcnnT+FtPB7mt+Fc7yHwIFds2Be|VFTj2;R%M*}~P#
    zVnp2n#D
    zA#dw@r~a>oMalD?6Q<4QwK0cCY!z48^0;3p24HidNu|uZ>DC^y-{v~|AHtLT_NO0t
    zq&)tA7ATv>*UfQE=JR=}-|Vk7_(rtdLF>r*BhCG_+h3JB>q|;in?~?Az+Cd4xja*z
    zSO`tLbO$|DQQNsJA$VYl;2?Z}d6#`S8A0T7X5o>w=Pl!{hL~?99B?(UZv4uzvBv<%
    zpd9h1+lojP@4d6>7X*dc0l%Vxf-1x4$5jtyUXw0@0|$!uKsWxl;ua)+?V7&aK~6X*
    zYrSfX=k?0$7jkYx)=1k-O-*B01Fh-FM>#1$%Sal~4Um^dUh`ftd)l&u
    zb3>nYe$vYM*^TBNLN9~jPs-mUboeaYbRrLAL6IBCNt&T7N_d@w9IaQW1hhGGINypo
    zL5fD}kq?6Ij~w_IxN~)9h6WCeiza#LIN}dU*#PMI)71OT4_srClbxWl21x{6H2wl!
    zz#yo8ucc#Ig$ZbUJfEh$Bn>6eMF;@#aC$b~tr`|504DgP?$?~7>DhGWG~n%JyoWKO
    z3b}Og#7~qa$RYp-i3iUg?b)4x2Ef%G|MN`AeW3g_6(VP`Rgj1%>Hst(;W6gKy9J3P
    zSilu%hyX5uNhrE1L<|GD*!R71>t8B;>ZmKJc4>=7PdE_wmpYJC!Les;Z6Uze
    z58U;#2I?KE{QAWpMnbl_tn%W8zVEzN|9b^^qk)2iu7qXabHZH&hq2^JoD0u#ErjxN
    z!m%ICvRIos@{~X3gSCkA2H1Id$}Hgyp`4w-M8{C3K}lsJa?_C!7aPyD8$e+^HZf90
    z?NyrSQ*x}fzjYugI{I&?V%c~yn
    z1S9K(DAh{5YDt~`Vf05qcaQYh19@LIqFo1=+p)?f7x^X;k~tKE>K~}{nW#eu#TeCT
    z3%_*;k=Cwme*Cgh>kkTOqho5QQMk19GC9CR=-Pnp;+{^143d+Ik$&6VAxc;kd{
    z=+5fPoSh`;bW$@F*^GQ8J3Z$w*n?+^9>13?JBp&g5|K^S1S{$C7?k5(wB_uH;km&$Xr;EHgm
    zx!7wBsx_(Ge#}H>yTSTw4;RNNgt28(4x%&
    zVt|tO0b1PC;mswWefaQUEv*C)DEEe>P54ET=NhvuRM0ta;HUNPhhvSaq^qpG>SdGw
    zpb@YVbW^-*M^Tt}edaXE3E|$mY3ykra!d~_UYWpRg*@-k`O2R}KdGY@YLWroLa48<
    zr4mf{Hzs0r0@pPFQI)=V_)3BpX*B3|2tZux
    zxz<|V@^n{6JNJ_3S}1xS*t2JkU0h6zC2G!r^1T{{UV&l9#(QrSiAPtW4@z|Yrg0>D
    zbI+v>(9$kt;QJ5)Cu*7J9
    zYAK7YMHd^uYf&m-E`o@IBKrpR4{d!!{G67ZyUW949J@{=5s4%o==7*(xB|R^B3Dg&
    zyScaL$@@V8>{@&`pO?)$aOli^O|Q81O}m0E;@wvFGATA6PJbWL^0gGWQeE1Q0>OJ~
    z5H-&X)S?#98$#tYD}nG}q0VKsysjg{p1d0$u*Lfp`=74zWAuaUeyI2tMGGRl-pLO8
    zCNjtZjlFKSrF9P7HI2W1Rb%uVfYm@TLdGSPI24b7{ldm~qwEFV@rS+@JnJ*RoPtGA
    z&^{2=mi9^Yh9&XC^fs0%ui(MbC(ZvsTv~lVJjL`Vs4L1xgh>TJLjZSALYY(mf~9cI
    zHBd?tP&x{Q&MNe-_$YjV7YX-s50or4M{NZak|l#0xVGf?8g}UHRlbD6Cy6CpQX`KJfu1qcgp8=G69n2H|*-bBAA=nhV0}a1PDNMR5AcrmQUA
    z&t#{gQp2c8;ajUsPK|Z3SE}DtJ#q3R8FN6@G%(0O%>lkJ7ITlp#l`coK`ImPU991X
    z$A693tAS+4=1MC}HBxQ-vbpff$B&mK0!lDxA`F!BK+6T|=g$fO
    z-v6OFDk@5MU&IPaFq&HkIYt2YEd+ER7gR&Szn;ndD_1)l;6wBtpKdSYf;^sFj!SHn=eRNN&rzg43Y1HBxJ+KhB4lA)?SA<$Td+>_s#D;x=t
    z@?Cg)2{lvJkB`5fC!JvyZcdoMu;&>3MLQ1OykN7KH!C&AY6de_QOU@egtcMbU^N`G
    zFVQOM&vU2s_*FiHbJeqavqH>~)sll-cq@F`o(W^UK(UH}P)$D_ZeLYl)u1xv6h!yo
    zOX)lxsUQ{E^qh1wrI7}?Opm{u;%U~9ZBn1utpMrq1~v<5@cYaMZN3M#T3btN{oz-Q
    zu&aT^P-;~Kot^g$WThdQ8z#OHEd~vWhLHEhSWfCD6c;KjQ}bo2PlCztAaK8rzj;wHZ0kt-!!Zo_m{|GosoxZCgDA3
    zAS}bb@~;O}ih*(o@W%T^C62$H4uE?oXQ=~v7Eu8G;7)V1P5F#+87C*FLM?~WLV&7~
    zfobfU5FrY4VgD})WB+#*33ejpt3<=A&k}j34Jn95x|fc3djsd~1<<<%l#CZKDXoMF
    zfX)*_*&jd!!OwEZtcy?|B@@R`k`2S%2B?fPh~}7I0O3^|<8p=CAk6bS1p(xHxcI$W
    zeqC=df|*7gbhj$^Q7)lKaa?JnG%it(bsdkd<=0A)R8)^3wa6k{ZaltymoxAKLinl-
    zX{U?{$DZ4bJW+!?TqwW8UNKT=p>?edO(Fj6R
    zfxtR~%ziHnS^ucCE`aXKqxha66~rw5vyn>!!rx;m0t{cdRijAflSBke1Q7B=R*(fn
    z{V#QurF=}XAolJq+E3hZf;ORULJDr0zA;F3G#^?tHecCOG*FO5O6Okfr545%3c)t%
    zr2KP-=9zX6uM#+g-PK7_20;et!iZZM`fNMgevtCOp
    zF6{zs5C6?%0<+4d^*1&t=P*z=Ep+M$2&C@;>bx`QDOXdgYMi;Mqu7VmtpH9GnTd+V
    zVFoV2O!<}97}H^iDgG~4xC}j&q4_ZZF6CBGCc&ZxdEl}1F<IRY)PW|+S
    z)zSa3Cc0Q?YgqtEyuNM+P#_-Xshe^k8c51sJ*b8RqhxvtuNwLCod~0gcW76K8GFit5@OyJlTN
    zsRg}h?VE*x%}IbMziTVd?ll;vRS4!PZ@SRCJ2;XkOJ??2tE`Wi^
    zNvzN`H3EysksFsaO`{{~ojsS+sddh4QNh((+`KC|!5`$52H0~0`dSxd$$DVb3Dtg$
    zg45{wY}=xegm?K?Gc7%nx@%dJj!`J~%&iVz!RR{(pE-%Sfr(0oBa~&C5Sy?+1J*bB
    zXO$S}L#XuBzY(JU8`=lvvgJ+x_nOEm4!(fz`L06}L8IrSiRgd?y~2~Q{)j+oN49O!
    zB>v=SMryPghbIrsOD5HZ92&l#XGsgm&EPUd!wKp1QC>rbOhdL1>x#pJVpqtQG(Mj(
    zd4L^S#{CaP)Bai>kLDOoy_gV}R6AFmUtfP$)!5Ct0Y}aW1?zn`KiJ
    zb1a07FUn{L#w=`p=IGX`1IY4eEKHHgyF*FnX>}(PG-9LK!Y^;D|P?gp;&Rx(rw$SC~9cYZqb*~{P>00<$L*~mP_a3xD1-!
    z@dHG?a&w=oKhC1&5>j64kl1d@x*E*vf}KapaGc^gKPKz2(ujAU_u^14Fs#lLotR}I
    z!(eFgGViqy1JBdg!aRz?i%C7KLFQIK;onb%yrJK|o_XjIK(TMZ@n}75pJE#2@$$6S
    zsw?ac+RsKlK8{<=YJHJFw7Idr@p7Ta%fJ{DFAK5v|J2BU
    zS9G>+Iy`BbZVWIMSn6sFEY=J3=aD>io#1APHcp_ovotC$S#G
    zMwU+v>?*y$V`+WgVi`TiGFc$6nCu5oR-u0y;sV-I#&XR?GDr_OScV8k`ac_(mLD*(
    zsL@%M(y?{P!z-*KOLHuk-0g&C}`HyN@;qr`kubQeM;J3N)}G24dWrnNw%0
    ze$o?CZtC-%MrZVIIe_DPlC?SRNytYgJFW5y*U~68
    zPFB0RQp~*4=qw5aR;(O6{Oz~Bq|ZDoTMgeE^pPIcaUhx8w1{y74^0`Hx&HKcB}P^XI18Mp7fcX35aMV|GP#aYNW2x&~~OgZ-x6|rjrxo^<8
    z8LNxqB%?UbQ14J}Q!I+;+_QW}`waJhQ`BrWjG{r^ceCK1G8edN!tuV-@ZHFm5PEXZ
    zirIOx=~W`-PfX`QVIg&cnN3N9jTt%Bg&$0l6nsW4>dsk21tc`+^&G+8lR9Af*_o1|
    z9jYINrqPPg`va%{2o0et8IP&y(?95n#;v>fqaBO}j?fFIzcFGq;lm6AyLjpzUKL$S
    zGg|_s;OEajJ<0~-^lL$eH$>|@x`)ybyimLg*e;Q#`Bxnu~P44pw_BC^bE55l#7x
    z`W(U&ZXn|!$LT0}am#`=$;E$9L@b2$r9@xOZNK+3?LZn~TH&=Q;MZ#O+xr*?@fgt&dVkpO(UpMvqYJ*4x0X+oc=%klO
    zAgv&zVZ(D`92qg;;6J@*`Kh2_K`@~E9>9NplpdIX>@^IMZ-b1JJ>D5}*;UX>4r!qU
    zFY}|2nq}8j^B2711Pd>K;8H)(
    zssEb{ET&@Y!ClA+_i%ROx9-*UWtjf?M_p;82#`P3pUixmZYr(um@IWDRfl+pvLe+>NZG?Kt(Y+
    zOGj6?rDJa5+`l^)DUBuwy6msI8zSCxs+BCdPh^c@k=>vnoukLm|JZ^%QCjvKADWKx
    zEYArCm;Js~){Ov^R;&Ug2Xbn{eS{ZO0pC##2fBks4gVyew?DffnzNRAOW&dV`s#yz
    zqI|(PHsejwnZv*Ld5)kSqjl(z$_NGoI9Q+yFgux>Cm0wGFv}OfUt%L8oq>wE*UTCl
    zDa-T#+YJv+NV7w8YHk46!6sUgt`&1DHcUF{hQ5fne#)Py_=4WATj-4_jgq@zrqQMj
    zIDej|fO6{$OYcz>hq~T)gZyp+%z}Cr=n
    zFKjN9xBdO()^opkl%SuaoJA-z8Yl5Y{w8QOzJ9fvZ4fXap~e12X{dQG%2$F7IfEI4
    z3g2}ws}^iUC{6ji<_(6hmTw-x!8%%TFrg-+iP8>fUH~fQD)bG@`v8>x2HTS-e_13|
    zFNn>yf+QG_>N&SEz+Tm|WW&VI4Co!aj>u~YSw*4TCfyy65wQe)(y-7JC?b9CD}Qo!
    z5_vYvpzvvIZYClwPS8{UP7Ow2CGJtRbq-hDUIFQ0uo_i~x_4scO@c6B*bJIlKr`O<
    z2#|x2jJ2{#ibIE~g&W@e(l(?XX%MAS^3;KB!if#&e+VqAQ*8vBcEC2!2n|L~01gRK
    zfhoFSy=dLqqvA0T|4`DZh7jgQOOrBw_06Tw?6%=n`M@;@zb6$CDxP??D4sYt=R48O
    z9-Cox8~qOG(ir~^ZrX_y%R
    ztn{=zZNUMwDrB*8R{_um#^@Ili=75*{QidH=lfMOP#9ZCw$z;*GFDJ2C0Dp*r^CVzp`YM8L;?w461E*D=q>}3_5jDS6Za1)ECnG;
    z6y0=bR{h2#Gn96gg*uIGEz~TL8Ud>wb
    zZ9(?=_VdXLru#vla@n`Xm{2CHCH!Y@`05oiBl|`h+6x>#HeWm58PZtu=2}@_Y-826
    zd;1EEH+9(-R@KMgUgMzKSvq68U~h(TqNFUVevEQ-WgK04Yl-we^{|YGy%U3`6&9~&
    z+jlj&hLtKL>)3x*>rdF#BL@5CTJF{5FXp=c+JmroxX{+k`6*fg>Kf>+qaX=
    z%U|JoxOm>hq_q^E`Rk7qH)yN79yxM1tZ)73i-I|*>SAczcNp@bN833h1+2fYLijM$
    zRVXyU$^Gryw~!XsdUaxl`mP%gh&~iqU-fMFolVrUps?5CG}H`Ad5(|ijelry+V?rP
    z=Yh6w$l{W+IYI(jskv$sgLR)R!_+KnkL@2wKhP%h&f>}FO@Fb2vjUm#D>PVVGhnQ1
    zoNX_4Hi>pTuPyY8naNulIm!!R_y$Co(+-~#PbR(ynB6+ez5m>B6m$7TL0~U?q07%Q9%!oo%yP8nqFfUBa^
    z)&BX|UGevAWYBb%WAePx@k}P=fDZJZ>8H
    zo_EDKbf5X?(ZgRiNQvb9g)r*qgY3uTUaC9}3(LvLQ4I&JxYf2DRO&a5Fkl7w`Fz1Z
    zqf@M^F>V13BpnW}Xy-&ZqZEy6*H-Oo9ZI$1hi(pq8vC)$@V$*3t!_JfWVUZHyCEN2
    zYMlpI^7!{sCSMIPh)YNgnE8Gc(xumL<7famC=n_+)953zDL;`^sTI~5hVi;bRN(s>
    zGuEnywKkC6#<;jR5VMKQDN5of)_9_5HgTHu$Q2GsmSJN;Kt1nta(N(;MSh8wU7-1L
    z&^i_jZJZtG!*2$IoI}Vd>mq?VFtu^_BYSFINv8^}#Tg`6O>o1nHA9%%4E1*9R
    zdTJYNf{bHd`hkSe@|M4jZwgBS3Ick5wA7RjesC*iHKg<&QSW&v8&JujJ3lfy%t==e
    zRPiI`4yozNp4sTKGQeO|-bGj<@C3GR->x-^QY*L$ph7gE3Wvvk33~l=c-Rh{s0G2;
    zKoUO1JtWi51?5Ul#YY>Yr(h2I^B!_vzCX>!3<{KJU!zmT{`Y;K@TX5pBM&x1Mju^3
    zyLRuklRtnC$MHe9d=V;yZE>6JVr(Jfhfu%?aSY~HHJN-VC;+tYO`0@N2#4}w+V}?y
    z21E$yn}@EjDwK2w=iK$>wr*W_S=OrX&r7!@U9Ux#be-8z=B-xJ8CNu+F!V}KsmwW{
    zbL;EaodSsk_sXWd4$S0K&d@!5Y$cUV5JFRC;)+?3X$3nX%^a4o_%=9DhCjbd(}vE%
    zdkz`RN>rki$2SQla1P9N&^f4?=8QRas2wz(Io&YV(pOuow?9
    zR}wRTAi??-)&NZwha&bLM4
    zb^<+Fxqrp1gfMzJ3SR_@0il_oy`n_xEL9T?7MKZE{I}B_yOoAYEx06*hDEXNw@KiY
    zD|!e5bMKYE`NE26P#ct*S!8{g_v^SSu_e>U{W`7+#OKPIZZ=0=q+7c&oCR`FcW>Wz
    zLa2&TsI+Nu3#cikWicTQnx|O0{uT-
    zwG)YzmVHC6h-`WhmAuQ%MK6((f&vkwLx^RGp^F(4=a52ZNxo2j;u@X+@vPZu25q83
    zrSL7Z(5To{NZTQ5F%g!9}eFmXWmg7(Db;AQ}-)3;y`C@*K>PfFxB^@Ca{$UOEbD9?X^Ld7B(Tp|Naf%@y!uC1_&U~H&YeUgxL)0hASOwwi
    zsgKcSuEM?imDDY(?eoRn9V_bDuDX1SsPfJ(7TKtH@p*u5jw!a=JKxI`-{mIrq
    zI$Wc>koh{H8yHxyHk=n@Q$?32d&}|MmoG4OvnsBDT1$fsb9rWQ7Z6b+TL097&EmUP
    zZ7H3~u6sHE)V$#T;|OHGIpE$==Njhq`F<1Ldnux+K!3`t0@=|`s46_t`r2r3fG6bH
    z4-5y49*W4Kpo%I@c9*KN!#^J0sBcVm783YdixvDdYGTu|K+^Qy)S7+{e>bQ$T)Rn@
    zLdo`q`J+UgFJ|9A!)6yznbBpRdP{3YOH66j)LXu$V>UFle_myC=g&DUx5}o!HBOxf
    z@vn+5Er9mBDD(6yFUws-3Jfz$m}i6Xqun93Trz8?xzs(M#_(dvR31;&TyDN#JaA`6
    zhO|qSZE=JJJloI@QL0!+fxp=I`LzOlX55NW(?n(3+CQtHaY%dXwKB5lYf(%AK1%UB
    zp=@e<30py#HlO+Qlv#t;-a-ZiL)sl;r#(jzN-Ic>WO6jCNpkxvD6>2emN;C~;_(e@
    zkS9L%a5C16Pnk3IDFyU5RyLfv5m{_>tapa+)IUmY5bAu%Za->&OIT-6%W>bJNe|Dk
    zkbpwL>@o9o$pvbi+PG7cUbd;v6e|B8Yw#W40^JqIE(q)n^6T)FV(w*3G7
    z=1olrmiXqEqP>g9aX+&(*u$lgFsXq;8=g9^-RJc_DF?!)w6>qUrS`EQ%C=TuMOWYV
    zzDJfAq!IMb-wU8mk}zD!+%AgcW%^0KeTjK0D90EzB-^PSuM-jA*7RQ4I{aJT{BK}E
    zfK7S$W1WQ5cQ3pApH~})O}HAKrDUC*?c^bQ{_3YT#^L6|tDk3g=JJHKFkH^6dC&Xl
    zwm{f3d3gz~`$BiuJa`b;x;@Nv@JGvp(0zdrB_Zp7&g*tX56hnuLPJ&4DEpPC9{uYD
    z#wFc9wF@Ti>0DgD9OhxA&7m8rtbaDDg<+Qbrp`0XlKxjhv!*U<9rwSlrdZ-QPGYjT
    zrgKz<{;TrA$p~YEG3J{vkK&qGTg}$H`gxxC4B=#yvN+IlNvzNox=t6H&(u;*T)d-C
    zS@*l8{Wi`zb*`XN@tXrGdZu+3uKo8(w2SMP9zPs1-gWNGbjs($
    zBwV^6`C8LCII5GN1kkc}u4rVSdntcuv|1!4Sb~NOe^n
    zpN#mtG7vZVxr3)eTLwq&l5HWpT~#er^(KQ%GyJD-8_UFC)q0_NtO9AEZRo#m&a@y*h2&XW@-y{}m!IE+>_KHUtr#PLKNk9$rb#1J80?$tjV5aUOD4%gnyD7;3El
    zJnlI^x-Fe0H)TtwEjgXcI$YS$zAAQga2N57w;U+SK~s)IxZ8#}8)fLDPX-aR6?9{}
    zUt{Vn81fO9uHs+u^uf;72ZR4Qsq^23=-q~Ejk>~IUJB>W+0bO5ZJToG6tkbR2kTxV
    zi$H?r1kqy1-V&{BOqd5@A1bVOkButH%B@7iHP*Gn_B8Y3OWnCmP0!jn_}MNEoIJ|=
    zC6o6(ICT0JPC9(?msU!sGM}A6GktGg1Kg%48f7cYNFS=d5`QZHtQ%3C0^*bbDkCs>
    zd*sf$*P)UnbNfaaS@KXKdEOn8Z<%yYpSAb9ALyq6f@`VBWZFQz#$W}o-R}hj(S;Jm
    zp$~w`=ws!XBv?YuH`Z1DtH=4iuTaeQl93cp=Fy|?xqbJ>mBb{cytc)j
    zvz<$uV@dXR9=wigGRF--A!!2@X4JFLgu#psW29^-EsTH^4pOWr6)0?|+&mEt2RGIo{#K+2spZ?Z7xFrz?(^lv916wf_I1W90_&vE
    z|IsTj40$1nvj?Lz^`$T^ZJ!EKsK6y#jJ849uFli1(2Sg!uimf@ChxZ&^isF9>_qCJ
    z+L$rgX;?;@rUKoYXDRmjU0lz!5Fr(9IwW7MRL!`Hxz$1;f?u>g8=5{&?3H(HimN6rvCy)5F!bptMHL};MziR
    z5f19om}EvY4(Lf1MfPQ#kURu$!ZKuRoBT#g|NQxbc@#2^$hS%8hwgAzoOyf`p#o`gIP_3Him?Y*?~7*q*ea~};rTR?kH?zMr1Qh}TVC5m`21X-^8
    zNqYn&`BhH
    z3`_&;VN4a7K+{O%{zq?7=0h*cGAc;vY0zHCkKx5&i~#bFNis&$zW-Cm9GX-pklaLS
    zU*0i*;sb`-qUuZ50?==WjLqZn5=6kfWIfvu6jSb6UvlL^aW<9co@1rRq#y<~09*-E
    zR3gglLAIN~8DkunEJsE%iUflGpRN!+q^AE`cqt4Ktz-
    z`mcLg=m`S-*Nv=r2N+xY$yP`H(xBuaEMOv8!f_rN@LwQ5Qq9AHeETCe)Jdzki|*G)J)a1O_}_RPPm09z@}o_e{2Ue}oRB~zKkVth
    znD{)$1fSG{mKJYsZ#jc)7+i{0Gew*F3*}GPBm?KoJuvqSDwVQ$FD0nUSP21fw;48=b
    zV?FQa8!Ep*g%0In)N$Kxb2Ti0Bzpu9PSEq!5!-DPXu(JzdU>+()3k5sd|O8agqcv;0nwDz5P$)i2)GVb
    zMH}-^QG&pGXYJU#cMca9=@{v77=3$@6X%OC0Z@9t$f_eM#b(@M=n%?8Sp(Oi0aauK
    z9%dD+G`%jn@h6@GqXF)jW;*pe&Og=A;1~$zKL)<%J637x&C}H5(9~P2
    zsrU0yWOoVRbd;u4al@90-9v4Hbi|;3;-g_?WP}37=FOY;h;Do-3DN-3fip^~6hE3A
    zx)^O6B@xv1>+^^8?&V9t^=&%&$wvd=K0w^q3M}&WZQC$B-D=zAbE^~-s)s89GS{FR
    zkvf-`7o%}q)m@#OWJI1Or+rzY9Ytmv5abWl6R`u2FPL(3b0?LX!^lfMQpvJvOn8`Q
    z)|F=_m}eH9XEt9bJn^B1MVE#Jj0>zxpsuxdY|OFDm<(%=n^(4@j!#N1s89Ijp&E$h
    zNSp0f;?JWz7U5kpd(oyw2tckm@c12KUda6oLtG2PBJSvid_-*KF!K~;fc`qpA(*_9q#bpi+sA!
    zO-w5m>%U8eix{|LZ%S5mQ+q+GS$No>4r+UEQAMe)gdmeXs!06-?a3c3V4&fAH>Q11
    zE=Cm{6X_7Lys>g=kIVH%zpHg!79i~#z}xpLoX)udALyfjBZ6Mr)>ps5=XqUj4m*lT
    zRJJB2qJc*=p>l|RG2KVo*alC3diLZAYKpNKeL_q!##h1rezCo2sNa|nhzX7KJt5n&
    zCOi>l-+j{ZcchWa@T;i_(qsB6sM9q(sYDK7nfcd&cQxb-f6jgbO{NvG8V7HEvsT{{
    zNN)h{k+DPEy$~8j==AJ|?j{jHz1}CW0l*gTY>
    zms5pKv+mfjgAhqdqsl=exPSBJsht;k5d>g<{4l#F2{M=#G^L3|LZm1GfugAz(p{ci&ZUs0r<;2$|Z@-5Q(hChvafJWQj-$_*}kxT&hmw
    z6zdF^#stU4go&wJKQ}zlF+6dCdF#D-SR{y^Fd3P`yT!Tp1oi^5t{riD@EShXF)-?D
    z{WN8bJkN<}g#Bc~AS?nLh8t?FP1+~d2RzbyZ4z9bp!SqkYFMuiSBK=k4Gr(0IAUwZxeHR{QA$THAOs*C2ae6ie}-@bj@wrv|c_7|~t
    zJJIN*nP`4E{>96=YO}WnrVa2qM+@Kt{SM<3xwH-QL3ksh1#p5Eh4YE5q~8BICj_j4
    zeDw3LTDNYUg2G=&3bZ3Kgx|KbjPXG<0t@LuC0$W`z0S0;F5^aoQ=4$G*RPL8@PyK$
    zZSDL;i$2O{g^{7%(B6}it8||i*>nJQ5o-%I&4!H2yxYHuko$yPXT(&j^h-Zwi@RWp
    zJ<#+w1hwdrc_kptm7!}GlgEke0SbVDq*j%Q9Y`YcV~X~p^tlt2V5>ksKXXVp_ViEB
    zz``KV>?n^{Pxr06f+s<(vo1icbN{~GZ`ZF_waT&mN1R45HC%Dl`rZoMEBd9v&s?J6
    ziJX&%8IEoACLZJ%v^m{DNP}!H0$VK=7*ezj7h*~~X>P_FuRXN%{&VRT9Q)h)J|`ob
    zvk+;+M=ul660;xXjyco1K;O}Wd4QX|hiyO{Cckc-
    zIXbStuu^6?M{`aZPp&K!v0*kREho@4mv!(XBt>|-dt+)4?b@|#@t`(Ap0N}D5&V`m
    z2yEc_KuXDvSsN;-ThbOY3c_(^a*yb9@Tyl0hh_{mPbd7PZO_~NA!CSRZI
    zx^-WmGQn&R6Xw9|tBQI~x$Q%2Y$@H+V(XbPCtqa9L_0+u`oA7fOSnIAxB{|`&V8ri
    z+h!d_9_5Nsw#xE#>!OewL(np4MEmlUE6DusmP@iP$^9*WhXGI75VVe*w{H*a0;M5y
    zxJe+MbG8gB|LL+f!a(&QeUaty%^*rXRfBagN3a3T&8e~(S^Fn5J`!90d$&8zBOR{G
    zMrHqb&C$0xIfy1q;>(u=OQECo&mTK{yb5_3pF>f)Hdy@UxY=ZMo%QY+mN3@iTp6a);ov?g@q^AUYqLTQ1$TzP$A
    zP%%dr^(KO9aAo5ls?23L;D~Dijl1;S)_w
    zY*;>y`T*H7Mdodq@!Y)+$^du}Fkmes4A{7VTe(U|lI^7N<3MlSw|s
    zG5T_nl9I8C(11m@Xxajvw&4k9mb{G?cjX*oZdoEIX?@g+$J!i~n1zsKg`_$pbVF}h
    z!ma8wue&a$KZ1n*(hUwmYEzuVV&qL05Wa{V3
    zpgzjiKdA%)ggfHE8;J`9K;ZZI0bu^P4NS?kxWYsYmecu@(*
    zzU#W^GAJe$dd_IrEUkf)?uD|TKNjo8MjhPYH$_Xj>Z{m-3^#+Mey
    z!OjT51{psrE!POM6pfVDi(0``L{|jmJ=cg(^k}xff0R0lC+_{QOswK?w
    zO`A3$&J+{do6hN446-rr7Es|>N*3*hGrb3Y4oC?DP8ucc;Fuwe*mbkL*r#u#8=FacBS$wjbbC`d
    zeWmyi>#4l_e2c2&I3K5pg~M>-2MVL-aC0BSILBPYLis*FA9?sIHf?i5XCTiddb#Vp
    z#W1P4-wgv2Fnxf#IT~#-Ji$=9AX?yT$6kHJQ8vJ!6W*TjnQo@0t!Q0|Rf~d=C1&aK
    z-o+9o!c+|DIC4&B2?fDz^rg3>tGZ!#4^{ilU%d&#ynzfiM+3uL5KP)^tm7!Nc<5;Z
    zJxu08kVV1z-sb8XYf5%+|G5Uv>l43ghs<=xKpzKd8`F@?sD!31=Z#_zdtB2Uf`)f#279UQ$EOsm-O3~Hv3p*@t-IECz
    zLKI%w6^)Q8DPnf{@ssynfDT*WISP7wnq5u&>3u-7tJI@(?Ql7=EU
    zL<}ieb?g+YL#jKH6%5)~gQAhog$oxj@aHVz+e;I@en=gNZ6h#Iq-BrS3%|AVLl)8FlJ=|L^bWDzIy$sS0%~B)`Kl
    zb`Gfu($cH}O}Cg_fI+P6@87>aTwg5gfgHZO+j_Y64LfG-LpTB{fBYb-S?ep`%a0E
    ziPL~#pyv}mrXdC*G5^Vok4;AX%3H@;&FGLl32K8b$E|_x*x7B_)e|^9W)aDLF573?
    zyLj|I9*cEIvI?*d-OYzlKd&+(KDeB{-tE=l&wX8s8FaJt-80^#n
    z^}YN%rGzrZfDgXuISd|e_wdYm6$me*~l^N6moSv+Uv@olNKomdof-R1fPu+S0-<-p1SzQ
    z<+nO-J)%2SowJtWW4aSc&-=#>#D;yyTVOtyzJTOrsb2)nHk$iSqrz%c7?3^Gq3uvn
    zX&t!t=!Iu5%Ce%sdPG}=Ed{SPKG-5JEG)czy9@F>oI<($dpkV<)8ps>8Z^=TyQ2e;
    z>nRL+sQQDr^IxEZlQwbZ^I?9EGI8gYCzx?UIoR1{^EaI_-sOQ&w~2`x%TFeL-BZ2n
    z6|i26`T(c4OqTCd)059=^3_nu#$W2W6-r=1mM4e{fRn!c
    z)~&yROk+l%0aRd9XT_P5|4?ady7ng-(Hra?bUr#lnTXb!nwmh6RNQ`x8YM|f^NRL6
    zS{pZS-VE3pRZ-=$TwGj$Y`4{hFSc}WaDX8WNqGPggU3?!uTaplVPT)AwGQANAwfZ#
    zYQvc#1OLrv0fE@03H1S~?LjP4!MHU1i)3y1mVg$c)Bg$TE4j0XbM%9HL746Q3nvVw
    zebJJ#|3>7>718443*Y;A{9MMnYtHr8xa$4?VE$CXcTw#|4C4*!n0N}d_P)%Szfcs~
    z4+IZU
    z7Pfv0n56?&v(p!;3C}j_>M)csTnP+R)E*f2o%04_RkfAdZ=~YPhAMaAY3Y8C)nm~-gHa{<4N7R&d7B_TL~Rf;om6(F{ja2`nLdL{%U39XfvBvk#6u(Or&;Q)ay7VlG7P{mHw_gB@Z3Ef{{FrA
    zTcTJ2Jqn{|mYm;&J%%92F*gANvsSFzk<7Gw2`5^>15yP`ODI}cEF=cV3b3zeFqby(
    zi+$&i?|2WJ7GL-YTU;IKRpo|23BC~%s-la*f1#`XmRoG^tQz-MorjEG1V
    z@`zwZ)D$&=xIokm0R{`ai@lr$;$mPoH)mGem_(!vvW|e{{VfPR)kexzA$+{|Mvny|
    zCO9!y2h@?G+W92F1dB)J(&a&fvarl`xy;Q`vZa$Iv%uK-IV3*EK?e1OK5^Fo5{lRZ
    zU57IU#QCPG3OK0)?miysn#|*G@?0%Y@_-G%-;O?IgvBJoKaLzd%I{c<0O%YfIP8x<
    zt{~hl?g3o|gbBc=ZEynnCrZ*Ld&VCuYmSk*Hv?6e-mQF=!1_
    zST5n&^-N@;iXsICM^Ks&Y0t$+(w|U)p(H6OiEKHk5P=Fv()dZEclYn#Clk3*YQoEV
    zFjRK2)M^F_`YXZ{X58ES?WGR*H5TBD58bXIso`LDJBqO;MlXS#UL6K(jBmfKAF>li
    zOb!dW1!@Kh0b|+(N*25>KTkfehi;TMdH&4FyWWashi8seKbZbvJtsi{I}GtbJGLYl
    z(}Z5OPzLGUBn6kx9onMlHSuabhct&k>I$>Twc(5*ix8q9O*x2n;APRwsD4i$`4kKR
    z9Q`o@$c#%*UtcB@@e?Aa{}bf0w?cEABOnm1biAtLRi{y@auR9}{$W{Cy^k|C_M=%t
    znHzjuIs<WR}iQOIJn)K6f1z^NuTae%46I+^L_(OXac%tq^F7O4mz{c$!MT1(5aMmgrudE;3(Wkl{YSX
    z_39d#G2bSC{Ma#-i3U^KUes2)3^Ykkss%bpNV)azp)RCMF@;#a7@6gDpa^XO-jhBFV_kZUA>hs6OW1?3}h`q)2q6aTHb17}8RJ<_O@n*%2I^`U#6%)R#|UqR7earFhZWx=$;A`~HepoHJLHICrEr@K3E+!LeJU}-wK
    zB(I?Ma=~$30~#L8KwA)PUu$?Smvvxf5xe${wL%nWX=zWlwcy9S4%1PA29i_K0)T7_
    z^hX77$4f0wl}}`sBmndOpVjAqvdr_;>NAnMeM!{7(xYQll=8
    zMH;Axeh3zVGKyo}-6#eM1unn;xZLTwjlyr3ZKN0=6(j-#q(ag-&$4YcX{m$3`O_d$
    z>JLqnhYlo#{8)QX6R~$#RMcs6dw;vvx5O#fpf2CP9^TfrK7qR?Qu-zNBG@>|mrFa6
    zELP$X8@Iub95%OKlm=U6yJo0sZU`9}P_!#SNO-+G1y(Yp%?nBx0<=ZMYc5DG9%Igj
    zc_qpAl!xJT3SGTnYRs}VzIUz(fgB`7jb{)8v2HscHissGI}F5)r>DdoV;8-Q)>g|u
    z&2j&E5bxaHuwKqC((9>+sOTD}oBl({<__%o+|}Wc-*y3k6%dzey2x1A)7br95Qg}R
    z1tsIB4o(PAmR+{(zo!hUo3!MSwLk@57OXU-4h4vSAPVx1pE!ZKw*5XulW6R~d+>0H
    z*XKZ2w1}OqR(_m{urA8(W$(Z)6MsMoUscRKG=)k&7?=!47@bZdN_U_#)nNX6(vgB$7PEz5(XQcK#VNaesftx~}?*BJ3BGO9$
    zs<}5CPoqp0Asod7L*Bzv1BnX)?OD*z@X}Es069enB0_;si%J=Uwd~(o*+qG9=T>a2
    zC3=TDuM!ZL9euNnumuiRuU@rHH^x07P$=z4Z_uJ*_ilf3{;Wa`GoH%u(;B3)_;z=f
    zp~PsfK!z7ckwZeBNn}o*ZJ8w)H&Xd``v054
    zjs*j#xtyqA3S+9fN2#VTt8ktzBif{5@}Ac9RNXgU>K;FPwqqg-ABk_Y3I-2lk67|Q
    zHNJ2kWMF*4iU7
    zrkEfG2FIk74VXO{OKsbWqm6hk^#jCA8GERlVUdxMkOnDTI0g|RI5Xl9j`gNt
    z9X0hhi7HqZ%L&{X4fa|gUi29lD0ldGCay@w0!^)V46685tN4>yX6rnV$qtzhO*K{tK9@(}D*L)F()Xxc9I
    zJwu9WXZI**1w?f|rrO%COpR2NE+=D`2j~0ntDVn5XPRKe{Sc)ugS5z@MJ(HEUvQ&h
    z4YQ@1n~{-`FQ5u2lhB)b?W$EWK$qZ)(+m*=6PfaQ;r)oWphZH1T9GYV3^dW-nX`36
    z0cN!&&s9U$o8t(L(&^^Rq;*jcGbsp&+zJi7)2(Ow`U3jAfOx-yRqAgE2v~A-j+JTZ
    zGQ-!xu7>Ai;IsR$`nV;IwJK25*XZqISsxh4Iyu;s)~w=
    zq~s8G79n2{k4jQdX8RqckbO@1#)ED>OxdhVdkJ|
    zP;&Vy-iwulRGe*sPNq4R3{Q|qiUpNi09zcaMrg*`JO26!h}l_wPVvLqnfMOi^nH2y
    z5`i2};=Lb$6zI-eT^N*${zd7c1}k9}fThOycQIEW>jrJYP|GdQCZZ%ka(6<@)J4Zo
    z!cF;o)vAaCR}ej?WrribL63z!vQ%g%fp-P>Tvi65Gl$QUNp+V=`LYP-yFV%9XfNK_
    zd0rlbJ#RzJ0>WF2=CbO4B#H}M^abc
    zK^sR0Wu*%$7-bA=h-2)9p$V9LcN2<)#>C>6#$aaptq0J7r7F$n(4j;4;=fA!XCY^y$Iz@cgaK1M`#+v=%ze}
    zWgS`-R8>{+IHBd>41?7ovyg)w5Zqx___KA-kgmm;I|=q8{D=-zo@>uVC+5_3m9@3T
    zJ^5=EvuZx0}vM$J>jNYvC8g!}AiTSGCb+r&rm!($8i
    zZEbb+^DmIaR|Z02L4>4jLl_-TU0Z-c0nyKm(xEKJtX~2fk+G
    zT-@!Dc8Eto1ft3w%^xhXK7gplO_{Rh&{Q?G>yDV(<%WTy%bMkm4ezhhHU&<9{5t*Kb%h
    zEnEPUD}89`x2B^Zy!$N#|98~lwQ{Z0P7;ff$dU|-N8B;04hH^P(^h2us*XP)5tqp+
    z-HGN8@j*eXTq)*H|Ayxn?f)w(>fqx;vTuVIU4%XfS;j9ad!FWFs5ST>X)Iyg2q9%F
    zgOi3{<7!AqO_~KB7yw>RE~0b9{&JpJnhH$1yu2L1iwYD0sIQqth&9&V{Lp9vm!j8r
    zvVY^!WQZHFGHESUSA&#>Us|0z_nl!$00g|^<_U#3Q3X>cxN@C7YvA|?Z%`k4YJp-0
    zy1_h&w^>HywL!qYb6VGp(#X@;reI^!vPD7K3r;v&<
    zv#qeip_)RBaecKosBoOsc1Sh61|AH}a0>`H*tsoAh3!TX4;Um0e9{LL-R70-H4dgaZtUlGsD9fWY6ax(eDwGP`Do|H90O4%crS97cwQvPA_upI`Xt
    zHBsTnh0v@SGwqMogQIQS^)ezn+~85I2Dtyt6HKwV$Hsv}i{HQ}1Hbc%QUy~6Xv=sI
    zNEpl}PZ)wiGOo6J&2J@4Waqo7Q8LC*?K2Ph_6S4FnCLDAp8FNZ!~rnMKEnx-k;(DR
    z6bhM?i?$~GF_7gv5a^nLfWOoC?t6j;BidI~JAf(b??4DO+D~`x4|y$K1q8nh76R_X
    z7fc!2lmPqOf0~YsUsYw0mA2U&>dGnjFWH~E8X6bTxCh6WV5R6g)u1Ph7g+eE`y~7>
    zYE${<{pYwa#$2}Q+P@6_@FVm?^o4+imFs|P2tr;0!G96(r5)AF@G!tgs7_E3&x3;3vbw!+}aXa1?`;M$YjK!CGv1IE6x1J5*>F85nc^@eaR7*2S~f9O@oJvHH`n
    zHe>kj+$!P19Mo&!@6nSnG$w{fQaKRbfVP{m+QKBvAgq6-RP(g;d~A0Yu;}6*6^=+8
    zGaK
    zrj$9(tMq={@Ui&p1?21pL}=Fq$uAp)HdTDBs5m}p+tdw<(U3s|W~t)}*DG(;HLDkP~q#TJzo2Sz1t0Ex0LI4A9W9$LAmlks}gS0t};(zsLA
    z>GrPE?QW;rY^SV~nMwXB6U>BC_BDyId_$R>3>AKTa5CBrgMUQS6HQW3`+$8mv%wq8
    zSltS<#>@WC^l)E#F3XMJ;COXk
    zHJM?po8853r%9`^EcJ&bDMLd;D%t)oUcA86bs~Wf;d{KhtLR9d>koY9+p~OR&q3BQ
    ziV`9ETRA6;Cg3au(}3|C?|B)0qWoC|ScMQlI>et;z*t^={Ws`tYLX}9KN?DB+nB*7
    zk})Qh;m@1+ZL!{d$5KzJNpK60L<6~zxms(*aE7cr`0A;D^5@L&hQUx8_A+#50ORP2w4X3nAI9NK&O4d
    zWekkqkPM=4Qk>7edH#I)MyGEgWWgW|cgW!e6~(Io<$-fYcItnb5#!SJyybM~Jw
    z(fKzaG6pO+VIfhUGaJ`Y#
    zxmYr$h*QJby4{ik5DhYAeb&2=A7d#W-HKS8B$C0SOXb;3<fi@NqM;;rI;
    z0)GJZeVKCz0?ST%HM%^xbD%p_6BraIZz66AO^M86zIl(@OE}ty7|7pD?-pwwpMj^S
    zuCB(a_PHu4n)J#&acnPwfIVqEVn2*v{D45{CRe`XI90)jO6UqVc{)?Q2WhPJ3OtHFxI#Vhg9^}IVEcxka-~9YohUhOjH%_mrLW6
    zo!tz&e`Zcb#m8R&3Qc+>YM6uTsHo5#lCi^FnfKrP$`B49Q+Eluaq}jPM(ZkOZ-|D|
    zBa*CFFD^d!kKV4RmSzEzBG(p
    zV)yGv=L_OUFZbAe21JWcS+a5^6BA3ep5`C>0`l_m;6G^3o&|7%7T
    zQcEYj)&5RaR=r$k$gxE<_Ns57Qi$BMxY+mA2vBQj%fZsK(EYZxwE+yJv6qBz%n%Nz
    zV@%Ci#z!ktQmmGwsPd#3{#6=R_xeJKJvNt60MsT<>E5Cnx>3$ys#tE}YR9Zq;lK>5
    z_1xbQ!rfROsVT|>g1iYBeDmu(-iirRxyzQk)}fY*WLy`_=%J8P>27I~&uZc=X%Z7q
    z8W;YCdSWP5Y&;VlhEoGfh?(L^iyOGE(=s(9#G$(-x5}%i#HvQ-vpl2Ga__C*Vm7KI
    zNgiIDm?yjLU{0bt7m9xp-R%#pxl@MrcERv0g41J`9%t9NstwYiivGj-ABWaEF+hsT!b5F3k-GFKCgQc6WD7fw-eUz#9SH`WE{p+>8G!5
    ze*gZj-AU`#t&>m^HkSC8uV9j6y3)$Z3Qy__HZ?+A%SlCy*kcu%x`r0e$O`vK{MoiF
    z(|SjZ3V8e&JLW#uyuv~s=p*V@ncYY2;n(6ql^G9?Q;v?=EG6M$86AvgGKJ|up&y>=
    z4N`Om&!bYTQ$_4}9i7gjp<5*8^Bi`xlZY+Ut=~Ug^Y|EF@4&ze?27wP>%l(fHCKQS
    zUFQ6VqmEf)MDthIvF|>gLyk}YVvayq3jDNY4PkMfvh3U%N_VdOLaF$2CY-)g!?v8^
    z!ZP%1=@0S@L{0m6lNCYez%v&PK5q$EC;I%fv@cNT0UTPte!XSUdC%kJ7Mc(PoyWB?
    zUT!x>X5C
    zrL0WT!($Q|14hBs_E!BjEJqJrNwIR
    zO54~1{85I#r3qhZR71M#au252qjq+7L>)gloQ-Dvjp1~rC+50?hwhUeR;YSr{maaY
    z`~#Kd%U6@uPUtA)U&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/aefmqmp.Dz86q2IX.png",l="/GeometryOps.jl/previews/PR223/assets/cspsnmc.Cx40vhB3.png",p="/GeometryOps.jl/previews/PR223/assets/vjhrlnc.0OJvb21A.png",h="/GeometryOps.jl/previews/PR223/assets/kjgfzhi.DaovVbE6.png",o="/GeometryOps.jl/previews/PR223/assets/tleiggk.rOsRk89v.png",k="/GeometryOps.jl/previews/PR223/assets/ctsaams.4wfjCtJV.png",r="/GeometryOps.jl/previews/PR223/assets/tmfnyjk.3sfpQl2i.png",g="/GeometryOps.jl/previews/PR223/assets/zkkvhzc.Dab1-ETk.png",d="/GeometryOps.jl/previews/PR223/assets/mkhxykp.D9AE7i2o.png",E="/GeometryOps.jl/previews/PR223/assets/kvroira.DTKLkKh_.png",c="/GeometryOps.jl/previews/PR223/assets/maluozr.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
    diff --git a/previews/PR223/assets/tutorials_creating_geometry.md.ClrZGKaI.lean.js b/previews/PR223/assets/tutorials_creating_geometry.md.CrAVptBu.lean.js
    similarity index 99%
    rename from previews/PR223/assets/tutorials_creating_geometry.md.ClrZGKaI.lean.js
    rename to previews/PR223/assets/tutorials_creating_geometry.md.CrAVptBu.lean.js
    index c2b26e6c6..2f10b9afc 100644
    --- a/previews/PR223/assets/tutorials_creating_geometry.md.ClrZGKaI.lean.js
    +++ b/previews/PR223/assets/tutorials_creating_geometry.md.CrAVptBu.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/jjdwapl.Dz86q2IX.png",l="/GeometryOps.jl/previews/PR223/assets/ihegfhf.Cx40vhB3.png",p="/GeometryOps.jl/previews/PR223/assets/rtajvpi.0OJvb21A.png",h="/GeometryOps.jl/previews/PR223/assets/xzjfkpx.DaovVbE6.png",o="/GeometryOps.jl/previews/PR223/assets/aduhnym.rOsRk89v.png",k="/GeometryOps.jl/previews/PR223/assets/gpyuutw.4wfjCtJV.png",r="/GeometryOps.jl/previews/PR223/assets/baldpih.3sfpQl2i.png",g="/GeometryOps.jl/previews/PR223/assets/diwtqju.Dab1-ETk.png",d="/GeometryOps.jl/previews/PR223/assets/fpvjhcp.D9AE7i2o.png",E="/GeometryOps.jl/previews/PR223/assets/bjejbqt.DTKLkKh_.png",c="/GeometryOps.jl/previews/PR223/assets/qlroodf.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/aefmqmp.Dz86q2IX.png",l="/GeometryOps.jl/previews/PR223/assets/cspsnmc.Cx40vhB3.png",p="/GeometryOps.jl/previews/PR223/assets/vjhrlnc.0OJvb21A.png",h="/GeometryOps.jl/previews/PR223/assets/kjgfzhi.DaovVbE6.png",o="/GeometryOps.jl/previews/PR223/assets/tleiggk.rOsRk89v.png",k="/GeometryOps.jl/previews/PR223/assets/ctsaams.4wfjCtJV.png",r="/GeometryOps.jl/previews/PR223/assets/tmfnyjk.3sfpQl2i.png",g="/GeometryOps.jl/previews/PR223/assets/zkkvhzc.Dab1-ETk.png",d="/GeometryOps.jl/previews/PR223/assets/mkhxykp.D9AE7i2o.png",E="/GeometryOps.jl/previews/PR223/assets/kvroira.DTKLkKh_.png",c="/GeometryOps.jl/previews/PR223/assets/maluozr.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
    diff --git a/previews/PR223/assets/tutorials_geodesic_paths.md.CZ4O1upL.js b/previews/PR223/assets/tutorials_geodesic_paths.md.6HXJD4rl.js
    similarity index 97%
    rename from previews/PR223/assets/tutorials_geodesic_paths.md.CZ4O1upL.js
    rename to previews/PR223/assets/tutorials_geodesic_paths.md.6HXJD4rl.js
    index e5a648ca5..821c761af 100644
    --- a/previews/PR223/assets/tutorials_geodesic_paths.md.CZ4O1upL.js
    +++ b/previews/PR223/assets/tutorials_geodesic_paths.md.6HXJD4rl.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/qvdkgli.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
    +import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/isxruyl.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
     using CairoMakie, GeoMakie
     
     
    diff --git a/previews/PR223/assets/tutorials_geodesic_paths.md.CZ4O1upL.lean.js b/previews/PR223/assets/tutorials_geodesic_paths.md.6HXJD4rl.lean.js
    similarity index 97%
    rename from previews/PR223/assets/tutorials_geodesic_paths.md.CZ4O1upL.lean.js
    rename to previews/PR223/assets/tutorials_geodesic_paths.md.6HXJD4rl.lean.js
    index e5a648ca5..821c761af 100644
    --- a/previews/PR223/assets/tutorials_geodesic_paths.md.CZ4O1upL.lean.js
    +++ b/previews/PR223/assets/tutorials_geodesic_paths.md.6HXJD4rl.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/qvdkgli.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
    +import{_ as i,c as a,a5 as n,o as h}from"./chunks/framework.CIByTNPs.js";const t="/GeometryOps.jl/previews/PR223/assets/isxruyl.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
     using CairoMakie, GeoMakie
     
     
    diff --git a/previews/PR223/assets/tutorials_spatial_joins.md.D67WNmeB.js b/previews/PR223/assets/tutorials_spatial_joins.md.Dbt06x_e.js
    similarity index 99%
    rename from previews/PR223/assets/tutorials_spatial_joins.md.D67WNmeB.js
    rename to previews/PR223/assets/tutorials_spatial_joins.md.Dbt06x_e.js
    index 998382876..d6ff20aa5 100644
    --- a/previews/PR223/assets/tutorials_spatial_joins.md.D67WNmeB.js
    +++ b/previews/PR223/assets/tutorials_spatial_joins.md.Dbt06x_e.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/trvpmrt.3UVIT8DR.png",p="/GeometryOps.jl/previews/PR223/assets/nvxsqdf.rhXQcALd.png",k="/GeometryOps.jl/previews/PR223/assets/ypjhtxv.DoP_8RWT.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/kqiyyvg.3UVIT8DR.png",p="/GeometryOps.jl/previews/PR223/assets/wrchrnr.BGdVEx13.png",k="/GeometryOps.jl/previews/PR223/assets/xfvlely.C0aOtA8-.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.D67WNmeB.lean.js b/previews/PR223/assets/tutorials_spatial_joins.md.Dbt06x_e.lean.js
    similarity index 99%
    rename from previews/PR223/assets/tutorials_spatial_joins.md.D67WNmeB.lean.js
    rename to previews/PR223/assets/tutorials_spatial_joins.md.Dbt06x_e.lean.js
    index 998382876..d6ff20aa5 100644
    --- a/previews/PR223/assets/tutorials_spatial_joins.md.D67WNmeB.lean.js
    +++ b/previews/PR223/assets/tutorials_spatial_joins.md.Dbt06x_e.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/trvpmrt.3UVIT8DR.png",p="/GeometryOps.jl/previews/PR223/assets/nvxsqdf.rhXQcALd.png",k="/GeometryOps.jl/previews/PR223/assets/ypjhtxv.DoP_8RWT.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/kqiyyvg.3UVIT8DR.png",p="/GeometryOps.jl/previews/PR223/assets/wrchrnr.BGdVEx13.png",k="/GeometryOps.jl/previews/PR223/assets/xfvlely.C0aOtA8-.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/hhxokux._0R9BbFk.png b/previews/PR223/assets/uicozrk._0R9BbFk.png
    similarity index 100%
    rename from previews/PR223/assets/hhxokux._0R9BbFk.png
    rename to previews/PR223/assets/uicozrk._0R9BbFk.png
    diff --git a/previews/PR223/assets/gxumdfo.B94PsR1K.png b/previews/PR223/assets/usvmtvf.B94PsR1K.png
    similarity index 100%
    rename from previews/PR223/assets/gxumdfo.B94PsR1K.png
    rename to previews/PR223/assets/usvmtvf.B94PsR1K.png
    diff --git a/previews/PR223/assets/mwqumqa.-VpeHhXX.png b/previews/PR223/assets/uzrwkyb.-VpeHhXX.png
    similarity index 100%
    rename from previews/PR223/assets/mwqumqa.-VpeHhXX.png
    rename to previews/PR223/assets/uzrwkyb.-VpeHhXX.png
    diff --git a/previews/PR223/assets/rtajvpi.0OJvb21A.png b/previews/PR223/assets/vjhrlnc.0OJvb21A.png
    similarity index 100%
    rename from previews/PR223/assets/rtajvpi.0OJvb21A.png
    rename to previews/PR223/assets/vjhrlnc.0OJvb21A.png
    diff --git a/previews/PR223/assets/vyxjdbg.D0C8NCan.png b/previews/PR223/assets/vyxjdbg.D0C8NCan.png
    deleted file mode 100644
    index 27be21e964f050a1c55e13daeda5d14c133381d7..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 80428
    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 diff --git a/previews/PR223/assets/wcaofkd.Bjs3GBTk.png b/previews/PR223/assets/wcaofkd.Bjs3GBTk.png new file mode 100644 index 0000000000000000000000000000000000000000..f08544dfdb6477abd8e55ff048f04a49700ecdab GIT binary patch literal 73646 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 OV5DBii4}?Hz5hR2Juwde literal 0 HcmV?d00001 diff --git a/previews/PR223/assets/wrchrnr.BGdVEx13.png b/previews/PR223/assets/wrchrnr.BGdVEx13.png new file mode 100644 index 0000000000000000000000000000000000000000..1a2fb4098ce67109de6a4dac3955b33c46fd06c0 GIT binary patch literal 207334 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Ᲊ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 z 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̿vbY6h8ZA@M%ukiM(%vV5x^6Q1IHaXS(`F(_wODyl< zQPPR65siU~6-wsRo0|H$A?y>jW$U{uW54O^{5$QCra*GfrWl`B$(|wz?F4eMrI_QL>*!WgM;lmw+Y z)`PYWPY~wwRs~Ld-?sl7#Hlf%o?#HWi<{afSC0n)O6b3~WSAnHj_7CRm%QcjcsVb; zfSHHz_cIAGLta`gPNR)^{V?HwLLg7?|E~quFV>Iqi};H#+s(_xxh@Z&%SBXfMK_%=m#C+`r(FCd`*BTv_O#U?3Tm$6?p5coP)C`>pc-TQG-V%FU{C*^Jg!{C=ZUl zPjb?LJVE?^o3XSz4w%|<6 zLrKPwzr0nMpiH0t!!aVs#Hf0her%oMrpWfV?OLb?s->e=!xAdrYwmBmDt-ZjtKz@w zd3Su>eGC-jyNBu=h81Lhi`bxiFDt5eIdJ-MWKW7P`1os*QG)o=GXLX_UY88|f1sDZC8%PORJ!~2`LxtR|SeA@% zv+zPUi%d6KEmIV@<1AAE%oAyArnozWE35K6C$GHWmK;)sXg2KC!Gd_mH^DOScY*HWn`0}a|E z4_4d@0qxl3dt*_EX(OUnYc`bBqyX(*7OBuZXHgXS{W%L1y@BoECs7tc$f5qnKyUWY z0|{`pTN@+Cl$~2zmC0900@r^=bFUtNFn;zCt6?UbLJ$^n@p#1G2hW*76ei0!{>&rI z;O-UDOU}n9_M&O2(As~MB{xin2C8RZ8zv?E+tT_mkv|*O{ildN7fJQswfQ>{-Ht;$ zPhT-EJcrg^#QnCj38?&r$o!t9Bg4e$nA;vxc3+zRH2$q~mLNU?nU7t^gH$N2Tx917 zYtqQhTsOl`(x~!Odg*Y&aw9{m=s(}RpXbjoz|K_3%V7>5=m|yc%sS>{gu`E;K7zYH zdt%Fid49;x^+LVHIz>Yxuctqzxom=^|Km{enW?DTR1|U#_M_BC3-)58sY&&P_n*8M zecBKX@_+Q_A?H@yXAd7_uNF|h8FJDp9%|Wc8aHcqv~gs(xdRQ8Q5HWvyPbhptH{x_ z52sS@x%`9BNVyH!*EheRUt^H&eIv0Ct1hR&zRM6Jo;%&zU{Goi7v|zzEtAJPqcpU> zcr%m^S{-uuTmL8BlO9Qr*Sa~A2l>E&!>Y)uA8CG-M=vAwx3M~^p95OGypt=6sCXfX zFKQ8}o`(|7K7@2qY4Cv!8`mUX5jF0R>E%ha*M}kf=CVAZ23k$w^zdX=lG4XFa`-U= zaNd~+lf~SxIFE;Q=dSPgjvHoy8l)ivl2U;%JUXEUcP@g}1r*F*06QZ8zLsu;YfDKE8W2y zAtF8K`>o!WeqgtIE^^^N z?qZD6As0leVa~;l{(E%b-@B@UYLc{(0&U<7ku5cq zL-?3`+#CZ11F=;^mbWh0EDv79S0ow}U@;2t`Seego(I2o^=y@4dT7%V|D zW{$L;7j(UVs2a;;yViL31Hf^9AhvD<^~~f=74r^r;awW~EZImTVzdNbrW$FU{Ka(k z>LS9L_*+fGGZ)<)&^S%UFycm*94)D60kTWNP8DO{$4UidcO5e1gg@k>Y@L-m7U9u~ z|87Xj=!PLug29}D<&l|7(~>AnkzslAh|>ntzjJc=?9ZqnWBgWCKSMG}@^^9iHmzFW z{vC8Y^WA)MM|yE=*bJw%X{krP_BiQ*_EiL@JJnUn_&hqKpkrza@fjK~*$o%(zEmT6 z6gUanFl92ZS-?jdVU#ajif$248{1K_1a*2D07JO_~G~fZJfiYHl)OZTY{skQppC@ zHGoce?H}mrdGuIrlq5TO`GKWPXuJPQKq08ZWwOK??0&}F0t-H@s9>(6xN~+b#0gfjs0CC%! zg<8Qh8J=zzCI5uF)$)2NYbr0$Wc#hlh>vGGFXK^sc|Sb4VcT3@N6*L}_h2iH0N2mw zc=w%ajPQ1Le@*>v**()vLnILcr%$=xH4x|*!P-JH;`jvlKIGjdCuX0UH;fA!B*M8`rb?_|`cl^LqEv!=jTkiGGmwaG zN+fSc<0RfYX70zEec$}!m+k*LC{h`__-qRo6BE(MsU7{cyVE))MG>QfPzr(Ikm0cb+bAK`&#>+;h5L+@MNSHzW*D2cVRsmK7WMY&` zepSp@)3B?eq^)c~kv5G2GMphkS{D^yU!?3(zZy!7tiWMqly{du6~=-9_!e0%Z(>u- zSzPW&vken#qP!3;YLux*ol%p9A~~shC0>eBGxeM}S0y9^)Ai$IJFvpm7-0U^4x#Bo zOOi)OAlNL~7_Z`9)GB?hvUqFb$JRDa@+5%${DjD|5ji&AVb@!gTOUmltb32?$8Ex8 zkCPPE*#|FqH$>gVoyN?!Q2>*46i=~}BnEz8xFI;i8yIy_VhO@iNjp~ z5{&cP2`LWlz%&zg*0Y+VVzdA$pzW5NiyF?T+gOZKfG@^4f#DEf9X5{jlqc|R$ePEd z7P;%f2jo@UU5PysMiwyrGvxh#=YaMU3TOnw`Lt7#Jg@KM1+eZ+hGEPHA+0w};!Q0n zMx-m0)u>_lOu)dHT@UtN9mJbTJc57sg+u>w@bjNbPJ*g<3>rEwGwatqY|I-MzvNM_ zHkMJLN|HlP*x4IjU)2(sl)H_*N(n$|fYP1mtjcw4`?LWUV9rM1CDzJ~Mh26XIY;>P zUx$?>fk$jz6(hs!H5^RF+&NR{w zk;Z-0kIsPObxA$tbCdMN0uC1*5|d=;pZs{ZR_|scAyArzg0JDlVop+B9J z8M-cyxH?uN?; z{oN;UeO;p{eNw5!^NmN8G^t-#*{&H;x2v*rY4x&eVxl6}cWQGgi*HNED_JBVMi$A{ zsXo^w>9sV=1Ga0gckz3M71HMuH7{+1LY$k!)WV6;kG*(_Z)6cG`VQEO*bYCi>!Z){ z8;ijCygomDYQ5^y1zDpQgZbkShdJ?ecq}3gm<4?5647RmNUU~I8*hUnOor_62yYFe6?K!byIKHAB=Q>B0o z&Zkm8q{gbUAXOAFt+dQ`3f`~3XKz92QKW3%?Ywr@Zo%ZxdBA^W$4)h*V>^dWyR05& zl%Bf`EJ!OZ-tG>|-qwkF%qA=+ztfFD!E&(e|X2y~&D8Qo*7Fvx8VnoY;?Y`pcI|`8drdXoSgC6*|7#|B&x{9lbZT0y!v=6lKQP z;fO_d4L&ctNg8m9=i;Br!JP_Mx@?@FO!@yevd13-?Xt;vYGRzS$2XL`V%rQG(Rnw^tgK0sc1wj zLfZ>*g_B~$Qvn7*NtnrcMOWFLRx!A@pGfJYvqX5dysXe(xWk)?o3HR%EZhMCNJldpR;`SQPDHw}d9N~wP zI)${xqRj-)h)QtH(atx4F0mIRlD`LtB*IbK`q&uG$wM0xyk|=4TC-7S>gl zm+f11O4LA8MA%)R%lYbm<724Cpb7e-J}V$$-5Q$ z-l0LeOCkdKn%g5fj4K6bS!vV}!HFOu{0U5@l8}$s2o=^{`7RP`y2ITjH$iIV@MSk` zCrQXXJA${@CEOt|o8)b<0fcbfhgY2+P^L$VTl;^Xg9LgAI~)p1;`&)F!+-3nkz>#4 zz^l^iRzgAlFOr1XLcuF2NqA?#0b^7i`De35B)l%gB+YDsp_$jiNc58>CFDT{>(4BC zUd*FMJ3TO{56Fg=I>$$$8xgJgWBGcd74(aUVGLI!jLVvgiopV5q+Fi*}TZKuGc z5ToEUiN*6~UnTl}%Xtx$*OEG~Id9L9mZg81jShMRc5GbX5dC*Weo5TB3L>WhHTkwz z=+uJ^)}4#t+Fdowp=jPP$2io@^-wrcw|0Ust;07&H1TSrvn-u#w}WfJ2v*l<>a)iogqOax?afR!8+})v=0AA>u*sWTgf9VR4)ua&m0JTZs!Z)O2`q z>DEa(QM)KLzp41O!bAP=A{u#|Y(UR>sk{aaVhzfzB5=S)_B|!?iVt4ACMsU-3w~uo zDB)u%Xuz#?RW6vq&4Y%A7L3$^(K-h=_*=>3qy|~YDBV;W?1&3QEN5+95%WsX=>jua z8fq>^kmRz|p9?%?1qdd_B4~nEgeFkUR1^QoAN^Yh;}`$wejZ4D7|tZ&I$Qz#k5dWY zp=ng~z+I@baEa0gFjQ_kWfB8(Q3`mm91)EiEw|6s#v_@9pcv&`e7c1&9u4Vwb4XJ?En1yf5ERk~yBP}CRF9*7?a%<$kP85SxPI%Zk>vbzZV69q0n_=VKT^-FWdP&=*Lnxo*%P~ITdVh zyC_jTDd2sdO+JeW2*kk%@Z(KKpz{f9T)%v`_6`Ba_#F6oF^Tub=&d$uA&$A1Q07OQCieL zYpT)@3P@eN`Tfgc9`34nkgRacVju*2esv9-Vy}8EKrJ(L z7PkneM*#e~_-awVPa_&oMI~DY;?w?u&6(1_FcOumhSup@u`i`p` zW8*mal|!(vt(S!eufWT=siXN*Z5-`?diB6+raN`|(ZCqYkYzlEU+L=Vf{ID_w3lU@ zE`15s7UmwkS0RaBQoBpD;23B2CF0B-WQQ(y3}obYWz&1ZM*#Fvim z>&w^Zk?{8W6Oljt*>g}B#63tPA6yNQ%WqI#g8EoN6)jieaJkYJ6?MYxx#!?1rRmx3&w{1V0LCzc52zqG;| zHXWQ|^yM6p9QGgV>n{K+h{joLBA^r12&j;z9Z_-rWxUao|;~ zECL(Rh7r~vk-)=egX;P$6y<;!gxb+j@SJ~4pl?yFjH0BbgWa3?L(1_I5wC~{Mso*n znJXO1$}8ahKsPWOtKZvEa*Zw(f~vUU!q9Sz@!|vbA&v-!g05J96*1eS>z9MOp2l0m zeOEmg#;Wu>e}+-U?Md8$2SHK^1?V9U`1YB{AtL^(J$U|HZTVYQ(q6B*=giu4u}Kno z=;^tH=R{wVse|fU1gT4x+T^lFvuVxz?i*H@-|n8|=Q59D!yy9{qkou!SbrdJZ%9g} zlw7dtSy5yb5A*SG4`i99?5=~L}Oqp3*>K(q8XRXUJf@_p~oR@?lXV|w!?^j|L;3MHW} zhfeub+{BxHJHVz_RI0esXmErb*GqmP1^+#4f!JM-I~8q|c8U#AfO7c!hIm@sm*%vO zsoQN*eAE?$+X|B>mJ*L)5k+RvI7o)9+I)r)Nrm$u*Hf1g zvZ3$&F#`31>5m#Y2|-Jw2K1`N`qG9?y{x!+>N4JHzfQWf>B*`YAi3`;g;jjB&!Kkb zj5^`}Nv~P3^#1e@$p(OtnZ5N4UjdNB{kg zf_d#}yUYTAog-oqV@iNUVKT|VBx5fuN=R{r%H&_0GWNt*J(Lr8>-5 zvQ}h8Mx3L%W ze@m@ww-|S!z(Igt7SOs9_Z4RmCMm#U>zr?~q1cp~Xub$LKg+`=b4rMxm|Q=%pKa?6 zWoKi(u|2gNmJxHx8ubC*4A%60mJ7Ha-o1~BfJ{ELj#$DDoZ8Ng0x(5-?FHaQBtwX6gUbI-sN;mf0P2SF|W!{qa!u_siBIwfQbb)ZMIh z^~H%D_@uD!%Ly&GX3|qiM#8WU=!f+T6@{{?NTP^kU0*j$hj%e)oO)qjbC48&?Y4w@ z(?@VWmo10nzB9lKDfg?j&_!lCIqQHpD3H0sOF!~IZM)g!g~gA(Fx)>x zeYS=%ZHSM274vLgJe$n6c1+j5)Har@>dopu=6nT)MyL&2&W)8tj%7IuSF2=Od5|e0o+&3Qr zI%aFlDU{+id63lxL9VATxWL}T0#7oGIz3v{(wKh zC$N8a^f8s{``6f5ONKn2=sfP4N3bz;3{V>uU$nqRX!5Ff3ARdI$26=BF4ZBhB$CWm%2Br(ppS=4x`7Da@ zV3wT!pQbyBK3Sr=0}-tI`m@9vCES7n58m2Nvb)@17hg~?apFkKwrwx2i)Ra z;&*6Z1heHt2(^eOVfLmeOO!+YTmON1lIam7E}INAK>V|A-CqXSNp~TK%>IX_bByk* zd-{Id*tTukYHT;Q+1R#iJ58FTv2ELGY^!$Ufeh_$*yjjAt5eWJ&qBiI?%^Edn*CH;Krg26 z-mHbwwgDsCf8@WWwESE=m1z10L;(M5aTi7{YTAz|XFb%4(0%i=iBD+arh{ZbTZNgN zBxI4qRGx5O#6po_3TZ6Ct(~nfew>^vZX1tF-~To&Zj^&fd(x zf*Qbl9|97_^+9K_XV_hyVR2D(G#T8dSr}B6Q>|#hh(Q%1dudR>Wf_k#^_5|b9E6)= z|bPa0Cq>01<)&m!RL>cYO}>J(fz}k z(-~)f+E}qW|Cio3j^sRRiKEOu@Zn2U10rJE$*OncZD%*Rmkb{!7cq`6IBLPghtSRS z5WFe}iW+~5MdXVA1P--F?gvu>8Ph2EMd`$X-YCZpzC7~kVK0DiX#&FSND6SC}npW z-C2<}%6rbV$Qox10abwrxzTFgn)&o?G7E$WD~6d8`aeglNLmdtH?bTu{f*V19aTIhS2`L2k3t@Z`f&+NPM*FN$phg&^ zwH~fi859YX^u>+|>T&aeLuQ41GB)9V!cmO=OJ+>tyD5=IYKGmw)f_+&WW{u1G#DQx zsG^_q?Nn1UE;cXtqmr4ZiMWs!k*0!DW;2LZW?>Sd6yo2@8`i2cQ<7c#Q$WUvmQ*je z46$Q`=mN*KEu=Fw76WooSrO3Mhul=8>Hp+AQN2U?$&E3%Df2g~8fL;KqADdN6+TCB z7c2)>>{g4UIv{az{)Wz~l77EwU0tzg9iH1eM9LLTaU5!$%6(?Y%M;hYbZjw%EJ)hD zWp_BM#hc(++$F~2J9TM3TqZ|S7$wl6v8Nw_dknwip$j0`dNB~_qDicg$2y-RDXT0~ zp^St#&ZdJ$>RVS}{=h(L$zAQ_QL0`7J7IqO+Ez1IUs^M14jISbDKwHTLK_~1d;s_w zEZHX=&o4D}f#-$MO(mb5Fglq_d7Azs56)mc zWP!J_I2WHkmxI(+93(DyOFW#JGD<}r+uUPN55C)$gFUi5I(#A0w|>%K4y zO4$45A&cx4^P6#tp@ZvIjRBE@k=XLGMq+xsy;Znp={FEc2zF@{MQ|Gj7wO?Ch# zp;d1@xws3W5%qYvy80bY4mv3br|;omRN0OEUaGxzbW_Ij;+qM&l8h2V|0KUmoJONq zM;;dISkGs<;m_#2Zk2d>F91EHAIeeE!w*hwGU-4i_!WfQ+hWIE8{z!+4kdFt!A`HH zSaY50zP1wF%;D}AiTuojszWax~#G{$;yh4&VF)jsO2O9 zrNGYG>vvG?eDRm2_ zkzG5r$f_xjif-x`k+|BTV7wo4J0rE?zzpV+Fgb zTeiGRB|Dj#i<)cyBD1^eUtA73gr|+0bi#M-NBelEIS0$HhUld>zu1||8Y$>BQt_O9#` z26jCK%*wu!0(Y3lQpjBCA5~9u-=?-Yf9QW(U83MO55R`}Gex?RJ{OI*oNsIS!4<%UI=E@C!Y)o_D!I5~GjV-N z37<9R)5J>C0hdCQF|JUtEV)5zUS z?0NGRm^nOraeTX{|A{olb}t9mdA*Iu72#xWIO@*|51OwU3kV0DimaMA-r!nTvcA^A z1F5&xAkZ<|-uJ0P(|qV6Htf3k4m^XV`OmI;C32bumFQF*()p8l6ev1D%i%D@bwkoX z6*+{WWAS7jl4$}{b7od>Zqe)sNn_(KNw1y2V}M4ws=z`^O)j5Ha(DKm~aari!u z{Pdawg_pNjoecy??KWi(j*ZAHUD2CO@|=3CIMg4DtatfpSX8Hsypz2NA83D&`hcgTtz=g`;6%zc$hO{cqrPPZsM|=~K+tQ>z!7v;`c`^O zsqnTv?&Kk!Q%^$RRqw81ZO1WM0Mn7+i3)eZQX!wL9Rt9?(+(G$ziCi>e5^;RhXz|a zViPs*Hi-suqW;7$r}$-ohOxrRrV|Jh*GAW=={~r=65_T+0zOCls(kXFS(=U0a8XKo ztRZBaYdb{|$3Uz<`Z(}h|Aid(igR+4_Ugn4E|xpal}L>M721NK`v}&+jdx>HZc*j} zP1BdIIy%IHZMG2VQslFk$Ji6@>R4;Z6RGx6QDesJ;nBXl&0$SlOQ}cJzqf$c7^|-g zmVB`CIUm`Ao6Gn2OzR?7wk}3!5nN0%0WZQ^MTtF~{wc5Rq#X*s?OV@jm;_U_*Uhib zhdX1zovAUAR=UjV(dTl~f#a@p9C!t-acbZh<(9_fsoEN9MS4 zjDqDsI(B1PxOgtI^ajN`jdlEnje3ap+jd(p;Qd4i9*a8moR0Ph23}9&#Xihy9d|PU zm^n`}NWIcc_zM4kxj-GG6ZV-;7fM@SD@)(r1d%ieEDT{y&>H839t||%cd{1BHkT^+ zFslD00)9-(OiRPVdzSAD`(9Vr3X2|@EbIrs0gta7G105!Ii_JG!<>lW#>NxiAej zbX4(iNj%A)OkEnCbJ9XqBFadoEpreQJiIyjSl3=%Iq|c$0K)sAWt9>%i71jVi%>Wn zlI6EIU_WaV%NFFA9pMMV*KSyv(C(`K67*kTcd79H`9SK!8F%nnD`UhkpZtq% zJSSVxe})Nbh`8?;zA6qp-+%ZAf8dz89oN$YMG|NW_AQehG7g&%X<2(qby@j_Z8J^D z{1yR&u5LC|ke`ZZk-7+iFPJln6oFvXT69=tU*RAP3bn*9bwe$$04^*UF3N(6a6U9S zFg?O>FS0+bg#+--F_Q>|>BEVQq(2s6TGAIR@U<>FHz4qC^yBElo5@rkNMGtqS+~Al z58h4@=1DUU>qle?^0bO!h7>$u6sfAt>!A;t_vzNGF*T^hW$f#Vo4s8#-A<@D{;qw*& zln2bWjs!Zna!CKvlPJe-I@<4{-l`vWNhZwr|4Z}2=2Du7IUqsCsz6FszGxKit!MXC z@OTLC7?q+6C&+aJMTr+FF_x*TMAo7SsOVX!=)5;OWJUXRQ$+-2e#J{b9w^gxd7|at z@<2Aamun3bs&)o$lbDEO5$4xQKbIr}nUobj2MHr|U-p`*Ha1}`uAW^mGJYW?QhD6u zp{p-KQx8@gpii#3<|d5Cl9cmfO@U$(V?Kx0V36p=h=jRuzoav8>k+KhYOt@`zFF8R zOg8<>5r7tIAN?STl$9kW~Q$I2{v+3kCrn+gNbp~Aq#p6jF>a*~Zdb@w@v+^cX zK@Us(Ajnc>DZa{Y6#6$9a%F&b^tqsIkw#(aYKJ^_7coRVXD%6w33<*PqSmy~$+aIVLK+a}QoSr6bhNX3XkH)dUES%}f zEi6JhzAE>Zqsl3KA*WzxJrTz~1h}g6Gbgd43Z^?bl({>rzV4*gQ{14I0#N$J{4Z&! z0g8{~r!m79ko=XD9nE^T3Lr4Cu<$wfZwmnb*1!M$bxwN$DEThTiDC)9tT&I2rzmr6 z*Zx=@Hn5VXcRq;2#lZ(Uw({1aA0CF*vnV_wFCM=K{!VC)96-I>L4ee&)HsaP9z7I+ zKkSq~JW4is4`NVDgqGscYamsKa5Z-5ddPM62~3yDvU`xh8PlTHq66}%73^JjDx_#9 z%$xRgx)TT;R`YY#)io)<_-ys(v0h)bbIhWwTBLSi=m?Z7TCBwBEz9V{su7Sa$iP+<=KM=Eu zuafbIqvYN0;Y|%8pQ!zMfkI6dreMLh z{kcf%w+$!2gc>j`6K6kqY>N2UlGZCzbspTf(KR=!KVW;ox&N*p2(@3AzkxsB2p#d+ z*}GZ(6sC<-k7{p7kJ@&FPuTU(^oj20A!()E?h&&{gq?)N#4b*1rBV#+yJ7n8mLf?* zqLqEoJOo@ve7tn_U7X~dwRIbm(bKi%W!uulA3+S_j6y&t|1gBT1z(=ruNI2#?Zygj zYa`eXFH+SwGb|6EWY&F^<2Tr?2qTNK+EbrgVu5Rg%D?$NtvXBfc#IZ&@y5(L`R5hL zObtfcf2Z4{hlj+S`LZ?W&7Y%NBJUm;r*Mz0R6{)rdwOLhQd%-@x^tFyaUC&zwBwu_ z4v*zXzhpuNYp+}^zwnBItP-<7mRHD=cFc50w_-H8!|{FnLBT6ENxG@#0h1@}LbFJ9P~F^&NCWXhY|&?K8)iwI6!rYsHwD%o(F zW&Gt8Zw)vsi&|^(nHG`KGL=D?7L8Oue1)*?MMn;$^hJ8FUo4u8+!_XclY%HN1GV*- zp1%t3ErIXKCAww*LhwU`nfVDX+qQY_ zg-Q2ij_Zg&!aIp`h!{2#X4mwgvBZJ)IOn+a%2H=BY7)#0*vH}r>A$h?iw$^-CdK#6p@! z6aAW%lSqy6m?bD2MF`6=1Q|Xq(YPbklfJ2p5wSTs3a)X*`*3IG;Ik+I<{g-|a{U*z zBVL$+45=iEsO)Zu(0@~|{Gxzqx%f8`2(^S2Q(lG0Hs_nm$m(=vAGXbZ^agV1Xlcz(DxL}2)!(!UGW zy2#G!gn~h|)5D!o#INCwq_M?@Q)b51Q||y|2l5#ElL9Qvr(=vtJ(^AM?X z2w7M$vImk1u|mNu&=T1TImgWub#W%?1ayrkgGhiZ1pnm0*XIT5?)pF-c|qND9Ia8d z1f%5$v-z-rsc8SVJ=G(|J1b95+j|UcQVTbvL+`7d7mZ{pzuLCmb8*?V8vZ~zaL&Jx zOxP1fc>!*utiToBEYPi|bPZnSv)S?J%wrVVp0#nt#JN*{Q8}9>hW_0~!iJ`R!Q^3=nVr>BhU& z1l8ov<-1YbiVCwic7`51eL(uKMSF}uNIrepTwYe7Lkg|D$4CxOb6qW=}K zH$1ZzO0~E;kpN$m1Ki&-=kWu$4V$6MZ?{{E4H-1SdocgE*iQ?U)V~&nAL8VB{>aG?0Je{nPAyAGN zcRMK=s1e6>=eV!$>Vkm)l)nb+0fQQGLoOS~)F~cT_I_}&g5UPQJIl4=mGS-qIL6%6 z!!;dvD;32ZtHIoFr`bH*fpjP>C7P{H(~1O519JUG_IV6IgP8x`#-Ou;^)TA|&wKcK zo(0U^l8{B7^%G^q@#2?U+$NQr&J`;l)jV_oxs-}WesQ^%P4oSeQ%_UUzyV*5uLNY< zpP&K%A{)pT zl5y+_q9}A?MkVRf-&E^pK$#%_FPDmsgJDo}?Yd~A&u<;N-O^yuk#c;)2RNGt zm{^}Y?5s>FXStY>8;G#0gZX%uF1I2wPSb*K9O=Q9$uLxxrRU{|M@A;xftYN-D_CZ9 z)hS4v_q28vY3e#YR6*FD9?n8Vte#ZD*`6U`3u#Yo%eDK_FFSepV-adUGu1Z)pGc81 zzHBdDVevtXr0#xjvhS>7HFoD*oev!OV((2x`8o0`3U`{5CCMNY zDh6p157WdwO1ty{uOZT^@Pu9LypO!82}F;jCT)HKXjz9IRvilUmX5d}Cf=NSPl~%{ zIK;Z(Y%<;M70C3X3uUMIpk_}OW^TVb_}|idNFO%re~BI!`gnOg%w)%UU4xw!F_B{R z!0&-1$M$c^H=&UtB;^#I{7h2>9$E+*j|T?t4H7~R7TJImPTlk1OBd&9CKHl)~! zPZ#>}IUMnxbo+IY>u#uKwmh8A#*n=2ElmLd9im?n2^(doxwsVCoIZ5d7Paah8(oCwMbjlEdizLlxZY7!^Kyz*ppFT3!0=tx|8N>q*4%%RwDC zub5qhD(IiZiTE|W9X4YAF(OHX64`VyU;^2$byn2)t_TCGrm_<@g7R;J-jACT)qa!V zw{MwRiRp%o5`htiyT$p%ee*vBd2&0Xf(bs9f*0o33So-0Gx1E3^5k*rQ@~L4<%X}( ztbq1sSlI#`83*wzs+JSznqEX-$|KRN?GnL1ZF{SST0aVe#c9Kuhyn;Gl9{E(tcJRz zO5^VO_{UMLh#nW=9oeA`i@+SZZUs-g`^;l;%qWf8KKc|Rx_|BL^sg#~OW^pl94-~H z);F!!mlE!1-VeX!(GD_(;4Fzo)d*CuKXf3`s0bun=;i;2r*bNBxK0N8HN6x@}^!uKEcvv~<5NpI0w0&Nc&tsXtih;M5 zu$@pFQ@sKomjho7ryu?Sw=!ycR_fQBxcA#QBHjVlAZ^;45N=K5?t)CF``Jb*IRTWb zSz!>XgaJcm6ZTOkUNMac?Z3I6v-J7a?;E!(I>UbhHh*tk4myVQP=<=%m|k$dQ_uV`iTzmD@JF@pT_a)KSnrZrYpVjq z;7VMG`p)+fn`D13LpkhimeCsg94&6(EArjkFDPM9ErAe^a;~kbP7>j!MOr6aGVd%z z$Beqz99muNZM;RIZK#%Y{##_XAI-ly?Mx<1`$_u>n?~)=hp>i!B7KDRD1+F@@^iJ1 zwrLZPi@Gm{X!0pYy`Z~q)cm?2Fwe)>NT$;XtYm~~)G(!g7TMUwBum6Ic7q9=5r16G z-qdK+Gb_;~`2%0^Vr!ER>xX&2dS=c-m=xNZNrS%?Hiyn@8GRuAc_+vlJH|B4?P1e? zXBWMt<48>SJ#&9VHQB8^hJjOs?jKVrvTcT=(7+ewR8gqd-1X?OrrN+#)k@e(W)oHL zDIyh~dB0stItTj#T()m#mSOn=zf}}W%=GFF3LLi-N@0$#4!{@2n!mrB?P(d%ar8<> z-;0Jgd@&1j<0^V*--=;aG$*BbG-2gp#3);z7XTXq;lKAYxZPgW5_gfVugYcZ##Js? zB1kt%Q1#1`&HF2H_~26uA`1uC@5kK>G7?$9#c=ynYH8?{Jm+7f;^V`D*;A4|g$wrr ze9Ed6H*F1S`(gOSz0U^ME5SW;Q6>h#??aK82%>AA_Kk&eutJc(B92g4L5(5^qqm6X zi^c6E=-E6kjVi|vNA4VTh~KDeTWOOpq4pk)KXjstem*UePT{48ExZ;^W8Ltl(BUKe zbaqFS!anK$?2io&`2fh_Jub{Ks7?z#qgWk-Tm0*nxO&98Tn`w2ILgpF@t zi=40)l>Pgn?CD815Onf(q?#t>uiwN16CID3GYv;MhK-Cqlbf{h z-@$IpNG0-Loy6X3cf zRh{-aa18s#WQ)BQID&S|y_@t}x;AVO*%7c>$-cKfKu@yRV-o!TSpc@iVw5j>T=AoY z;;woZ+}hgVb?d`FB5*NxhsfYtR9ADPKUs5cT8ZjxZFV8OXBTZQ4NU~huMV5hQp!}$ z>Ei^F`Cb*SIGf^~?1U>Qd<60sc_Iv~z4ZBc`->x8U1D~3Dl6b!76X(dhCI*YF2nK2 zs}(`;Hs12^YU~}n_mtYz$scOCT6U7V+qNhZ&_`|TTlswN8&&^`d(p!BLM{6WPDu$W zu^>zGY2~wRA@P-~c%l7SD&FoF@tV9VUqoX?Zz5YISqQ$}mSI!#Lh#KGi$-$1zL~7( zyC-X)-<$(i8#Ew0ks$GpQ-}z0|CG)BFnh9L*ep3Yu#b{ov`l3xW5B3fI6ur)`8N_F z^6<>KG+au2r=Lh1)g+%CMONaor5#c8xL^fiRN6KXE6^R(?MTuo{(J z=tFVhLI4{X-@nqB5X2&!TAuvLFe$z(Sw0uh*oislp(2qU{|Dx2ZzL?o?#lNEbqasA zxEM-y9h8GWRq)ec%fXJRd*9zobrAs}P?K(n8CO&{*A#YlTz1t6OPKI^g1kqqwBSDr za2PZ^5SD|^>>i`~BMDD9*n1Qe_xA?;ClZ-F!RRJE%46)&WYU*(9G~>J7mq}?><7Yl zZ7T-89lfwGrKTfv90%5dP9qJy7AoyP)6)J_Qzpm2IBpm_!okO-6!Ef?$p6<__Pa)X z*w3i9ScH#>Qr4;&@}!=(k|^FhW50UHg{-tp1kLyMnR?_;B`70w>CCY5vK(!$JYU)T z8M(Vea4jc)9+H*BtWEKa%9@GbZ;_g4`sIy9TtkjI!@H-B?G%RgT?;>9P=sh&R4s&zq+A`w0dh`m`?FY3Uu zcM`35C2;fCg)?&ejJQlui~!ncCs}yJ$pT#y>M6WFuR)L98bhB98GnVM(Y|#HGw|t+ zcyQ7yQ%uPc&@Y9)?@6c%vZ9Bf7fjH2B^JUkEn|=Wa%+U?$*1sw*EAV6Q6`+hjU?DP z<(#8i=a40S?T#>5W6c)&mP!kXzBh>iUFX?TO1+~^9=LdhFYX`tk7H&a5=weK%BwR~!592PDOd%sI~6Zpd*{jr=?r~pM8KInU? zQw2g2yIzuB`$MMig)Z+BkPhkW${$^bJ1h9CFAS3&b>&NvL7AgiaxH_o(1GqK~~Tyg0N^>NF%if$BpV}e#>-B)a5iPh*-4#L=y z5Nx4!WD!^`IeD71If+)ARJ0JGBJn5qbimIK_#;e93m$}vTm>xt)rjTWx%G1DA)FsC z1^2~1ccKENR0a+z$&Y)QiF8OQzAwJ9m9MIj2CG1lU^ZMeWt4*nTF<~)Cc0PpHkGDt zXcYyqD=9EO=rtpn2Q(@o?y6Mk=AG*OLMtjpc;1!?XR*sXV-TZtjQWD1!Dwz1`-SwlW~Kqnstc1)n$`0?#~=b3#-*K|LH`R%XL9r|Ltoju%0 zcsYix8D44;dzOHU7clVN<(vK$eQudPHTI1MGyM-9X6Qfg%Ph+|3n~z%G(zx@4?Uc& z+X|Z`O~(r8eqr55og92KSf6HqjdGj7aLoCT)F>0K+m(hL;39Ej|dTNSct!a#oTZ{X;H-<>|UTA!x%1UT^>9BSopNrJVO3!(x zS^%_3n}N%ILurYzt>hXS!i%2cEUz9_(@x1uYu;Qe6=!?Bk93H|jOrSbh5y3zj}WJV zhU9=_!BFv)tN{-0o_a#rW zkiD(H$|}U0zhd}hH@mZHZK@}O9F}~M-xMEBoTp3(66;vD$ zw_&uw48#}T09``#mtb2-W7GOFLmt8#J6(JvpD0^xe*Ra7fXvGJH;sxC^1p{%L?`|)!gMbevOJouVhRH}o{6qlow3h{Y3dBXca zpYCsu#aK+{kzzKb`^Ph!#EaCQNt^R-4}MzLwMA`ab3CB0N66l=<=YB%X7K6ZtLUbm z_#9jcbae1ZsOc(pam(1(7?+jn6G#t3I60tdSpxutGOlz40S|qtl^Ly@rBjP3)I~CX z-^w2|X8u{);G!a2uw;SxNjupi@*&cH=o}rdFUX6IEj3X8~rlb2rZ`fJ+gBLa~Kr^8^xy|N?7=>k(2pu+ycQH z;&*OzMYl7`jDBUcqx=3C6EU|-MMnA~elt5G2I^xm`3Lbrq2qZ(lV&h1U~2^{S?cE{GvH{Y^JsfFHfUuTG=3M`Xghvy(dHQs*eo{`FVl{WV%*T5G>^s+hngl+kO5ga zEROx%vrwh4Ff_3#6%PNlHI{jIn)`!H*E&W^!w2NmfTC{ta9!W5Jw0S^r?~QqK&m!I zxA9fI&@IHQGSGn``?S#AdnOFH-5!K5(NvUizyM|Yp`($ZZLnd=@_L3q;}-}=CKZCy zMgC9xAj)}0GwS7`pzqO|sGa#B7L{LhlxKvp2KUA)(1R33^%H91`@cHe`8nc%8M@u7 zfcmX4zBm~KYOcKo{!SmcN-m}F=aJn_UuGD2lNekd_GQS+U*>rE&G8V$A|Tmk4HwAW zgh-K`^>vF{aeSTr+BCR8YhG6S(V_(~mW&O=Z*1pPWY?j*dEv2=B&Q3fm8o8n<;`Z;kyTfA1jn{%U^uG6Si0cCIlTEK{wiM1MCST5PO;j zC+JrecqswnFxTgrdkh_%|JXr+mJ9~j7E(I@eC%6clsVraQ&CoqJylnO;+lM+W;zeE z>+#J=Z!Z6HCvD>EC4V&Hsl8(NdAaam8@bfwIOeEKa(;d|QbFC<4-ldDle~n$fm9rN-Dts-mtqz&dG2|l z;n(*wJU`VT|78*_?Vl~x@H5#XX1<{lXJj0(i-HojJOv9e< z5N8dSIRruOBMIqbaL7Vx_x>aEs*wVz;a$zGd~wSP*crxifFo{2r?4~NezY6u(@lYw z{PS*eD`zeS4+%~x_@`gpkhka)+m(qsnLb0>8_CXUR!^gn?_<>imvxwugc-8(`ue6J zr>A8T%eElzJje?%*ZqP|AQ%DN{X0*l#^0VnI2&j=1VpL}i?&irtE}3J7V7zS%a*-# z9R-IHb2=%nS$=<4yU#QEY6K`;=Hfs9j{Ed{v}rzcGwghpjAZU5vS#V)^Q}x?A0XM* zYnWU2FB^I!{M?Ty)pU@TDQdFzq&mutEWjOXN_5zQ9=OL0h{avAnCOn;&!T1YFd2pD z*BUoEJ>Q*F9p+^HWeJ$ziyoVERwQ-y(G@4*9Bs$1AP_J+btZ|@O$^{NP$~w3h~Ij! z^Nxg4?B`$`KbTbP0z(VQe3TK9pcgyg7D1tW?Q3F>h&@=qkL5+%1@X>VY^Zb&Q41W>Z!l0k-E;kw zC{@eHVxHYGRfKtpS^(fB5% zb1>1NL{SEKQXWdc!EA?z)HH! zs9xC*x`ck1AXH6(Ft5YO4xB7wmyV^8$mBxKV9Dg#G{zE5mog1MZlFY>S|u2W+$^57f1QUQGL8~HzVRGAg{wCpVXr`8dEnLyZ5f*5i zn)c&%)|LOwej+U^T{Gj>k+7#sIB-}j*j?%%27XTGJlnXUI(g*#zZY3-K~$PHhD=6OUviE$i__izGL!i6RXS!YsAkaE@~5h#`L+Gf zX#qUcph^lcRdsR$RH^HyRf&kPvA~${)EO&-3?=p}D_uKFz0>ENVV)AE= zSZ#QQ=WM(r{4K|Q9qx4Fpf|Tz$)}#%(AwqAEp&v00|my&JlNz_{ph=%wFgJpmP;Jp zlE3}EId6tpMbcUd*n`U!22c!~)c!3(D_W7r3Q#g;dEoPId3tx(^ClTLKF z8ym46Q!xeomdwP{>;3kDEd7*1WHR$=S0h!ZS9Q4n`%1yacMo<_4wJHKb1jKLC|{7C zzGb^^cWb=1^-2pp)%6ho=ulmVEs&gkN5B* z61{H}$39*k;jgReF5!qtdgE#gWdLU!D_Y6RHmRC|9=3=Ijb|SGi!t>StDRf!?^aJa z%5#Kl=CaOBdhjY60&oBOQR{uhjZMd3$PiAaJ1(g}n2K+fvore1OS6`;b&(bd*O{M5 z7||45FOi!HTFn=lA_w<4KjiH(I?+QTykQFH@A>FCLJ;OHBtYKW1#j}TYaQBn(Ugq| zZ#fH?bk^4v9!rOIYKEzTIZ1>h`!fzVLh6y@;0h!}(~;_(Ccfz7)bRmnNR@(E4IiDr zFZI1tQ$3=ik2G+MNy{u-%X-5e)A)*9Ts9eb?7c$E6&G+v4=7*F*qw8w`DsBN8D{55 zm@kH7sk_LG~tcQN!+b_c3p@ri@Wxr|0#_IyW0{3(|o4ij2TIhd=J(bSXjb<7y95s)IQv{-)_ zxXZfvxInboPK%vCv<5;iO^Frm`{tQtSln#;p=|3$rlIT`)|%;ZXUuD+-F+JuMle{z z7Y+N?ao=P!Y<@ml5Y&yEiX!$|T9Ky#R1Sc~RnialifEnmbgX!#}VU>no_ zlYI^S6Bz+h_;ylHikk`II25G7p}PJ8c}X`eeU`|2xX|3M8iFWp2uFmtU!t&;8Xcrr ztFTk*Aq_j`reGu9v5xE~3dje>#eNR5+~bhKt(sjBil!v*9|M>xe$vOcde$rc@r|-k zy_-^4*8F+7+w&eTWe}>@3I1D<9Q0!q8*~f|$p6BcFq9rk$kIo%?VEv5WWtstjgj<_D)5R;-w8BO@70~hAgH-DV!;kI~_l8IxK zlJ9%QfnF)xS44z;8fm9`@;2~c@?83?1Wu^f+w3d73w1@grf-$qgsq5C$9zsI z>bl*iRkBb?@YIECxE7Me5j3DJY_I zX|h$&OufO=2)y}Gjk1C93UkkbULV!4t7g|=WWz(!GB&z|Ha5#1F zM|=fnH@4LMLTK@n5;!1HMZUpNjam&cwvp~#B8)nS<(O`TCrOK_`8*JgxGxabbNr7mEJ(VMVml z$%2FABvVCxQGOw z0LmoxZlsbz98c>HGDD)O#{H1*iGu3Zc1MfC z9@btmcfbr>p%1siUjsNI0xr7(FCD7Qw_vaM=)Bb`N0xm7o&2Qy1T{8*CCOT7*BG)^DVgK9=~)gJ6Xk zHI|T+QR;58Kyqgfv$6tkp+@!zKa#jr^;ap=-AfNf=!E`t(9;7z;=f zH`G#(F}or-ac&+Ep$RwkDR*VDWNwyvYO(%wWuFD6BLv{ z(ti#wU1C;Litz%M?H^ONP*uRu%jqsQ5=@OBbFIVaVHTbv*zV4)WBajA;6) z;y#yqc}~8vqV>OsgEEdZ<+o5@ZAUdPxg-Z+1=Sz%nyi70F|s;hoy*pA{GecyRgz2b2TJg{C-E(H0JlG<^3vYFZw<+dymh67R(;`5~=$e85H+a zZlZ(OrAXf&Htr0%csHIDh#ZZPG|S*{;II8krH|$V@Cc4cLJH2~IiJtwEgm*HIR1;b zL|tC)wK2b{Z)6$#lb5F+6|!O<6V#D%_oNnl2?P~H(1$@#Yifs8zI$ee?|UkuEo;E} zh=)+2&3Zbc#;kJVOd!queY2m@AlL&E>}*Ln=N9%V=IV2XPTIO@r`O9^g9I~A$k z=lvoAt*HCk{ghBq!96jXsR*Qsq~^gyRX)IwxFQ(m@YvVAhvn^>b^I6^Mr(f6awzVRTviY;b9ptcPUWZupm@l^GP-Tba<)3=oQ z(K9~nZwPXoLOPZ#C^N*4B>_nVZDu}_#ERy_OckJinSE-|h=Fx=Fu->7sF_vU%9|{N z(jwJ@Rx-k8qF2_J@i$fpoc4V-gz~ncp?GDM>)=)tC2#DwPDa9N8!!N}K^?xy=yP+eieue+VdS8OLbk`02B|P^QXG0vvs^$ntqGB$I)gO^lnelN_EX z=F(AR+F_vPhaM>_Rwp%jeoQeT+le(>Qj1e<>-^*gNKHPwWq&1!LI=YAg0|fKfMU21 z>(Hm3jRDMB6Dd+8RAb);-J|Jui1_$sHWn?YJ{8< zEZe6NS3}Zlm?{kI8~WrguNXA7x3`-;T~vfX)Gl8RM|^SytKiVWH%sDUq#8-J&Ycfg z-Tw`hQpdMc|Nkt2P5UoX%GWm`9;-B4cJA?nXK~x&2hx+&L`PMCt!l!0k{kHEU2LnV zBLk>}^2!(PRNfW$gP2u*iGqwNv0y+p>}dst&#^(O04^Yco0dU!_l(}agoFxg0s`iy z<0?nFmlT->!O)ubYYcohWwKCZz#1pK{~$!L&wySQ(qE|E!+-+?R7G;*AGo>rvs7QH z*VU%e$5a@sa|P*`=ah!$=vY$0AR5E_O@glE!+5Fsv^xE2Lha1x#~}{}fWD9gTo%(| zJ+z}?OXS|FVii#l&fO=nJG?RFvj0cjR|VA(bYWrv5`w$CySuwXa3{FCd+?ya-QC?S zxVyW%yTeZYf48=3Uw2=YmwTbOU3Yp;pFW?Q9f0p6M%1- zWwF<_Th;LAN=Z=>^Xg59Ei*ax&`znizHU2&q23)gttuG1%ryTHHD<_$45Xq82oeYwJX3(eiQxh$)4%66@jHO$z?^SZ9+lqBO0(Vy9aa_c^xZiY3&?EAX;e&%C>5BOv=6-m z%nWFjsc8^=^HGZmZnNS-R3uL}!L&9jAI6w}Z+Iq!NYAgh|H)Nl5j6U=DoSUn_8xO+ zkx6pIV0E)0sR-+hX62aa`7XtDb1ZnZIDKTTO~Ln^xfkFVBy=n=FBsj zRrulu{fnzSOJ>nzC+(s{lSmuGe^F^@G2`A(gEma0-3Yt~aU@L2Amh9#{Y2b0en`7? z7PX!71r*+xULmMgSs9Z2Kcp4OF&69!CpCt&znL%drDdTDwwT+M1Jj zYy>*AQ*OqRAF8PZcF6=)D7Aq)>UpS(xChos!ISdlb6a`MFVZmJw?Q|~MPGIz6@U2R z%|huQo2NOL%u!!`sbFk-ocK0tsKF6+o@*$sS2XR$HxG zHSzoxto&6sHYJc%etLNE;(1~nr&-`w8xvuf_q7o6Yz&_32`n^E%GGI$-kQ<(VG_FC zyCCHbDw`s|q6g|1z&Xbz?IgTgV$zGnCcT}=gyMnz*8->8MMWhXy)m7QOBC^#bB$}B zD9G&W@a?yVpjyuy60Tad9ToCY$TzxWu&s00rCI1h2r5W&NxTK#SuBNZGkuzwI%Ncj8{bT27VR@!q)!(y0xp-1U zxl@zTdFUyRiH%PMXY|v_V6pqM~EIyIxt8hz{F|2l1GOv9T>?lJmgVXwDV?O|7v{!gz98&TMS_zejvs;bY`v)n78IMA~+ z4KQ-aDTcfZ+&3OD@Rn0DLd=+T;mn* z`aF_}m5j-awGW2>e0(KZdfO2Xq$r5_5C!96CJZlV?C}G9sT&tnwfF`$WQvhdPZP7gfZC0p{<=Xw_|Cc3U^u81jyip3=ilo{b68xbeE>UwFnhZm3P28s2Rl7_}t0+xFD1S7Vs7BC)_sfr3Zg^)Bu z1>>GJ<8`b7G>B!ng>1 zCt2YAwjB$Buk^3um-e=jys>$;a2Vlh0WeC9PG$cS;s2%I8vh0F>2Ow&$6r#hJ!w(J zvAApZT$?l6)Q$4=-VF?cJO@nSdK5_Sa}rD3d3v}5YlAwR>KXK2q?0#AS!CJ1eZL$u z?YBWUW-S{JtMZz}iP!w1M>+GpRHC0GhLQx0hm2v=1SJ$VfnUuSjG~-`clGQ4 zB?ZmNP{n3j+_i(j08GQnKDfsjCe$u0xoZ%%w1rRA$==}vw5r-!LGU9Uy3Tx>?Ob7N z`Se_F)l5vOe-;Nca}_hAmTBcyhijQCcH3)gTi+(HT_`Juf? zAAdY7BcgOthhbgzQwwu*22E(h@5&VS+^!L6RamxVb!E3jSsZO(o=4{{9MStL{cxkn z$+@p(a1~o8R@;C6lmnSUtAAi5uZa@z#J5*l9uX=_qw|5AE&Pnbbhp^CY9So-6>!Gv zs4s~F=1gM{MNa^+r*ChHKZJ`0fMAXPQwKB?xcW(7v4CfTCSY2Y)pVuEvW2nk+z~{a zcFNfjc*O-Th8?$nUEHlKAfiFd8h+*RX?9!SO`&Jr0@PfTOFyxo3^D2rx^3IiV+j~= zjAK#LkgZe+iAT~C)_NYWQQ|21qwq1Ef$-;Zk?ac+6UM(>|U2 znRt?aHisnShadyLQKQEv`7NSfE!oW-|c3}BI^7VoaJwrS$Sw7aRr40iC90JOh`&9}*9`cXf-{9OPOF0u~(Cd0etfVqSMihRO)1a>+A@?Gi9AMaq}s zJa?Y)q>02)H$4n7OOJ$=2fVyJH<@pVl6`wJuUSaOq?_NUdou=lns*Q$r(7v524}y# zZ90@^Fzl6$0|+f}d-bg>cZba(4a?}1hQ^B8!u(`6D%hB1C}JP#Ifmyh5lc@iQll-9 zdmM1??SYKl#Yx)1a!Rd84trHqkN<+uQiVY?&Xzc0L2K9@>j=Xk;Bp68e~YxuU_A?C zIQll!1USu;d1_=bXMgZz1^>UyJPQ3iLa9|Z%yZri!CiY|BHN0#XR zni-#20+h3R58Q;^$pSlLB0fqeB)2;SdRwb&)w$Ky+_{$$T2)W;)DJlu zy5OKOw$;NKfSYc%XhB;7p=Nt3Ha!AI=PBE)- zGc}ZIP7QF;@!j)iA$nDoWijhitbZZfe|Wup;+gj!V*)m%)praO6_QL2tMXmQ@Udha zSvLmwDs)3j@IFm*WAN%%>>L~4#8#{T*=vrSig`OoDulIwZEhr5W0Mrq^H8x8HQMfk zrdh{+&zI=WCY`S+<8F+0Cu6w$N`GEcZFVlI9|A9%d|^?XnNbop^E9$N*>qz`e*2ue zC`0l2aLggWMv-MV2UbQ4UEsM2h6_}R`_roN$`=Kp*T=j9|HbANl|er1#p>% z{ZDK`^uX9A)l!UFC^fO>f~)fJVEMkfS(ipO0NLk}=U0}?{VjUjO(3a+$Lc+oVikl*Ucy>Fz zs}mwB7^Dfs$ywxZ^o89un;Lm)L6b77ltwAve}p$C8(Rv3AN8F06}DRQM!=tZ>i>PL z_bZ9DiL);cWporu2hGuF(B{Yv6{fxs)~&WZ1=hY_|(_JE=e$-oY>S~%nMIO@#RNBQecEUdaLP*=FB zKwt2WC;qw=i3`p5+ib-h0Q^(^XVo%mXYjD~3D+}`4U8V%1fr0$aYy8JyGqA2C(y4{ zQTX53SNBYLYr7^#H-_Pj5xYO>X#Y|ojPt&pz)(D_q$alaEC<(8IvOlkYdj5;NWs*t zheCtQ8HphE)S$6_F#p2SfKsSmRP@E*T_j|l5A{bC4d9UWH@zGvU#D4^UbIrG&mc4I z<-$Ct<@Y(O8OqVskf2vo^2lWz+{CYT^ciEUhGG&7DcnXwtoAuSVL37FzKeB2;FyaMRSKy=sbz$6+3`0GBEJ zr~7FyUjwjZb?~QRpu9Zg$E7o*V+>4h(JnVr#lZy5(L-SJa+nCE(B7!HPogyIi;woy z7=NSvdXY#ab2|Vap9wREBSzj~^jcOEJgiVjgS&%PiZQgNk|~f+tS@`6?)`Z>G%^f5q`Gf+l1wK?i{^P`rsr-|Y{I{l{|($))NJgoNtXRH-1$TY8>u>CA=nm)91(hFcR=!F zcAaF`u0_RqP-_RZ#_benJ9`8Gz9!YkEI8Z3DNaI={Im5lz#vqg@F3UA{Kbt#Ub&~H zK7*dm?_9|g_DDVp7B<&Jqz@f{g(w@ z9gPf%U55=@lr(4uArxyia7|zrLCknaKK7Rdppy5sT`41}q`1qb z{1q?RP)~DtTezCu`Oz};xubxIIEoAld$nPfjw2wyXJ5IqDK3todr>5e!3@|8&aI4U zOnStTpmcT%!bbiGc&h;cFPS!fBW=DtaT0dZhz2I==|1`WHwPz?=AnM8S+Pg}s|jGV z(o-d@!&FsBhsr_>Ton^&g=Xl2g+fisG4})fzfzbTnIF9YC_%NE-Y|L<5yG^^bp#U8 z)4FuUyYTG#?jAM~?O7Hz1jV~u zo7BCiDQjBcLy+y-fsim8xOw`UgU$3&3#zxE;`ypRRp`al-ppU>Tyum-mfh?z=tPs*;Q3aU-ZbJqmOs)2`?C$@GSR>lx%@jk ztlUj+SE z3-=E)<;61I(EG%bO@i%ASZ5B|y<3-UyV zFOD0u{Udp6y_9_O*wJLMIk9o`!pYD5J=g@=+f|wi{n13l$U?5T`-*skrNPp z{+&dw?nKK{ojN6bh?_(*ZZ+tBmXNnfmq|N)KGdW#3n&U!>ae$=5N)whJ)w841q3`M zOiRlv9agv|1m+^QpOOr;Uokxx!I^Ei{gYayJ%9q$(EUlC(wF_$%o;%h(+u*W$aEU% zkLVJhuZ6$hDXn?Urr@jegMs+&wXb>8PhniPx$6+ZCyseZ`flQi<~@+hizOQHCuDV{ z0f5mqry^~e{nR0}W&^xQ_YK-cM8wx__^ljsIwwr*rs060R!T-)#}8es)p(JLiX2S% zA|VIxBDSYA=rLf`D;ZjN^0OdiW zU961>OBoswklZcvj+%a}^Z(YBOms0e*$LR}=qEGnzP-0!X$X6^A2N~9{~80s;! zsmqO^hZlzcN>}Tw?70ugV4Mb|dZiieyl$H_^FGSs3GLg;{YNem+x;%w9aiI~g5a*Q zfw*TLcXYj&uSqap4jZ=FIRmm-3#=Mp(YlCG69@+tyex|WqXepT#p{W2JM>36g?W=y z2U3Uv%aTcNk^@+*2JO-^$(v$4sM7w4X)i2BJrfB0z^HU4UwlzLQ)Aqx>K`Y|{Rc=d zT8EW!Haat5A8eU*a(>S=d%dV5uj2XOeJBmC)n#p_C%@RynO`~jlP4?0_aj1GhVRj zUnP3s%~H;Gt+P=B*gU!zJ4OFChy1Xz@YR}=;_v``Y`bF2t_1@v@KG@*z#UEz;E7Mj z{Gl|0&ef1f3iQ-WvkuCg&~VIf-C5)VVD{@j`hN#Q9Q)LGQ|4UN(!NY0kR=}wKisX& zepIiu>D`^~#6YCbrG_9&aI0_bY6=zW>YCjlw^$70dFfE{r@XeRA+KbL(X3DY!bWTg z+HJD?i|;kTcX5XAS@5SKR%_h4w@JlDTTl;G96$1Wti@R%@K(6So2nmI8muZb#`oGw zXPJ>y<%mSrv^(gPL->sdWw%m2C4B?=_g; zct4Gv?0NuM*;|&Erey8>+&A;4?P;EjaHIsRI zGy_b4YdQDGZCLwxD&ou_oE0~QQH@UA1wb+!p!;aQd1`N&54J61@N^Z=S-*53RRLL8 zY+=9YWJ!;j=&Oo5dN%T4`L%&5D{eZIwA=bc=Su}i8n0QyPfu`gu$xRIUx%Vy&Nu?z z1zCZ1h5lMdH;P|2p)O8wR1LO>cbr76b)$JU(@P^J^kjB_P>cQe%?z~Ftm#$NMIxbe#87H_wW;ub0wpyS*=u z4$gspfD`roH=!NPx_Bx{+xYq=r}cB7UFG~IG~~MKfVKD^Gm(^7N$WPl!D9#y*bFQ` zrT&W5QJFB4ngTMgYLj#JSm*`Ap9t${ z%x=^vA^6{jJ5(+8baWxE7e@H^`|5)J6i!eK7ln57QBk;;Coc({TgS3;t?uHIic=S^2H@}Z!xk3@*&ZG!yG^W5C+4`0Znq7 ztL_FAK-M&flwc5A=}UpGdpB;ZBM3!<$XOH7psfb|D%J-lMVPVyajHm~gbJtF=(jEz z0cBKi)tZ^r<`4+9^p2?~^loUfjEu{A$4hv%Vv@$$;-vYCV*oaW4|=WX#EOV9v=DG1 z5Ff5JWbwzoZb*x|){R#=(M0H$9xD*B$Tr~g6u0Xa&1J@(PrRRhTz~v#;b=t2yRwAj zd|Eml-!Sn~C3HTpq;=~=kSEOM)R9-wf6hi;8`E7Hjs@X7XKDsE&JhH*a800^^o~5VTA*E(dM2T zSi!c;(Seo zq<8BfyIPpuEFe#fv7qHVCjur?Xh`|LOT;73l=TqXjU$KEv%i6TFn z-}a01-1L5Q-}Wc__v6vO%*N_(N85xBQ1_dm>-`SB`$HKqY1OT!GGz6uf52W$6D6<( zl!IGcY~#6HKLiHZBQHONvj}$HL^Q`xZNROE^HG$M>`C7m>wQ1lZ*u?w--|Em#eq#G zg7zL5At*+_Zw+Mn+jeJNXJQhr(4uWkW2)LAps3=(*gFb#g@tkaC&(FMGB={-xy$R1a7Crh@4_y-hZeohd}0S@yVKILR=KkVFVkD4Q( zf*=~}ZVAnT%PN@3?Vwrm+pEf(9K_9%ONlq`IDoiH^f*JU64617RD9nsjGGOMb9D?N zZux?{{T#!4D0&$3CrS0m$r&kMJT-mr_el2s`810syINRz>>8G^&Hbl3b8xDax*BbD zJ`+C(el%*uv&>CCAZ!lMY&T$Z1TRFOMbf2~H*QVS<(rDqKd;`s6;N^}9f#(n=g zw+U3TGqx|%vTOqvVya|xF6sM-a(J;2j^KYd13r|38|KqjA!&gY3G~3}83hg8F@>8{Q>8%{3fh_<`Quc@-z@(;By`YJ;iQeF}?fZ}Em7%9sS93FSOx#ozhPd=B63 zK(#6s*4AQW)7t$5+Gr8AtQvvSKDbLqM^`n!hCbYIQnDCWD7Y==lDUcpm|z13k-U#H zFp2>hksr)L1Sz0GqK7@{!;}Lm!c9VqlVUNrFW^QH-*4{#ZBYF-e@)~2BF*s%?_bHL zQ6ACe_|yV+=NA2HcKw5?GR*0Q8po=8Jfx*;n+XvxO^psq-0*aczmH>d>3nc~dIRc? z`L*tuB@%|0JI6vq&IkW;I5UnT^xfQ6#k5n4g8N1o%}0`(I^5O;N9>i*nJE=DHE3Wk zmqSSU6(A;_$ZSmU${$tbh3q^pU^uu2U@-Gl_NDc=x8RWl>k2b_J*P^%u?lq>JlB2e zByB6I296^9;7vUUy;EyiwG)F3SJ4&m+^RrnrA+fAzeb99VnJ1U*R}(8pZ>hqhiH&k zp5qb{n)S=SWo!Z=Gs}A`-*dS22O>4z#DK>u-GX2BLa6z`z!<){OvJ|*=KCXV3GA{n-!VpdXg@-n_cV&6X`q9bWq_zM1mz^<5rW_H!+TjOn#Nf@-a*vJf zPpqvOyY^Tase0H<>aAA?&&r6G)1w4Mbuv>pK8Ycl{#WCr<-ZMRf!GZ6eu?7Eg%*}t z#3$p>bGsz`zb>S(5$cxd5U9ec&=MSngag>Hb?FZtNB&GhU~iRl;g67QTvu`hIqBPb- zC;n?HM$rBch%1=bv4hcWg9TKjJVaKLC?aXq{1;X z0?eJg3&T6@jPZ{$trJGerZH|OQ5HJryxAFCxA~}>zU>rY{esK?^iNv+&8Vs88a8gz z(i<(h0Hk`xvF6(-B|z~j`25%Pn=?WH550~HyWt(5MTPKT)(-#9H=N+$#kNHcr9MXC zUXK2ePJ@ih7e5Mr_|;b=u<6Iq$q*mjF2jEh&~h%>M2{A4v!qhTh*WhgVUoHv#r;t6 z=Ra+(?=Y29`P0j67O3bGdAo(@I>W}&HB9KB|Cp3HZjO|FN(6jdI<27OIys~~D)BY7dd z>O*HE2ntsCm7{&Jrlh+6EsZJ?27P03I#YCM-aw~rXKe{10fUOjqJmgm_@l8pnD>u2 zsV5lo<2xggFq2m7uu<&m`y1<;=i#1AGpD1^BMm>85X<%h@rwZY+{W}4zjVJQ3k4Bo z!U}Pe_3UM~tHXbO4=FRQ8CT!ePvCJ}IMI-e3mRly?bTDqpl%A*Ja>tJQ5^MT8MYx!4lNg2{EN(ps;6=ou$|LR$AX8K@x!6lc}u69XZ_m@ zC-?LUl>3bre@&u;g>#e%aY$yUGS+^tmj=$}%FD4|QEV5vxqMd4W=5C6LS>a8UTC7} zE2q0~m#UV}56|@jCjM}ol(fgvjx;;lf-{P^Q`{lYsb3B!`yY9-t%E$=>OenkJ zM0S9knR&)xk`-r}`ld-p!(DSjQhByF{cYDmwl;5U;xVjHQuFuPZiIVsNajkCUt6573tnisb0h_5 zz^-^sR`kv@*=M;_Y7jvoetnGD7UX|po)G`wlrh0qMSCo_7!w|Tb6GN&JI48#=W<%V zoG^d)+W(oBq8J-+#vc7H?B&Jd&Jqas*BYw+ci}Kh$OB6hBzC-ZJU+gY6VvbAo0I++ z+`qIwgH3bn==G<#tI`C6FW{F%PzPNo9GyI(o2{NB=ZF@fw(g}(t;{`N zou)6ih^b8-cxnxbR90l^45N-#a|L-c943TVR#&>2<@8%s0`wlwTqww74W?KLQh72f zwwyrhM~CMR&jbj9)|v*EW78P6E{DY?-p7^&lxI5QcX;<-9MsU(?!@nV0j%2z-SmUz znZ|Ebwt_D!n4pAHWZW>0GvPPo8LSqyTgj@sa}BZ^QSb9F6t5YhhV!+J0vqEA75$p- zbwM(wmir6fs>nZCw{1IA*Kv|Vr!qL1GByQ0g`vhp-AAilmoDRx-5;gx5WbkxnV{R2%Lcn&gF?%Pr=xUIh`W`Bfyr33yDt(feU`D+ z3wV>~e|El{V4Pa-l^)=97V7?zmw&d^3TIq<5zWY0qFYS zMjYl7eB)Cf;=TxLszEiz9c4Z~7OV3kD>JhL-`Q-dAp_Q)=w52)e2D+} zY=?cxJzDXZ6&I@DhrU&~Iq`dt?P%`a2(6dgyA(~7e<%4d5v5uNS=tig;OLryT=G%X z#l@@n&eXX+E6O!(`@-S==gKZ2V%^YL+y=3QR=XpP;v=!MTd8fhm2aPKq5@%yVF971 zG$JCRLaXUuZw~?rikzHWK9gs8wXGj{uC%O--Fn68Xe#IA7t!LP-Ik>6#(8z2f-PPltk_C2ybGw%Nha~tEk(-kSAD@d? z$}JIlzMEqPXRTnD&gFbr{($y`VjJ_rn%prH%1c^pC2ME3G=2FNe$9*Mi@qjH3wC#A zLA)_1Gt}S!I&-GWP&T5WlZ}d7k5X*Up|s^q^40HGe+YkB$OXD+HB(VfTbWcqtssID z(oj%Szdld;cK+-Q9)L15H2i!!V@!I*5>< zLY@Ezui8GPx12of3fyN@I(!Xydi=EZQVn2-+sODCJ>K_my?U z8`a#}w#urO8bS-%%8aP_b;Vk;8dlyRQTvm1Z7ugz)dzrgb9-vG-(_NE zW@ciV$l~X>-|55UcFE7r=lC(vXuWDOo@&g31q<05ib$NBo7?$vQg(B5Ghe2r*KGIm ze5K+1jZ=G@Dytj>{ByMmJN{zWl9*?^Z_!Vhtp%am({i1w-IOCdGS zx8{e^1XRn*{ojRq9erp?oXpyZne`2I;etkjPT}FKFn50{dgt=rS4vD6bAHrPsQO@D zF1RY@f-C8Ix=CV$n>&;BDP^7&WS-62{dI1#2M&nR4rRwYQ!x=U$`3U)cHa-LylD(1B!{al;8|05vT1CnsHn0jOrjzSz%n+UEqr*#IG;@S{;+^T z8-leBi3BYS9?nFxkjuA#ZjFyc6s&cr_8^~D6{@Qsec;9cN(~9y5Tc$0ZzC&qT1K73 z^r=po`C5y8nF=e~1-y~DU?1{Vs?M&lNrF?z(Z-(^E`fK~2^X2MTlB8t!(Bh-EWd^c zBBFDvlUA*ap*{IjE`&ua3F6(j86u)R^sE!yuIwA`&TQX98oTX&}Is8|2? zQ{OT-Zc@tVW4drO7mR0b(R(ge-Q0Pp@z#H>S*RqbcY@iIOy&lh)D5CbMc9 z=Blf86Ek*R2hPuG+-Fl+BQ6@}qCJL&r!Cg?-APn!q80crDQ(G$ne*li?JJ@oMfcDL zE5rhbV)f{$*FWU65Qs-TH9klKJx2$He?xBn2msqF@KOD=@NgT>f^@zxn<^eI4_HYX z2MV8MEy~>oGw}-kYcCo(xTtt>17kD4Ko80GDjE2=2DRZ!{hW$08Cy7L!Di zpV#HzC3w(0`;n3PzRGh1vX6?^1Od?BVFWZ@!T0?@##056_Pwd-dQ#4E=^h3*PovA9Qf|Q z1w<&9?BxZI^5T@Skw{jV=zU{%N%AdndgFeB-HF z`p6Tc#iRwxHP(x>2KWxyguPVqzjqxmYn+EtEAiSAHXt zv&hy>6CE5LCM6{NmiY1G$88<4c$Bh~d1_)x%5i&Gn}jeBAg|PapsK<#%OtsWOHBSgWfw#Eo2?)r7TBB z7&&x`lipFFZ5j*@JE>k#D;Y*gu$tsV&DhvP27)Q_$VAcmC#O1Rp+MSfVAPa^8*uk6 zjPA%N`fK>t_WI)wHGwy*)aA9rFXPc$)>iS z=z35mGPuc!YHDiGCR3x;)YQ;XQ8gkku+a@FaBOWaudc5A{lRY6=H&AKh5qt*thk0# zryTaa9JkablkUc7!ne~rms=v^zx%k8-mt*b-n+HGw9e%xywmN8|-r*3v4(q?m!^Vws&)b8RFxcx!A(tc2^gmK;-ENLE4-vOoznDIbNO zD624BW1VzyiI9OrHzB`HoGKnJ9bk&yc=z&19yKSwbNKrqs1=u&qs06b7+p1B!>KAR zu0}*ig{jez6BHB_4a$(z=k-|Hgg6HdW%fMej-ECf8>NOWqd3pmM`7jCRoW&s@I9-l ztZkRzRM9A`B~a#>+{V? z(e#v8MCeS{3xM7o|OMvsUD(6hCUM->atIhaX~?W zvAa7NJw3V=6*!BaKq&Rx++1jAboBl>ELN17+Ny=Xc+e8_S>k(rk`9Y&5+dViY4tI`JNFpkjLViaPGV@N;Wohut)d>E-}7l%lo zY{AhnG@T_oe8(Q%_85F8L$L?vnq@&$6XS@9KBg;V+o7{zc`PCv&WhJZ-(DU|TDaye zjL~>WYX9aNCoZ5W>)hP3eE)X)_2vN~Mztv&xKyzM88T$}*ewr;z-Irds;bbrMJ-)y zHMPfg8cADQty{ve|6Z=cGh!R-!L_huomR$>84Fbb4-b!lLFJMQvzU>()5Zsmbe$Mo z8x@n8_RU|HN`1?|yF~k8aOzV!<2}_mZ6;Bu*YDrqt&Uw4B8KkrYhf|n*(y`mnJQg3 z`K(K+SGvPCI(mC+@ix7hTR*}GS@Gq2XPZcPe7yOaPX6?T%3!It?ib&ya1+7jKm0!3 z6?09U)<=j*c3VIK#U;>;%j`CF7`3$4b6MZgW$fr(xd}*rM!(nxN;*RW0}R5zQ$%1> z0R;sm`k|s?d~Ma6oY~Nl9SKvT6?HBok`L@Qjr0hJ0XgfgBl9fdb{cU?T^-I-d#uL` zkaY2}pD9d3Us$ag^!YF6IxD<5EFNwm@@*#)HC|_Aq2ZtI^F>@gV2_r;OFB$p!#`#- zZ#UEFC@Wf)#uqJ>y@u8hYo@y|k~wY~@Znn?5;DFdB&uB$_PKZ(^nf(A&WW*WF3q3b!5LA-#VJ9A54X|M#=z%6o#o(~Z4&6IAP*qlj_`-+g}@cn+FudfdR5>i!FH8oD11t`0}-u83}20(IFY~UVF*LaKfJAaNJrkD?g z(_zUH?d<1aw6pHhWGljfdPe;ZSlYD({;seBJ&v3n{)4uYXzs zI`!i>;;%OJ$aRl;yV008W>Qu>NLC7_t42az@&46KE-=51Ku9;+w$ByJOE1^<;$tIH zAha$E$;Yu)>V&Bvn+d^$vRRYYXSW-E2t$mG(Op5hD5+g#2qng<#g4F|j)mQ4?U zLYD;xhuI_o+2RaR?D3*=ztghxB+^v6Oq7JLkA6yA&sPJopb$1Hm5rk`kJ_JZB71I6 z5HSu))X7N{#0gAI6!Kih>;1%bvT`#kEk;Y%mZd-F>D^5KDbMhgEU?Xc=EvWlyLsy% zokeX&S!HEqUEPhg%g$920vTy(=0mq+PRGJ^heG+Rk7d)Wf}$dPPKW$qiLKYmE_xzj zv53&{a7T-EZgsz=L6w*X*8wOHkV?d@^BOzt&7j>E7vL*24eXg~ck46IXx2-JEL7=r z8IL9g?*hp#n(w7J^gAAp+f2S>u1Y#qWM6uFq@1)!^6u<|NEI` zu|AnANn^9NFf7EqUDdGz$BrC0J3BitCkOePT3$|r_?!G30%Xw0)U=J}JaE)Q;fMwr z`llc;Z|R(ljkcQ`Px|WWOHlY;Q$}tIj&v1y7Tomc7WRA;NYO7q~zgQJ7x{c1ZFRT3s`A= zzma!$c5FJI4*(zt{L|yb`fD#dzm+24{QNvT@126O@*F^1m`tRnq^4q_qBeLv--M&n zH!3xNI>k4#W0A#Ca&d8uwaW9q*T0{@XM3s5)vF<+mEh?GExl4^ENh> zkuU&hm#(A(a*VY%*!PN)4eLS2=t7ZMbd5FfAI>SX@@a=+>QxZd^oZX5h< z8^uXIN8EMYSaP&-pmQPIaW z$H^MQLCxz8TCK+9ylx=H;{cmibu|M&|L1X07FrB2)|&6)pXLJsf~tIY_f@RGirE4XHq#$rF#x5e~UnZ+kqN&XX%<^n=?k7Zaw7Mj#_2 zOH53(S#M=!W}cm#v<3L%-Vpfc&`>*b3=e z*!fOau*i_bwX8qgjM8VhAEeaQ)&?u_@$t#?-p|bxNb~YO|A4&Wbqq(u$G5#MZxN*e z5&$(d%-65>=HpZQ48|xgKXi3%e12Bkv*35xZTp`)0GGa^3k~vkST06PO@QsLs{{_!;pl42)wwPIyqLgsyHT@&CM8R@h8N zq0gdXVq#h&pi{;iGqVa(LBYYT^_oXvKycH0zua9vJS2{$xw6J&WLR(96EZSRyKo+K zA)a&)UX?(JM703&IEZ@<4+|T^o?4}a@OyPs z&8q=c9+2C-?xw}jCQVFCQuWl+RKE$>j`2pmyu1KpBOAY^jn|R+U&?>Wv1!AjEcER* z>yw6#&c?xFz15ir2?(}}&t=;D+}xd6d46jL3n0%Ppeq&0IZFkBI{lC7EH{w?mh1U@ zzg`0-(X-Ve<{L9Fs|mimxjFqXPbh%+tfs&A%TpciEckkKs zqRYggeqPNd&(DAVU!MQ3MrVzW(!B^Rt1A=Fh+X@9*!}-!mDuEC$!GnZLfgeD?V9@&0&V z(LYT$`d-E3-nQnID^~)${ZHrfG-%KGeqic7%^fR%$z^bFSKRrEtb~^8oqeu7t z`E(jsutWnp6u?sPtoZu4y|+|L-LC`Z@@$QydVztK`>$q6{QkO`GiUnhZ4(p7n)U71 z>-E)@m8P011_lL}m-(*yrNIz$5LmZXR{jLGsdeo@MR}g5XD7G40K@dGScesvw}4%j zS?5*4z1Bu-T=X}ackhQESJ&62emu?j;?R^JV1?%6>A7<4TGN?6|Ni}RZsYlRRKM;c zutEGC*!KSUm6?ra$HO-1JRs50(Q)iJFxD+|Z<$O!32gQ}fBEv}{`&vB-|c#RxBULz zZ@02zzXmew02Lv?K6P vv)=-0%rU&+ntcjHH~0bD=%X|+9RAwpKU%OxBx7k5C|o>U{an^LB{Ts5GRW}< literal 0 HcmV?d00001 diff --git a/previews/PR223/assets/xfvlely.C0aOtA8-.png b/previews/PR223/assets/xfvlely.C0aOtA8-.png new file mode 100644 index 0000000000000000000000000000000000000000..16e8d12b4f08d314b2471f9b2f35a2c4f885dcd1 GIT binary patch literal 228849 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

    M{IYp&SvWLB#p3m*gv{~x@>{M~Q5n>7bVwBW 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 z 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⋙Pj%_(AY3ya;dfm8)GAbBAZQ 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 KnIb8pZ~p^I^6$U^ literal 0 HcmV?d00001 diff --git a/previews/PR223/assets/yktfuha.CNrCOFe-.png b/previews/PR223/assets/yktfuha.CNrCOFe-.png deleted file mode 100644 index 96eea65e3b3a2803cb2d5a0c575215d2a2442853..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64422 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⪙2^^f{t}|G8>d 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%0A@D@%j%O=B&T+9^XOvq)Xz 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

    k%9?R7;(IU5|CX|mIFzStzMbwNDwX#l^Za% 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 Vh~ugudjDvnrmU@0t?>5!{{lp|fYSf~ diff --git a/previews/PR223/assets/diwtqju.Dab1-ETk.png b/previews/PR223/assets/zkkvhzc.Dab1-ETk.png similarity index 100% rename from previews/PR223/assets/diwtqju.Dab1-ETk.png rename to previews/PR223/assets/zkkvhzc.Dab1-ETk.png diff --git a/previews/PR223/assets/ojxakzf.Bglvb-jp.png b/previews/PR223/assets/zrorncv.Bglvb-jp.png similarity index 100% rename from previews/PR223/assets/ojxakzf.Bglvb-jp.png rename to previews/PR223/assets/zrorncv.Bglvb-jp.png diff --git a/previews/PR223/assets/uatpmar.CULn5saZ.png b/previews/PR223/assets/ztcrfou.CULn5saZ.png similarity index 100% rename from previews/PR223/assets/uatpmar.CULn5saZ.png rename to previews/PR223/assets/ztcrfou.CULn5saZ.png diff --git a/previews/PR223/call_notes.html b/previews/PR223/call_notes.html index d28a0f282..f540c1d50 100644 --- a/previews/PR223/call_notes.html +++ b/previews/PR223/call_notes.html @@ -9,9 +9,9 @@ - + - + @@ -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 c810a10ff..df670d5b5 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 e4430cf22..d33d1f549 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 2f80c1b8a..94c874eff 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 5ed039ca5..f9147e8bf 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 4c8eb2f6e..bad8b7e97 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 fb9a25e00..8eed4b80f 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 84215cf52..0c57dcd10 100644 --- a/previews/PR223/hashmap.json +++ b/previews/PR223/hashmap.json @@ -1 +1 @@ -{"api.md":"88Ix4NwQ","call_notes.md":"CQV1jtrC","experiments_accurate_accumulators.md":"CNy24E-d","experiments_predicates.md":"BSJab6dd","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":"5ilVA5Dy","source_geometryopslibgeosext_buffer.md":"1VslCHLl","source_geometryopslibgeosext_geometryopslibgeosext.md":"RzvvBuAm","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":"CTMtCCBJ","source_methods_area.md":"BXopeq0f","source_methods_barycentric.md":"5f4UddJg","source_methods_buffer.md":"j8KVHqgi","source_methods_centroid.md":"BeZryoQV","source_methods_clipping_clipping_processor.md":"7BfWTXCx","source_methods_clipping_coverage.md":"BoQQ7tcy","source_methods_clipping_cut.md":"rF9braH0","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":"DnZQet05","source_methods_distance.md":"BpcI5Aid","source_methods_equals.md":"1xJjnk6G","source_methods_geom_relations_contains.md":"DqcOInUF","source_methods_geom_relations_coveredby.md":"h-u0TBeO","source_methods_geom_relations_covers.md":"D7uNA4Ay","source_methods_geom_relations_crosses.md":"CP7iRbQj","source_methods_geom_relations_disjoint.md":"D6k5JY_2","source_methods_geom_relations_geom_geom_processors.md":"BF8gYKR3","source_methods_geom_relations_intersects.md":"JCqk-z9X","source_methods_geom_relations_overlaps.md":"C2vgBSzp","source_methods_geom_relations_touches.md":"D3r8Cap_","source_methods_geom_relations_within.md":"t05a5xYq","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":"DYjxvsJj","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":"CsA0wozr","source_src_types.md":"DaKWp7Eq","source_transformations_correction_closed_ring.md":"4HYFYams","source_transformations_correction_geometry_correction.md":"DF0LZ2pv","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":"p2tHvMCA","source_transformations_simplify.md":"Yt3iEAK6","source_transformations_transform.md":"DJBNtLeA","source_transformations_tuples.md":"wxi6IbPH","source_types.md":"DKAWKlN-","source_utils.md":"DUwGwieC","tutorials_creating_geometry.md":"ClrZGKaI","tutorials_geodesic_paths.md":"CZ4O1upL","tutorials_spatial_joins.md":"D67WNmeB"} +{"api.md":"Dv50llkJ","call_notes.md":"CQV1jtrC","experiments_accurate_accumulators.md":"CNy24E-d","experiments_predicates.md":"j5fAFHV4","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":"5ilVA5Dy","source_geometryopslibgeosext_buffer.md":"1VslCHLl","source_geometryopslibgeosext_geometryopslibgeosext.md":"RzvvBuAm","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":"upuhPtDU","source_methods_area.md":"D3r3WiYF","source_methods_barycentric.md":"CzZncmJl","source_methods_buffer.md":"j8KVHqgi","source_methods_centroid.md":"YD8bCMDe","source_methods_clipping_clipping_processor.md":"7BfWTXCx","source_methods_clipping_coverage.md":"C_Hyf7aG","source_methods_clipping_cut.md":"6BFyK6po","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":"cbwZFasG","source_methods_distance.md":"Bdzu_X22","source_methods_equals.md":"ButfUZdG","source_methods_geom_relations_contains.md":"BoL57JL7","source_methods_geom_relations_coveredby.md":"cROtFb1L","source_methods_geom_relations_covers.md":"CDxzQwKd","source_methods_geom_relations_crosses.md":"CP7iRbQj","source_methods_geom_relations_disjoint.md":"B5cW57zI","source_methods_geom_relations_geom_geom_processors.md":"BF8gYKR3","source_methods_geom_relations_intersects.md":"CJwei8bT","source_methods_geom_relations_overlaps.md":"Dq8ENWxl","source_methods_geom_relations_touches.md":"D8JlYW-C","source_methods_geom_relations_within.md":"CY92463r","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":"CMBNO61I","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":"CuWgCcMg","source_src_types.md":"DaKWp7Eq","source_transformations_correction_closed_ring.md":"4HYFYams","source_transformations_correction_geometry_correction.md":"DLKdBqqy","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":"DOI6H3S8","source_transformations_simplify.md":"XMQQ-eoJ","source_transformations_transform.md":"DJBNtLeA","source_transformations_tuples.md":"wxi6IbPH","source_types.md":"DKAWKlN-","source_utils.md":"DUwGwieC","tutorials_creating_geometry.md":"CrAVptBu","tutorials_geodesic_paths.md":"6HXJD4rl","tutorials_spatial_joins.md":"Dbt06x_e"} diff --git a/previews/PR223/index.html b/previews/PR223/index.html index 97e018e7b..56fefa71d 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 713cc3f0b..4a049f468 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 e66ea21bc..a3ce4b090 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 c30b96ee8..d290abb0a 100644 --- a/previews/PR223/source/GeometryOpsFlexiJoinsExt/GeometryOpsFlexiJoinsExt.html +++ b/previews/PR223/source/GeometryOpsFlexiJoinsExt/GeometryOpsFlexiJoinsExt.html @@ -9,9 +9,9 @@ - + - + @@ -34,7 +34,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 f5b9c9c85..18a82d4fc 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 56b4686b7..c2953977c 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 560a9fb7f..0242be950 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 7c4e901ee..9fcec751a 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 f73531e97..705610832 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 6ded96b48..1ba493a4d 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 cc504ed3e..2f71dcd04 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 88b51fdbf..7f2bfadfc 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 cac7d3289..614554d18 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 1673c20aa..74743ecc5 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 7bfe6f6f7..53a8a97f7 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 88ba3a241..3cb5a8f11 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 c4a8b4ee6..e560a5dcd 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 a7ab8e7bb..b6c71bea2 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 5f663c149..b7752d804 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 0c9089ab5..7885f1fa3 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 63a8ff865..61578c844 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 686e52be4..705b68819 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 94e531d84..e2fe4faf8 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 ce34d889c..061eeb268 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 864886627..51b7466bc 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 39268b831..05b453f53 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 6f7c55268..81fc8a8ce 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 b08a02ba5..bfef7b096 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 a906cf63a..57bee8526 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 fbc5ad94b..0294cac72 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 c6e807ecf..98a6f7b67 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 d465b612a..11bd245c1 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 c0c1d33cf..8b994788e 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 7b8e1786b..d5d4c16b1 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 81e925354..bf7f41fee 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 c7553bda7..7ff0005b2 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 5e908b745..16d0e412c 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 2aa92e70b..fb64f3b6f 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 9f16f227f..4c008ff47 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 cfb1bf122..bf1ddef15 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 be6647630..c3ee74d9f 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 09f1a4455..14fe03387 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 ecde6409c..5469da3b0 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 1f48a14b1..dc5abf35d 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 ba9766a92..141e560d6 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 b1b5e6d9e..ffb2de686 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 fbc9cfad5..fca3ae407 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 54b3b78d4..c8e396847 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 dc60953f3..c2c268c6b 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 93bd68894..da4931203 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 6e96520f2..af4d0282e 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 409c90af1..ff4558f1f 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 df6d94b45..70edebf53 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 03282c427..2655f2a57 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 763239d56..993970224 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 f19bd114c..89f481de3 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 f6d8a8bfa..50cb69641 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 4857fe2ef..d4db091ce 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 ea2d14064..2f2cb5d56 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 dbc0972ed..389595a47 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 5c708bd78..889cc9fbd 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/t8Vkb/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/t8Vkb/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 beca262ed..b6fc947da 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 ae7f708b7..69d3302d7 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