Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Add geoseries.distance #13

Open
wants to merge 568 commits into
base: branch-0.16
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
568 commits
Select commit Hold shift + click to select a range
928b6ea
Introduce `multilinestring_range` structure, simplifies point-linestr…
isVoid Oct 28, 2022
92c3a08
Augment Cuspatial Test Utility to Allow User Specified Abs Error (#752)
isVoid Nov 1, 2022
1f17152
Replacing markdown issue templates with yml forms (#748)
jarmak-nv Nov 3, 2022
aab7d86
Force using old fmt in nvbench. (#783)
isVoid Nov 7, 2022
e17d969
Delete deprecated board GitHub Actions (#779)
jarmak-nv Nov 7, 2022
8702bc6
Introduce ULP Based Floating Point Equality Test to Device Function (…
isVoid Nov 7, 2022
870f103
Refactor of `pairwise_linestring_distance` to use `multilinestring_ra…
isVoid Nov 7, 2022
48fbedf
address issue with vector equivalent utility (#777)
isVoid Nov 8, 2022
0c2fe86
Header-only refactoring of trajectory_distances_and_speeds (#769)
harrism Nov 8, 2022
ba94607
Fix conda channel order (#787)
harrism Nov 8, 2022
6dc3374
Fix issue with `.loc` returning values out of order. (#782)
thomcom Nov 8, 2022
29c3d5d
Better slicing via `union_offsets` (#776)
thomcom Nov 8, 2022
740b5b4
Globally replace "polyline" with "linestring" (#788)
harrism Nov 9, 2022
337a92a
Fix style checks. (#791)
bdice Nov 9, 2022
fa74562
DOC
raydouglass Nov 10, 2022
48aac76
Introduce Segment Intersection Primitive (#778)
isVoid Nov 15, 2022
3fad242
Support `Multilinestring` in column API and python Bindings for `pair…
isVoid Nov 15, 2022
075ad2d
Merge pull request #801 from rapidsai/branch-22.12
GPUtester Nov 15, 2022
69cbaa3
Update pre-commit configuration and CI (#799)
bdice Nov 16, 2022
425f245
Merge pull request #802 from rapidsai/branch-22.12
GPUtester Nov 16, 2022
0b5a90e
Labeler: Change cpp label to libcuspatial (#800)
jarmak-nv Nov 16, 2022
f196f46
Merge pull request #804 from rapidsai/branch-22.12
GPUtester Nov 16, 2022
1e8267b
Set max version pin for `gdal` (#806)
ajschmidt8 Nov 17, 2022
29effaa
Merge pull request #807 from rapidsai/branch-22.12
GPUtester Nov 17, 2022
fd5d15d
Don't use CMake 3.25.0 as it has a FindCUDAToolkit show stopping bug …
robertmaynard Nov 18, 2022
d1fcd10
Merge pull request #809 from rapidsai/branch-22.12
GPUtester Nov 18, 2022
04593ef
Update Dependency List with `dependencies.yaml` (#803)
isVoid Nov 21, 2022
1a0885f
Fix a Bug in Segment Intersection Primitive (#808)
isVoid Nov 21, 2022
acf0ea1
Merge branch 'branch-22.12' into branch-23.02-merge-22.12
harrism Nov 22, 2022
e88e3d3
Add Internal Function `intersection_count_upper_bound` (#795)
isVoid Nov 22, 2022
19e7661
Add Floating Point Equality Tests to Build List (#812)
isVoid Nov 22, 2022
e775585
Merge pull request #811 from harrism/branch-23.02-merge-22.12
jolorunyomi Nov 22, 2022
da7d3a4
Update quadtree spatial join docstrings (#797)
trxcllnt Nov 22, 2022
955596d
Rename lonlat_to_cartesian to sinusoidal_projection (#794)
harrism Nov 23, 2022
367dbf9
Consolidate bounding box code (#793)
harrism Nov 23, 2022
1589e08
Add `find_duplicate_points` Internal API (#815)
isVoid Nov 23, 2022
f2238e8
Merge pull request #810 from rapidsai/branch-22.12
ajschmidt8 Nov 23, 2022
8745a1a
Add symlink to `users.ipynb` for notebooks CI (#790)
thomcom Nov 28, 2022
9904cfb
Allow None rows in `GeoSeries` and an `align` method to match `GeoPan…
thomcom Nov 28, 2022
82299df
Merge pull request #824 from rapidsai/branch-22.12
GPUtester Nov 28, 2022
924b570
Create `pairwise_point_in_polygon` to be used by pairwise `GeoSeries`…
thomcom Nov 29, 2022
4fba17e
Merge pull request #828 from rapidsai/branch-22.12
GPUtester Nov 29, 2022
4ca88ff
Create `GeoSeries.contains_properly` method using point_in_polygon. (…
thomcom Nov 30, 2022
53f62c5
Merge pull request #831 from rapidsai/branch-22.12
GPUtester Nov 30, 2022
767e45f
Enable copy_prs. [skip gpuci] (#837)
bdice Dec 2, 2022
886e1c9
Use Libcudf Test Macro (#841)
isVoid Dec 5, 2022
285c6b8
Add Missing License in `Distance.py` (#840)
isVoid Dec 6, 2022
9ca38c8
Remove deprecated min_size parameter from quadtree_on_points (#843)
harrism Dec 6, 2022
138dc69
Remove deprecated lonlat_to_cartesian functions (#842)
harrism Dec 7, 2022
4da4c1c
update changelog
raydouglass Dec 8, 2022
222739f
Add `find_and_combine_segment` internal API (#818)
isVoid Dec 13, 2022
959aa0b
Update `memory_usage` with tweaked sizes (#855)
thomcom Dec 13, 2022
c6d4b75
Add `pairwise_linestring_intersection_with_duplicates` API (#813)
isVoid Dec 13, 2022
5dcd22d
Add `find_point_on_segment` internal API (#819)
isVoid Dec 13, 2022
8ff0e63
Fix: Sort Intersection Result by Keys in `intersection_with_duplicate…
isVoid Dec 14, 2022
3d814f5
Adds `remove_if` Function to `linestring_intersection_intermediates` …
isVoid Dec 14, 2022
5ea5bbb
Header-only polygon_bounding_boxes and linestring_bounding_boxes, `ma…
harrism Dec 14, 2022
749751a
Fix a bug preventing `align` from working with a basic slice. (#850)
thomcom Dec 15, 2022
f262325
Implement all binary operations that depend only on point-in-polygon …
thomcom Dec 15, 2022
73e2a27
Add `reset_index` to `GeoSeries` and `GeoDataFrame` (#856)
thomcom Dec 15, 2022
f945e67
Add Header Only API `pairwise_linestring_intersection` (#852)
isVoid Dec 16, 2022
6549248
Merge branch-22.12 into branch-23.02
ajschmidt8 Dec 20, 2022
4b13dbc
Add GitHub Actions Workflows (#836)
bdice Dec 29, 2022
f46ac3b
Enable `Recently Updated` Check (#863)
ajschmidt8 Dec 29, 2022
6cabe87
update workflows [skip ci] (#864)
ajschmidt8 Jan 2, 2023
75d09e6
Build CUDA 11.8 and Python 3.10 Packages (#865)
bdice Jan 11, 2023
a614265
Fix documentation author (#866)
bdice Jan 11, 2023
c40837f
DOC
raydouglass Jan 23, 2023
3a20cf6
Use vector equivalence macros consistently in header-only API tests. …
harrism Jan 26, 2023
5b8f2a7
Merge pull request #875 from rapidsai/branch-23.02
GPUtester Jan 26, 2023
f4cf664
Refactor calls to `data_array_view` (#871)
galipremsagar Jan 26, 2023
d24b932
Merge pull request #876 from rapidsai/branch-23.02
GPUtester Jan 26, 2023
f4a4380
Add print_env.sh to improve bug reporting (#874)
jarmak-nv Jan 30, 2023
d26917a
Merge pull request #878 from rapidsai/branch-23.02
GPUtester Jan 30, 2023
f967893
Deprecate shapefile reader (#872)
harrism Jan 31, 2023
4e9d621
Merge pull request #879 from rapidsai/branch-23.02
GPUtester Jan 31, 2023
870b164
pre-commit: Update isort version to 5.12.0 (#877)
wence- Jan 31, 2023
a3d5fc6
Merge pull request #880 from rapidsai/branch-23.02
GPUtester Jan 31, 2023
e4e79a5
Add header-only `cuspatial::join_quadtree_and_bounding_boxes` (#861)
trxcllnt Feb 1, 2023
c2d1617
Merge pull request #884 from rapidsai/branch-23.02
GPUtester Feb 2, 2023
f391f53
update workflow branches [skip ci] (#897)
ajschmidt8 Feb 3, 2023
0087880
Merge pull request #898 from rapidsai/branch-23.02
GPUtester Feb 3, 2023
e74e4f8
Move date to build string in `conda` recipe (#882)
ajschmidt8 Feb 6, 2023
42f89e3
Update shared workflow branches (#909)
ajschmidt8 Feb 8, 2023
19d5e98
Allow initialization of a `GeoDataFrame` using a `cudf.DataFrame` (#895)
thomcom Feb 8, 2023
5cec7a9
`_from_point_xy` improvements (#905)
isVoid Feb 8, 2023
bcf45ef
Fix multiple bugs in user guide (#906)
isVoid Feb 9, 2023
aefcff0
update changelog
raydouglass Feb 9, 2023
397d570
Merge pull request #914 from rapidsai/branch-23.02
GPUtester Feb 9, 2023
84ed23b
Fix broken `point_indices` methods in `PolygonGeoColumnAccessor` (#907)
isVoid Feb 9, 2023
c60c8a2
Reduce error handling verbosity in CI tests scripts (#912)
AjayThorve Feb 10, 2023
7d18ae0
Add `valid_count` and `has_nulls` to GeoColumn (#894)
thomcom Feb 10, 2023
6c35fc4
Remove gpuCI scripts. (#904)
bdice Feb 10, 2023
d4bdb6b
Refactor `directed_hausdorff_distance` and `haversine_distance` into …
isVoid Feb 14, 2023
93fbc73
Add docs build job (#868)
AyodeAwe Feb 15, 2023
aae60ba
Add `from_linestrings_xy` and `from_polygons_xy` (#928)
thomcom Feb 15, 2023
ceb4758
Add `apply_boolean_mask` Feature (#918)
isVoid Feb 16, 2023
c28a4ac
Skip docs job in nightly runs (#944)
AyodeAwe Feb 17, 2023
8299bdc
Refactors `filtering.py`, `indexing.py` to Accept GeoSeries (#938)
isVoid Feb 21, 2023
d65d3a7
Remove shapefile reader, conda GDAL dependency, move cmake gdal depen…
harrism Feb 22, 2023
ba0816c
Remove dead code from ContainsProperlyBinpred paths. (#933)
thomcom Feb 22, 2023
62b61dc
Refactors `bounding.py` to accept GeoSeries Input (#934)
isVoid Feb 23, 2023
8e22478
Refactor functions in `join.py` to accept GeoSeries Input (#948)
isVoid Feb 23, 2023
9a962a5
add logger stmt
AyodeAwe Feb 23, 2023
3348253
less verbb
AyodeAwe Feb 23, 2023
ef368f0
Refactors API to accept GeoSeries input for projection and trajectory…
isVoid Feb 23, 2023
19b2bb2
Update Notebook with GeoSeries Usage and Add Notebook Tests (#953)
isVoid Feb 24, 2023
bda2774
Merge pull request #956 from AyodeAwe/less_verbb
AyodeAwe Feb 27, 2023
bb6788d
Fix OB bug in `linestring_intersection_intermediates.remove_if` Funct…
isVoid Feb 27, 2023
8fbb208
Add C++ Column API and Python API for `pairwise_linestring_intersecti…
isVoid Feb 27, 2023
b8b3534
Remove cubic spline interpolation (#959)
harrism Feb 28, 2023
0ea6eea
Update `.gitignore` for `ops-codeowners` (#963)
ajschmidt8 Mar 1, 2023
4daaa65
Fix docs (#964)
galipremsagar Mar 1, 2023
cc4af2b
Update to GCC 11 (#961)
bdice Mar 6, 2023
262cb26
Enable discussions (#966)
jarmak-nv Mar 6, 2023
a9bf0f1
Update aarch64 to GCC 11 (#978)
bdice Mar 8, 2023
d1871db
Pass `AWS_SESSION_TOKEN` and `SCCACHE_S3_USE_SSL` vars to conda build…
ajschmidt8 Mar 8, 2023
25466ed
Consistently validate polygon inputs for GeoArrow offset format (#973)
harrism Mar 9, 2023
66327f5
Remove GDAL dependency in quadtree spatial join tests. (#974)
harrism Mar 13, 2023
95350b9
Add codespell as a linter (#992)
bdice Mar 14, 2023
3aefd4e
Attempt to Fix Broken C++ Build After `cudftestutil` is Made a Shared…
isVoid Mar 15, 2023
40897ef
Add cuspatial devcontainers (#960)
trxcllnt Mar 17, 2023
6a6aae5
Add Header-Only `point_polygon_distance`, add non-owning polygon obje…
isVoid Mar 17, 2023
f700030
Use quadtree for `.contains_properly` (#910)
thomcom Mar 18, 2023
1728738
: Move build instructions to dev guide (#999)
jarmak-nv Mar 20, 2023
075d47f
Add `pairwise_linestring_intersection` example in user guide (#989)
isVoid Mar 21, 2023
9aa3ee2
Update cuSpatial Readme (#977)
jarmak-nv Mar 21, 2023
ac6761e
: Fix linestring link in readme (#1003)
jarmak-nv Mar 21, 2023
8f72d82
Add column API for `pairwise_point_polygon_distance` (#984)
isVoid Mar 21, 2023
515e0c4
Add `geometry_generator` factory for programmatic generation of geome…
isVoid Mar 22, 2023
6b88aa8
DOC
raydouglass Mar 23, 2023
04c941a
Implement `geom_equals` and binary predicates that depend only on it.…
thomcom Mar 23, 2023
6c27f2d
Add python API `pairwise_point_polygon_distance` (#988)
isVoid Mar 23, 2023
a147faf
Add `dependency-file-generator` as `pre-commit` hook (#1008)
ajschmidt8 Mar 23, 2023
f065a89
Add ZipCode Counting Notebook (#919)
isVoid Mar 27, 2023
c3f6670
Header-only `quadtree_point_in_polygon` (#979)
harrism Mar 29, 2023
ff22dd1
Reduce gtest times (#1018)
harrism Mar 29, 2023
a7466af
Branch 23.06 merge 23.04 (#1021)
harrism Mar 30, 2023
fee47ef
Header-only quadtree_point_to_nearest_linestring (#1005)
harrism Mar 30, 2023
7668fdc
Updated binpred architecture (#1009)
thomcom Apr 4, 2023
0b6971f
Fix quotes in backticks in Developer Guide (#1034)
harrism Apr 4, 2023
59c9515
Merge branch 'branch-23.04' into branch-23.06-merge-23.04-2
harrism Apr 5, 2023
043e5d3
Merge pull request #1035 from harrism/branch-23.06-merge-23.04-2
jjacobelli Apr 5, 2023
c5d8240
Add segment Iterators, test multi*_range and miscellaneous lazy itera…
isVoid Apr 5, 2023
ac005fe
Merge pull request #1038 from rapidsai/branch-23.04
GPUtester Apr 5, 2023
ccf526a
Refactor spatial join tests (#1019)
harrism Apr 5, 2023
8afef5f
Merge pull request #1039 from rapidsai/branch-23.04
GPUtester Apr 5, 2023
fdacbb2
Add Header Only API for Linestring-Polygon Distance (#1011)
isVoid Apr 6, 2023
5cca1a1
Merge pull request #1040 from rapidsai/branch-23.04
GPUtester Apr 6, 2023
405699f
Intersection only predicates (#1016)
thomcom Apr 6, 2023
127ae9b
Merge pull request #1041 from rapidsai/branch-23.04
GPUtester Apr 6, 2023
034bbb9
Bug Fix: point-in-multipolygon reduction using the wrong key-compare …
isVoid Apr 7, 2023
67d0f33
Merge pull request #1045 from rapidsai/branch-23.04
GPUtester Apr 7, 2023
0985aef
Reduced equals time and fixed a bug. (#1051)
thomcom Apr 7, 2023
07ba65d
Use thrust::host_vector instead of std::vector<bool> in tests (#1048)
cwharris Apr 7, 2023
68ff3f4
use make_device_vector in pairwise_point_in_polygon_test (#1049)
cwharris Apr 8, 2023
062f0e3
Improve Hausdorff Many Column Performance (#916)
isVoid Apr 11, 2023
aa73362
Update `CMAKE_CUDA_ARCHITECTURE` to use new value (#1070)
isVoid Apr 12, 2023
1ea32f9
Use ARC V2 self-hosted runners for GPU jobs (#1066)
jjacobelli Apr 17, 2023
1598c65
Bug fix in `pairwise_linestring_intersection` (#1069)
isVoid Apr 17, 2023
8f49daa
Update clang-format to 15.0.7 (#1072)
bdice Apr 19, 2023
fadab94
Remove usage of rapids-get-rapids-version-from-git (#1088)
jjacobelli Apr 20, 2023
d044dc4
Column API for linestring-polygon distance (#1030)
isVoid Apr 22, 2023
2d1f9f8
Update minimum Python version to Python 3.9 (#1089)
shwina Apr 26, 2023
5f91e68
Move `experimental` headers into main `include/cuspatial` directory (…
harrism Apr 26, 2023
5269685
Header only API for polygon-polygon distance (#1065)
isVoid Apr 26, 2023
24d29bc
Python API for linestring polygon distance (#1031)
isVoid Apr 26, 2023
3935a84
Add Hausdorff Clustering Notebooks (#922)
isVoid Apr 26, 2023
959cfdb
Binary Predicate Test Dispatching (#1085)
thomcom Apr 26, 2023
86e8912
Fix a bug in segment intersection primitive where two collinear segme…
isVoid Apr 27, 2023
e992329
Pairwise Multipoint Equals Count function (#1022)
thomcom Apr 27, 2023
021c1f2
Revert to branch-23.06 for shared-action-workflows (#1107)
shwina May 1, 2023
50c579a
Enable sccache hits from local builds (#1109)
AyodeAwe May 1, 2023
c713325
Pin cuml dependency in notebook testing environment to nightlies (#1110)
isVoid May 1, 2023
8c66988
Fix a bug in point-in-polygon kernel: if the point is collinear with …
isVoid May 2, 2023
2d02073
Column API for `pairwise_polygon_distance` (#1073)
isVoid May 2, 2023
2509fce
Reorganize cuSpatial headers (#1097)
harrism May 2, 2023
3b6a59b
update changelog
raydouglass May 3, 2023
af32654
Merge pull request #1117 from rapidsai/branch-23.04
GPUtester May 3, 2023
986c1a6
Python API for `pairwise_polygon_distance` (#1074)
isVoid May 3, 2023
e1de9f5
Reorganize src, tests, and benchmarks (#1115)
harrism May 4, 2023
8b97a72
Add `contains`predicate. (#1086)
thomcom May 4, 2023
6e56d13
Bump Gtest version following Rapids-cmake change (#1126)
isVoid May 9, 2023
916b8ba
Add Legal Terms to Trajectory Clustering Notebook (#1111)
isVoid May 9, 2023
9a85409
Delete add_issue_to_project.yml (#1129)
jarmak-nv May 10, 2023
036c897
Make User Guide appear in Docs page header (#1133)
jarmak-nv May 11, 2023
5829c49
Improve zipcode counting notebook by adding GPU backed WKT parser (#1…
isVoid May 15, 2023
d7bb3fb
Add GTC 2023 Reverse GeoCoding Demo Notebook (#1001)
thomcom May 15, 2023
c6ecbc0
Refactor ST_Distance Column API and Cython (#1124)
isVoid May 16, 2023
4973417
DOC
raydouglass May 19, 2023
7f42eeb
Adds `pairwise_point_polygon_distance` benchmark (#1131)
isVoid May 23, 2023
e7c9332
Merge pull request #1150 from rapidsai/branch-23.06
GPUtester May 23, 2023
5162e39
Fix `cudf::column` constructor args (#1151)
trxcllnt May 26, 2023
8e041f1
Merge pull request #1155 from rapidsai/branch-23.06
GPUtester May 26, 2023
3bb733a
Fix scatter bug due to overlapping range in `pairwise_linestring_inte…
isVoid May 26, 2023
ac40ed6
Merge pull request #1157 from rapidsai/branch-23.06
GPUtester May 26, 2023
3300768
Implement and Test All Simple Feature Combinations (#1064)
thomcom May 26, 2023
7bff69d
Merge pull request #1158 from rapidsai/branch-23.06
GPUtester May 26, 2023
88b86da
Refactor `ST_Distance` header only API (#1143)
isVoid May 31, 2023
085d946
Merge pull request #1159 from rapidsai/branch-23.06
GPUtester May 31, 2023
f571e9d
Add Benchmark to `pairwise_linestring_polygon_distance` (#1153)
isVoid May 31, 2023
361bd4d
Merge pull request #1163 from rapidsai/branch-23.06
GPUtester May 31, 2023
50e3b6a
Add `multilinestring_segment_manager` for segment related methods in …
isVoid Jun 1, 2023
40d00f7
Merge pull request #1167 from rapidsai/branch-23.06
GPUtester Jun 1, 2023
400cc15
Add documentation for `pairwise_linestring_polygon_distance`, `pairwi…
isVoid Jun 1, 2023
f07ac48
Run docs nightly (#1141)
AyodeAwe Jun 1, 2023
1a0593d
Merge pull request #1168 from rapidsai/branch-23.06
GPUtester Jun 1, 2023
4b76c44
cuSpatial pip packages (#1148)
trxcllnt Jun 2, 2023
9f990ea
Remove documentation build scripts for Jenkins (#1169)
ajschmidt8 Jun 5, 2023
ddf831d
Merge branch-23.06 into branch-23.08
trxcllnt Jun 5, 2023
663ac38
more 23.06 -> 23.08
trxcllnt Jun 5, 2023
d428850
pyproject.toml not pyproject.py
trxcllnt Jun 5, 2023
e9a227d
handle yaml anchors
Jun 5, 2023
39f66d0
Merge pull request #1175 from trxcllnt/branch-23.08-merge-23.06
raydouglass Jun 6, 2023
73d3c3e
update changelog
raydouglass Jun 7, 2023
cb4e28b
Merge pull request #1184 from rapidsai/branch-23.06
GPUtester Jun 7, 2023
34dc2a3
Fix update version (#1187)
raydouglass Jun 7, 2023
00fc842
Merge branch-23.06 into rbanch-23.08
raydouglass Jun 7, 2023
0c395d1
Merge pull request #1190 from raydouglass/branch-23.08-merge-23.06
raydouglass Jun 7, 2023
400b310
use rapids-upload-docs script (#1181)
AyodeAwe Jun 7, 2023
1d2c174
Better support for binary predicates with large inputs. (#1166)
thomcom Jun 8, 2023
77ca81b
External issue triage GHA (#1177)
jarmak-nv Jun 8, 2023
72edee1
Remove `osmnx` dependency and use a small local dataset (#1195)
isVoid Jun 9, 2023
56fa0c2
Update to CMake 3.26.4 (#1196)
vyasr Jun 9, 2023
f43d18b
Remove Stale Demo Scripts (#1180)
isVoid Jun 12, 2023
9d91cd3
Updates Build Instructions to Adjust for Devcontainer Instructions an…
isVoid Jun 20, 2023
bb6c7cb
Fix a small typo in pairwise_linestring_distance (#1199)
isVoid Jun 22, 2023
d5499d2
Simplify point-in-polygon header only APIs (#1192)
isVoid Jun 22, 2023
b047c6a
Add cmake infrastructure for internal projection library (#1132)
harrism Jun 24, 2023
3da3332
Add author credit to zipcode counting notebook, fix cudf string proce…
isVoid Jun 26, 2023
7cb3000
Use grid_stride_range in kernel loops (#1178)
harrism Jun 27, 2023
feff9eb
cuSpatial: Build CUDA 12 packages (#1044)
isVoid Jul 6, 2023
0ae38c7
Add CUDA major to `cuspatial`'s `build/string` (#1211)
jakirkham Jul 7, 2023
29fb208
Add streams to allocate_like call (#1218)
isVoid Jul 17, 2023
1e0e357
Update GeoDataFrame to Use the Structured GatherMap Class (#1219)
isVoid Jul 18, 2023
174ca0e
Revert CUDA 12.0 CI workflows to branch-23.08. (#1223)
bdice Jul 18, 2023
b0657dd
WGS84 <--> UTM projection header-only API (#1191)
harrism Jul 20, 2023
7f3231c
Use rapids-cmake to supply Google Benchmark library. (#1224)
bdice Jul 20, 2023
7cacad2
Use Google Benchmark from rapids-cmake in cuproj. (#1225)
bdice Jul 21, 2023
8ee773c
Sort the mergeable segments before computing merged segments (#1207)
isVoid Jul 25, 2023
e8d2145
Switch to new wheel building pipeline (#1227)
vyasr Jul 25, 2023
49c2ff7
add distance method test
isVoid Jul 26, 2023
f606ef0
Add implementations of `distance_dispatch`
isVoid Jul 26, 2023
b84a8a2
Deal with geoseries that has unmatched indices
isVoid Jul 26, 2023
e6d5d36
Refine example in docstring
isVoid Jul 26, 2023
3ac2da0
support distance to a single shapely object
isVoid Jul 26, 2023
0c73fca
refine document
isVoid Jul 26, 2023
cabdb0e
Address review comments
isVoid Jul 27, 2023
79a550f
Add point-point distance benchmark
isVoid Jul 28, 2023
292b6bb
add linestring-polygon distance benchmark
isVoid Jul 31, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
34 changes: 34 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# syntax=docker/dockerfile:1.5

ARG CUDA=11.8
ARG LLVM=16
ARG RAPIDS=23.06
ARG DISTRO=ubuntu22.04
ARG REPO=rapidsai/devcontainers

ARG PYTHON_PACKAGE_MANAGER=conda

FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-cuda${CUDA}-${DISTRO} as pip-base

FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-cuda${CUDA}-mambaforge-${DISTRO} as conda-base

FROM ${PYTHON_PACKAGE_MANAGER}-base

ARG PYTHON_PACKAGE_MANAGER
ENV PYTHON_PACKAGE_MANAGER="${PYTHON_PACKAGE_MANAGER}"

USER coder

RUN /bin/bash -c 'mkdir -m 0755 -p ~/.{aws,cache,conda,config/pip,local}'

WORKDIR /home/coder/

ENV PYTHONSAFEPATH="1"
ENV PYTHONUNBUFFERED="1"
ENV PYTHONDONTWRITEBYTECODE="1"

ENV SCCACHE_REGION="us-east-2"
ENV SCCACHE_BUCKET="rapids-sccache-devs"
ENV VAULT_HOST="https://vault.ops.k8s.rapids.ai"

ENV HISTFILE="/home/coder/.cache/._bash_history"
103 changes: 103 additions & 0 deletions .devcontainer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# cuSpatial Development Containers

This directory contains [devcontainer configurations](https://containers.dev/implementors/json_reference/) for using VSCode to [develop in a container](https://code.visualstudio.com/docs/devcontainers/containers) via the `Remote Containers` [extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) or [GitHub Codespaces](https://github.com/codespaces).

This container is a turnkey development environment for building and testing the cuSpatial C++ and Python libraries.

## Table of Contents

* [Prerequisites](#prerequisites)
* [Host bind mounts](#host-bind-mounts)
* [Launch a Dev Container](#launch-a-dev-container)
* [via VSCode](#via-vscode)
* [via `launch.sh`](#via-launchsh)
* [Single mode](#single-mode)
* [Unified mode](#unified-mode)
* [Isolated mode](#isolated-mode)

## Prerequisites

* [VSCode](https://code.visualstudio.com/download)
* [VSCode Remote Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)

## Host bind mounts

By default, the following directories are bind-mounted into the devcontainer:

* `${repo}:/home/coder/cuspatial`
* `${repo}/../.aws:/home/coder/.aws`
* `${repo}/../.local:/home/coder/.local`
* `${repo}/../.cache:/home/coder/.cache`
* `${repo}/../.conda:/home/coder/.conda`
* `${repo}/../.config:/home/coder/.config`

This ensures caches, configurations, dependencies, and your commits are persisted on the host across container runs.

## Launch a Dev Container

A devcontainer can be launched directly by VSCode, or via a custom `launch.sh` shell script.

### via VSCode

To launch a devcontainer from VSCode, open the cuSpatial repo and select the "Reopen in Container" button in the bottom right:<br/><img src="https://user-images.githubusercontent.com/178183/221771999-97ab29d5-e718-4e5f-b32f-2cdd51bba25c.png"/>

Alternatively, open the VSCode command palette (typically `cmd/ctrl + shift + P`) and run the "Rebuild and Reopen in Container" command.

### via `launch.sh`

Use the `.devcontainer/launch.sh` script to start a new instance of the development container and launch a fresh VSCode window connected to it.

VSCode extends its [single-window-per-folder](https://github.com/microsoft/vscode/issues/2686) process model to devcontainers. Opening the same devcontainer in separate windows doesn't create two separate containers -- instead you have two VSCode windows each connected to the same running container.

`launch.sh` takes two arguments, a `mode` and a `package manager`.

* The `mode` argument determines how the devcontainer interacts with the files on the host.
* The `package manager` argument can be either `conda`, or `pip`. This determines whether the devcontainer uses `conda` or `pip` to install the dependencies (the default is `conda`). `pip` is experimental/not working for normal dev, and is currently meant to aid in pip packaging work.

#### Single mode

`.devcontainer/launch.sh single` launches the devcontainer with the [default bind mounts](#host-bind-mounts). RMM and cuDF are installed via the package manager.

Example:
```bash
# Launch a devcontainer that only mounts cuspatial and installs dependencies via conda
$ .devcontainer/launch.sh single conda

# or installs dependencies via pip
$ .devcontainer/launch.sh single pip
```

#### Unified mode

`.devcontainer/launch.sh unified` launches the devcontainer with the [default bind mounts](#host-bind-mounts), as well as additional `rmm` and `cudf` bind mounts (assumes RMM and cuDF are siblings to the cuspatial repository):

* `${repo}/../.rmm:/home/coder/rmm`
* `${repo}/../.cudf:/home/coder/cudf`

In this mode, RMM and cuDF will not be installed, but the devcontainer will install the dependencies necessary to build all three.

Example:
```bash
# Launch a devcontainer that mounts rmm, cudf, and cuspatial from the host and installs dependencies via conda
$ .devcontainer/launch.sh unified conda

# or installs dependencies via pip
$ .devcontainer/launch.sh unified pip
```

#### Isolated mode

`.devcontainer/launch.sh isolated` launches the devcontainer without the deps/repo bind mounts, and instead contains a unique copy of the `cuspatial` source in the container's file system.

Use this mode to launch multiple isolated development containers that can be checked out to separate branches of `cuspatial`.

**Be sure to push any commits you want to persist. Once this container is removed, any unpushed changes will be lost!**

Examples:
```bash
# Launch a devcontainer that is isolated from changes on the host and installs dependencies via conda
$ .devcontainer/launch.sh isolated conda

# or installs dependencies via pip
$ .devcontainer/launch.sh isolated pip
```
63 changes: 63 additions & 0 deletions .devcontainer/conda/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
{
"shutdownAction": "stopContainer",

"build": {
"context": "${localWorkspaceFolder}/.devcontainer",
"dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile",
"args": {
"CUDA": "11.8",
"LLVM": "16",
"PYTHON_PACKAGE_MANAGER": "conda"
}
},
"hostRequirements": {
"gpu": true
},

"features": {
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.6": {}
},

"overrideFeatureInstallOrder": [
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
],

"initializeCommand": [
"/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/single}"
],
"updateContentCommand": ["rapids-make-vscode-workspace", "--update"],
"postCreateCommand": ["rapids-make-vscode-workspace", "--update"],
"postAttachCommand": ["rapids-make-conda-env"],

"containerEnv": {
"DEFAULT_CONDA_ENV": "rapids"
},

"workspaceFolder": "/home/coder",
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent",
"mounts": [
"source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.conda/pkgs,target=/home/coder/.conda/pkgs,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename}/single,target=/home/coder/.conda/envs,type=bind,consistency=consistent"
],

"customizations": {
"vscode": {
"extensions": [
"mutantdino.resourcemonitor",
"tamasfe.even-better-toml"
],
"settings": {
"files.trimFinalNewlines": true,
"files.insertFinalNewline": true,
"files.trimTrailingWhitespace": true,
"files.watcherExclude": {
"**/target/**": true
},
"python.linting.flake8Enabled": true
}
}
}
}
65 changes: 65 additions & 0 deletions .devcontainer/conda/isolated/.devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
{
"shutdownAction": "stopContainer",

"build": {
"context": "${localWorkspaceFolder}/.devcontainer",
"dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile",
"args": {
"CUDA": "11.8",
"LLVM": "16",
"PYTHON_PACKAGE_MANAGER": "conda"
}
},
"hostRequirements": {
"gpu": true
},

"features": {
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.6": {}
},

"overrideFeatureInstallOrder": [
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
],

"initializeCommand": [
"/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs}"
],

"updateContentCommand": [
"/bin/bash", "-c", "cp -ar /workspaces/${localWorkspaceFolderBasename} /home/coder/${localWorkspaceFolderBasename} && rapids-make-vscode-workspace --update"
],
"postCreateCommand": ["rapids-make-vscode-workspace", "--update"],
"postAttachCommand": ["rapids-make-conda-env"],

"containerEnv": {
"DEFAULT_CONDA_ENV": "rapids"
},

"workspaceFolder": "/home/coder",
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/${localWorkspaceFolderBasename},type=bind,consistency=consistent",
"mounts": [
"source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.conda/pkgs,target=/home/coder/.conda/pkgs,type=bind,consistency=consistent"
],

"customizations": {
"vscode": {
"extensions": [
"mutantdino.resourcemonitor",
"tamasfe.even-better-toml"
],
"settings": {
"files.trimFinalNewlines": true,
"files.insertFinalNewline": true,
"files.trimTrailingWhitespace": true,
"files.watcherExclude": {
"**/target/**": true
},
"python.linting.flake8Enabled": true
}
}
}
}
1 change: 1 addition & 0 deletions .devcontainer/conda/single/.devcontainer/devcontainer.json
65 changes: 65 additions & 0 deletions .devcontainer/conda/unified/.devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
{
"shutdownAction": "stopContainer",

"build": {
"context": "${localWorkspaceFolder}/.devcontainer",
"dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile",
"args": {
"CUDA": "11.8",
"LLVM": "16",
"PYTHON_PACKAGE_MANAGER": "conda"
}
},
"hostRequirements": {
"gpu": true
},

"features": {
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.6": {}
},

"overrideFeatureInstallOrder": [
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
],

"initializeCommand": [
"/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/unified}"
],
"updateContentCommand": ["rapids-make-vscode-workspace", "--update"],
"postCreateCommand": ["rapids-make-vscode-workspace", "--update"],
"postAttachCommand": ["rapids-make-conda-env"],

"containerEnv": {
"DEFAULT_CONDA_ENV": "rapids"
},

"workspaceFolder": "/home/coder",
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent",
"mounts": [
"source=${localWorkspaceFolder}/../rmm,target=/home/coder/rmm,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../cudf,target=/home/coder/cudf,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.conda/pkgs,target=/home/coder/.conda/pkgs,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename}/unified,target=/home/coder/.conda/envs,type=bind,consistency=consistent"
],

"customizations": {
"vscode": {
"extensions": [
"mutantdino.resourcemonitor",
"tamasfe.even-better-toml"
],
"settings": {
"files.trimFinalNewlines": true,
"files.insertFinalNewline": true,
"files.trimTrailingWhitespace": true,
"files.watcherExclude": {
"**/target/**": true
},
"python.linting.flake8Enabled": true
}
}
}
}
Loading