├── .clang-format ├── .clang-tidy ├── .gitignore ├── .gitlab-ci-code_analysis.yml ├── .gitlab-ci-coverage.yml ├── .gitlab-ci-linux.yml ├── .gitlab-ci-macos.yml ├── .gitlab-ci-ubuntu2004.yml ├── .gitlab-ci-windows.yml ├── .gitlab-ci.yml ├── .gitlab └── issue_templates │ ├── bug_report.md │ └── release.md ├── .gitmodules ├── .pypirc ├── .readthedocs.yml ├── CHANGELOG.md ├── CMake └── Modules │ ├── AddPathToList.cmake │ ├── BuildWheel.cmake │ ├── CodeCoverage.cmake │ ├── CplusplusTest.cmake │ ├── DetectAnaconda.cmake │ ├── FindPackageHandleStandardArgs.cmake │ ├── FindPackageMessage.cmake │ ├── FindPythonModule.cmake │ ├── FindSphinx.cmake │ ├── PythonExtension.cmake │ ├── PythonTest.cmake │ └── check_banner_for_anaconda.py ├── CMakeLists.txt ├── Documentation ├── api │ ├── cpp │ │ ├── tracktable.analysis.GreatCircleFit.rst │ │ ├── tracktable.core.detail.Bearing.rst │ │ ├── tracktable.core.detail.ConvexHull.rst │ │ ├── tracktable.core.detail.Distance.rst │ │ ├── tracktable.core.detail.EndToEndDistance.rst │ │ ├── tracktable.core.detail.Extrapolate.rst │ │ ├── tracktable.core.detail.Interpolate.rst │ │ ├── tracktable.core.detail.Intersects.rst │ │ ├── tracktable.core.detail.Length.rst │ │ ├── tracktable.core.detail.LengthFractionAtPoint.rst │ │ ├── tracktable.core.detail.PointAtFraction.rst │ │ ├── tracktable.core.detail.PointAtTime.rst │ │ ├── tracktable.core.detail.RadiusOfGyration.rst │ │ ├── tracktable.core.detail.SpeedBetween.rst │ │ ├── tracktable.core.detail.SphericalCoordinateAccess.rst │ │ ├── tracktable.core.detail.SubsetDuringInterval.rst │ │ ├── tracktable.core.detail.TimeAtFraction.rst │ │ ├── tracktable.core.detail.TimeAtFractionAtPoint.rst │ │ ├── tracktable.core.detail.TransferProperties.rst │ │ ├── tracktable.core.detail.TurnAngle.rst │ │ └── tracktable.rw.KmlOut.rst │ └── python │ │ ├── tracktable.algorithms.boxiness.rst │ │ ├── tracktable.algorithms.rst │ │ ├── tracktable.applications.assemble_trajectories.rst │ │ ├── tracktable.applications.cluster.rst │ │ ├── tracktable.applications.prediction.rst │ │ ├── tracktable.applications.rst │ │ ├── tracktable.applications.trajectory_splitter.rst │ │ ├── tracktable.render.backends.bokeh_backend.rst │ │ ├── tracktable.render.backends.cartopy_backend.rst │ │ ├── tracktable.render.backends.folium_backend.rst │ │ ├── tracktable.render.backends.ipyleaflet_backend.rst │ │ ├── tracktable.render.map_decoration.coloring.rst │ │ ├── tracktable.render.map_decoration.colormaps.rst │ │ ├── tracktable.render.map_decoration.geographic_decoration.rst │ │ ├── tracktable.render.map_processing.common_processing.rst │ │ ├── tracktable.render.map_processing.maps.rst │ │ ├── tracktable.render.map_processing.paths.rst │ │ └── tracktable.render.render_heatmap.rst ├── changelog.rst ├── common_errors.rst ├── examples │ ├── Demo_01.nblink │ ├── Demo_02.nblink │ ├── Demo_03.nblink │ ├── Demo_04.nblink │ ├── Demo_05.nblink │ ├── Tutorial_01.nblink │ ├── Tutorial_02.nblink │ ├── Tutorial_03.nblink │ ├── Tutorial_04.nblink │ ├── Tutorial_05A.nblink │ ├── Tutorial_05B.nblink │ ├── Tutorial_05C.nblink │ ├── Tutorial_05D.nblink │ ├── Tutorial_06.nblink │ └── c++ │ │ ├── Assemble.rst │ │ ├── Classify.rst │ │ ├── Cluster.rst │ │ ├── Filter.rst │ │ ├── Find_ID.rst │ │ ├── Portal.rst │ │ ├── Predict.rst │ │ ├── Reduce.rst │ │ ├── Sample_Project.rst │ │ ├── Serialize.rst │ │ └── source │ │ ├── assemble.rst │ │ ├── classify.rst │ │ ├── cluster.rst │ │ ├── filter.rst │ │ ├── find_id.rst │ │ ├── portal.rst │ │ ├── predict.rst │ │ ├── reduce.rst │ │ └── serialize.rst └── user_guides │ └── c++ │ ├── basic_operations.rst │ └── io.rst ├── GETTING_STARTED.md ├── LICENSE.html ├── LICENSE.txt ├── README.md ├── README_dev_environment.md ├── RELEASE_NOTES.md ├── TESTING.md ├── ci ├── dockerenv │ └── ubuntu │ │ └── 20.04 │ │ ├── Dockerfile │ │ ├── coverage_ubuntu2004.sh │ │ ├── docker-build │ │ ├── docker-push │ │ ├── docker-run │ │ ├── docker-run-local │ │ ├── kitware-archive-latest.asc │ │ ├── requirements.txt │ │ ├── scripts │ │ ├── apt-install-build-dependencies.sh │ │ ├── apt-install-runtime-dependencies.sh │ │ ├── cleanup.sh │ │ ├── pip-build-dependencies.sh │ │ └── pip-install-dependencies.sh │ │ └── test_ubuntu2004.sh ├── linux │ ├── dockerenv │ │ ├── Dockerfile │ │ ├── build-tracktable-ubuntu2004.sh │ │ ├── docker-build.sh │ │ ├── docker-push.sh │ │ ├── docker-run-dev.sh │ │ ├── docker-run.sh │ │ └── docker.config │ └── linux_ci_environment.yml ├── macos │ ├── configure_anaconda_environment.sh │ ├── configure_cmake_build.sh │ ├── functions │ │ ├── cmake.sh │ │ ├── common.sh │ │ └── conda.sh │ ├── macos_ci_environment_py310.yml │ ├── macos_ci_environment_py311.yml │ ├── macos_ci_environment_py312.yml │ ├── macos_ci_environment_py313.yml │ ├── macos_ci_environment_py39.yml │ ├── run_build.sh │ └── run_test.sh └── windows │ ├── windows_ci_environment_py310.yml │ ├── windows_ci_environment_py311.yml │ ├── windows_ci_environment_py312.yml │ ├── windows_ci_environment_py313.yml │ └── windows_ci_environment_py39.yml ├── conda_dev_environments ├── linux │ ├── tracktable_dev_python3.10.yml │ ├── tracktable_dev_python3.11.yml │ ├── tracktable_dev_python3.12.yml │ ├── tracktable_dev_python3.13.yml │ └── tracktable_dev_python3.9.yml ├── macos │ ├── tracktable_dev_python3.10.yml │ ├── tracktable_dev_python3.11.yml │ ├── tracktable_dev_python3.12.yml │ ├── tracktable_dev_python3.13.yml │ └── tracktable_dev_python3.9.yml └── windows │ ├── tracktable_dev_python3.10.yml │ ├── tracktable_dev_python3.11.yml │ ├── tracktable_dev_python3.12.yml │ ├── tracktable_dev_python3.13.yml │ └── tracktable_dev_python3.9.yml ├── disclaimer.txt ├── documentation_build_environment.yml ├── git_hooks ├── README_hooks.md └── pre-commit ├── mypy.ini ├── packaging ├── MANIFEST.in ├── conda-forge │ └── feedstock │ │ ├── README.md │ │ ├── bld.bat │ │ ├── build.sh │ │ └── meta.yaml ├── conda │ ├── README.md │ ├── bld.bat │ ├── build.sh │ ├── conda_build_config.yaml │ ├── meta.yaml │ ├── unix_conda_builder_environment.yml │ └── win_conda_builder_environment.yml ├── pypi │ ├── linux │ │ ├── README.md │ │ ├── build_all.sh │ │ ├── clean_all.sh │ │ ├── clean_tracktable.sh │ │ ├── functions │ │ │ └── parsing.sh │ │ ├── stage1_boost_multipython │ │ │ ├── Dockerfile.build_boost │ │ │ ├── Dockerfile.collect_boost_python │ │ │ ├── Dockerfile.download_boost │ │ │ ├── build_all.sh │ │ │ └── make_python_include_symlink.sh │ │ ├── stage2_cmake │ │ │ ├── Dockerfile │ │ │ └── build_all.sh │ │ ├── stage3_tracktable │ │ │ ├── Dockerfile.build_tracktable │ │ │ ├── build_all.sh │ │ │ ├── configure_tracktable.sh │ │ │ ├── create_dummy_libpython.sh │ │ │ └── install_numpy.sh │ │ └── stage4_wheel │ │ │ ├── Dockerfile │ │ │ └── build_all.sh │ └── macos │ │ ├── build_macos_wheels.sh │ │ └── getopt_test.sh ├── pyproject.toml ├── rpm │ └── rhel7 │ │ └── tracktable.spec.in ├── setup-generic.py ├── setup.cfg └── winlocate.py ├── tracktable.pc.in ├── tracktable ├── Analysis │ ├── AssembleTrajectories.h │ ├── CMakeLists.txt │ ├── ComputeDBSCANClustering.h │ ├── DistanceGeometry.h │ ├── GreatCircleFit.cpp │ ├── GreatCircleFit.h │ ├── GuardedBoostGeometryRTreeHeader.h │ ├── RTree.h │ ├── Tests │ │ ├── CMakeLists.txt │ │ ├── test_cartesian2d_distance_geometry_by_distance.cpp │ │ ├── test_cartesian2d_distance_geometry_by_time.cpp │ │ ├── test_dbscan_cartesian.cpp │ │ ├── test_dbscan_cs_change.cpp │ │ ├── test_dbscan_decorated_points.cpp │ │ ├── test_great_circle_fit.cpp │ │ ├── test_rtree.cpp │ │ ├── test_terrestrial_distance_geometry_by_distance.cpp │ │ ├── test_terrestrial_distance_geometry_by_time.cpp │ │ └── test_trajectory_assembly_with_domain.cpp │ └── detail │ │ ├── AssembleTrajectoriesIterator.h │ │ ├── coordinate_transfer_converter.h │ │ ├── dbscan_drivers.h │ │ ├── dbscan_implementation.h │ │ ├── dbscan_points.h │ │ ├── extract_pair_member.h │ │ ├── point_converter.h │ │ └── transfer_point_coordinates.h ├── CMakeLists.txt ├── CommandLineFactories │ ├── AssemblerFromCommandLine.h │ ├── CMakeLists.txt │ ├── CommandLineFactory.h │ ├── PointReaderFromCommandLine.h │ └── Tests │ │ ├── AssemblerFromCommandLine_TEST.cpp │ │ ├── CMakeLists.txt │ │ ├── CombinedCommandLine_TEST.cpp │ │ ├── FactoryTestMain.cpp │ │ └── PointReaderFromCommandLine_TEST.cpp ├── Core │ ├── Box.h │ ├── CMakeLists.txt │ ├── Conversions.h │ ├── FloatingPointComparison.h │ ├── GeometricMean.h │ ├── GeometricMedian.h │ ├── Geometry.h │ ├── GuardedBoostGeometryHeaders.h │ ├── Logging.cpp │ ├── Logging.h │ ├── MemoryUse.cpp │ ├── MemoryUse.h │ ├── PlatformDetect.h │ ├── PointArithmetic.h │ ├── PointBase.h │ ├── PointCartesian.h │ ├── PointLonLat.cpp │ ├── PointLonLat.h │ ├── PointTraits.h │ ├── PropertyConverter.cpp │ ├── PropertyConverter.h │ ├── PropertyMap.cpp │ ├── PropertyMap.h │ ├── PropertyValue.cpp │ ├── PropertyValue.h │ ├── Tests │ │ ├── CMakeLists.txt │ │ ├── test_base_point_serialization.cpp │ │ ├── test_convex_hull_area.cpp │ │ ├── test_convex_hull_aspect_ratio.cpp │ │ ├── test_convex_hull_perimeter.cpp │ │ ├── test_current_length.cpp │ │ ├── test_current_length_fraction.cpp │ │ ├── test_current_time_fraction.cpp │ │ ├── test_degenerate_convex_hull.cpp │ │ ├── test_distance.cpp │ │ ├── test_geometric_median.cpp │ │ ├── test_log_level.cpp │ │ ├── test_memory_use.cpp │ │ ├── test_point_arithmetic.cpp │ │ ├── test_point_at_fraction.cpp │ │ ├── test_point_cartesian.cpp │ │ ├── test_point_geometric_median.cpp │ │ ├── test_point_geometry_math.cpp │ │ ├── test_point_interpolation.cpp │ │ ├── test_point_lonlat.cpp │ │ ├── test_property_map.cpp │ │ ├── test_serialize_variant.cpp │ │ ├── test_simplify_linestring.cpp │ │ ├── test_timestamp_format.cpp │ │ ├── test_trajectory_id.cpp │ │ ├── test_trajectory_lonlat.cpp │ │ ├── test_trajectory_point_lonlat.cpp │ │ ├── test_trajectory_point_serialization.cpp │ │ ├── test_trajectory_radius_of_gyration.cpp │ │ ├── test_trajectory_serialization.cpp │ │ ├── test_trajectory_slicing.cpp │ │ ├── test_trajectory_subset.cpp │ │ └── test_trajectory_uuid.cpp │ ├── Timestamp.cpp │ ├── Timestamp.h │ ├── TimestampConverter.cpp │ ├── TimestampConverter.h │ ├── TracktableCommon.h │ ├── Trajectory.h │ ├── TrajectoryPoint.h │ ├── UUID.cpp │ ├── UUID.h │ ├── UnfortunateWorkarounds.h │ ├── WarningGuards │ │ ├── CommonBoostWarnings.h │ │ ├── DeprecatedDeclaration.h │ │ ├── PopWarningState.h │ │ ├── PragmaMessages.h │ │ ├── PushWarningState.h │ │ ├── ShadowedDeclaration.h │ │ ├── SizeTConversion.h │ │ └── UnusedTypedef.h │ └── detail │ │ ├── algorithm_signatures │ │ ├── Bearing.h │ │ ├── ConvexHull.h │ │ ├── Distance.h │ │ ├── EndToEndDistance.h │ │ ├── Extrapolate.h │ │ ├── Interpolate.h │ │ ├── Intersects.h │ │ ├── Length.h │ │ ├── LengthFractionAtPoint.h │ │ ├── PointAtFraction.h │ │ ├── PointAtTime.h │ │ ├── RadiusOfGyration.h │ │ ├── SimplifyLinestring.h │ │ ├── SpeedBetween.h │ │ ├── SphericalCoordinateAccess.h │ │ ├── SubsetDuringInterval.h │ │ ├── TimeAtFraction.h │ │ ├── TimeFractionAtPoint.h │ │ ├── TransferProperties.h │ │ └── TurnAngle.h │ │ ├── implementations │ │ ├── CentroidCartesian.h │ │ ├── ConvexHullAreaCartesian.h │ │ ├── ConvexHullAreaTerrestrial.h │ │ ├── ConvexHullAspectRatioCartesian.h │ │ ├── ConvexHullAspectRatioTerrestrial.h │ │ ├── ConvexHullCartesian.h │ │ ├── ConvexHullCentroidCartesian.h │ │ ├── ConvexHullCentroidTerrestrial.h │ │ ├── ConvexHullPerimeterCartesian.h │ │ ├── ConvexHullPerimeterTerrestrial.h │ │ ├── ConvexHullTerrestrial.h │ │ ├── GenericDistance.h │ │ ├── GreatCircleInterpolation.h │ │ ├── NorthPoleConvexHull.h │ │ ├── PointAtFraction.h │ │ ├── PointAtTime.h │ │ ├── ProjectedConvexHullTerrestrial.h │ │ ├── RadiusOfGyration.h │ │ ├── SphericalMath.h │ │ ├── SphericalPolygons.h │ │ ├── SubsetDuringInterval.h │ │ ├── TimeAtFraction.h │ │ ├── TrajectoryPointComparison.h │ │ └── TurnAngle.h │ │ ├── points │ │ ├── AlmostEqual.h │ │ ├── AssignCoordinates.h │ │ ├── CheckCoordinateEquality.h │ │ └── InterpolateCoordinates.h │ │ └── trait_signatures │ │ ├── Dimension.h │ │ ├── Domain.h │ │ ├── HasObjectId.h │ │ ├── HasProperties.h │ │ ├── HasTimestamp.h │ │ ├── ObjectId.h │ │ ├── PointDomainName.h │ │ ├── Tag.h │ │ ├── Timestamp.h │ │ └── UndecoratedPoint.h ├── DataGenerators │ ├── CMakeLists.txt │ ├── PointGenerator.h │ └── Tests │ │ ├── CMakeLists.txt │ │ └── PointGenerator_TEST.cpp ├── Domain │ ├── CMakeLists.txt │ ├── Cartesian2D.h │ ├── Cartesian3D.h │ ├── DomainMacros.h │ ├── FeatureVectors.h │ ├── PrintFunctions.cpp │ ├── Terrestrial.h │ └── Tests │ │ ├── CMakeLists.txt │ │ ├── test_base_point_terrestrial.cpp │ │ ├── test_domain_terrestrial.cpp │ │ ├── test_feature_vector_to_string.cpp │ │ ├── test_trajectory_point_terrestrial.cpp │ │ ├── test_trajectory_point_terrestrial_ECEF.cpp │ │ └── test_trajectory_terrestrial.cpp ├── Examples │ ├── Assemble │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── assemble.cpp │ ├── CMakeLists.txt │ ├── Classify │ │ ├── AssignHeadings.h │ │ ├── CMakeLists.txt │ │ ├── Main.cpp │ │ ├── Mapping.cpp │ │ ├── Mapping.h │ │ ├── README.md │ │ ├── TrackFilter.h │ │ └── map_list.txt │ ├── Cluster │ │ ├── CMakeLists.txt │ │ ├── Correlation.h │ │ ├── Main.cpp │ │ └── README.md │ ├── FilterTime │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── filter_by_time.cpp │ ├── FindId │ │ ├── CMakeLists.txt │ │ ├── Main.cpp │ │ ├── README.md │ │ └── mapping_ids.txt │ ├── Portal │ │ ├── CMakeLists.txt │ │ ├── Portal.cpp │ │ ├── Portal.h │ │ ├── PortalPair.cpp │ │ ├── PortalPair.h │ │ ├── README.md │ │ └── main.cpp │ ├── Predict │ │ ├── BuildFeatures.cpp │ │ ├── BuildFeatures.h │ │ ├── CMakeLists.txt │ │ ├── Main.cpp │ │ ├── Predict.cpp │ │ ├── Predict.h │ │ ├── PredictData.h │ │ └── README.md │ ├── Reduce │ │ ├── CMakeLists.txt │ │ ├── Main.cpp │ │ └── README.md │ ├── Sample_Project │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── main.cpp │ │ └── run-test.sh │ └── Serialization │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── serialize_trajectories.cpp ├── Python │ ├── CMakeLists.txt │ └── tracktable │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── __init__.py │ │ ├── _copy_notebooks.py │ │ ├── algorithms │ │ ├── __init__.py │ │ ├── boxiness.py │ │ ├── dbscan.py │ │ ├── distance_geometry.py │ │ └── tests │ │ │ ├── CMakeLists.txt │ │ │ ├── __init__.py │ │ │ ├── test_dbscan_clustering.py │ │ │ ├── test_distance_geometry_by_distance.py │ │ │ └── test_distance_geometry_by_time.py │ │ ├── analysis │ │ └── __init__.py │ │ ├── applications │ │ ├── __init__.py │ │ ├── anomaly_detection.py │ │ ├── assemble_trajectories.py │ │ ├── cluster.py │ │ ├── prediction.py │ │ ├── tests │ │ │ ├── CMakeLists.txt │ │ │ ├── __init__.py │ │ │ └── test_trajectory_assembly.py │ │ └── trajectory_splitter.py │ │ ├── core │ │ ├── __init__.py │ │ ├── conversions.py │ │ ├── core_types.py │ │ ├── geomath.py │ │ ├── log.py │ │ ├── misc.py │ │ ├── simple_timezone.py │ │ ├── test_utilities.py │ │ ├── tests │ │ │ ├── CMakeLists.txt │ │ │ ├── __init__.py │ │ │ ├── echo_args.py │ │ │ ├── parse_timestamp_no_time_zone.py │ │ │ ├── parse_timestamp_with_time_zone.py │ │ │ ├── test_compute_bounding_box.py │ │ │ ├── test_compute_bounding_box_after_pickle.py │ │ │ ├── test_convex_hull_area.py │ │ │ ├── test_convex_hull_aspect_ratio.py │ │ │ ├── test_convex_hull_centroid.py │ │ │ ├── test_convex_hull_perimeter.py │ │ │ ├── test_copy_example_notebooks.py │ │ │ ├── test_distance.py │ │ │ ├── test_kms_to_lon_lat.py │ │ │ ├── test_log_level.py │ │ │ ├── test_point_types.py │ │ │ ├── test_reader_timestamps.py │ │ │ ├── test_speed_between.py │ │ │ ├── test_terrestrial_ECEF.py │ │ │ ├── test_trajectory_radius_of_gyration.py │ │ │ ├── test_trajectory_types.py │ │ │ └── timestamp_conversion_python_cpp.py │ │ ├── testutils.py │ │ └── timestamp.py │ │ ├── data_generators │ │ ├── __init__.py │ │ ├── heatmap_point.py │ │ ├── point.py │ │ ├── tests │ │ │ ├── CMakeLists.txt │ │ │ ├── __init__.py │ │ │ └── test_trajectory.py │ │ └── trajectory.py │ │ ├── domain │ │ ├── __init__.py │ │ ├── cartesian2d.py │ │ ├── cartesian3d.py │ │ ├── feature_vectors.py │ │ ├── rtree.py │ │ ├── terrestrial.py │ │ └── tests │ │ │ ├── CMakeLists.txt │ │ │ ├── __init__.py │ │ │ ├── create_points_and_trajectories.py │ │ │ ├── import_everything.py │ │ │ ├── test_base_point_constructors.py │ │ │ ├── test_base_point_to_string.py │ │ │ ├── test_cartesian2d_base_point_writer.py │ │ │ ├── test_cartesian2d_make_bounding_box.py │ │ │ ├── test_cartesian2d_trajectory_point_writer.py │ │ │ ├── test_cartesian2d_trajectory_point_writer_fidelity.py │ │ │ ├── test_cartesian2d_trajectory_writer.py │ │ │ ├── test_cartesian2d_trajectory_writer_fidelity.py │ │ │ ├── test_cartesian3d_base_point_writer.py │ │ │ ├── test_cartesian3d_make_bounding_box.py │ │ │ ├── test_cartesian3d_trajectory_point_writer.py │ │ │ ├── test_cartesian3d_trajectory_point_writer_fidelity.py │ │ │ ├── test_cartesian3d_trajectory_writer.py │ │ │ ├── test_cartesian3d_trajectory_writer_fidelity.py │ │ │ ├── test_current_length.py │ │ │ ├── test_current_length_fraction.py │ │ │ ├── test_current_time_fraction.py │ │ │ ├── test_domain_names.py │ │ │ ├── test_feature_vector_to_string.py │ │ │ ├── test_geometric_median.py │ │ │ ├── test_no_flush_closed_stream.py │ │ │ ├── test_pickle_cartesian2d_base_point.py │ │ │ ├── test_pickle_cartesian2d_trajectory.py │ │ │ ├── test_pickle_cartesian2d_trajectory_point.py │ │ │ ├── test_pickle_cartesian3d_base_point.py │ │ │ ├── test_pickle_cartesian3d_trajectory.py │ │ │ ├── test_pickle_cartesian3d_trajectory_point.py │ │ │ ├── test_pickle_terrestrial_base_point.py │ │ │ ├── test_pickle_terrestrial_trajectory.py │ │ │ ├── test_pickle_terrestrial_trajectory_point.py │ │ │ ├── test_rtree_nearest_neighbors.py │ │ │ ├── test_rtree_points_in_box.py │ │ │ ├── test_simplify_trajectory.py │ │ │ ├── test_terrestrial_base_point_reader.py │ │ │ ├── test_terrestrial_base_point_writer.py │ │ │ ├── test_terrestrial_make_bounding_box.py │ │ │ ├── test_terrestrial_many_base_point_reader.py │ │ │ ├── test_terrestrial_many_trajectory_point_reader.py │ │ │ ├── test_terrestrial_trajectory_point_reader.py │ │ │ ├── test_terrestrial_trajectory_point_writer.py │ │ │ ├── test_terrestrial_trajectory_point_writer_fidelity.py │ │ │ ├── test_terrestrial_trajectory_writer.py │ │ │ ├── test_terrestrial_trajectory_writer_fidelity.py │ │ │ ├── test_trajectory_id.py │ │ │ └── test_trajectory_slicing.py │ │ ├── examples │ │ ├── CMakeLists.txt │ │ ├── Clustering_with_Distance_Geometry.py │ │ ├── Interactive_Trajectory_Rendering.py │ │ ├── Point_Reader.py │ │ ├── Static_Image_Trajectory_Rendering.py │ │ ├── Trajectory_Builder.py │ │ ├── Trajectory_Reader.py │ │ ├── __init__.py │ │ ├── analytic_demos │ │ │ ├── __init__.py │ │ │ └── demo_images │ │ │ │ ├── prediction_cartoon.png │ │ │ │ ├── prediction_cartoon_2.png │ │ │ │ ├── prediction_cartoon_3.png │ │ │ │ └── prediction_data.png │ │ ├── python_scripts │ │ │ ├── __init__.py │ │ │ ├── heatmap_from_points.py │ │ │ ├── movie_from_points.py │ │ │ ├── movie_from_trajectories.py │ │ │ ├── parallel_movie_from_points.py │ │ │ └── trajectory_map_from_points.py │ │ ├── response_files │ │ │ ├── heatmap_example.txt │ │ │ ├── movie_example.txt │ │ │ ├── parallel_movie_example.txt │ │ │ └── trajectory_map_example.txt │ │ └── tutorials │ │ │ ├── __init__.py │ │ │ └── tutorial_helper.py │ │ ├── feature │ │ ├── __init__.py │ │ ├── annotations.py │ │ ├── interleave_points.py │ │ └── interpolated_points.py │ │ ├── filter │ │ ├── __init__.py │ │ └── trajectory.py │ │ ├── info │ │ ├── __init__.py │ │ ├── airports.py │ │ ├── borders.py │ │ ├── cities.py │ │ ├── ports.py │ │ ├── rivers.py │ │ ├── shorelines.py │ │ ├── tests │ │ │ ├── CMakeLists.txt │ │ │ ├── test_borders.py │ │ │ ├── test_cities.py │ │ │ ├── test_ports.py │ │ │ ├── test_rivers.py │ │ │ └── test_shorelines.py │ │ └── timezones.py │ │ ├── lib │ │ └── __init__.py │ │ ├── render │ │ ├── __init__.py │ │ ├── backends │ │ │ ├── __init__.py │ │ │ ├── bokeh_backend.py │ │ │ ├── cartopy_backend.py │ │ │ ├── ffmpeg_backend.py │ │ │ ├── folium_backend.py │ │ │ ├── folium_proxy.py │ │ │ ├── ipyleaflet_backend.py │ │ │ └── patch_cartopy_download_url.py │ │ ├── map_decoration │ │ │ ├── __init__.py │ │ │ ├── clock.py │ │ │ ├── coloring.py │ │ │ ├── colormaps.py │ │ │ └── geographic_decoration.py │ │ ├── map_processing │ │ │ ├── __init__.py │ │ │ ├── common_processing.py │ │ │ ├── maps.py │ │ │ ├── movies.py │ │ │ ├── parallel_movies.py │ │ │ └── paths.py │ │ ├── mapmaker.py │ │ ├── render_heatmap.py │ │ ├── render_map.py │ │ ├── render_movie.py │ │ ├── render_trajectories.py │ │ └── tests │ │ │ ├── CMakeLists.txt │ │ │ ├── __init__.py │ │ │ ├── generate_ground_truth_for_render_trajectories.py │ │ │ ├── test_cartesian_histogram.py │ │ │ ├── test_climb_rate_color.py │ │ │ ├── test_digital_clock.py │ │ │ ├── test_folium_proxy_disabled.py │ │ │ ├── test_folium_proxy_import.py │ │ │ ├── test_folium_proxy_import_dotted_package.py │ │ │ ├── test_folium_proxy_import_fallback.py │ │ │ ├── test_geographic_histogram.py │ │ │ ├── test_geographic_histogram_existing_map.py │ │ │ ├── test_mapmaker_airport.py │ │ │ ├── test_mapmaker_city.py │ │ │ ├── test_mapmaker_conus.py │ │ │ ├── test_mapmaker_custom_bbox_float.py │ │ │ ├── test_mapmaker_custom_bbox_object.py │ │ │ ├── test_mapmaker_europe.py │ │ │ ├── test_mapmaker_north_america.py │ │ │ ├── test_mapmaker_port.py │ │ │ └── test_render_trajectories.py │ │ ├── rw │ │ ├── __init__.py │ │ ├── load.py │ │ ├── point.py │ │ ├── read_write_dictionary.py │ │ ├── read_write_json.py │ │ └── tests │ │ │ ├── CMakeLists.txt │ │ │ ├── test_load.py │ │ │ ├── test_read_write_dictionary.py │ │ │ ├── test_read_write_json.py │ │ │ └── test_utf8_load.py │ │ └── script_helpers │ │ ├── __init__.py │ │ ├── argparse.py │ │ └── argument_groups │ │ ├── __init__.py │ │ ├── dt_point_loader.py │ │ ├── image.py │ │ ├── mapmaker.py │ │ ├── movie_rendering.py │ │ ├── parallel.py │ │ ├── trajectory_assembly.py │ │ ├── trajectory_reader.py │ │ ├── trajectory_rendering.py │ │ └── utilities.py ├── PythonWrapping │ ├── BasePointToString.h │ ├── BoostLibs.cpp │ ├── CMakeLists.txt │ ├── CPythonModule.c │ ├── Cartesian2DDomainModule.cpp │ ├── Cartesian3DDomainModule.cpp │ ├── CommonMapWrappers.cpp │ ├── CommonMapWrappers.h │ ├── CorePythonModule.cpp │ ├── DBSCANClusteringPythonModule.cpp │ ├── DateTimeWrapper.cpp │ ├── DateTimeWrapper.h │ ├── DistanceGeometryModule.cpp │ ├── DocStrings │ │ ├── GenericBasePointDocs.h │ │ ├── GenericBasePointReaderDocs.h │ │ ├── GenericBasePointWriterDocs.h │ │ ├── GenericBoundingBoxDocs.h │ │ ├── GenericTrajectoryDocs.h │ │ ├── GenericTrajectoryPointDocs.h │ │ ├── GenericTrajectoryPointReaderDocs.h │ │ ├── GenericTrajectoryPointWriterDocs.h │ │ ├── GenericTrajectoryReaderDocs.h │ │ └── GenericTrajectoryWriterDocs.h │ ├── DomainAlgorithmOverloadsPythonModule.cpp │ ├── DomainWrapperTemplates.h │ ├── ExplicitInstantiation │ │ ├── DBSCAN_Common.h │ │ ├── DBSCAN_Wrapper_10_12.cpp │ │ ├── DBSCAN_Wrapper_13_15.cpp │ │ ├── DBSCAN_Wrapper_16_18.cpp │ │ ├── DBSCAN_Wrapper_19_21.cpp │ │ ├── DBSCAN_Wrapper_1_3.cpp │ │ ├── DBSCAN_Wrapper_22_24.cpp │ │ ├── DBSCAN_Wrapper_25_27.cpp │ │ ├── DBSCAN_Wrapper_28_30.cpp │ │ ├── DBSCAN_Wrapper_4_6.cpp │ │ ├── DBSCAN_Wrapper_7_9.cpp │ │ ├── DBSCAN_Wrapper_Extra.cpp │ │ ├── DBSCAN_Wrapper_Extra_Helper.h │ │ ├── FeatureVectorWrapperCommon.h │ │ ├── FeatureVectorWrapper_11_15.cpp │ │ ├── FeatureVectorWrapper_16_20.cpp │ │ ├── FeatureVectorWrapper_1_5.cpp │ │ ├── FeatureVectorWrapper_21_25.cpp │ │ ├── FeatureVectorWrapper_26_30.cpp │ │ ├── FeatureVectorWrapper_6_10.cpp │ │ ├── FeatureVectorWrapper_Extra.cpp │ │ ├── FeatureVectorWrapper_Extra_Helper.h │ │ ├── RTree_Common.h │ │ ├── RTree_Wrapper_10_12.cpp │ │ ├── RTree_Wrapper_13_15.cpp │ │ ├── RTree_Wrapper_16_18.cpp │ │ ├── RTree_Wrapper_19_21.cpp │ │ ├── RTree_Wrapper_1_3.cpp │ │ ├── RTree_Wrapper_22_24.cpp │ │ ├── RTree_Wrapper_25_27.cpp │ │ ├── RTree_Wrapper_28_30.cpp │ │ ├── RTree_Wrapper_4_6.cpp │ │ ├── RTree_Wrapper_7_9.cpp │ │ ├── RTree_Wrapper_Extra.cpp │ │ └── RTree_Wrapper_Extra_Helper.h │ ├── FeatureVectorModule.cpp │ ├── FloatVectorWrapper.cpp │ ├── FloatVectorWrapper.h │ ├── GenericSerializablePickleSuite.h │ ├── GuardedBoostPythonHeaders.h │ ├── GuardedBoostStreamHeaders.h │ ├── HelloWorldPythonModule.cpp │ ├── LoggingModule.cpp │ ├── PairToTupleWrapper.cpp │ ├── PairToTupleWrapper.h │ ├── PointPythonModule.cpp │ ├── PropertyMapWrapper.cpp │ ├── PropertyMapWrapper.h │ ├── PythonAwarePointReader.h │ ├── PythonAwareTrajectoryReader.h │ ├── PythonFileLikeObjectStreams.h │ ├── PythonTypedObjectWriter.h │ ├── PythonWrappingParameters.h.in │ ├── RTreePythonModule.cpp │ ├── RTreePythonWrapper.h │ ├── TerrestrialDomainModule.cpp │ ├── TracktablePythonModule.cpp │ ├── TrajectoryIndexingSuite.h │ ├── TrajectoryPointWrappers.h │ ├── TrajectoryWrappers.h │ └── TrivialFileReader.h ├── README.md ├── RW │ ├── CMakeLists.txt │ ├── GenericReader.h │ ├── KmlOut.cpp │ ├── KmlOut.h │ ├── LineReader.h │ ├── ParseExceptions.h │ ├── PointFromTokensReader.h │ ├── PointReader.h │ ├── PointWriter.h │ ├── SkipCommentsReader.h │ ├── StringTokenizingReader.h │ ├── Tests │ │ ├── CMakeLists.txt │ │ ├── test_comment_reader.cpp │ │ ├── test_generic_reader.cpp │ │ ├── test_integrated_point_reader_cart5.cpp │ │ ├── test_integrated_point_reader_traj_lonlat.cpp │ │ ├── test_kml.cpp │ │ ├── test_line_reader.cpp │ │ ├── test_point_fields.cpp │ │ ├── test_point_from_tokens_reader.cpp │ │ ├── test_point_reader_autoconfig_base_point.cpp │ │ ├── test_point_reader_autoconfig_trajectory_point.cpp │ │ ├── test_point_writer_base_point.cpp │ │ ├── test_point_writer_trajectory_point.cpp │ │ ├── test_reader_skip_headers.cpp │ │ ├── test_reader_timestamp_formats.cpp │ │ ├── test_tokenizing_reader.cpp │ │ ├── test_trajectory_point_reader.cpp │ │ ├── test_trajectory_point_reader_default.cpp │ │ ├── test_trajectory_reader.cpp │ │ └── test_trajectory_writer.cpp │ ├── TokenWriter.h │ ├── TrajectoryReader.h │ ├── TrajectoryWriter.h │ └── detail │ │ ├── CountProperties.h │ │ ├── HeaderStrings.h │ │ ├── PointHeader.h │ │ ├── PointReaderDefaultConfiguration.h │ │ ├── PropertyMapReadWrite.h │ │ ├── SetProperties.h │ │ ├── TrajectoryHeader.h │ │ ├── WriteObjectId.h │ │ └── WriteTimestamp.h └── ThirdParty │ ├── CMakeLists.txt │ ├── CatchMain.cpp │ ├── TracktableCatch2.h │ └── catch2.hpp ├── tracktable_dev_environment.yml ├── tracktable_environment.yml ├── tracktable_runtime_environment.yml └── version.txt /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.pyc 3 | *.pyd 4 | *.so 5 | Documentation/readthedocs_build/doxygen 6 | Documentation/examples/tmp_my_tracks.html 7 | Documentation/examples/tmp_my_tracks.png 8 | Documentation/examples/trajs* 9 | Documentation/examples/myfig*.* 10 | Documentation/examples/demo_images/ 11 | .ipnyb_checkpoints 12 | *-checkpoint.ipynb 13 | __pycache__ 14 | *.project 15 | *.pydevproject 16 | /build/ 17 | /.vscode/ 18 | /_build/ 19 | /doxygen/ 20 | /build_ubuntu2004/ 21 | /build_macos/ 22 | tracktable/Python/tracktable/examples/analytic_demos/demo_images 23 | tracktable/Python/tracktable/examples/analytic_demos/*.ipynb 24 | tracktable/Python/tracktable/examples/tutorials/*.ipynb 25 | Documentation/examples/demo_images/ 26 | .mypy_cache 27 | sandbox.* 28 | scratchpad.* 29 | *.mp4 30 | -------------------------------------------------------------------------------- /.gitlab-ci-coverage.yml: -------------------------------------------------------------------------------- 1 | ############################################################ 2 | # Code Coverage pipeline: uses ubuntu Focal Fossa 3 | ############################################################ 4 | coverage-setup: 5 | image: cee-gitlab.sandia.gov:4567/trajectory/tracktable/ubuntu:FocalFossa 6 | stage: setup 7 | only: 8 | variables: 9 | - $DO_COVERAGE == "true" 10 | tags: 11 | - ubuntu 12 | - docker 13 | script: 14 | - mkdir build_coverage 15 | artifacts: 16 | paths: 17 | - build_coverage 18 | expire_in: 2 hours 19 | 20 | coverage-configure: 21 | image: cee-gitlab.sandia.gov:4567/trajectory/tracktable/ubuntu:FocalFossa 22 | stage: configure 23 | only: 24 | variables: 25 | - $DO_COVERAGE == "true" 26 | tags: 27 | - ubuntu 28 | - docker 29 | dependencies: 30 | - coverage-setup 31 | script: 32 | - apt-get update 33 | - apt-get -y install lcov 34 | - cd build_coverage 35 | - cmake -DCMAKE_BUILD_TYPE=Coverage .. 36 | artifacts: 37 | paths: 38 | - build_coverage 39 | expire_in: 2 hours 40 | 41 | coverage-build: 42 | image: cee-gitlab.sandia.gov:4567/trajectory/tracktable/ubuntu:FocalFossa 43 | stage: build 44 | only: 45 | variables: 46 | - $DO_COVERAGE == "true" 47 | tags: 48 | - ubuntu 49 | - docker 50 | dependencies: 51 | - coverage-configure 52 | script: 53 | - apt-get update 54 | - apt-get -y install lcov 55 | - cd build_coverage 56 | - make 57 | - make cov_init 58 | - ctest --output-on-failure --exclude-regex 'C_MemoryUse|C_GREAT_CIRCLE_FIT|P_Render_Trajectories|C_TrajectoryAssemblyDomain' 59 | - make cov_capture 60 | - make cov_genhtml 61 | artifacts: 62 | paths: 63 | - build_coverage 64 | expire_in: 1 week 65 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | stages: 2 | - code analysis 3 | - setup 4 | - configure 5 | - build 6 | - test 7 | - deploy 8 | 9 | variables: 10 | # This is a regular expression that identifies tests that CTest 11 | # should skip. We use this for problematic tests that fail for 12 | # reasons unrelated to problems with the code -- that is, tests 13 | # that themselves are buggy. 14 | EXCLUDED_TESTS: "C_MemoryUse|C_GREAT_CIRCLE_FIT|P_Render_Trajectories|P_Mapmaker_CONUS|P_Mapmaker_Custom_Bounding_Box_Object|P_Mapmaker_Custom_Bounding_Box_Floats|P_Mapmaker_Europe" 15 | GIT_SUBMODULE_STRATEGY: recursive 16 | 17 | include: 18 | - '.gitlab-ci-code_analysis.yml' 19 | - '.gitlab-ci-windows.yml' 20 | - '.gitlab-ci-macos.yml' 21 | - '.gitlab-ci-linux.yml' 22 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "tracktable-data"] 2 | path = tracktable-data 3 | url = ../tracktable-data.git 4 | [submodule "tracktable-docs"] 5 | path = tracktable-docs 6 | url = ../tracktable-docs.git 7 | -------------------------------------------------------------------------------- /.pypirc: -------------------------------------------------------------------------------- 1 | [distutils] 2 | index-servers = 3 | gitlab 4 | 5 | [gitlab] 6 | repository = https://gitlab.example.com/api/v4/projects/${env.CI_PROJECT_ID}/packages/pypi 7 | username = gitlab-ci-token 8 | password = ${env.CI_JOB_TOKEN} 9 | -------------------------------------------------------------------------------- /.readthedocs.yml: -------------------------------------------------------------------------------- 1 | # Configuration file for building documentation on readthedocs.org 2 | 3 | # Ordinarily, Tracktable expects all of its build configuration to be 4 | # done by CMake, including the hassle of filling out paths that are 5 | # only known at runtime. 6 | # 7 | # ReadTheDocs doesn't use CMake. (Thank goodness.) It wants to be 8 | # able to build straight from a newly cloned repository whenever 9 | # possible using settings common to most pure-Python projects. 10 | # 11 | # This file contains configuration options to reach a happy medium. 12 | # 13 | # See https://docs.readthedocs.io/en/stable/config-file/v2.html for 14 | # details. 15 | 16 | # Required tag 17 | version: 2 18 | 19 | # Build documentation in the Documentation/ directory using Sphinx. 20 | sphinx: 21 | fail_on_warning: false 22 | configuration: tracktable-docs/Documentation/conf.py 23 | 24 | # Eventually we will also build docs as PDF and ePub. 25 | # formats: all 26 | 27 | # This OS version 28 | build: 29 | os: ubuntu-22.04 30 | # This Conda environment (per the Read The Docs documentation, URL below) 31 | # uses libmamba to handle conda install requests. That should be much, 32 | # much faster than the old version. 33 | tools: 34 | python: "mambaforge-22.9" 35 | jobs: 36 | post_checkout: 37 | # Notebooks are stored pre-rendered in Git LFS. This isn't installed 38 | # by default on RTD so we need to grab it. 39 | - git lfs install 40 | - git lfs fetch 41 | - git lfs checkout 42 | 43 | 44 | # The Anaconda environment to build the docs 45 | conda: 46 | environment: documentation_build_environment.yml 47 | 48 | submodules: 49 | include: 50 | - tracktable-docs 51 | recursive: true -------------------------------------------------------------------------------- /CMake/Modules/FindPackageMessage.cmake: -------------------------------------------------------------------------------- 1 | # Distributed under the OSI-approved BSD 3-Clause License. See accompanying 2 | # file Copyright.txt or https://cmake.org/licensing for details. 3 | 4 | #[=======================================================================[.rst: 5 | FindPackageMessage 6 | ------------------ 7 | 8 | .. code-block:: cmake 9 | 10 | find_package_message( "message for user" "find result details") 11 | 12 | This function is intended to be used in FindXXX.cmake modules files. 13 | It will print a message once for each unique find result. This is 14 | useful for telling the user where a package was found. The first 15 | argument specifies the name (XXX) of the package. The second argument 16 | specifies the message to display. The third argument lists details 17 | about the find result so that if they change the message will be 18 | displayed again. The macro also obeys the QUIET argument to the 19 | find_package command. 20 | 21 | Example: 22 | 23 | .. code-block:: cmake 24 | 25 | if(X11_FOUND) 26 | find_package_message(X11 "Found X11: ${X11_X11_LIB}" 27 | "[${X11_X11_LIB}][${X11_INCLUDE_DIR}]") 28 | else() 29 | ... 30 | endif() 31 | #]=======================================================================] 32 | 33 | function(find_package_message pkg msg details) 34 | # Avoid printing a message repeatedly for the same find result. 35 | if(NOT ${pkg}_FIND_QUIETLY) 36 | string(REPLACE "\n" "" details "${details}") 37 | set(DETAILS_VAR FIND_PACKAGE_MESSAGE_DETAILS_${pkg}) 38 | if(NOT "${details}" STREQUAL "${${DETAILS_VAR}}") 39 | # The message has not yet been printed. 40 | message(STATUS "${msg}") 41 | 42 | # Save the find details in the cache to avoid printing the same 43 | # message again. 44 | set("${DETAILS_VAR}" "${details}" 45 | CACHE INTERNAL "Details about finding ${pkg}") 46 | endif() 47 | endif() 48 | endfunction() 49 | 50 | -------------------------------------------------------------------------------- /CMake/Modules/check_banner_for_anaconda.py: -------------------------------------------------------------------------------- 1 | from __future__ import print_function 2 | import subprocess 3 | import sys 4 | 5 | def to_bytes(my_string): 6 | if sys.version_info.major == 2: 7 | return my_string 8 | elif sys.version_info.major == 3: 9 | return bytes(my_string.encode()) 10 | else: 11 | raise RuntimeError("What version of Python is this?") 12 | 13 | def capture_banner(executable): 14 | p = subprocess.Popen([executable, '-i'], 15 | stdout=subprocess.PIPE, 16 | stdin=subprocess.PIPE, 17 | stderr=subprocess.STDOUT) 18 | 19 | p.stdin.write(to_bytes('exit()')) 20 | p.stdin.flush() 21 | 22 | raw_output = p.communicate()[0] 23 | 24 | return str(raw_output) 25 | 26 | 27 | def main(): 28 | if len(sys.argv) != 2: 29 | print("usage: {} python_executable".format(sys.argv[0]), 30 | file=sys.stderr) 31 | return 1 32 | 33 | banner_message = capture_banner(sys.argv[1]) 34 | if 'conda' in banner_message: 35 | return 0 36 | else: 37 | return 1 38 | 39 | if __name__ == '__main__': 40 | sys.exit(main()) 41 | 42 | -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.analysis.GreatCircleFit.rst: -------------------------------------------------------------------------------- 1 | ===================== 2 | GreatFitCircle Module 3 | ===================== 4 | 5 | 6 | --------------- 7 | Module contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::great_circle_fit_and_project_in_place 11 | .. doxygenfunction:: tracktable::great_circle_fit_and_project 12 | .. doxygenfunction:: tracktable::find_best_fit_plane 13 | .. doxygenfunction:: tracktable::project_trajectory_onto_plane 14 | -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.Bearing.rst: -------------------------------------------------------------------------------- 1 | ============== 2 | Bearing Module 3 | ============== 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::bearing -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.ConvexHull.rst: -------------------------------------------------------------------------------- 1 | ================= 2 | ConvexHull Module 3 | ================= 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::convex_hull_aspect_ratio 11 | .. doxygenfunction:: tracktable::convex_hull_perimeter 12 | .. doxygenfunction:: tracktable::convex_hull_area 13 | .. doxygenfunction:: tracktable::convex_hull_centroid -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.Distance.rst: -------------------------------------------------------------------------------- 1 | =============== 2 | Distance Module 3 | =============== 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::distance -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.EndToEndDistance.rst: -------------------------------------------------------------------------------- 1 | =============== 2 | EndToEnd Module 3 | =============== 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::end_to_end_distance -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.Extrapolate.rst: -------------------------------------------------------------------------------- 1 | ================== 2 | Extrapolate Module 3 | ================== 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenstruct:: tracktable::algorithms::extrapolate 11 | :members: 12 | :protected-members: 13 | :private-members: 14 | :undoc-members: 15 | .. doxygenstruct:: tracktable::algorithms::extrapolate_linear 16 | :members: 17 | :protected-members: 18 | :private-members: 19 | :undoc-members: 20 | .. doxygenfunction:: tracktable::extrapolate -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.Interpolate.rst: -------------------------------------------------------------------------------- 1 | ================== 2 | Interpolate Module 3 | ================== 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenstruct:: tracktable::algorithms::interpolate 11 | :members: 12 | :protected-members: 13 | :private-members: 14 | :undoc-members: 15 | .. doxygenstruct:: tracktable::algorithms::interpolate_nearest_neighbor 16 | :members: 17 | :protected-members: 18 | :private-members: 19 | :undoc-members: 20 | .. doxygenstruct:: tracktable::algorithms::interpolate_linear 21 | :members: 22 | :protected-members: 23 | :private-members: 24 | :undoc-members: 25 | .. doxygenfunction:: tracktable::interpolate -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.Intersects.rst: -------------------------------------------------------------------------------- 1 | ================= 2 | Intersects Module 3 | ================= 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::intersects -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.Length.rst: -------------------------------------------------------------------------------- 1 | ============= 2 | Length Module 3 | ============= 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::length 11 | .. doxygenfunction:: tracktable::current_length -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.LengthFractionAtPoint.rst: -------------------------------------------------------------------------------- 1 | ============================ 2 | LengthFractionAtPoint Module 3 | ============================ 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::current_length_fraction -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.PointAtFraction.rst: -------------------------------------------------------------------------------- 1 | ====================== 2 | PointAtFraction Module 3 | ====================== 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::point_at_time_fraction 11 | .. doxygenfunction:: tracktable::point_at_length_fraction -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.PointAtTime.rst: -------------------------------------------------------------------------------- 1 | ================== 2 | PointAtTime Module 3 | ================== 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::point_at_time -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.RadiusOfGyration.rst: -------------------------------------------------------------------------------- 1 | ======================= 2 | RadiusOfGyration Module 3 | ======================= 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::radius_of_gyration -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.SpeedBetween.rst: -------------------------------------------------------------------------------- 1 | =================== 2 | SpeedBetween Module 3 | =================== 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::speed_between -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.SphericalCoordinateAccess.rst: -------------------------------------------------------------------------------- 1 | ================================ 2 | SphericalCoordinateAccess Module 3 | ================================ 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::longitude_as_degrees 11 | .. doxygenfunction:: tracktable::longitude_as_radians 12 | .. doxygenfunction:: tracktable::latitude_as_degrees 13 | .. doxygenfunction:: tracktable::latitude_as_radians 14 | .. doxygenfunction:: tracktable::set_longitude_from_degrees 15 | .. doxygenfunction:: tracktable::set_longitude_from_radians 16 | .. doxygenfunction:: tracktable::set_latitude_from_degrees 17 | .. doxygenfunction:: tracktable::set_latitude_from_radians -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.SubsetDuringInterval.rst: -------------------------------------------------------------------------------- 1 | =========================== 2 | SubsetDuringInterval Module 3 | =========================== 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::subset_during_interval -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.TimeAtFraction.rst: -------------------------------------------------------------------------------- 1 | ===================== 2 | TimeAtFraction Module 3 | ===================== 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::time_at_fraction -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.TimeAtFractionAtPoint.rst: -------------------------------------------------------------------------------- 1 | ============================ 2 | TimeAtFractionAtPoint Module 3 | ============================ 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::current_time_fraction -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.TransferProperties.rst: -------------------------------------------------------------------------------- 1 | ========================= 2 | TransferProperties Module 3 | ========================= 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenstruct:: tracktable::algorithms::transfer_properties 11 | :members: 12 | :protected-members: 13 | :private-members: 14 | :undoc-members: -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.core.detail.TurnAngle.rst: -------------------------------------------------------------------------------- 1 | ================ 2 | TurnAngle Module 3 | ================ 4 | 5 | 6 | --------------- 7 | Module Contents 8 | --------------- 9 | 10 | .. doxygenfunction:: tracktable::signed_turn_angle 11 | .. doxygenfunction:: tracktable::unsigned_turn_angle -------------------------------------------------------------------------------- /Documentation/api/cpp/tracktable.rw.KmlOut.rst: -------------------------------------------------------------------------------- 1 | ============= 2 | KmlOut module 3 | ============= 4 | 5 | 6 | --------------- 7 | Module contents 8 | --------------- 9 | 10 | .. doxygenclass:: tracktable::kml 11 | :members: 12 | :protected-members: 13 | :undoc-members: 14 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.algorithms.boxiness.rst: -------------------------------------------------------------------------------- 1 | ===================================== 2 | tracktable.algorithms.boxiness module 3 | ===================================== 4 | 5 | 6 | --------------- 7 | Module contents 8 | --------------- 9 | 10 | .. automodule:: tracktable.algorithms.boxiness 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.algorithms.rst: -------------------------------------------------------------------------------- 1 | ============================ 2 | tracktable.algorithms module 3 | ============================ 4 | 5 | ---------- 6 | Submodules 7 | ---------- 8 | 9 | 10 | .. toctree:: 11 | :maxdepth: 2 12 | 13 | tracktable.algorithms.boxiness.rst 14 | tracktable.algorithms.dbscan.rst 15 | tracktable.algorithms.distance_geometry.rst 16 | 17 | 18 | --------------- 19 | Module contents 20 | --------------- 21 | 22 | .. automodule:: tracktable.algorithms 23 | :members: 24 | :undoc-members: 25 | :show-inheritance: 26 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.applications.assemble_trajectories.rst: -------------------------------------------------------------------------------- 1 | ==================================================== 2 | tracktable.applications.assemble_trajectories module 3 | ==================================================== 4 | 5 | 6 | --------------- 7 | Module contents 8 | --------------- 9 | 10 | .. automodule:: tracktable.applications.assemble_trajectories 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.applications.cluster.rst: -------------------------------------------------------------------------------- 1 | ====================================== 2 | tracktable.applications.cluster module 3 | ====================================== 4 | 5 | 6 | --------------- 7 | Module contents 8 | --------------- 9 | 10 | .. automodule:: tracktable.applications.cluster 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.applications.prediction.rst: -------------------------------------------------------------------------------- 1 | ========================================= 2 | tracktable.applications.prediction module 3 | ========================================= 4 | 5 | 6 | --------------- 7 | Module contents 8 | --------------- 9 | 10 | .. automodule:: tracktable.applications.prediction 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.applications.rst: -------------------------------------------------------------------------------- 1 | ============================== 2 | tracktable.applications module 3 | ============================== 4 | 5 | ---------- 6 | Submodules 7 | ---------- 8 | 9 | 10 | .. toctree:: 11 | :maxdepth: 2 12 | 13 | tracktable.applications.anomaly_detection.rst 14 | tracktable.applications.assemble_trajectories.rst 15 | tracktable.applications.cluster.rst 16 | tracktable.applications.prediction.rst 17 | tracktable.applications.trajectory_splitter.rst 18 | 19 | 20 | --------------- 21 | Module contents 22 | --------------- 23 | 24 | .. automodule:: tracktable.applications 25 | :members: 26 | :undoc-members: 27 | :show-inheritance: 28 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.applications.trajectory_splitter.rst: -------------------------------------------------------------------------------- 1 | ================================================== 2 | tracktable.applications.trajectory_splitter module 3 | ================================================== 4 | 5 | 6 | --------------- 7 | Module contents 8 | --------------- 9 | 10 | .. automodule:: tracktable.applications.trajectory_splitter 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.render.backends.bokeh_backend.rst: -------------------------------------------------------------------------------- 1 | =============================================== 2 | tracktable.render.backends.bokeh_backend module 3 | =============================================== 4 | 5 | .. note:: This module is used by ``render_trajectories`` and ``render_heatmap`` and shouldn't be accessed directly. 6 | 7 | --------------- 8 | Module contents 9 | --------------- 10 | 11 | .. automodule:: tracktable.render.backends.bokeh_backend 12 | :members: 13 | :undoc-members: 14 | :show-inheritance: 15 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.render.backends.cartopy_backend.rst: -------------------------------------------------------------------------------- 1 | ================================================= 2 | tracktable.render.backends.cartopy_backend module 3 | ================================================= 4 | 5 | .. note:: This module is used by ``render_trajectories`` and ``render_heatmap`` and shouldn't be accessed directly. 6 | 7 | --------------- 8 | Module contents 9 | --------------- 10 | 11 | .. automodule:: tracktable.render.backends.cartopy_backend 12 | :members: 13 | :undoc-members: 14 | :show-inheritance: 15 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.render.backends.folium_backend.rst: -------------------------------------------------------------------------------- 1 | ================================================ 2 | tracktable.render.backends.folium_backend module 3 | ================================================ 4 | 5 | .. note:: This module is used by ``render_trajectories`` and ``render_heatmap`` and shouldn't be accessed directly. 6 | 7 | --------------- 8 | Module contents 9 | --------------- 10 | 11 | .. automodule:: tracktable.render.backends.folium_backend 12 | :members: 13 | :undoc-members: 14 | :show-inheritance: 15 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.render.backends.ipyleaflet_backend.rst: -------------------------------------------------------------------------------- 1 | ==================================================== 2 | tracktable.render.backends.ipyleaflet_backend module 3 | ==================================================== 4 | 5 | .. note:: This module is used by ``render_trajectories`` and ``render_heatmap`` and shouldn't be accessed directly. 6 | 7 | --------------- 8 | Module contents 9 | --------------- 10 | 11 | .. automodule:: tracktable.render.backends.ipyleaflet_backend 12 | :members: 13 | :undoc-members: 14 | :show-inheritance: 15 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.render.map_decoration.coloring.rst: -------------------------------------------------------------------------------- 1 | ================================================ 2 | tracktable.render.map_decoration.coloring module 3 | ================================================ 4 | 5 | 6 | --------------- 7 | Module contents 8 | --------------- 9 | 10 | .. automodule:: tracktable.render.map_decoration.coloring 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.render.map_decoration.colormaps.rst: -------------------------------------------------------------------------------- 1 | ================================================= 2 | tracktable.render.map_decoration.colormaps module 3 | ================================================= 4 | 5 | 6 | --------------- 7 | Module contents 8 | --------------- 9 | 10 | .. automodule:: tracktable.render.map_decoration.colormaps 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.render.map_decoration.geographic_decoration.rst: -------------------------------------------------------------------------------- 1 | ============================================================= 2 | tracktable.render.map_decoration.geographic_decoration module 3 | ============================================================= 4 | 5 | 6 | --------------- 7 | Module contents 8 | --------------- 9 | 10 | .. automodule:: tracktable.render.map_decoration.geographic_decoration 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.render.map_processing.common_processing.rst: -------------------------------------------------------------------------------- 1 | ========================================================= 2 | tracktable.render.map_processing.common_processing module 3 | ========================================================= 4 | 5 | 6 | --------------- 7 | Module contents 8 | --------------- 9 | 10 | .. automodule:: tracktable.render.map_processing.common_processing 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.render.map_processing.maps.rst: -------------------------------------------------------------------------------- 1 | ============================================ 2 | tracktable.render.map_processing.maps module 3 | ============================================ 4 | 5 | 6 | --------------- 7 | Module contents 8 | --------------- 9 | 10 | .. automodule:: tracktable.render.map_processing.maps 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.render.map_processing.paths.rst: -------------------------------------------------------------------------------- 1 | ============================================= 2 | tracktable.render.map_processing.paths module 3 | ============================================= 4 | 5 | 6 | --------------- 7 | Module contents 8 | --------------- 9 | 10 | .. automodule:: tracktable.render.map_processing.paths 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | -------------------------------------------------------------------------------- /Documentation/api/python/tracktable.render.render_heatmap.rst: -------------------------------------------------------------------------------- 1 | ======================================== 2 | tracktable.render.render_heatmap module 3 | ======================================== 4 | 5 | 6 | --------------- 7 | Module contents 8 | --------------- 9 | 10 | .. automodule:: tracktable.render.render_heatmap 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | -------------------------------------------------------------------------------- /Documentation/examples/Demo_01.nblink: -------------------------------------------------------------------------------- 1 | { 2 | "path": "../../tracktable/Python/tracktable/examples/analytic_demos/Demo_01.ipynb" 3 | } -------------------------------------------------------------------------------- /Documentation/examples/Demo_02.nblink: -------------------------------------------------------------------------------- 1 | { 2 | "path": "../../tracktable/Python/tracktable/examples/analytic_demos/Demo_02.ipynb" 3 | } -------------------------------------------------------------------------------- /Documentation/examples/Demo_03.nblink: -------------------------------------------------------------------------------- 1 | { 2 | "path": "../../tracktable/Python/tracktable/examples/analytic_demos/Demo_03.ipynb", 3 | "extra-media": [ 4 | "../../tracktable/Python/tracktable/examples/analytic_demos/demo_images" 5 | ] 6 | } -------------------------------------------------------------------------------- /Documentation/examples/Demo_04.nblink: -------------------------------------------------------------------------------- 1 | { 2 | "path": "../../tracktable/Python/tracktable/examples/analytic_demos/Demo_04.ipynb" 3 | } -------------------------------------------------------------------------------- /Documentation/examples/Demo_05.nblink: -------------------------------------------------------------------------------- 1 | { 2 | "path": "../../tracktable/Python/tracktable/examples/analytic_demos/Demo_05.ipynb" 3 | } -------------------------------------------------------------------------------- /Documentation/examples/Tutorial_01.nblink: -------------------------------------------------------------------------------- 1 | { 2 | "path": "../../tracktable/Python/tracktable/examples/tutorials/Tutorial_01.ipynb" 3 | } -------------------------------------------------------------------------------- /Documentation/examples/Tutorial_02.nblink: -------------------------------------------------------------------------------- 1 | { 2 | "path": "../../tracktable/Python/tracktable/examples/tutorials/Tutorial_02.ipynb" 3 | } -------------------------------------------------------------------------------- /Documentation/examples/Tutorial_03.nblink: -------------------------------------------------------------------------------- 1 | { 2 | "path": "../../tracktable/Python/tracktable/examples/tutorials/Tutorial_03.ipynb" 3 | } -------------------------------------------------------------------------------- /Documentation/examples/Tutorial_04.nblink: -------------------------------------------------------------------------------- 1 | { 2 | "path": "../../tracktable/Python/tracktable/examples/tutorials/Tutorial_04.ipynb" 3 | } -------------------------------------------------------------------------------- /Documentation/examples/Tutorial_05A.nblink: -------------------------------------------------------------------------------- 1 | { 2 | "path": "../../tracktable/Python/tracktable/examples/tutorials/Tutorial_05A.ipynb" 3 | } -------------------------------------------------------------------------------- /Documentation/examples/Tutorial_05B.nblink: -------------------------------------------------------------------------------- 1 | { 2 | "path": "../../tracktable/Python/tracktable/examples/tutorials/Tutorial_05B.ipynb" 3 | } -------------------------------------------------------------------------------- /Documentation/examples/Tutorial_05C.nblink: -------------------------------------------------------------------------------- 1 | { 2 | "path": "../../tracktable/Python/tracktable/examples/tutorials/Tutorial_05C.ipynb" 3 | } -------------------------------------------------------------------------------- /Documentation/examples/Tutorial_05D.nblink: -------------------------------------------------------------------------------- 1 | { 2 | "path": "../../tracktable/Python/tracktable/examples/tutorials/Tutorial_05D.ipynb" 3 | } -------------------------------------------------------------------------------- /Documentation/examples/Tutorial_06.nblink: -------------------------------------------------------------------------------- 1 | { 2 | "path": "../../tracktable/Python/tracktable/examples/tutorials/Tutorial_06.ipynb" 3 | } -------------------------------------------------------------------------------- /Documentation/examples/c++/source/assemble.rst: -------------------------------------------------------------------------------- 1 | ============================= 2 | Assemble Example Source Files 3 | ============================= 4 | 5 | assemble.cpp 6 | ------------ 7 | 8 | .. literalinclude:: ../../../../tracktable/Examples/Assemble/assemble.cpp 9 | :language: cpp 10 | :linenos: -------------------------------------------------------------------------------- /Documentation/examples/c++/source/classify.rst: -------------------------------------------------------------------------------- 1 | ============================= 2 | Classify Example Source Files 3 | ============================= 4 | 5 | .. contents:: Table of Contents 6 | 7 | Main.cpp 8 | -------- 9 | 10 | .. literalinclude:: ../../../../tracktable/Examples/Classify/Main.cpp 11 | :language: cpp 12 | :linenos: 13 | 14 | --------------------------------------------------------------------- 15 | 16 | AssignHeadings.h 17 | ---------------- 18 | 19 | .. literalinclude:: ../../../../tracktable/Examples/Classify/AssignHeadings.h 20 | :language: cpp 21 | :linenos: 22 | 23 | --------------------------------------------------------------------- 24 | 25 | Mapping.h 26 | --------- 27 | 28 | .. literalinclude:: ../../../../tracktable/Examples/Classify/Mapping.h 29 | :language: cpp 30 | :linenos: 31 | 32 | --------------------------------------------------------------------- 33 | 34 | Mapping.cpp 35 | ----------- 36 | 37 | .. literalinclude:: ../../../../tracktable/Examples/Classify/Mapping.cpp 38 | :language: cpp 39 | :linenos: 40 | 41 | --------------------------------------------------------------------- 42 | 43 | TrackFilter.h 44 | ------------- 45 | 46 | .. literalinclude:: ../../../../tracktable/Examples/Classify/TrackFilter.h 47 | :language: cpp 48 | :linenos: -------------------------------------------------------------------------------- /Documentation/examples/c++/source/cluster.rst: -------------------------------------------------------------------------------- 1 | ============================ 2 | Cluster Example Source Files 3 | ============================ 4 | 5 | .. contents:: Table of Contents 6 | 7 | Main.cpp 8 | -------- 9 | 10 | .. literalinclude:: ../../../../tracktable/Examples/Cluster/Main.cpp 11 | :language: cpp 12 | :linenos: 13 | 14 | --------------------------------------------------------------------- 15 | 16 | Correlation.h 17 | -------------- 18 | 19 | .. literalinclude:: ../../../../tracktable/Examples/Cluster/Correlation.h 20 | :language: cpp 21 | :linenos: -------------------------------------------------------------------------------- /Documentation/examples/c++/source/filter.rst: -------------------------------------------------------------------------------- 1 | =========================== 2 | Filter Example Source Files 3 | =========================== 4 | 5 | filter_by_time.cpp 6 | ------------------ 7 | 8 | .. literalinclude:: ../../../../tracktable/Examples/FilterTime/filter_by_time.cpp 9 | :language: cpp 10 | :linenos: -------------------------------------------------------------------------------- /Documentation/examples/c++/source/find_id.rst: -------------------------------------------------------------------------------- 1 | ============================ 2 | Find ID Example Source Files 3 | ============================ 4 | 5 | Main.cpp 6 | -------- 7 | 8 | .. literalinclude:: ../../../../tracktable/Examples/FindId/Main.cpp 9 | :language: cpp 10 | :linenos: -------------------------------------------------------------------------------- /Documentation/examples/c++/source/portal.rst: -------------------------------------------------------------------------------- 1 | =========================== 2 | Portal Example Source Files 3 | =========================== 4 | 5 | .. contents:: Table of Contents 6 | 7 | main.cpp 8 | -------- 9 | 10 | .. literalinclude:: ../../../../tracktable/Examples/Portal/main.cpp 11 | :language: cpp 12 | :linenos: 13 | 14 | --------------------------------------------------------------------- 15 | 16 | Portal.h 17 | -------- 18 | 19 | .. literalinclude:: ../../../../tracktable/Examples/Portal/Portal.h 20 | :language: cpp 21 | :linenos: 22 | 23 | --------------------------------------------------------------------- 24 | 25 | Portal.cpp 26 | ---------- 27 | 28 | .. literalinclude:: ../../../../tracktable/Examples/Portal/Portal.cpp 29 | :language: cpp 30 | :linenos: 31 | 32 | --------------------------------------------------------------------- 33 | 34 | PortalPair.h 35 | ------------ 36 | 37 | .. literalinclude:: ../../../../tracktable/Examples/Portal/PortalPair.h 38 | :language: cpp 39 | :linenos: 40 | 41 | --------------------------------------------------------------------- 42 | 43 | PortalPair.cpp 44 | -------------- 45 | 46 | .. literalinclude:: ../../../../tracktable/Examples/Portal/PortalPair.cpp 47 | :language: cpp 48 | :linenos: -------------------------------------------------------------------------------- /Documentation/examples/c++/source/predict.rst: -------------------------------------------------------------------------------- 1 | ============================ 2 | Predict Example Source Files 3 | ============================ 4 | 5 | .. contents:: Table of Contents 6 | 7 | Main.cpp 8 | -------- 9 | 10 | .. literalinclude:: ../../../../tracktable/Examples/Predict/Main.cpp 11 | :language: cpp 12 | :linenos: 13 | 14 | --------------------------------------------------------------------- 15 | 16 | Predict.h 17 | --------- 18 | 19 | .. literalinclude:: ../../../../tracktable/Examples/Predict/Predict.h 20 | :language: cpp 21 | :linenos: 22 | 23 | --------------------------------------------------------------------- 24 | 25 | Predict.cpp 26 | ----------- 27 | 28 | .. literalinclude:: ../../../../tracktable/Examples/Predict/Predict.cpp 29 | :language: cpp 30 | :linenos: 31 | 32 | --------------------------------------------------------------------- 33 | 34 | PredictData.h 35 | ------------- 36 | 37 | .. literalinclude:: ../../../../tracktable/Examples/Predict/PredictData.h 38 | :language: cpp 39 | :linenos: 40 | 41 | --------------------------------------------------------------------- 42 | 43 | BuildFeatures.h 44 | --------------- 45 | 46 | .. literalinclude:: ../../../../tracktable/Examples/Predict/BuildFeatures.h 47 | :language: cpp 48 | :linenos: 49 | 50 | --------------------------------------------------------------------- 51 | 52 | BuildFeatures.cpp 53 | ----------------- 54 | 55 | .. literalinclude:: ../../../../tracktable/Examples/Predict/BuildFeatures.cpp 56 | :language: cpp 57 | :linenos: -------------------------------------------------------------------------------- /Documentation/examples/c++/source/reduce.rst: -------------------------------------------------------------------------------- 1 | =========================== 2 | Reduce Example Source Files 3 | =========================== 4 | 5 | Main.cpp 6 | -------- 7 | 8 | .. literalinclude:: ../../../../tracktable/Examples/Reduce/Main.cpp 9 | :language: cpp 10 | :linenos: -------------------------------------------------------------------------------- /Documentation/examples/c++/source/serialize.rst: -------------------------------------------------------------------------------- 1 | ============================== 2 | Serialize Example Source Files 3 | ============================== 4 | 5 | serialize_trajectories.cpp 6 | -------------------------- 7 | 8 | .. literalinclude:: ../../../../tracktable/Examples/Serialization/serialize_trajectories.cpp 9 | :language: cpp 10 | :linenos: 11 | -------------------------------------------------------------------------------- /GETTING_STARTED.md: -------------------------------------------------------------------------------- 1 | Getting Started with Tracktable 2 | =============================== 3 | 4 | *Step 0:* If all you need is the Python interface, you should be able to `pip install tracktable`. All of Tracktable's dependencies except Cartopy are available through Pip. 5 | 6 | *Step 1:* Build and install the software. Instructions are in `installation.rst` in the Documentation directory. 7 | 8 | *Step 2:* Try out the Python examples. Instructions are in `examples.rst` in the Documentation directory. 9 | 10 | *Step 3:* Do great things! 11 | 12 | -------------------------------------------------------------------------------- /README_dev_environment.md: -------------------------------------------------------------------------------- 1 | # Setting up a Tracktable development environment 2 | 3 | If you're running Anaconda, you can find YML files for development 4 | environments in tracktable/conda_dev_environments//*.yml. 5 | Each one specifies a specific Python version. MacOS and Linux variants 6 | also include the utilities you'll need to build redistributable wheels 7 | (binary Python install packages). 8 | 9 | Even if you're not using Anaconda, the contents of these files are a 10 | guide to what you'll need to install in order to build Tracktable 11 | from source. 12 | 13 | The file `tracktable_dev_environment.md` in this directory is a 14 | platform-agnostic, Python-version-agnostic version that will work if 15 | all you want to do is play with Tracktable's source code. 16 | 17 | -------------------------------------------------------------------------------- /ci/dockerenv/ubuntu/20.04/coverage_ubuntu2004.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | rm -rf build_coverage 3 | mkdir build_coverage 4 | cd build_coverage 5 | cmake -DCMAKE_BUILD_TYPE=Coverage .. 6 | make 7 | make cov_unit 8 | make cov_genhtml 9 | -------------------------------------------------------------------------------- /ci/dockerenv/ubuntu/20.04/docker-build: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | docker build -t cee-gitlab.sandia.gov:4567/trajectory/tracktable/ubuntu:FocalFossa . 3 | 4 | -------------------------------------------------------------------------------- /ci/dockerenv/ubuntu/20.04/docker-push: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | docker push cee-gitlab.sandia.gov:4567/trajectory/tracktable/ubuntu:FocalFossa 3 | 4 | -------------------------------------------------------------------------------- /ci/dockerenv/ubuntu/20.04/docker-run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | docker run -it cee-gitlab.sandia.gov:4567/trajectory/tracktable/ubuntu:FocalFossa 3 | -------------------------------------------------------------------------------- /ci/dockerenv/ubuntu/20.04/docker-run-local: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | docker run -it -v "`pwd`/../../../..":/root/tracktable cee-gitlab.sandia.gov:4567/trajectory/tracktable/ubuntu:FocalFossa 3 | -------------------------------------------------------------------------------- /ci/dockerenv/ubuntu/20.04/requirements.txt: -------------------------------------------------------------------------------- 1 | pytz 2 | folium 3 | leaflet 4 | cartopy 5 | auditwheel 6 | nbsphinx-link -------------------------------------------------------------------------------- /ci/dockerenv/ubuntu/20.04/scripts/apt-install-build-dependencies.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | apt-get update 4 | apt-get -y upgrade 5 | 6 | ln -fs /usr/share/zoneinfo/America/Denver /etc/localtime 7 | DEBIAN_FRONTEND=noninteractive apt-get -y install \ 8 | tzdata 9 | dpkg-reconfigure --frontend noninteractive tzdata 10 | 11 | apt-get -y install \ 12 | build-essential \ 13 | wget \ 14 | doxygen \ 15 | libgeos-dev \ 16 | libtool \ 17 | pkgconf \ 18 | libproj-dev \ 19 | lcov \ 20 | python3-breathe \ 21 | python3-certifi \ 22 | python3-matplotlib \ 23 | python3-nbsphinx \ 24 | python3-numpy-dev \ 25 | python3-pip \ 26 | python3-pyelftools \ 27 | python3-pykdtree \ 28 | python3-requests \ 29 | python3-scipy \ 30 | python3-shapely \ 31 | python3-six \ 32 | python3-sphinx \ 33 | python3-sphinx-rtd-theme \ 34 | unzip 35 | -------------------------------------------------------------------------------- /ci/dockerenv/ubuntu/20.04/scripts/apt-install-runtime-dependencies.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | apt-get update 4 | apt-get -y upgrade 5 | 6 | ln -fs /usr/share/zoneinfo/America/Denver /etc/localtime 7 | DEBIAN_FRONTEND=noninteractive apt-get -y install \ 8 | tzdata 9 | dpkg-reconfigure --frontend noninteractive tzdata 10 | 11 | # Add the kitware repository to obtain the latest cmake version 12 | # We need software-properties-common to get the apt-add-repository command 13 | apt-get -y install software-properties-common 14 | gpg --output /etc/apt/trusted.gpg.d/kitware.gpg --dearmor kitware-archive-latest.asc 15 | rm kitware-archive-latest.asc 16 | apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main' 17 | apt-get update 18 | 19 | apt-get -y install \ 20 | gcc \ 21 | libboost-all-dev \ 22 | build-essential \ 23 | libssl-dev \ 24 | wget \ 25 | cmake \ 26 | curl \ 27 | doxygen \ 28 | libgeos-dev \ 29 | graphviz \ 30 | libtool \ 31 | ninja-build \ 32 | pkgconf \ 33 | libproj-dev \ 34 | python3-breathe \ 35 | python3-certifi \ 36 | python3-jupyter-sphinx \ 37 | python3-matplotlib \ 38 | python3-nbsphinx \ 39 | python3-numpy-dev \ 40 | python3-pip \ 41 | python3-pyelftools \ 42 | python3-pykdtree \ 43 | python3-requests \ 44 | python3-scipy \ 45 | python3-shapely \ 46 | python3-six \ 47 | python3-sphinx \ 48 | python3-sphinx-rtd-theme \ 49 | unzip 50 | -------------------------------------------------------------------------------- /ci/dockerenv/ubuntu/20.04/scripts/cleanup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | apt-get update 4 | apt-get autoclean 5 | apt-get --purge -y autoremove 6 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 7 | 8 | 9 | -------------------------------------------------------------------------------- /ci/dockerenv/ubuntu/20.04/scripts/pip-build-dependencies.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Several Tracktable depedencies aren't available or sufficient in Ubuntu 4 | # so we will pip install them. 5 | 6 | python3 -m pip wheel \ 7 | --wheel-dir /wheels \ 8 | --find-links /wheels \ 9 | -r requirements.txt 10 | -------------------------------------------------------------------------------- /ci/dockerenv/ubuntu/20.04/scripts/pip-install-dependencies.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Several Tracktable depedencies aren't available or sufficient in Ubuntu 4 | # so we will pip install them. 5 | 6 | python3 -m pip --no-cache-dir install \ 7 | --find-links /wheels \ 8 | --no-index \ 9 | -r requirements.txt 10 | -------------------------------------------------------------------------------- /ci/dockerenv/ubuntu/20.04/test_ubuntu2004.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | rm -rf build_ubuntu2004 3 | mkdir build_ubuntu2004 4 | cd build_ubuntu2004 5 | cmake -GNinja .. 6 | ninja 7 | ctest --output-on-failure 8 | -------------------------------------------------------------------------------- /ci/linux/dockerenv/Dockerfile: -------------------------------------------------------------------------------- 1 | # We'll start from a preconfigured debian based miniconda image. 2 | ARG CI_REGISTRY 3 | FROM ${CI_REGISTRY}/innersource/docker/miniconda:debian 4 | WORKDIR /root 5 | 6 | SHELL ["/bin/bash", "--login", "-c"] 7 | 8 | RUN DEBIAN_FRONTEND=noninteractive apt-get -y install curl 9 | 10 | RUN echo "source /opt/conda/etc/profile.d/conda.sh" >> /root/.bashrc 11 | RUN /opt/conda/condabin/conda init bash 12 | RUN /opt/conda/condabin/conda config --add channels conda-forge 13 | ADD linux_ci_environment.yml /root/linux_ci_environment.yml 14 | RUN /opt/conda/condabin/conda env create -f /root/linux_ci_environment.yml 15 | RUN echo "conda activate tracktable-linux-ci" >> /root/.bashrc 16 | 17 | # Finally, when we're done with our image let's go ahead and clean up all our 18 | # intermediate work that doesn't need to hang around. This will make our 19 | # gitlab-ci docker image a bit smaller. 20 | 21 | ADD build-tracktable-ubuntu2004.sh /root/bin/build-tracktable-ubuntu2004.sh 22 | RUN echo "PATH=\"/root/bin:\${PATH}\"" >> /root/.bashrc 23 | RUN rm -rf /tmp/* /var/tmp/* 24 | 25 | SHELL ["/bin/bash", "--login", "-c"] 26 | CMD ["/bin/bash", "-l"] 27 | 28 | -------------------------------------------------------------------------------- /ci/linux/dockerenv/build-tracktable-ubuntu2004.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | rm -rf build_ubuntu2004 3 | mkdir build_ubuntu2004 4 | cd build_ubuntu2004 5 | cmake -GNinja .. 6 | ninja 7 | ctest --output-on-failure 8 | -------------------------------------------------------------------------------- /ci/linux/dockerenv/docker-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | source ./docker.config 3 | 4 | # We have to copy this, otherwise it is not inside 5 | # our docker build context 6 | cp ../linux_ci_environment.yml . 7 | 8 | docker build -t ${IMAGE_NAME}:${IMAGE_TAG} \ 9 | --build-arg CI_REGISTRY=${CI_REGISTRY} \ 10 | . 11 | 12 | if [[ "${TAG_IMAGE_LATEST}" == "true" ]]; then 13 | docker tag ${IMAGE_NAME}:${IMAGE_TAG} ${IMAGE_NAME}:latest 14 | fi 15 | 16 | rm linux_ci_environment.yml -------------------------------------------------------------------------------- /ci/linux/dockerenv/docker-push.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | source ./docker.config 3 | 4 | docker push ${IMAGE_NAME}:${IMAGE_TAG} 5 | 6 | if [ "${TAG_IMAGE_LATEST}" = true ] ; then 7 | docker tag ${IMAGE_NAME}:${IMAGE_TAG} ${IMAGE_NAME}:latest 8 | docker push ${IMAGE_NAME}:latest 9 | fi 10 | -------------------------------------------------------------------------------- /ci/linux/dockerenv/docker-run-dev.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | source ./docker.config 3 | 4 | docker run -it -v ${LOCAL_SOURCE_PATH}:${IMAGE_SOURCE_MOUNT} ${IMAGE_NAME}:${IMAGE_TAG} 5 | -------------------------------------------------------------------------------- /ci/linux/dockerenv/docker-run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | source ./docker.config 3 | 4 | docker run -it ${IMAGE_NAME}:${IMAGE_TAG} 5 | -------------------------------------------------------------------------------- /ci/linux/dockerenv/docker.config: -------------------------------------------------------------------------------- 1 | ########################################################################## 2 | # These settings control the tag and version of the various 3 | # docker build commands. 4 | # 5 | # The docker tag used will be of the form IMAGE_NAME:IMAGE_TAG 6 | ########################################################################## 7 | 8 | # Bump this version every time you release a new docker image 9 | IMAGE_TAG="8" 10 | 11 | # If set to 'true' the image will also be tagged with 'latest' 12 | TAG_IMAGE_LATEST=true 13 | 14 | # This is the gitlab repository base 15 | CONTAINER_REPOSITORY_BASE="$CI_REGISTRY/trajectory/tracktable" 16 | 17 | # These are added directories to the base to separate the various potential images 18 | OS_TYPE="ubuntu" 19 | OS_VERSION="20.04" 20 | 21 | # The image name is formed from the above variables 22 | IMAGE_NAME="${CONTAINER_REPOSITORY_BASE}/${OS_TYPE}/${OS_VERSION}" 23 | 24 | 25 | ########################################################################## 26 | # These settings control the docker-run-dev settings. 27 | # 28 | # The docker-run-dev script will mount the source tree at 29 | # LOCAL_SOURCE_PATH into the image at location IMAGE_SOURCE_MOUNT. 30 | ########################################################################## 31 | 32 | LOCAL_SOURCE_PATH="${PWD}/../../../.." 33 | IMAGE_SOURCE_MOUNT="/root/tracktable" 34 | -------------------------------------------------------------------------------- /ci/linux/linux_ci_environment.yml: -------------------------------------------------------------------------------- 1 | # Tracktable Linux CI/CD Anaconda Environment 2 | name: tracktable-linux-ci 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python=3.10 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - compilers 25 | - libboost-devel>=1.86 26 | - libboost-python-devel>=1.86 27 | - libboost-headers>=1.86 28 | - libboost-python>=1.86 29 | - cmake>=3.19.5 30 | - ninja>=1.10.0 31 | 32 | # Jupyter Dependencies 33 | - ipykernel 34 | 35 | # Movie Dependencies 36 | - ffmpeg>=4.2.4 37 | 38 | # Code Coverage Dependencies 39 | - lcov>=1.14 40 | - coverage>=6.3.2 41 | 42 | # Documentation Dependencies 43 | - sphinx>=3.4.3 44 | - sphinx_rtd_theme>=0.5.0 45 | - nbsphinx>=0.7.1 46 | # conda-forge feedstock is out of date - we need nbsphinx >= 1.3.1 47 | # - nbsphinx-link>=1.3.0 48 | - pandoc>=2.5 49 | - doxygen>=1.8.17 50 | - graphviz>=2.42.2 51 | - breathe>4.31 52 | 53 | # Packaging Dependencies 54 | - auditwheel 55 | - unzip 56 | - twine 57 | 58 | # Static Code Analysis Dependencies 59 | - mypy 60 | - mypy_extensions 61 | - types-six 62 | - types-pytz 63 | - flake8 64 | - pylint 65 | - cppcheck 66 | - pygments 67 | 68 | # Repo Badging 69 | - pip: 70 | - pylint-exit 71 | - anybadge 72 | - nbsphinx>=1.3.1 -------------------------------------------------------------------------------- /ci/macos/macos_ci_environment_py310.yml: -------------------------------------------------------------------------------- 1 | # Tracktable MacOS Python 3.10 CI/CD Anaconda Environment 2 | name: tracktable-macos-ci-py310 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python=3.10 11 | - python_abi=*=*_cp* 12 | - pip 13 | - numpy>=1.7 14 | - matplotlib>=3.0 15 | - cartopy>=0.18.0 16 | - pytz>=2020.1 17 | - shapely>=1.7.1 18 | - pyproj>=2.6.1 19 | - folium>=0.11.0 20 | - scipy>=1.5.2 21 | - tqdm>=4.51.0 22 | - tracktable-data>=1.7.3 23 | 24 | # C++ Dependencies 25 | - compilers 26 | - libboost-devel>=1.86 27 | - libboost-python-devel>=1.86 28 | - libboost-headers>=1.86 29 | - libboost-python>=1.86 30 | - cmake>=3.19.5 31 | - ninja>=1.10.0 32 | 33 | # Jupyter Dependencies 34 | - ipykernel 35 | 36 | # Movie Dependencies 37 | - ffmpeg>=4.2.4 38 | 39 | # Code Coverage Dependencies 40 | - lcov>=1.14 41 | - coverage>=6.3.2 42 | 43 | # Documentation Dependencies 44 | - sphinx>=3.4.3 45 | - sphinx_rtd_theme>=0.5.0 46 | - nbsphinx>=0.7.1 47 | # conda-forge feedstock is outdated; we need nbsphinx-link >= 1.3.1 48 | # - nbsphinx-link>=1.3.0 49 | - pandoc>=2.5 50 | - doxygen>=1.8.17 51 | - graphviz>=2.42.2 52 | - breathe>4.31 53 | 54 | # Packaging Dependencies 55 | - delocate=0.8.2 56 | - unzip 57 | - twine 58 | 59 | - pip: 60 | - nbsphinx-link>=1.3.1 -------------------------------------------------------------------------------- /ci/macos/macos_ci_environment_py311.yml: -------------------------------------------------------------------------------- 1 | # Tracktable MacOS Python 3.11 CI/CD Anaconda Environment 2 | name: tracktable-macos-ci-py311 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python=3.11 11 | - python_abi=*=*_cp* 12 | - pip 13 | - numpy>=1.7 14 | - matplotlib>=3.0 15 | - cartopy>=0.18.0 16 | - pytz>=2020.1 17 | - shapely>=1.7.1 18 | - pyproj>=2.6.1 19 | - folium>=0.11.0 20 | - scipy>=1.5.2 21 | - tqdm>=4.51.0 22 | - tracktable-data>=1.7.3 23 | 24 | # C++ Dependencies 25 | - compilers 26 | - libboost-devel>=1.86 27 | - libboost-python-devel>=1.86 28 | - libboost-headers>=1.86 29 | - libboost-python>=1.86 30 | - cmake>=3.19.5 31 | - ninja>=1.10.0 32 | 33 | # Jupyter Dependencies 34 | - ipykernel 35 | 36 | # Movie Dependencies 37 | - ffmpeg>=4.2.4 38 | 39 | # Code Coverage Dependencies 40 | - lcov>=1.14 41 | - coverage>=6.3.2 42 | 43 | # Documentation Dependencies 44 | - sphinx>=3.4.3 45 | - sphinx_rtd_theme>=0.5.0 46 | - nbsphinx>=0.7.1 47 | # conda-forge feedstock is outdated; we need nbsphinx-link >= 1.3.1 48 | # - nbsphinx-link>=1.3.0 49 | - pandoc>=2.5 50 | - doxygen>=1.8.17 51 | - graphviz>=2.42.2 52 | - breathe>4.31 53 | 54 | # Packaging Dependencies 55 | - delocate=0.8.2 56 | - unzip 57 | - twine 58 | 59 | - pip: 60 | - nbsphinx-link>=1.3.1 -------------------------------------------------------------------------------- /ci/macos/macos_ci_environment_py312.yml: -------------------------------------------------------------------------------- 1 | # Tracktable MacOS Python 3.12 CI/CD Anaconda Environment 2 | name: tracktable-macos-ci-py312 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python=3.12 11 | - python_abi=*=*_cp* 12 | - pip 13 | - numpy>=1.7 14 | - matplotlib>=3.0 15 | - cartopy>=0.18.0 16 | - pytz>=2020.1 17 | - shapely>=1.7.1 18 | - pyproj>=2.6.1 19 | - folium>=0.11.0 20 | - scipy>=1.5.2 21 | - tqdm>=4.51.0 22 | - tracktable-data>=1.7.3 23 | 24 | # C++ Dependencies 25 | - compilers 26 | - libboost-devel>=1.86 27 | - libboost-python-devel>=1.86 28 | - libboost-headers>=1.86 29 | - libboost-python>=1.86 30 | - cmake>=3.19.5 31 | - ninja>=1.10.0 32 | 33 | # Jupyter Dependencies 34 | - ipykernel 35 | 36 | # Movie Dependencies 37 | - ffmpeg>=4.2.4 38 | 39 | # Code Coverage Dependencies 40 | - lcov>=1.14 41 | - coverage>=6.3.2 42 | 43 | # Documentation Dependencies 44 | - sphinx>=3.4.3 45 | - sphinx_rtd_theme>=0.5.0 46 | - nbsphinx>=0.7.1 47 | # - nbsphinx-link>=1.3.0 48 | # conda-forge feedstock is outdated; we need nbsphinx-link >= 1.3.1 49 | - pandoc>=2.5 50 | - doxygen>=1.8.17 51 | - graphviz>=2.42.2 52 | - breathe>4.31 53 | 54 | # Packaging Dependencies 55 | - delocate=0.8.2 56 | - unzip 57 | - twine 58 | 59 | - pip: 60 | - nbsphinx-link>=1.3.1 -------------------------------------------------------------------------------- /ci/macos/macos_ci_environment_py313.yml: -------------------------------------------------------------------------------- 1 | # Tracktable MacOS Python 3.13 CI/CD Anaconda Environment 2 | name: tracktable-macos-ci-py313 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python=3.13 11 | - python_abi=*=*_cp* 12 | - pip 13 | - numpy>=1.7 14 | - matplotlib>=3.0 15 | - cartopy>=0.18.0 16 | - pytz>=2020.1 17 | - shapely>=1.7.1 18 | - pyproj>=2.6.1 19 | - folium>=0.11.0 20 | - scipy>=1.5.2 21 | - tqdm>=4.51.0 22 | - tracktable-data>=1.7.3 23 | 24 | # C++ Dependencies 25 | - compilers 26 | - libboost-devel>=1.86 27 | - libboost-python-devel>=1.86 28 | - libboost-headers>=1.86 29 | - libboost-python>=1.86 30 | - cmake>=3.19.5 31 | - ninja>=1.10.0 32 | 33 | # Jupyter Dependencies 34 | - ipykernel 35 | 36 | # Movie Dependencies 37 | - ffmpeg>=4.2.4 38 | 39 | # Code Coverage Dependencies 40 | - lcov>=1.14 41 | - coverage>=6.3.2 42 | 43 | # Documentation Dependencies 44 | - sphinx>=3.4.3 45 | - sphinx_rtd_theme>=0.5.0 46 | - nbsphinx>=0.7.1 47 | # conda-forge feedstock is outdated; we need nbsphinx >= 1.3.1 48 | # - nbsphinx-link>=1.3.0 49 | - pandoc>=2.5 50 | - doxygen>=1.8.17 51 | - graphviz>=2.42.2 52 | - breathe>4.31 53 | 54 | # Packaging Dependencies 55 | - delocate=0.8.2 56 | - unzip 57 | - twine 58 | 59 | 60 | - pip: 61 | - nbsphinx-link>=1.3.1 -------------------------------------------------------------------------------- /ci/macos/macos_ci_environment_py39.yml: -------------------------------------------------------------------------------- 1 | # Tracktable MacOS Python 3.9 CI/CD Anaconda Environment 2 | name: tracktable-macos-ci-py39 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python=3.9 11 | - python_abi=*=*_cp* 12 | - pip 13 | - numpy>=1.7 14 | - matplotlib>=3.0 15 | - cartopy>=0.18.0 16 | - pytz>=2020.1 17 | - shapely>=1.7.1 18 | - pyproj>=2.6.1 19 | - folium>=0.11.0 20 | - scipy>=1.5.2 21 | - tqdm>=4.51.0 22 | - tracktable-data>=1.7.3 23 | 24 | # C++ Dependencies 25 | - compilers 26 | - libboost-devel>=1.86 27 | - libboost-python-devel>=1.86 28 | - cmake>=3.19.5 29 | - ninja>=1.10.0 30 | 31 | # Jupyter Dependencies 32 | - ipykernel 33 | 34 | # Movie Dependencies 35 | - ffmpeg>=4.2.4 36 | 37 | # Code Coverage Dependencies 38 | - lcov>=1.14 39 | - coverage>=6.3.2 40 | 41 | # Documentation Dependencies 42 | - sphinx>=3.4.3 43 | - sphinx_rtd_theme>=0.5.0 44 | - nbsphinx>=0.7.1 45 | # conda-forge feedstock is outdated; we need nbsphinx >= 1.3.1 46 | # - nbsphinx-link>=1.3.0 47 | - pandoc>=2.5 48 | - doxygen>=1.8.17 49 | #- graphviz>=2.42.2 50 | - breathe>4.31 51 | 52 | # Packaging Dependencies 53 | - delocate=0.8.2 54 | - unzip 55 | - twine 56 | 57 | - pip: 58 | - nbsphinx-link>=1.3.1 -------------------------------------------------------------------------------- /ci/windows/windows_ci_environment_py310.yml: -------------------------------------------------------------------------------- 1 | ## Tracktable Windows Python 3.10 CI/CD Anaconda Environment 2 | name: tracktable-windows-ci-py310 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.10 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - vs2022_win-64 25 | - libboost-devel>=1.86 26 | - libboost-python-devel>=1.86 27 | - libboost-headers>=1.86 28 | - libboost-python>=1.86 29 | - cmake>=3.19.5 30 | - ninja>=1.10.0 31 | 32 | # Windows: find Visual Studio 2022 instead of 2019 33 | - vs2022_win-64 34 | 35 | # Jupyter Dependencies 36 | - ipykernel 37 | 38 | # Movie Dependencies 39 | - ffmpeg>=4.2.4 40 | 41 | # Code Coverage Dependencies 42 | - lcov>=1.14 43 | - coverage>=6.3.2 44 | 45 | # Documentation Dependencies 46 | - sphinx>=3.4.3 47 | - sphinx_rtd_theme>=0.5.0 48 | - nbsphinx>=0.7.1 49 | - nbsphinx-link>=1.3.0 50 | - pandoc>=2.5 51 | - doxygen>=1.8.17 52 | - graphviz>=2.42.2 53 | - breathe>4.31 54 | 55 | # Packaging Dependencies 56 | - twine -------------------------------------------------------------------------------- /ci/windows/windows_ci_environment_py311.yml: -------------------------------------------------------------------------------- 1 | ## Tracktable Windows Python 3.11 CI/CD Anaconda Environment 2 | name: tracktable-windows-ci-py311 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python=3.11 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - vs2022_win-64 25 | - libboost-devel>=1.86 26 | - libboost-python-devel>=1.86 27 | - libboost-headers>=1.86 28 | - libboost-python>=1.86 29 | - cmake>=3.19.5 30 | - ninja>=1.10.0 31 | 32 | # Jupyter Dependencies 33 | - ipykernel 34 | 35 | # Movie Dependencies 36 | - ffmpeg>=4.2.4 37 | 38 | # Code Coverage Dependencies 39 | - lcov>=1.14 40 | - coverage>=6.3.2 41 | 42 | # Documentation Dependencies 43 | - sphinx>=3.4.3 44 | - sphinx_rtd_theme>=0.5.0 45 | - nbsphinx>=0.7.1 46 | - nbsphinx-link>=1.3.0 47 | - pandoc>=2.5 48 | - doxygen>=1.8.17 49 | - graphviz>=2.42.2 50 | - breathe>4.31 51 | 52 | # Packaging Dependencies 53 | - twine -------------------------------------------------------------------------------- /ci/windows/windows_ci_environment_py312.yml: -------------------------------------------------------------------------------- 1 | ## Tracktable Windows Python 3.12 CI/CD Anaconda Environment 2 | name: tracktable-windows-ci-py312 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python=3.12 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - vs2022_win-64 25 | - libboost-devel>=1.86 26 | - libboost-python-devel>=1.86 27 | - libboost-headers>=1.86 28 | - libboost-python>=1.86 29 | - cmake>=3.19.5 30 | - ninja>=1.10.0 31 | 32 | # Jupyter Dependencies 33 | - ipykernel 34 | 35 | # Movie Dependencies 36 | - ffmpeg>=4.2.4 37 | 38 | # Code Coverage Dependencies 39 | - lcov>=1.14 40 | - coverage>=6.3.2 41 | 42 | # Documentation Dependencies 43 | - sphinx>=3.4.3 44 | - sphinx_rtd_theme>=0.5.0 45 | - nbsphinx>=0.7.1 46 | - nbsphinx-link>=1.3.0 47 | - pandoc>=2.5 48 | - doxygen>=1.8.17 49 | - graphviz>=2.42.2 50 | - breathe>4.31 51 | 52 | # Packaging Dependencies 53 | - twine -------------------------------------------------------------------------------- /ci/windows/windows_ci_environment_py313.yml: -------------------------------------------------------------------------------- 1 | ## Tracktable Windows Python 3.13 CI/CD Anaconda Environment 2 | name: tracktable-windows-ci-py313 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.13 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - vs2022_win-64 25 | - libboost-devel>=1.86 26 | - libboost-python-devel>=1.86 27 | - libboost-headers>=1.86 28 | - libboost-python>=1.86 29 | - cmake>=3.19.5 30 | - ninja>=1.10.0 31 | 32 | # Jupyter Dependencies 33 | - ipykernel 34 | 35 | # Movie Dependencies 36 | - ffmpeg>=4.2.4 37 | 38 | # Code Coverage Dependencies 39 | - lcov>=1.14 40 | - coverage>=6.3.2 41 | 42 | # Documentation Dependencies 43 | - sphinx>=3.4.3 44 | - sphinx_rtd_theme>=0.5.0 45 | - nbsphinx>=0.7.1 46 | - nbsphinx-link>=1.3.0 47 | - pandoc>=2.5 48 | - doxygen>=1.8.17 49 | - graphviz>=2.42.2 50 | - breathe>4.31 51 | 52 | # Packaging Dependencies 53 | - twine -------------------------------------------------------------------------------- /ci/windows/windows_ci_environment_py39.yml: -------------------------------------------------------------------------------- 1 | # Tracktable Windows Python 3.9 CI/CD Anaconda Environment 2 | name: tracktable-windows-ci-py39 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python=3.9 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - vs2022_win-64 25 | - libboost-devel>=1.86 26 | - libboost-python-devel>=1.86 27 | - cmake>=3.19.5 28 | - ninja>=1.10.0 29 | 30 | # Jupyter Dependencies 31 | - ipykernel 32 | 33 | # Movie Dependencies 34 | - ffmpeg>=4.2.4 35 | 36 | # Code Coverage Dependencies 37 | - lcov>=1.14 38 | - coverage>=6.3.2 39 | 40 | # Documentation Dependencies 41 | - sphinx>=3.4.3 42 | - sphinx_rtd_theme>=0.5.0 43 | - nbsphinx>=0.7.1 44 | - nbsphinx-link>=1.3.0 45 | - pandoc>=2.5 46 | - doxygen>=1.8.17 47 | - graphviz>=2.42.2 48 | - breathe>4.31 49 | 50 | # Packaging Dependencies 51 | - twine -------------------------------------------------------------------------------- /conda_dev_environments/linux/tracktable_dev_python3.10.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.10 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.10 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - compilers 25 | - libboost-devel>=1.86 26 | - libboost-headers>=1.86 27 | - libboost-python>=1.86 28 | - libboost-python-devel>=1.86 29 | - cmake>=3.19.5 30 | - ninja>=1.10.0 31 | 32 | # Jupyter Dependencies 33 | - ipykernel 34 | - jupyter 35 | 36 | # Movie Dependencies 37 | - ffmpeg>=4.2.4 38 | 39 | # Code Coverage Dependencies 40 | - lcov>=1.14 41 | - coverage>=6.3.2 42 | 43 | # Documentation Dependencies 44 | - sphinx>=3.4.3 45 | - sphinx_rtd_theme>=0.5.0 46 | - nbsphinx>=0.7.1 47 | # conda-forge feedstock is outdated - we need at least nbsphinx-link 1.3.1 48 | # - nbsphinx-link>=1.3.0 49 | - pandoc>=2.5 50 | - doxygen>=1.8.17 51 | - graphviz>=2.42.2 52 | # - breathe>=4.26.1, <=4.31.0 53 | - breathe>=4.26.1 54 | - pip: 55 | - nbsphinx-link>=1.3.1 56 | 57 | # Wheel Building 58 | - auditwheel 59 | -------------------------------------------------------------------------------- /conda_dev_environments/linux/tracktable_dev_python3.11.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.11 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.11 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - compilers 25 | - libboost-devel>=1.86 26 | - libboost-headers>=1.86 27 | - libboost-python>=1.86 28 | - libboost-python-devel>=1.86 29 | - cmake>=3.19.5 30 | - ninja>=1.10.0 31 | 32 | # Jupyter Dependencies 33 | - ipykernel 34 | - jupyter 35 | 36 | # Movie Dependencies 37 | - ffmpeg>=4.2.4 38 | 39 | # Code Coverage Dependencies 40 | - lcov>=1.14 41 | - coverage>=6.3.2 42 | 43 | # Documentation Dependencies 44 | - sphinx>=3.4.3 45 | - sphinx_rtd_theme>=0.5.0 46 | - nbsphinx>=0.7.1 47 | # conda-forge feedstock is outdated - we need at least nbsphinx 1.3.1 48 | #- nbsphinx-link>=1.3.0 49 | - pandoc>=2.5 50 | - doxygen>=1.8.17 51 | - graphviz>=2.42.2 52 | #- breathe>=4.26.1, <=4.31.0 53 | - breathe>=4.26.1 54 | 55 | # Wheel Building and Packaging 56 | - auditwheel 57 | - twine 58 | - python-build 59 | 60 | - pip: 61 | - nbsphinx-link>=1.3.1 62 | -------------------------------------------------------------------------------- /conda_dev_environments/linux/tracktable_dev_python3.12.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.12 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.12 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - compilers 25 | - libboost-devel>=1.86 26 | - libboost-headers>=1.86 27 | - libboost-python>=1.86 28 | - libboost-python-devel>=1.86 29 | - cmake>=3.19.5 30 | - ninja>=1.10.0 31 | 32 | # Jupyter Dependencies 33 | - ipykernel 34 | - jupyter 35 | 36 | # Movie Dependencies 37 | - ffmpeg>=4.2.4 38 | 39 | # Code Coverage Dependencies 40 | - lcov>=1.14 41 | - coverage>=6.3.2 42 | 43 | # Documentation Dependencies 44 | - sphinx>=3.4.3 45 | - sphinx_rtd_theme>=0.5.0 46 | - nbsphinx>=0.7.1 47 | # conda-forge feedstock is outdated - we need at least nbsphinx-link 1.3.1 48 | # - nbsphinx-link>=1.3.0 49 | - pandoc>=2.5 50 | - doxygen>=1.8.17 51 | - graphviz>=2.42.2 52 | #- breathe>=4.26.1, <=4.31.0 53 | - breathe>=4.26.1 54 | 55 | # Wheel Building and Packaging 56 | - auditwheel 57 | - twine 58 | - python-build 59 | 60 | - pip: 61 | - nbsphinx-link>=1.3.1 -------------------------------------------------------------------------------- /conda_dev_environments/linux/tracktable_dev_python3.13.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.13 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.13 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - compilers 25 | - libboost-devel>=1.86 26 | - libboost-headers>=1.86 27 | - libboost-python>=1.86 28 | - libboost-python-devel>=1.86 29 | - cmake>=3.19.5 30 | - ninja>=1.10.0 31 | 32 | # Jupyter Dependencies 33 | - ipykernel 34 | - jupyter 35 | 36 | # Movie Dependencies 37 | - ffmpeg>=4.2.4 38 | 39 | # Code Coverage Dependencies 40 | - lcov>=1.14 41 | - coverage>=6.3.2 42 | 43 | # Documentation Dependencies 44 | - sphinx>=3.4.3 45 | - sphinx_rtd_theme>=0.5.0 46 | - nbsphinx>=0.7.1 47 | # conda-forge feedstock is outdated - we need at least nbsphinx-link 1.3.1 48 | # - nbsphinx-link>=1.3.0 49 | - pandoc>=2.5 50 | - doxygen>=1.8.17 51 | - graphviz>=2.42.2 52 | #- breathe>=4.26.1, <=4.31.0 53 | - breathe>=4.26.1 54 | 55 | # Wheel Building and Packaging 56 | - auditwheel 57 | - twine 58 | - python-build 59 | 60 | - pip: 61 | - nbsphinx-link>=1.3.1 62 | -------------------------------------------------------------------------------- /conda_dev_environments/linux/tracktable_dev_python3.9.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.9 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.9 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - compilers 25 | - libboost-devel>=1.86 26 | - libboost-headers>=1.86 27 | - libboost-python>=1.86 28 | - libboost-python-devel>=1.86 29 | - cmake>=3.19.5 30 | - ninja>=1.10.0 31 | 32 | # Jupyter Dependencies 33 | - ipykernel 34 | - jupyter 35 | 36 | # Movie Dependencies 37 | - ffmpeg>=4.2.4 38 | 39 | # Code Coverage Dependencies 40 | - lcov>=1.14 41 | - coverage>=6.3.2 42 | 43 | # Documentation Dependencies 44 | - sphinx>=3.4.3 45 | - sphinx_rtd_theme>=0.5.0 46 | - nbsphinx>=0.7.1 47 | # conda-forge feedstock is outdated - we need at least 1.3.1 48 | # - nbsphinx-link>=1.3.0 49 | - pandoc>=2.5 50 | - doxygen>=1.8.17 51 | - graphviz>=2.42.2 52 | - breathe>=4.26.1 53 | 54 | # Wheel Building and Packaging 55 | - auditwheel 56 | - twine 57 | - python-build 58 | 59 | - pip: 60 | - nbsphinx-link>=1.3.1 -------------------------------------------------------------------------------- /conda_dev_environments/macos/tracktable_dev_python3.10.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.10 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.10 11 | - python_abi=*=*_cp* 12 | - pip 13 | - numpy>=1.7 14 | - matplotlib>=3.0 15 | - cartopy>=0.18.0 16 | - pytz>=2020.1 17 | - shapely>=1.7.1 18 | - pyproj>=2.6.1 19 | - folium>=0.11.0 20 | - scipy>=1.5.2 21 | - tqdm>=4.51.0 22 | - tracktable-data>=1.7.3 23 | 24 | # C++ Dependencies 25 | - compilers 26 | - libboost-devel>=1.86 27 | - libboost-headers>=1.86 28 | - libboost-python>=1.86 29 | - libboost-python-devel>=1.86 30 | - cmake>=3.19.5 31 | - ninja>=1.10.0 32 | 33 | # Jupyter Dependencies 34 | - ipykernel 35 | - jupyter 36 | 37 | # Movie Dependencies 38 | - ffmpeg>=4.2.4 39 | 40 | # Code Coverage Dependencies 41 | - lcov>=1.14 42 | - coverage>=6.3.2 43 | 44 | # Documentation Dependencies 45 | - sphinx>=3.4.3 46 | - sphinx_rtd_theme>=0.5.0 47 | - nbsphinx>=0.7.1 48 | # conda-forge feestock is outdated - we need at least 1.3.1 49 | # - nbsphinx-link>=1.3.0 50 | - pandoc>=2.5 51 | - doxygen>=1.8.17 52 | - graphviz>=2.42.2 53 | #- breathe>=4.26.1, <=4.31.0 54 | - breathe>=4.26.1 55 | 56 | 57 | # MacOS-specific utilities 58 | - pip: 59 | - delocate 60 | - nbsphinx-link>=1.3.1 61 | - python-build 62 | - twine -------------------------------------------------------------------------------- /conda_dev_environments/macos/tracktable_dev_python3.11.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.11 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.11 11 | - python_abi=*=*_cp* 12 | - pip 13 | - numpy>=1.7 14 | - matplotlib>=3.0 15 | - cartopy>=0.18.0 16 | - pytz>=2020.1 17 | - shapely>=1.7.1 18 | - pyproj>=2.6.1 19 | - folium>=0.11.0 20 | - scipy>=1.5.2 21 | - tqdm>=4.51.0 22 | - tracktable-data>=1.7.3 23 | 24 | # C++ Dependencies 25 | - compilers 26 | - libboost-devel>=1.86 27 | - libboost-headers>=1.86 28 | - libboost-python>=1.86 29 | - libboost-python-devel>=1.86 30 | - cmake>=3.19.5 31 | - ninja>=1.10.0 32 | 33 | # Jupyter Dependencies 34 | - ipykernel 35 | - jupyter 36 | 37 | # Movie Dependencies 38 | - ffmpeg>=4.2.4 39 | 40 | # Code Coverage Dependencies 41 | - lcov>=1.14 42 | - coverage>=6.3.2 43 | 44 | # Documentation Dependencies 45 | - sphinx>=3.4.3 46 | - sphinx_rtd_theme>=0.5.0 47 | - nbsphinx>=0.7.1 48 | # conda-forge feedstock is outdated - we need at least 1.3.1 49 | # - nbsphinx-link>=1.3.0 50 | - pandoc>=2.5 51 | - doxygen>=1.8.17 52 | - graphviz>=2.42.2 53 | #- breathe>=4.26.1, <=4.31.0 54 | - breathe>=4.26.1 55 | 56 | # MacOS-specific utilities 57 | - pip: 58 | - delocate 59 | - nbsphinx-link>=1.3.1 60 | - python-build 61 | - twine -------------------------------------------------------------------------------- /conda_dev_environments/macos/tracktable_dev_python3.12.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.12 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.12 11 | - python_abi=*=*_cp* 12 | - pip 13 | - numpy>=1.7 14 | - matplotlib>=3.0 15 | - cartopy>=0.18.0 16 | - pytz>=2020.1 17 | - shapely>=1.7.1 18 | - pyproj>=2.6.1 19 | - folium>=0.11.0 20 | - scipy>=1.5.2 21 | - tqdm>=4.51.0 22 | - tracktable-data>=1.7.3 23 | 24 | # C++ Dependencies 25 | - compilers 26 | - libboost-devel>=1.86 27 | - libboost-headers>=1.86 28 | - libboost-python>=1.86 29 | - libboost-python-devel>=1.86 30 | - cmake>=3.19.5 31 | - ninja>=1.10.0 32 | 33 | # Jupyter Dependencies 34 | - ipykernel 35 | - jupyter 36 | 37 | # Movie Dependencies 38 | - ffmpeg>=4.2.4 39 | 40 | # Code Coverage Dependencies 41 | - lcov>=1.14 42 | - coverage>=6.3.2 43 | 44 | # Documentation Dependencies 45 | - sphinx>=3.4.3 46 | - sphinx_rtd_theme>=0.5.0 47 | - nbsphinx>=0.7.1 48 | # conda-forge feedstock is outdated - we need at least 1.3.1 49 | - nbsphinx-link>=1.3.0 50 | - pandoc>=2.5 51 | - doxygen>=1.8.17 52 | - graphviz>=2.42.2 53 | #- breathe>=4.26.1, <=4.31.0 54 | - breathe>=4.26.1 55 | 56 | # MacOS-specific utilities 57 | - pip: 58 | - delocate 59 | # - nbsphinx-link>=1.3.1 60 | - python-build 61 | - twine -------------------------------------------------------------------------------- /conda_dev_environments/macos/tracktable_dev_python3.13.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.13 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.13 11 | - python_abi=*=*_cp* 12 | - pip 13 | - numpy>=1.7 14 | - matplotlib>=3.0 15 | - cartopy>=0.18.0 16 | - pytz>=2020.1 17 | - shapely>=1.7.1 18 | - pyproj>=2.6.1 19 | - folium>=0.11.0 20 | - scipy>=1.5.2 21 | - tqdm>=4.51.0 22 | - tracktable-data>=1.7.3 23 | 24 | # C++ Dependencies 25 | - compilers 26 | - libboost-devel>=1.86 27 | - libboost-headers>=1.86 28 | - libboost-python>=1.86 29 | - libboost-python-devel>=1.86 30 | - cmake>=3.19.5 31 | - ninja>=1.10.0 32 | 33 | # Jupyter Dependencies 34 | - ipykernel 35 | - jupyter 36 | 37 | # Movie Dependencies 38 | - ffmpeg>=4.2.4 39 | 40 | # Code Coverage Dependencies 41 | - lcov>=1.14 42 | - coverage>=6.3.2 43 | 44 | # Documentation Dependencies 45 | - sphinx>=3.4.3 46 | - sphinx_rtd_theme>=0.5.0 47 | - nbsphinx>=0.7.1 48 | # conda-forge feedstock is outdated - we need at least 1.3.1 49 | # - nbsphinx-link>=1.3.0 50 | - pandoc>=2.5 51 | - doxygen>=1.8.17 52 | - graphviz>=2.42.2 53 | - breathe>=4.26.1 54 | # - breathe>=4.26.1, <=4.31.0 55 | 56 | # MacOS-specific utilities 57 | - pip: 58 | - delocate 59 | - nbsphinx-link>=1.3.1 60 | - python-build 61 | - twine -------------------------------------------------------------------------------- /conda_dev_environments/macos/tracktable_dev_python3.9.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.9 3 | channels: 4 | - conda-forge 5 | 6 | dependencies: 7 | # Dev Dependencies 8 | - git 9 | 10 | # Python Dependencies 11 | - python==3.9 12 | - python_abi=*=*_cp* 13 | - pip 14 | - numpy>=1.7 15 | - matplotlib>=3.0 16 | - cartopy>=0.18.0 17 | - pytz>=2020.1 18 | - shapely>=1.7.1 19 | - pyproj>=2.6.1 20 | - folium>=0.11.0 21 | - scipy>=1.5.2 22 | - tqdm>=4.51.0 23 | - tracktable-data>=1.7.3 24 | 25 | # C++ Dependencies 26 | - compilers 27 | - libboost-devel>=1.85 28 | - libboost-headers>=1.85 29 | - libboost-python-devel>=1.85 30 | - libboost-python>=1.85 31 | - cmake>=3.19.5 32 | - ninja>=1.10.0 33 | 34 | # Jupyter Dependencies 35 | - ipykernel 36 | - jupyter 37 | 38 | # Movie Dependencies 39 | - ffmpeg>=4.2.4 40 | 41 | # Code Coverage Dependencies 42 | - lcov>=1.14 43 | - coverage>=6.3.2 44 | 45 | # Documentation Dependencies 46 | - sphinx>=3.4.3 47 | - sphinx_rtd_theme>=0.5.0 48 | # conda-forge feedstock is outdated - we need at least 1.3.1 49 | # - nbsphinx>=0.7.1 50 | - nbsphinx-link>=1.3.0 51 | - pandoc>=2.5 52 | - doxygen>=1.8.17 53 | # graphviz and libffi were the source of our conflict - fortunately 54 | # we can build (including documentation!) without it 55 | # - graphviz>=2.42.2 56 | - breathe>=4.26.1 57 | 58 | # MacOS-specific utilities 59 | - pip: 60 | - delocate 61 | - nbsphinx-link>=1.3.1 62 | - python-build 63 | - twine 64 | -------------------------------------------------------------------------------- /conda_dev_environments/windows/tracktable_dev_python3.10.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.10 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.10 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - libboost-devel>=1.86 25 | - libboost-headers>=1.86 26 | - libboost-python>=1.86 27 | - libboost-python-devel>=1.86 28 | - cmake>=3.19.5 29 | - ninja>=1.10.0 30 | 31 | # Jupyter Dependencies 32 | - ipykernel 33 | - jupyter 34 | 35 | # Movie Dependencies 36 | - ffmpeg>=4.2.4 37 | 38 | # Code Coverage Dependencies 39 | - lcov>=1.14 40 | - coverage>=6.3.2 41 | 42 | # Documentation Dependencies 43 | - sphinx>=3.4.3 44 | - sphinx_rtd_theme>=0.5.0 45 | - nbsphinx>=0.7.1 46 | # conda-forge feedstock is out of date - we need nbsphinx >= 1.3.1 47 | # - nbsphinx-link>=1.3.0 48 | - pandoc>=2.5 49 | - doxygen>=1.8.17 50 | - graphviz>=2.42.2 51 | # - breathe>=4.26.1, <=4.31.0 52 | - breathe>=4.26.1 53 | 54 | # Packaging Dependencies 55 | - python-build 56 | - twine 57 | 58 | - pip: 59 | - nbsphinx-link>=1.3.1 60 | -------------------------------------------------------------------------------- /conda_dev_environments/windows/tracktable_dev_python3.11.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.11 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.11 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - libboost-devel>=1.86 25 | - libboost-headers>=1.86 26 | - libboost-python>=1.86 27 | - libboost-python-devel>=1.86 28 | - cmake>=3.19.5 29 | - ninja>=1.10.0 30 | 31 | # Jupyter Dependencies 32 | - ipykernel 33 | - jupyter 34 | 35 | # Movie Dependencies 36 | - ffmpeg>=4.2.4 37 | 38 | # Code Coverage Dependencies 39 | - lcov>=1.14 40 | - coverage>=6.3.2 41 | 42 | # Documentation Dependencies 43 | - sphinx>=3.4.3 44 | - sphinx_rtd_theme>=0.5.0 45 | - nbsphinx>=0.7.1 46 | # conda-forge feedstock is out of date - we need nbsphinx-link >= 1.3.1 47 | # - nbsphinx-link>=1.3.0 48 | - pandoc>=2.5 49 | - doxygen>=1.8.17 50 | - graphviz>=2.42.2 51 | # - breathe>=4.26.1, <=4.31.0 52 | - breathe>=4.26.1 53 | 54 | # Packaging Dependencies 55 | - python-build 56 | - twine 57 | 58 | - pip: 59 | - nbsphinx-link>=1.3.1 -------------------------------------------------------------------------------- /conda_dev_environments/windows/tracktable_dev_python3.12.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.12 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.12 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - libboost-devel>=1.86 25 | - libboost-headers>=1.86 26 | - libboost-python>=1.86 27 | - libboost-python-devel>=1.86 28 | - cmake>=3.19.5 29 | - ninja>=1.10.0 30 | 31 | # Jupyter Dependencies 32 | - ipykernel 33 | - jupyter 34 | 35 | # Movie Dependencies 36 | - ffmpeg>=4.2.4 37 | 38 | # Code Coverage Dependencies 39 | - lcov>=1.14 40 | - coverage>=6.3.2 41 | 42 | # Documentation Dependencies 43 | - sphinx>=3.4.3 44 | - sphinx_rtd_theme>=0.5.0 45 | - nbsphinx>=0.7.1 46 | # conda-forge feedstock is out of date - we need nbsphinx-link >= 1.3.1 47 | # - nbsphinx-link>=1.3.0 48 | - pandoc>=2.5 49 | - doxygen>=1.8.17 50 | - graphviz>=2.42.2 51 | # - breathe>=4.26.1, <=4.31.0 52 | - breathe>=4.26.1 53 | 54 | # Packaging Dependencies 55 | - python-build 56 | - twine 57 | 58 | - pip: 59 | - nbsphinx-link>=1.3.1 -------------------------------------------------------------------------------- /conda_dev_environments/windows/tracktable_dev_python3.13.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.13 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.13 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - libboost-devel>=1.86 25 | - libboost-headers>=1.86 26 | - libboost-python>=1.86 27 | - libboost-python-devel>=1.86 28 | - cmake>=3.19.5 29 | - ninja>=1.10.0 30 | 31 | # Jupyter Dependencies 32 | - ipykernel 33 | - jupyter 34 | 35 | # Movie Dependencies 36 | - ffmpeg>=4.2.4 37 | 38 | # Code Coverage Dependencies 39 | - lcov>=1.14 40 | - coverage>=6.3.2 41 | 42 | # Documentation Dependencies 43 | - sphinx>=3.4.3 44 | - sphinx_rtd_theme>=0.5.0 45 | - nbsphinx>=0.7.1 46 | # conda-forge feedstock is out of date - we need nbsphinx-link >= 1.3.1 47 | # - nbsphinx-link>=1.3.0 48 | - pandoc>=2.5 49 | - doxygen>=1.8.17 50 | - graphviz>=2.42.2 51 | #- breathe>=4.26.1, <=4.31.0 52 | - breathe>=4.26.1 53 | 54 | # Packaging Dependencies 55 | - python-build 56 | - twine 57 | - wheel 58 | 59 | - pip: 60 | - nbsphinx-link>=1.3.1 -------------------------------------------------------------------------------- /conda_dev_environments/windows/tracktable_dev_python3.9.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev-python3.9 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python==3.9 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - libboost-devel>=1.86.0 25 | - libboost-headers>=1.86 26 | - libboost-python>=1.86 27 | - libboost-python-devel>=1.86 28 | - cmake>=3.19.5 29 | - ninja>=1.10.0 30 | 31 | # Jupyter Dependencies 32 | - ipykernel 33 | - jupyter 34 | 35 | # Movie Dependencies 36 | - ffmpeg>=4.2.4 37 | 38 | # Code Coverage Dependencies 39 | - lcov>=1.14 40 | - coverage>=6.3.2 41 | 42 | # Documentation Dependencies 43 | - sphinx>=3.4.3 44 | - sphinx_rtd_theme>=0.5.0 45 | - nbsphinx>=0.7.1 46 | # conda-forge feedstock is out of date - we need nbsphinx-link >= 1.3.1 47 | # - nbsphinx-link>=1.3.0 48 | - pandoc>=2.5 49 | - doxygen>=1.8.17 50 | - graphviz>=2.42.2 51 | - breathe>=4.26.1 52 | 53 | # Packaging Dependencies 54 | - python-build 55 | - twine 56 | 57 | - pip: 58 | - nbsphinx-link>=1.3.1 59 | -------------------------------------------------------------------------------- /documentation_build_environment.yml: -------------------------------------------------------------------------------- 1 | # Conda environment for readthedocs.io 2 | # 3 | # When we upload documentation to readthedocs, it gets 4 | # built inside a Conda environment. This file specifies 5 | # that environment's contents. It is stripped down to 6 | # what we believe is a minimal set of requirements. 7 | 8 | name: tracktable-readthedocs 9 | channels: 10 | - conda-forge 11 | dependencies: 12 | # Git Dependencies 13 | - git 14 | - git-lfs 15 | 16 | # Python Dependencies 17 | - python>=3.10 18 | - matplotlib>=3.0 19 | - scipy>=1.5.2 20 | - tracktable 21 | - tracktable-data>=1.7.3 22 | - pip 23 | 24 | # Jupyter Dependencies 25 | - ipykernel 26 | - jupyter 27 | 28 | # Documentation Dependencies 29 | - sphinx>=3.4.3 30 | - sphinx_rtd_theme>=0.5.0 31 | - nbsphinx>=0.7.1 32 | - nbsphinx-link>=1.3.0 33 | - pandoc>=2.5 34 | - doxygen>=1.8.17 35 | - graphviz>=2.42.2 36 | - breathe>=4.26.1, <=4.31.0 37 | -------------------------------------------------------------------------------- /git_hooks/README_hooks.md: -------------------------------------------------------------------------------- 1 | # Git Hooks 2 | 3 | This directory contains helpful Git hooks that we use during Tracktable development. To use them, copy the contents of the directory into the `.git/hooks` directory in your cloned copy of Tracktable. 4 | 5 | You will need to install the `gitpython` package for these to work. 6 | -------------------------------------------------------------------------------- /mypy.ini: -------------------------------------------------------------------------------- 1 | # Global options: 2 | [mypy] 3 | warn_return_any = True 4 | 5 | # Per-module options: 6 | 7 | [mypy-matplotlib.*] 8 | ignore_missing_imports = True 9 | 10 | [mypy-numpy.*] 11 | ignore_missing_imports = True 12 | 13 | [mypy-folium.*] 14 | ignore_missing_imports = True 15 | 16 | [mypy-tqdm.*] 17 | ignore_missing_imports = True 18 | 19 | [mypy-cartopy.*] 20 | ignore_missing_imports = True 21 | 22 | [mypy-pyproj.*] 23 | ignore_missing_imports = True 24 | 25 | [mypy-bokeh.*] 26 | ignore_missing_imports = True 27 | 28 | [mypy-ipywidgets.*] 29 | ignore_missing_imports = True 30 | 31 | [mypy-ipyleaflet.*] 32 | ignore_missing_imports = True 33 | 34 | [mypy-IPython.*] 35 | ignore_missing_imports = True 36 | 37 | [mypy-shapely.*] 38 | ignore_missing_imports = True 39 | 40 | [mypy-shapefile.*] 41 | ignore_missing_imports = True 42 | 43 | [mypy-PIL.*] 44 | ignore_missing_imports = True 45 | 46 | [mypy-mpl_toolkits.*] 47 | ignore_missing_imports = True -------------------------------------------------------------------------------- /packaging/MANIFEST.in: -------------------------------------------------------------------------------- 1 | graft Python/tracktable 2 | -------------------------------------------------------------------------------- /packaging/conda-forge/feedstock/README.md: -------------------------------------------------------------------------------- 1 | # Conda-Forge Tracktable Package 2 | 3 | The original conda-forge PR can be found here: https://github.com/conda-forge/staged-recipes/pull/14690 4 | 5 | The conda-forge variant of our tracktable recipe is copied in this folder 6 | as a reference against our locally maintained recipe as there are differences 7 | between them due to how conda-forge performs build and maintenance; Because of this we 8 | can't run the same recipe both locally and on conda-forge meaning we have two 9 | functional recipes out in the wild. 10 | 11 | The differences are subtle (for the most part) and as such are listed below: 12 | 13 | ## conda_build_config.yaml 14 | * The conda-forge recipe is missing `conda_build_config.yaml` as the variant builds are 15 | handled globally on conda-forge, i.e. builds for different `python`, `boost` and `numpy` versions 16 | - Accordingly the `meta.yaml` is missing the `{{package}}` syntax for `python` and `boost` and 17 | the version constraint of `numpy` is removed for the same reason listed above 18 | 19 | ## meta.yaml 20 | * All comments and unused section have been removed for a clean file 21 | * `Build number` Jinja syntax has been removed i.e. `build number` is no longer set by a variable 22 | * License file location is pointing at a different location 23 | 24 | ## bld.bat 25 | * Removed debug commands for displaying environment and cmake vars 26 | 27 | ## build.sh 28 | * Removed debug commands for displaying environment and cmake vars 29 | * Removed Linux and Darwin specific build commands as conda-forge correctly handles the 30 | `${CMAKE_ARGS}` variable and will set the appropriate `sysroot` -------------------------------------------------------------------------------- /packaging/conda-forge/feedstock/bld.bat: -------------------------------------------------------------------------------- 1 | @REM Build Windows package from tracktable source 2 | 3 | :: MSVC is preferred. 4 | set CC=cl.exe 5 | set CXX=cl.exe 6 | 7 | mkdir build 8 | if errorlevel 1 exit 1 9 | cd build 10 | if errorlevel 1 exit 1 11 | cmake^ 12 | -G"Ninja"^ 13 | -DBOOST_ROOT:PATH=%BUILD_PREFIX%^ 14 | -DCMAKE_INSTALL_PREFIX:PATH=%PREFIX%^ 15 | -DCMAKE_BUILD_TYPE="Release"^ 16 | -DBUILD_DOCUMENTATION=OFF^ 17 | -DPython3_EXECUTABLE:FILEPATH=%PYTHON%^ 18 | -DPython3_ROOT_DIR:PATH=%PREFIX%^ 19 | %SRC_DIR% 20 | if errorlevel 1 exit 1 21 | ninja -j%CPU_COUNT% 22 | if errorlevel 1 exit 1 23 | ninja install 24 | if errorlevel 1 exit 1 25 | cd %PREFIX% 26 | if errorlevel 1 exit 1 27 | %PYTHON% %SRC_DIR%/packaging/setup-generic.py install 28 | if errorlevel 1 exit 1 29 | -------------------------------------------------------------------------------- /packaging/conda-forge/feedstock/build.sh: -------------------------------------------------------------------------------- 1 | # Build Linux or MacOS package from tracktable source 2 | mkdir build 3 | cd build 4 | cmake ${CMAKE_ARGS} \ 5 | -D CMAKE_BUILD_TYPE=Release \ 6 | -D BUILD_DOCUMENTATION=OFF \ 7 | -D Python3_EXECUTABLE:FILEPATH=${PYTHON} \ 8 | -D Python3_ROOT_DIR:PATH=${PREFIX} \ 9 | $SRC_DIR 10 | make -j${CPU_COUNT} 11 | make install 12 | cd ${PREFIX} 13 | ${PYTHON} ${SRC_DIR}/packaging/setup-generic.py install 14 | -------------------------------------------------------------------------------- /packaging/conda/bld.bat: -------------------------------------------------------------------------------- 1 | @REM Build Windows package from tracktable source 2 | set "CXX=cl.exe" 3 | set "CC=cl.exe" 4 | echo ENVIRONMENT_VARS 5 | set 6 | mkdir build 7 | if errorlevel 1 exit 1 8 | cd build 9 | if errorlevel 1 exit 1 10 | cmake^ 11 | -G "Ninja"^ 12 | -DBOOST_ROOT:PATH=%BUILD_PREFIX%^ 13 | -DCMAKE_INSTALL_PREFIX:PATH=%PREFIX%^ 14 | -DCMAKE_BUILD_TYPE="Release"^ 15 | -DBUILD_DOCUMENTATION=OFF^ 16 | -DPython3_EXECUTABLE:FILEPATH=%PYTHON%^ 17 | -DPython3_ROOT_DIR:PATH=%PREFIX%^ 18 | %SRC_DIR%^ 19 | -LA 20 | if errorlevel 1 exit 1 21 | ninja -j%CPU_COUNT% 22 | if errorlevel 1 exit 1 23 | ninja install 24 | if errorlevel 1 exit 1 25 | cd %PREFIX% 26 | %PYTHON% %SRC_DIR%/packaging/setup-generic.py install 27 | if errorlevel 1 exit 1 -------------------------------------------------------------------------------- /packaging/conda/build.sh: -------------------------------------------------------------------------------- 1 | 2 | set -o nounset 3 | 4 | # Build Linux or MacOS package from tracktable source 5 | if [[ $(uname) == Linux ]]; then 6 | printenv 7 | if [ -d "build" ]; then 8 | cd build 9 | make clean 10 | else 11 | mkdir build 12 | cd build 13 | fi 14 | cmake -D BOOST_ROOT:PATH=${BUILD_PREFIX} \ 15 | -D CMAKE_INSTALL_PREFIX:PATH=${PREFIX} \ 16 | -D CMAKE_BUILD_TYPE=Release \ 17 | -D BUILD_DOCUMENTATION=OFF \ 18 | -D Python3_EXECUTABLE:FILEPATH=${PYTHON} \ 19 | -D Python3_ROOT_DIR:PATH=${PREFIX} \ 20 | $SRC_DIR \ 21 | -LA 22 | make -j${CPU_COUNT} 23 | # ctest 24 | make install 25 | cd ${PREFIX} 26 | ${PYTHON} ${SRC_DIR}/packaging/setup-generic.py install 27 | elif [[ $(uname) == Darwin ]]; then 28 | printenv 29 | if [ -d "build" ]; then 30 | cd build 31 | make clean 32 | else 33 | mkdir build 34 | cd build 35 | fi 36 | cmake -D BOOST_ROOT:PATH=${BUILD_PREFIX} \ 37 | -D CMAKE_INSTALL_PREFIX:PATH=${PREFIX} \ 38 | -D CMAKE_BUILD_TYPE=Release \ 39 | -D BUILD_DOCUMENTATION=OFF \ 40 | -D Python3_EXECUTABLE:FILEPATH=${PYTHON} \ 41 | -D Python3_ROOT_DIR:PATH=${PREFIX} \ 42 | -D CMAKE_OSX_SYSROOT=${CONDA_BUILD_SYSROOT} \ 43 | $SRC_DIR \ 44 | -LA 45 | export CFLAGS="${CFLAGS} -i sysroot ${CONDA_BUILD_SYSROOT}" 46 | export CPPFLAGS="${CPPFLAGS} -i sysroot ${CONDA_BUILD_SYSROOT}" 47 | make -j${CPU_COUNT} 48 | # ctest 49 | make install 50 | cd ${PREFIX} 51 | ${PYTHON} ${SRC_DIR}/packaging/setup-generic.py install 52 | fi 53 | -------------------------------------------------------------------------------- /packaging/conda/conda_build_config.yaml: -------------------------------------------------------------------------------- 1 | CONDA_BUILD_SYSROOT: 2 | - /opt/MacOSX10.10.sdk # [osx] 3 | 4 | # MACOSX_DEPLOYMENT_TARGET: # [osx and x86_64] 5 | # - 10.12 # [osx and x86_64] 6 | 7 | # MACOSX_SDK_VERSION: # [osx and x86_64] 8 | # - 11.0 # [osx and x86_64] 9 | 10 | python: 11 | - 3.6 12 | - 3.7 13 | - 3.8 14 | - 3.9 15 | 16 | boost: 17 | - 1.73 # [(win and py<39) or linux or osx] 18 | - 1.74 19 | - 1.75 20 | 21 | cxx_compiler: 22 | - gxx # [linux] 23 | - clang # [osx] 24 | - vs2019 # [win] 25 | 26 | c_compiler: 27 | - gcc # [linux] 28 | - clang # [osx] 29 | - vs2019 # [win] 30 | 31 | vc: # [win] 32 | - 14 # [win] 33 | 34 | c_compiler_version: # [osx] 35 | - "*" # [osx] 36 | 37 | cxx_compiler_version: # [osx or (linux and ppc64le)] 38 | - "*" # [osx] 39 | 40 | # target_platform: 41 | # - osx-64 42 | # - linux-64 43 | # - win-64 44 | 45 | # icu: 46 | # - 58 # [not s390x] 47 | # - 68 # [s390x] 48 | -------------------------------------------------------------------------------- /packaging/conda/unix_conda_builder_environment.yml: -------------------------------------------------------------------------------- 1 | # Ananconda Environment For Building Unix (Linux/MacOS) Conda Packages 2 | name: unix_conda_builder 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Conda-Build Dependencies 7 | - conda-build 8 | - conda-verify 9 | - anaconda-client 10 | - patch 11 | -------------------------------------------------------------------------------- /packaging/conda/win_conda_builder_environment.yml: -------------------------------------------------------------------------------- 1 | # Ananconda Environment For Building Windows Conda Packages 2 | name: win_conda_builder 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Conda-Build Dependencies 7 | - conda-build 8 | - conda-verify 9 | - anaconda-client 10 | - m2-patch 11 | -------------------------------------------------------------------------------- /packaging/pypi/linux/build_all.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Exit immediately on error. 4 | set -e 5 | 6 | # Change these if you want to update the Boost version. The default below 7 | # is Boost 1.82.0. Remember to update clean_all.sh when you change this. 8 | export BOOST_MAJOR_VERSION=1 9 | export BOOST_MINOR_VERSION=82 10 | export BOOST_PATCH_VERSION=0 11 | 12 | # Change this if you want to update the CMake version. 13 | export CMAKE_VERSION=3.22.2 14 | 15 | # Change this if you want to update the Manylinux version. 16 | export MANYLINUX_TAG=manylinux2014_x86_64 17 | 18 | pushd stage1_boost_multipython 19 | ./build_all.sh 20 | popd 21 | 22 | pushd stage2_cmake 23 | ./build_all.sh 24 | popd 25 | 26 | pushd stage3_tracktable 27 | ./build_all.sh 28 | popd 29 | 30 | pushd stage4_wheel 31 | ./build_all.sh 32 | popd 33 | -------------------------------------------------------------------------------- /packaging/pypi/linux/clean_all.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script removes absolutely all the images created by 4 | # this project. At present it hard-codes the Boost version. 5 | 6 | BOOST_VERSION=1.82.0 7 | 8 | for py_version in cp35 cp36 cp37 cp38 cp39 cp310; do 9 | docker rmi tracktable:${py_version} \ 10 | tracktable-wheel:${py_version} \ 11 | boost-${BOOST_VERSION}:${py_version} 12 | done 13 | 14 | docker rmi boost_multipython:latest 15 | docker rmi boost_multipython_cmake:latest 16 | docker rmi boost_downloaded:${BOOST_VERSION} 17 | docker rmi quay.io/pypa/manylinux2010_x86_64 18 | -------------------------------------------------------------------------------- /packaging/pypi/linux/clean_tracktable.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This script removes the Docker images containing the Tracktable 4 | # build trees and wheels. It makes way for a new build of a 5 | # different version. 6 | 7 | for version in cp35 cp36 cp37 cp38 cp39 cp310; do 8 | docker rmi tracktable:${version} tracktable-wheel:${version} 9 | done 10 | 11 | -------------------------------------------------------------------------------- /packaging/pypi/linux/functions/parsing.sh: -------------------------------------------------------------------------------- 1 | # Useful Bash functions that we use in building wheels 2 | 3 | 4 | # Trim leading and trailing whitespace. 5 | # 6 | # From https://stackoverflow.com/questions/369758/how-to-trim-whitespace-from-a-bash-variable 7 | # 8 | # Output variable: _trimmed_string 9 | trim() { 10 | local var="$*" 11 | # remove leading whitespace 12 | var="${var#"${var%%[![:space:]]*}"}" 13 | # remove trailing whitespace 14 | var="${var%"${var##*[![:space:]]}"}" 15 | export _trimmed_string="${var}" 16 | } 17 | 18 | # Parse Python implementation into version and options. 19 | # For example, 'cp37-cp37m' -> 'cp37' and 'cp37m'. 20 | # 21 | # Output variables: 22 | # _python_version, _python_abi 23 | 24 | parse_python_version() { 25 | local _full_version="$*" 26 | trim "${_full_version}" 27 | _full_version=${_trimmed_string} 28 | 29 | if [[ ${_full_version} =~ ^(cp[[:digit:]]+[m]?)-(cp[[:digit:]]+[m]?) ]]; then 30 | export _python_version=${BASH_REMATCH[1]} 31 | export _python_abi=${BASH_REMATCH[2]} 32 | else 33 | echo "ERROR: Couldn't parse Python implementation name: ${_full_version}" 34 | exit 3 35 | fi 36 | } 37 | -------------------------------------------------------------------------------- /packaging/pypi/linux/stage1_boost_multipython/Dockerfile.build_boost: -------------------------------------------------------------------------------- 1 | # Manylinux2010-derived image that will include Boost and versions of 2 | # Boost.Python for all available Python versions. 3 | 4 | ARG BOOST_DOWNLOADED_CONTAINER 5 | 6 | # Download our boost base image. 7 | 8 | # Docker throws a syntax error if we try to say 9 | # FROM boost_downloaded:${BOOST_VERSION} 10 | # ...so we just pass in the whole image name instead. 11 | FROM ${BOOST_DOWNLOADED_CONTAINER} 12 | 13 | ARG PYTHON_IMPLEMENTATION 14 | ARG BOOST_VERSION_DOTS 15 | ARG BOOST_VERSION_UNDERSCORES 16 | 17 | ENV PYTHON_IMPLEMENTATION=${PYTHON_IMPLEMENTATION} 18 | ENV BOOST_VERSION_DOTS=${BOOST_VERSION_DOTS} 19 | ENV BOOST_VERSION_UNDERSCORES=${BOOST_VERSION_UNDERSCORES} 20 | 21 | ### ---------------------------------------------------------------------- 22 | ### 23 | ### Step 1: Make sure Boost.Build will be able to find the include files 24 | ### 25 | 26 | WORKDIR /opt/src 27 | COPY make_python_include_symlink.sh . 28 | RUN /opt/src/make_python_include_symlink.sh ${PYTHON_IMPLEMENTATION} 29 | 30 | ### ---------------------------------------------------------------------- 31 | ### 32 | ### Step 2: Build and install Boost 33 | ### 34 | 35 | # Build and install Boost and clean up after ourselves 36 | WORKDIR /opt/src/boost_${BOOST_VERSION_UNDERSCORES} 37 | RUN \ 38 | ./bootstrap.sh --prefix=/usr/local --with-python=/opt/python/${PYTHON_IMPLEMENTATION}/bin/python \ 39 | && ./b2 -j 4 -d0 install 40 | WORKDIR /opt/src 41 | RUN rm -rf boost_${BOOST_VERSION_UNDERSCORES} 42 | 43 | # Since docker cp doesn't support wildcards, we'll just stash the libraries 44 | # we care about in a directory we can pull wholesale 45 | RUN mkdir /boost_python 46 | WORKDIR /usr/local/lib 47 | RUN tar cf /boost_python/boost_python_libraries.tar libboost_python* 48 | 49 | ENTRYPOINT [ "/bin/bash", "-l", "-c" ] 50 | 51 | -------------------------------------------------------------------------------- /packaging/pypi/linux/stage1_boost_multipython/Dockerfile.collect_boost_python: -------------------------------------------------------------------------------- 1 | # Last stage of building Boost for all Python versions: 2 | # 3 | # Collect all of the libboost_python binaries into a single image. 4 | 5 | ARG BASE_MULTIPYTHON_IMAGE 6 | FROM ${BASE_MULTIPYTHON_IMAGE} 7 | 8 | COPY ./libboost_python_tmp/* /usr/local/lib 9 | 10 | ENTRYPOINT [ "/bin/bash", "-c", "-l" ] 11 | 12 | -------------------------------------------------------------------------------- /packaging/pypi/linux/stage1_boost_multipython/make_python_include_symlink.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # The Python include directory is often called 'python3.7m'. The 4 | # Boost build process expects to see just 'python3.7'. Make a symlink 5 | # if needed. In fact, just make symlinks to ensure that both 6 | # directories exist. 7 | 8 | 9 | FULL_IMPLEMENTATION=$1 10 | 11 | PYTHON_HOME=/opt/python/${FULL_IMPLEMENTATION} 12 | PYTHON=${PYTHON_HOME}/bin/python 13 | 14 | EXPECTED_INCLUDE_DIR_NAME=$(${PYTHON} -c 'from __future__ import print_function; import sys; print("python{}.{}".format(sys.version_info.major, sys.version_info.minor))') 15 | 16 | DIRECTORY_WITHOUT_M=${PYTHON_HOME}/include/${EXPECTED_INCLUDE_DIR_NAME} 17 | DIRECTORY_WITH_M=${DIRECTORY_WITHOUT_M}m 18 | 19 | if [ -d ${DIRECTORY_WITHOUT_M} ]; then 20 | echo "INFO: Python include directly already exists at expected path. No repair necessary." 21 | elif [ -d ${DIRECTORY_WITH_M} ]; then 22 | echo "INFO: Making Python include directory symlink from ${DIRECTORY_WITH_M} to ${DIRECTORY_WITHOUT_M} so Boost can find it." 23 | ln -s ${DIRECTORY_WITH_M} ${DIRECTORY_WITHOUT_M} 24 | else 25 | echo "ERROR: Include directory for Python implementation ${FULL_IMPLEMENTATION} is not where we expect it (${DIRECTORY_WITH_M} or ${DIRECTORY_WITHOUT_M})." 26 | exit 1 27 | fi 28 | -------------------------------------------------------------------------------- /packaging/pypi/linux/stage2_cmake/Dockerfile: -------------------------------------------------------------------------------- 1 | # Manylinux1-derived image for building and packaging Tracktable 2 | # for use on Linux. 3 | 4 | # Download base image 5 | ARG CMAKE_VERSION 6 | ARG SOURCE_IMAGE 7 | 8 | FROM ${SOURCE_IMAGE} 9 | 10 | ARG CMAKE_VERSION 11 | ENV cmake_version=${CMAKE_VERSION} 12 | 13 | ### ---------------------------------------------------------------------- 14 | ### 15 | ### Step 1: Delete the old CMake since it's too old to be useful 16 | ### 17 | 18 | # RUN yum -y erase cmake 19 | 20 | ### ---------------------------------------------------------------------- 21 | ### 22 | ### Step 2: Download and build CMake 23 | ### 24 | 25 | WORKDIR /opt/src 26 | 27 | # This curl command works but due to some proxy issues we're downloading 28 | # boost outside of the container for now and just copying it in 29 | # RUN curl \ 30 | # --location \ 31 | # -o cmake-${CMAKE_VERSION}.tar.gz \ 32 | # https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}.tar.gz 33 | 34 | COPY cmake-${cmake_version}.tar.gz . 35 | 36 | # Build and install CMake and clean up behind ourselves 37 | RUN tar xzf cmake-${cmake_version}.tar.gz 38 | WORKDIR /opt/src/cmake-${cmake_version} 39 | RUN ./bootstrap --prefix=/usr/local \ 40 | && make -j 4 \ 41 | && make install 42 | WORKDIR /opt/src 43 | RUN rm -rf cmake-${cmake_version} 44 | 45 | # The "-c -l" is necessary to get an actual login shell. If you 46 | # skip it, you will often get an error from Docker like 47 | # "cannot execute binary file". 48 | 49 | ENTRYPOINT [ "/bin/bash", "-c", "-l" ] 50 | 51 | -------------------------------------------------------------------------------- /packaging/pypi/linux/stage3_tracktable/Dockerfile.build_tracktable: -------------------------------------------------------------------------------- 1 | ARG SOURCE_IMAGE 2 | FROM ${SOURCE_IMAGE} 3 | 4 | ARG PYTHON_IMPLEMENTATION 5 | ARG CI_PROJECT_DIR 6 | ARG MANYLINUX_TAG 7 | ENV MANYLINUX_TAG=${MANYLINUX_TAG} 8 | ARG NIGHTLY 9 | ENV NIGHTLY=${NIGHTLY} 10 | ARG DEVELOPMENT 11 | ENV DEVELOPMENT=${DEVELOPMENT} 12 | ARG DEV_NUMBER 13 | ENV DEV_NUMBER=${DEV_NUMBER} 14 | ENV CI_PROJECT_DIR=${CI_PROJECT_DIR} 15 | ENV PYTHON_IMPLEMENTATION=${PYTHON_IMPLEMENTATION} 16 | ENV PYTHON_HOME=/opt/python/${PYTHON_IMPLEMENTATION}-${PYTHON_IMPLEMENTATION}m 17 | 18 | COPY create_dummy_libpython.sh . 19 | COPY install_numpy.sh . 20 | 21 | RUN ./create_dummy_libpython.sh ${PYTHON_IMPLEMENTATION} 22 | RUN ./install_numpy.sh ${PYTHON_IMPLEMENTATION} 23 | 24 | WORKDIR /opt/src 25 | RUN mkdir tracktable 26 | COPY tracktable tracktable/src 27 | RUN mkdir tracktable/build 28 | 29 | WORKDIR /opt/src/tracktable/build 30 | COPY configure_tracktable.sh . 31 | RUN ./configure_tracktable.sh ${PYTHON_IMPLEMENTATION} ${MANYLINUX_TAG} 32 | 33 | # This will run the build with standard CMake output. 34 | RUN make -j 4 install && make clean 35 | 36 | # Use this line instead if you want to see all the compiler calls in 37 | # their messy glory. 38 | # RUN VERBOSE=1 make -j 4 install && make clean 39 | 40 | ENTRYPOINT ["/bin/bash", "-c", "-l"] 41 | -------------------------------------------------------------------------------- /packaging/pypi/linux/stage3_tracktable/configure_tracktable.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Exit immediately on error 4 | set -e 5 | 6 | PYTHON_IMPLEMENTATION=$1 7 | PYTHON_HOME=/opt/python/${PYTHON_IMPLEMENTATION} 8 | MANYLINUX_TAG=$2 9 | 10 | # This should exist: we put the symlink into place if needed back in 11 | # Stage 1 when we built Boost. 12 | PYTHON_INCLUDE_DIR_NAME=$(${PYTHON_HOME}/bin/python -c 'from __future__ import print_function; import sys; print("python{}.{}".format(sys.version_info.major, sys.version_info.minor))') 13 | PYTHON_INCLUDE_DIR=${PYTHON_HOME}/include/${PYTHON_INCLUDE_DIR_NAME} 14 | 15 | if [ ! -d ${PYTHON_INCLUDE_DIR} ]; then 16 | echo "WARNING: Python include directory not found at expected path ${PYTHON_INCLUDE_DIR}." 17 | PYTHON_INCLUDE_DIR="${PYTHON_INCLUDE_DIR}m" 18 | if [ ! -d ${PYTHON_INCLUDE_DIR} ]; then 19 | echo "ERROR: Python include directory not found at fallback path ${PYTHON_INCLUDE_DIR} either." 20 | echo " Build cannot continue." 21 | exit 1 22 | fi 23 | fi 24 | 25 | # We need Jupyter as part of the build 26 | ${PYTHON_HOME}/bin/pip install --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org jupyter 27 | export PATH="${PYTHON_HOME}/bin:${PATH}" 28 | 29 | echo "INFO: Configuring Tracktable for CPython version ${PYTHON_IMPLEMENTATION}." 30 | echo "INFO: Current directory: ${PWD}" 31 | echo "INFO: Contents of ../src:" 32 | ls ../src 33 | 34 | cmake \ 35 | -DCMAKE_BUILD_TYPE=Release \ 36 | -DCMAKE_INSTALL_PREFIX=/opt/src/tracktable/install \ 37 | -DBoost_INCLUDE_DIR=/usr/local/include \ 38 | -DPython3_EXECUTABLE=${PYTHON_HOME}/bin/python \ 39 | -DPython3_INCLUDE_DIR=${PYTHON_INCLUDE_DIR} \ 40 | -DBUILD_TESTING=OFF \ 41 | -DBUILD_EXAMPLES=OFF \ 42 | -DMANYLINUX_WHEEL_TAG=${MANYLINUX_TAG} \ 43 | ../src 44 | -------------------------------------------------------------------------------- /packaging/pypi/linux/stage3_tracktable/create_dummy_libpython.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # CMake insists on finding libpython.so before it will go look for 4 | # headers. It isn't there if the interpreter has been statically 5 | # linked. This script creates a dummy file just to make it happy. 6 | 7 | # Exit immediately on error 8 | set -e 9 | 10 | IMPLEMENTATION=$1 11 | PYTHON_HOME=/opt/python/${IMPLEMENTATION} 12 | 13 | if [ ! -d ${PYTHON_HOME}/lib ]; then 14 | echo "ERROR: create_dummy_libpython.sh: Python library directory not found at expected path ${PYTHON_HOME}/lib" 15 | exit 1 16 | fi 17 | 18 | PYTHON=${PYTHON_HOME}/bin/python 19 | PYTHON_VERSION=`$PYTHON -c 'from __future__ import print_function; import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))'` 20 | 21 | # Just to cover all bases -- create both libpythonX.Y.so 22 | # and libpythonX.Ym.so 23 | 24 | if [ ! -e ${PYTHON_HOME}/lib/libpython${PYTHON_VERSION}m.so ]; then 25 | echo "INFO: create_dummy_libpython.sh: Creating dummy file for libpython${PYTHON_VERSION}m.so" 26 | touch ${PYTHON_HOME}/lib/libpython${PYTHON_VERSION}m.so 27 | fi 28 | 29 | if [ ! -e ${PYTHON_HOME}/lib/libpython${PYTHON_VERSION}.so ]; then 30 | echo "INFO: create_dummy_libpython.sh: Creating dummy file for libpython${PYTHON_VERSION}.so" 31 | touch ${PYTHON_HOME}/lib/libpython${PYTHON_VERSION}.so 32 | fi 33 | -------------------------------------------------------------------------------- /packaging/pypi/linux/stage3_tracktable/install_numpy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | IMPLEMENTATION=$1 4 | PYTHON_HOME=/opt/python/${IMPLEMENTATION} 5 | 6 | if [ ! -f ${PYTHON_HOME}/bin/pip ]; then 7 | echo "ERROR: install_numpy.sh: Pip not found at expected path ${PYTHON_HOME}/bin/pip" 8 | exit 1 9 | fi 10 | 11 | echo "INFO: Installing NumPy for Python implementation ${IMPLEMENTATION}" 12 | ${PYTHON_HOME}/bin/pip install --trusted-host pypi.python.org --trusted-host pypi.org --trusted-host files.pythonhosted.org numpy 13 | -------------------------------------------------------------------------------- /packaging/pypi/linux/stage4_wheel/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG TRACKTABLE_BUILD_CONTAINER 2 | ARG PYTHON_IMPLEMENTATION 3 | 4 | FROM ${TRACKTABLE_BUILD_CONTAINER} 5 | 6 | 7 | ENV PYTHON_IMPLEMENTATION=${PYTHON_IMPLEMENTATION} 8 | 9 | ARG NIGHTLY 10 | ENV NIGHTLY=${NIGHTLY} 11 | 12 | ARG DEVELOPMENT 13 | ENV DEVELOPMENT=${DEVELOPMENT} 14 | 15 | ARG DEV_NUMBER 16 | ENV DEV_NUMBER=${DEV_NUMBER} 17 | 18 | ARG CI_JOB_TOKEN 19 | ARG CI_API_V4_URL 20 | ARG CI_PROJECT_ID 21 | ENV CI_JOB_TOKEN=${CI_JOB_TOKEN} 22 | ENV CI_API_V4_URL=${CI_API_V4_URL} 23 | ENV CI_PROJECT_ID=${CI_PROJECT_ID} 24 | 25 | RUN /opt/python/${PYTHON_IMPLEMENTATION}/bin/pip config set global.trusted-host "pypi.org pypi.python.org files.pythonhosted.org" 26 | 27 | WORKDIR /opt/src/tracktable/build 28 | RUN /opt/python/${PYTHON_IMPLEMENTATION}/bin/pip install \ 29 | --trusted-host pypi.python.org \ 30 | --trusted-host pypi.org \ 31 | --trusted-host files.pythonhosted.org \ 32 | packaging build python-build wheel \ 33 | && VERBOSE=1 make wheel \ 34 | && mkdir /finished_wheels \ 35 | && cp /opt/src/tracktable/build/wheel/wheelhouse/*.whl /finished_wheels 36 | 37 | ENTRYPOINT ["/bin/bash", "-c", "-l"] 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /packaging/setup.cfg: -------------------------------------------------------------------------------- 1 | [metadata] 2 | # These need to be here as long as we're building wheels for Python 3.6. 3 | # The version of python-build that Pip installs for 3.6 does not know 4 | # to look in pyproject.toml. 5 | name = tracktable 6 | version = 1.7.2 7 | maintainer = "Andy Wilson" 8 | maintainer_email = "atwilso@sandia.gov" 9 | 10 | [options] 11 | include_package_data = True 12 | packages = find: 13 | package_dir = 14 | = Python 15 | zip_safe = False 16 | 17 | [options.packages.find] 18 | where = Python 19 | 20 | # These are superseded by MANIFEST.in 21 | [options.package_data] 22 | * = 23 | *.md 24 | *.txt 25 | *.ipynb 26 | *.png 27 | *.dll 28 | *.pyd 29 | *.so 30 | *.dylib 31 | -------------------------------------------------------------------------------- /tracktable.pc.in: -------------------------------------------------------------------------------- 1 | prefix="@CMAKE_INSTALL_PREFIX@" 2 | exec_prefix="${prefix}" 3 | libdir="${prefix}/@CMAKE_INSTALL_LIBDIR@" 4 | includedir="${prefix}/include" 5 | boost_library_dir=@Boost_LIBRARY_DIRS@ 6 | boost_include_dir=@Boost_INCLUDE_DIRS@ 7 | boost_components=@BOOST_CORE_COMPONENTS_NEEDED@ 8 | cxx_standard=@CMAKE_CXX_STANDARD@ 9 | 10 | Name: tracktable 11 | Description: Trajectory analysis and rendering library 12 | Requires: @PKGCONFIG_REQUIRES_PUBLIC@ 13 | Requires.private: @PKGCONFIG_REQUIRES_PRIVATE@ 14 | Version: @PROJECT_VERSION@ 15 | Libs: -L@Boost_LIBRARY_DIRS@ @Boost_LIBRARIES@ -L${libdir} -lm -lTracktableCore -lTracktableDomain @CMAKE_THREAD_LIBS_INIT@ 16 | Cflags: -I@Boost_INCLUDE_DIR@ -I${includedir}/tracktable-@PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@ 17 | -------------------------------------------------------------------------------- /tracktable/Analysis/detail/extract_pair_member.h: -------------------------------------------------------------------------------- 1 | #ifndef __tracktable_extract_pair_member_h 2 | #define __tracktable_extract_pair_member_h 3 | 4 | #include 5 | #include 6 | 7 | namespace tracktable { 8 | 9 | template 10 | struct ExtractFirst 11 | { 12 | typename pair_type::first_type operator()(pair_type const& input) const 13 | { 14 | return input.first; 15 | } 16 | }; 17 | 18 | template 19 | struct ExtractSecond 20 | { 21 | typename pair_type::second_type operator()(pair_type const& input) const 22 | { 23 | return input.second; 24 | } 25 | }; 26 | 27 | } // namespace tracktable 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /tracktable/CommandLineFactories/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2023 National Technology and Engineering Solutions of 2 | # Sandia, LLC. Under the terms of Contract DE-NA0003525 with National Technology 3 | # and Engineering Solutions of Sandia, LLC, the U.S. Government retains certain 4 | # rights in this software. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions are met: 8 | # 9 | # 1. Redistributions of source code must retain the above copyright notice, this 10 | # list of conditions and the following disclaimer. 11 | # 12 | # 1. Redistributions in binary form must reproduce the above copyright notice, 13 | # this list of conditions and the following disclaimer in the documentation 14 | # and/or other materials provided with the distribution. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 20 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | 27 | add_library(TracktableFactory INTERFACE) 28 | target_link_libraries( 29 | TracktableFactory INTERFACE TracktableCore TracktableDomain 30 | ${Boost_LIBRARIES}) 31 | 32 | add_subdirectory(Tests) -------------------------------------------------------------------------------- /tracktable/CommandLineFactories/Tests/FactoryTestMain.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | /** All this file does is set up main for catch2 tests **/ 32 | // clang-format off 33 | #define CATCH_CONFIG_MAIN 34 | #include 35 | // clang-format on -------------------------------------------------------------------------------- /tracktable/Core/WarningGuards/DeprecatedDeclaration.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #if defined(__clang__) 32 | # pragma clang diagnostic ignored "-Wdeprecated-declarations" 33 | #elif defined(__GNUC__) 34 | # pragma GCC diagnostic ignored "-Wpragmas" 35 | #endif 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /tracktable/Core/WarningGuards/PopWarningState.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #if defined(__clang__) 32 | # pragma clang diagnostic pop 33 | #elif defined(__GNUC__) 34 | # pragma GCC diagnostic pop 35 | #elif defined(_MSC_VER) 36 | # pragma warning( pop ) 37 | #endif 38 | 39 | -------------------------------------------------------------------------------- /tracktable/Core/WarningGuards/PragmaMessages.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #if defined(__clang__) 32 | # pragma clang diagnostic ignored "-W#pragma-messages" 33 | #elif defined(__GNUC__) 34 | # pragma GCC diagnostic ignored "-Wpragmas" 35 | #endif 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /tracktable/Core/WarningGuards/PushWarningState.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #if defined(__clang__) 32 | # pragma clang diagnostic push 33 | #elif defined(__GNUC__) 34 | # pragma GCC diagnostic push 35 | #elif defined(_MSC_VER) 36 | # pragma warning( push ) 37 | #endif 38 | 39 | -------------------------------------------------------------------------------- /tracktable/Core/WarningGuards/ShadowedDeclaration.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #if defined(__clang__) 32 | # pragma clang diagnostic ignored "-Wshadow" 33 | #elif defined(__GNUC__) 34 | # pragma GCC diagnostic ignored "-Wshadow" 35 | #endif 36 | 37 | -------------------------------------------------------------------------------- /tracktable/Core/WarningGuards/SizeTConversion.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | // Disable warning about conversion from size_t to int losing 32 | // precision. 33 | 34 | #if defined(_MSC_VER) 35 | # pragma warning( disable: 4267 ) 36 | #endif 37 | 38 | -------------------------------------------------------------------------------- /tracktable/Examples/Assemble/README.md: -------------------------------------------------------------------------------- 1 | The assemble example demonstrates: 2 | - Using command line factories to read points and assemble trajectories 3 | - Writing trajectories to file for later use 4 | 5 | Typical use: 6 | ./assemble --input=/data/flights.tsv --output=/data/flights.trj 7 | 8 | Defaults assume a tab separated file formatted as : 9 | 10 | OBJECTID TIMESTAMP LON LAT 11 | 12 | Default output is standard out -------------------------------------------------------------------------------- /tracktable/Examples/Classify/README.md: -------------------------------------------------------------------------------- 1 | The classify example demonstrates: 2 | - Using command line factories to read points and assemble trajectories 3 | - Using boost program options to take parameters from command lines (in addtion to the factories) 4 | - Filtering trajectories on any combination of the following : 5 | - length 6 | - curvature 7 | - hull gyration ratio 8 | - length ratio 9 | - hull-aspect ratio 10 | - straightness 11 | - number of turn arounds 12 | - A few different methods of applying these filters are demonstrated int he code 13 | - Writing trajectories as KML 14 | 15 | Typical use: 16 | ./classify --input=/data/flights.tsv --min-turn-arounds=10 --output=/results/mappingflights.kml 17 | 18 | Defaults assume a tab separated file formatted as: 19 | 20 | OBJECTID TIMESTAMP LON LAT 21 | 22 | Default output is standard out 23 | -------------------------------------------------------------------------------- /tracktable/Examples/Classify/map_list.txt: -------------------------------------------------------------------------------- 1 | N5V 2 | N13NW 3 | N14NW 4 | N16NW 5 | N23NW 6 | N133ND 7 | N149Z 8 | N245MC 9 | N278RC 10 | N440EH 11 | N441EH 12 | N590MM 13 | N603ET 14 | N604MD 15 | N704MD 16 | N4887Z 17 | N5293Y 18 | N6014Q 19 | -------------------------------------------------------------------------------- /tracktable/Examples/Cluster/README.md: -------------------------------------------------------------------------------- 1 | The cluster example demonstrates: 2 | - Using command line factories to read points and assemble trajectories 3 | - Create features using distance geometries 4 | - Cluster and and assign membership using dbscan 5 | 6 | Typical use: 7 | ./cluster --input=/data/flights.tsv 8 | 9 | Defaults assume a tab separated points file formatted as : 10 | 11 | OBJECTID TIMESTAMP LON LAT -------------------------------------------------------------------------------- /tracktable/Examples/FilterTime/README.md: -------------------------------------------------------------------------------- 1 | This program takes an input file of points and filters for points that fall within 2 | two given timestamps 3 | 4 | The filter_time example demonstrates: 5 | - Using command line factories to read points 6 | - Using 'required' options 7 | - Using a function object to filter those points 8 | - Using a point writer to output those points. 9 | 10 | Typical use: 11 | ./filter_time --input=/data/flights.tsv --output=/results/filtered.tsv --start=2013-07-10-00:00:05 --stop=2013-07-10-00:01:05 12 | 13 | Defaults assume a tab separated points file formatted as : 14 | 15 | OBJECTID TIMESTAMP LON LAT -------------------------------------------------------------------------------- /tracktable/Examples/FindId/README.md: -------------------------------------------------------------------------------- 1 | The findid example demonstrates: 2 | - Using command line factories to read points and assemble trajectories 3 | - Reading a list of ids from a file 4 | - Searching trajectories for specific object ids 5 | 6 | Typical use: 7 | ./findid --input=/data/flights.tsv --idfile=/data/mapping_ids.txt 8 | 9 | Defaults assume a tab separated points file formatted as : 10 | 11 | OBJECTID TIMESTAMP LON LAT 12 | 13 | And an id file with a single object id per line. 14 | 15 | Default output is a simple count of how many trajectories were found. -------------------------------------------------------------------------------- /tracktable/Examples/FindId/mapping_ids.txt: -------------------------------------------------------------------------------- 1 | N5V 2 | N13NW 3 | N14NW 4 | N16NW 5 | N23NW 6 | N133ND 7 | N149Z 8 | N245MC 9 | N278RC 10 | N440EH 11 | N441EH 12 | N590MM 13 | N603ET 14 | N604MD 15 | N704MD 16 | N4887Z 17 | N5293Y 18 | N6014Q 19 | CFYTR 20 | CFRCG 21 | N6014Q 22 | N603ET 23 | N775MW 24 | N245MC 25 | N441EH 26 | N23NW 27 | N278RC 28 | N440EH 29 | PRO103 30 | N704MD 31 | N148TH 32 | -------------------------------------------------------------------------------- /tracktable/Examples/Portal/README.md: -------------------------------------------------------------------------------- 1 | The portal example takes trajectory data and attempts to find origin/destination 2 | pairs. It breaks the USA into a grid, identifies what cells are populated by trajectories 3 | and then refines the grid based on desired parameters. Each level of 'depth' is an 4 | additional layer of refinement of the original grid. Each level is divided into 5 | 'bin-count' sections in both longitude and latitude. So each the number of cells: 6 | 7 | cells = 12*5*bins^(2+depth) 8 | 9 | empty cells are dropped but a cell is only empty if no trajectories pass through it 10 | 11 | The portal example demonstrates: 12 | - Using command line factories to read points and assemble trajectories 13 | - Using boost program options to take parameters from command lines(in addition to the factories) 14 | - Use of boost::geometry::intersects to test where trajectories overlap regions 15 | 16 | Typical use: 17 | ./portal-- input=/data/flights.tsv --depth=5 --min-value=12 --min-seperation=10 --bin-count=2 18 | 19 | Defaults assume a tab separated file formatted as : 20 | 21 | OBJECTID TIMESTAMP LON LAT -------------------------------------------------------------------------------- /tracktable/Examples/Predict/README.md: -------------------------------------------------------------------------------- 1 | This example demonstrates using feature vectors to measure similarities between 2 | trajectories via an Rtree 3 | 4 | The predict example demonstrates: 5 | - Using command line factories to read points and assemble trajectories 6 | - Using boost program options to take parameters from command lines(in addition to the factories) 7 | - Conditioning trajectories based on length and objectid 8 | - Using boost rtree to locate similar trajectories based on cartesian distance in feature space 9 | 10 | Typical use: '--string-field=dest x' is required 11 | 12 | ./predict --input=/data/SampleASDI.csv --delimeter=, --string-field=dest 30 --num-samples=10 13 | -------------------------------------------------------------------------------- /tracktable/Examples/Reduce/README.md: -------------------------------------------------------------------------------- 1 | The reduce example demonstrates: 2 | - Using command line factories to read points and assemble trajectories 3 | - using tracktable::simplify to remove unnecessary points 4 | - Writing trajectories to file for later use 5 | 6 | Typical use: 7 | ./reduce --tolerance=0.00001 --input=/data/flights.tsv --output=/data/reduced.traj 8 | 9 | Defaults assume a tab separated file formatted as : 10 | 11 | OBJECTID TIMESTAMP LON LAT 12 | 13 | Default output is standard out -------------------------------------------------------------------------------- /tracktable/Examples/Sample_Project/README.md: -------------------------------------------------------------------------------- 1 | This is a sample standalone C++ project that uses Tracktable as a library. 2 | 3 | This mini-project is not part of the tracktable build system. Instead, 4 | it is a template demonstrating how to create your own program using 5 | Tracktable as one of your libraries. 6 | 7 | For a quick Linux tutorial you can run: 8 | sh run-test.sh 9 | 10 | This will make a build directory with: 11 | mkdir build 12 | 13 | Change into the build directory: 14 | cd build 15 | 16 | Create the makefiles: 17 | cmake .. 18 | 19 | Build the program: 20 | make 21 | 22 | And run the program: 23 | ./coolprogram 24 | 25 | -------------------------------------------------------------------------------- /tracktable/Examples/Sample_Project/run-test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | if [ -d build ]; then 3 | echo "Removing previous build with command:" 4 | echo " rm -rf build" 5 | rm -rf build 6 | fi 7 | 8 | if [ ! -d build ]; then 9 | echo "Creating new build directory with command:" 10 | echo " mkdir build" 11 | mkdir build 12 | fi 13 | 14 | echo "Changing into the build directory with command:" 15 | echo " cd build" 16 | cd build 17 | 18 | echo "Running cmake to create Makefiles with command:" 19 | echo " cmake .." 20 | cmake .. 21 | 22 | echo "Building cool program with command (we'll use 4 cores): " 23 | echo " make -j 4" 24 | make -j 4 25 | 26 | echo "Program is built" 27 | echo "Now we'll run it with command: " 28 | echo " ./coolprogram" 29 | echo 30 | echo "Here's our output:" 31 | echo "--- BEGIN OUTPUT ---" 32 | ./coolprogram 33 | echo "--- END OUTPUT ---" 34 | echo 35 | 36 | echo "And... we're done." 37 | echo 38 | echo "Things to try:" 39 | echo 40 | echo "Look around in the build directory:" 41 | echo " cd build" 42 | echo " ls" 43 | echo 44 | echo "Clean and rebuild the program:" 45 | echo " make clean; make" 46 | echo 47 | 48 | -------------------------------------------------------------------------------- /tracktable/Examples/Serialization/README.md: -------------------------------------------------------------------------------- 1 | Compare storage costs for various methods of serializing trajectories 2 | 3 | We have three ways to save trajectories: 4 | 5 | 1. tracktable::TrajectoryWriter (C++, Python) 6 | This uses our own home-grown delimited text format. It is rather 7 | verbose. 8 | 9 | 2. tracktable.rw.read_write_json (Python) 10 | Write to JSON. This is also rather verbose and has trouble with 11 | incremental loads. 12 | 13 | 3. boost::serialization 14 | Write to Boost's archive format (text, binary or XML). 15 | 16 | This example runs #1 and #3 on a sample trajectory and compares the 17 | storage requirements. 18 | 19 | This example demonstrates: 20 | - use of boost program options 21 | - use of boost archives 22 | - use of trajectory writer 23 | - Manual construction of points and trajectories 24 | 25 | Typical use: 26 | ./serialize_trajectories --trajectory-count=100 --point-count=100 -------------------------------------------------------------------------------- /tracktable/Python/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2023 National Technology and Engineering 2 | # Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 3 | # with National Technology and Engineering Solutions of Sandia, LLC, 4 | # the U.S. Government retains certain rights in this software. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 10 | # 1. Redistributions of source code must retain the above copyright 11 | # notice, this list of conditions and the following disclaimer. 12 | # 13 | # 2. Redistributions in binary form must reproduce the above copyright 14 | # notice, this list of conditions and the following disclaimer in the 15 | # documentation and/or other materials provided with the distribution. 16 | # 17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | # HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | 29 | # This is tracktable/Python/CMakeLists.txt 30 | # 31 | # This file has the sole purpose of forwarding CMake to Python/tracktable. 32 | 33 | add_subdirectory(tracktable) 34 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *~ 3 | *.so 4 | 5 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/algorithms/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2023 National Technology and Engineering 2 | # Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 3 | # with National Technology and Engineering Solutions of Sandia, LLC, 4 | # the U.S. Government retains certain rights in this software. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 10 | # 1. Redistributions of source code must retain the above copyright 11 | # notice, this list of conditions and the following disclaimer. 12 | # 13 | # 2. Redistributions in binary form must reproduce the above copyright 14 | # notice, this list of conditions and the following disclaimer in the 15 | # documentation and/or other materials provided with the distribution. 16 | # 17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 20 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 21 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 22 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 23 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 27 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28 | # POSSIBILITY OF SUCH DAMAGE. 29 | 30 | """Tracktable Trajectory Library - Algorithms module 31 | 32 | Here you will find algorithms for clustering, range queries, nearest 33 | neighbor search and (eventually) dimensionality reduction. 34 | 35 | """ 36 | 37 | pass 38 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/algorithms/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2023 National Technology and Engineering 2 | # Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 3 | # with National Technology and Engineering Solutions of Sandia, LLC, 4 | # the U.S. Government retains certain rights in this software. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 10 | # 1. Redistributions of source code must retain the above copyright 11 | # notice, this list of conditions and the following disclaimer. 12 | # 13 | # 2. Redistributions in binary form must reproduce the above copyright 14 | # notice, this list of conditions and the following disclaimer in the 15 | # documentation and/or other materials provided with the distribution. 16 | # 17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 20 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 21 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 22 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 23 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 27 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28 | # POSSIBILITY OF SUCH DAMAGE. 29 | 30 | pass 31 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/applications/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2023 National Technology and Engineering 2 | # Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 3 | # with National Technology and Engineering Solutions of Sandia, LLC, 4 | # the U.S. Government retains certain rights in this software. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 10 | # 1. Redistributions of source code must retain the above copyright 11 | # notice, this list of conditions and the following disclaimer. 12 | # 13 | # 2. Redistributions in binary form must reproduce the above copyright 14 | # notice, this list of conditions and the following disclaimer in the 15 | # documentation and/or other materials provided with the distribution. 16 | # 17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 20 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 21 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 22 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 23 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 27 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28 | # POSSIBILITY OF SUCH DAMAGE. 29 | 30 | pass 31 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/core/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2014-2023 National Technology and Engineering 3 | # Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | # with National Technology and Engineering Solutions of Sandia, LLC, 5 | # the U.S. Government retains certain rights in this software. 6 | # 7 | # Redistribution and use in source and binary forms, with or without 8 | # modification, are permitted provided that the following conditions 9 | # are met: 10 | # 11 | # 1. Redistributions of source code must retain the above copyright 12 | # notice, this list of conditions and the following disclaimer. 13 | # 14 | # 2. Redistributions in binary form must reproduce the above copyright 15 | # notice, this list of conditions and the following disclaimer in the 16 | # documentation and/or other materials provided with the distribution. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | # POSSIBILITY OF SUCH DAMAGE. 30 | 31 | pass 32 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/data_generators/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2014-2023 National Technology and Engineering 3 | # Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | # with National Technology and Engineering Solutions of Sandia, LLC, 5 | # the U.S. Government retains certain rights in this software. 6 | # 7 | # Redistribution and use in source and binary forms, with or without 8 | # modification, are permitted provided that the following conditions 9 | # are met: 10 | # 11 | # 1. Redistributions of source code must retain the above copyright 12 | # notice, this list of conditions and the following disclaimer. 13 | # 14 | # 2. Redistributions in binary form must reproduce the above copyright 15 | # notice, this list of conditions and the following disclaimer in the 16 | # documentation and/or other materials provided with the distribution. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | # POSSIBILITY OF SUCH DAMAGE. 30 | 31 | 32 | """tracktable.data_generators - Generate points and/or trajectories within a specified bounding box, seed point, airports or ports. 33 | """ 34 | 35 | pass 36 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/data_generators/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2023 National Technology and Engineering 2 | # Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 3 | # with National Technology and Engineering Solutions of Sandia, LLC, 4 | # the U.S. Government retains certain rights in this software. 5 | # 6 | # Redistribution and use in source and binary forms, with or without 7 | # modification, are permitted provided that the following conditions 8 | # are met: 9 | # 10 | # 1. Redistributions of source code must retain the above copyright 11 | # notice, this list of conditions and the following disclaimer. 12 | # 13 | # 2. Redistributions in binary form must reproduce the above copyright 14 | # notice, this list of conditions and the following disclaimer in the 15 | # documentation and/or other materials provided with the distribution. 16 | # 17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 20 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 21 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 22 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 23 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 27 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28 | # POSSIBILITY OF SUCH DAMAGE. 29 | 30 | pass 31 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/domain/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2014-2023 National Technology and Engineering 3 | # Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | # with National Technology and Engineering Solutions of Sandia, LLC, 5 | # the U.S. Government retains certain rights in this software. 6 | # 7 | # Redistribution and use in source and binary forms, with or without 8 | # modification, are permitted provided that the following conditions 9 | # are met: 10 | # 11 | # 1. Redistributions of source code must retain the above copyright 12 | # notice, this list of conditions and the following disclaimer. 13 | # 14 | # 2. Redistributions in binary form must reproduce the above copyright 15 | # notice, this list of conditions and the following disclaimer in the 16 | # documentation and/or other materials provided with the distribution. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | # POSSIBILITY OF SUCH DAMAGE. 30 | 31 | pass 32 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/examples/analytic_demos/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2023, National Technology & Engineering Solutions of 2 | # Sandia, LLC (NTESS). 3 | # All rights reserved. 4 | # 5 | # Redistribution and use in source and binary forms, with or without 6 | # modification, are permitted provided that the following conditions 7 | # are met: 8 | # 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 12 | # 2. Redistributions in binary form must reproduce the above copyright 13 | # notice, this list of conditions and the following disclaimer in the 14 | # documentation and/or other materials provided with the distribution. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 19 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 20 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 21 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 22 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 26 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | # POSSIBILITY OF SUCH DAMAGE. 28 | 29 | pass 30 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/examples/analytic_demos/demo_images/prediction_cartoon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/tracktable/1655177105bbc85c1635ff3dd0d6a6815233e742/tracktable/Python/tracktable/examples/analytic_demos/demo_images/prediction_cartoon.png -------------------------------------------------------------------------------- /tracktable/Python/tracktable/examples/analytic_demos/demo_images/prediction_cartoon_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/tracktable/1655177105bbc85c1635ff3dd0d6a6815233e742/tracktable/Python/tracktable/examples/analytic_demos/demo_images/prediction_cartoon_2.png -------------------------------------------------------------------------------- /tracktable/Python/tracktable/examples/analytic_demos/demo_images/prediction_cartoon_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/tracktable/1655177105bbc85c1635ff3dd0d6a6815233e742/tracktable/Python/tracktable/examples/analytic_demos/demo_images/prediction_cartoon_3.png -------------------------------------------------------------------------------- /tracktable/Python/tracktable/examples/analytic_demos/demo_images/prediction_data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/tracktable/1655177105bbc85c1635ff3dd0d6a6815233e742/tracktable/Python/tracktable/examples/analytic_demos/demo_images/prediction_data.png -------------------------------------------------------------------------------- /tracktable/Python/tracktable/examples/python_scripts/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2023, National Technology & Engineering Solutions of 2 | # Sandia, LLC (NTESS). 3 | # All rights reserved. 4 | # 5 | # Redistribution and use in source and binary forms, with or without 6 | # modification, are permitted provided that the following conditions 7 | # are met: 8 | # 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 12 | # 2. Redistributions in binary form must reproduce the above copyright 13 | # notice, this list of conditions and the following disclaimer in the 14 | # documentation and/or other materials provided with the distribution. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 19 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 20 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 21 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 22 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 26 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | # POSSIBILITY OF SUCH DAMAGE. 28 | 29 | pass 30 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/examples/tutorials/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2023, National Technology & Engineering Solutions of 2 | # Sandia, LLC (NTESS). 3 | # All rights reserved. 4 | # 5 | # Redistribution and use in source and binary forms, with or without 6 | # modification, are permitted provided that the following conditions 7 | # are met: 8 | # 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 12 | # 2. Redistributions in binary form must reproduce the above copyright 13 | # notice, this list of conditions and the following disclaimer in the 14 | # documentation and/or other materials provided with the distribution. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 19 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 20 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 21 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 22 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 26 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | # POSSIBILITY OF SUCH DAMAGE. 28 | 29 | pass 30 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/feature/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2014-2023 National Technology and Engineering 3 | # Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | # with National Technology and Engineering Solutions of Sandia, LLC, 5 | # the U.S. Government retains certain rights in this software. 6 | # 7 | # Redistribution and use in source and binary forms, with or without 8 | # modification, are permitted provided that the following conditions 9 | # are met: 10 | # 11 | # 1. Redistributions of source code must retain the above copyright 12 | # notice, this list of conditions and the following disclaimer. 13 | # 14 | # 2. Redistributions in binary form must reproduce the above copyright 15 | # notice, this list of conditions and the following disclaimer in the 16 | # documentation and/or other materials provided with the distribution. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | # POSSIBILITY OF SUCH DAMAGE. 30 | 31 | """Tracktable Trajectory Library - Features module 32 | 33 | All the code for dealing with features (derived quantities) on points 34 | and trajectories lives in this module. 35 | 36 | """ 37 | 38 | pass 39 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/info/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2014-2023 National Technology and Engineering 3 | # Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | # with National Technology and Engineering Solutions of Sandia, LLC, 5 | # the U.S. Government retains certain rights in this software. 6 | # 7 | # Redistribution and use in source and binary forms, with or without 8 | # modification, are permitted provided that the following conditions 9 | # are met: 10 | # 11 | # 1. Redistributions of source code must retain the above copyright 12 | # notice, this list of conditions and the following disclaimer. 13 | # 14 | # 2. Redistributions in binary form must reproduce the above copyright 15 | # notice, this list of conditions and the following disclaimer in the 16 | # documentation and/or other materials provided with the distribution. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | # HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | 30 | """ 31 | tracktable.info: Various sources of information on cities, 32 | airports and ports that we can use to annotate maps. 33 | 34 | XXX TODO: Cite each source and its license here. 35 | """ 36 | 37 | pass 38 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/info/tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2023, National Technology & Engineering Solutions of 2 | # Sandia, LLC (NTESS). 3 | # All rights reserved. 4 | # 5 | # Redistribution and use in source and binary forms, with or without 6 | # modification, are permitted provided that the following conditions 7 | # are met: 8 | # 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 12 | # 2. Redistributions in binary form must reproduce the above copyright 13 | # notice, this list of conditions and the following disclaimer in the 14 | # documentation and/or other materials provided with the distribution. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 19 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 20 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 21 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 22 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 26 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | # POSSIBILITY OF SUCH DAMAGE. 28 | 29 | include(PythonTest) 30 | 31 | set(INFO "tracktable.info.tests") 32 | 33 | add_python_test(P_PortInfo ${INFO}.test_ports) 34 | add_python_test(P_CityInfo ${INFO}.test_cities) 35 | add_python_test(P_ShorelineInfo ${INFO}.test_shorelines) 36 | add_python_test(P_RiverInfo ${INFO}.test_rivers) 37 | add_python_test(P_BorderInfo ${INFO}.test_borders) 38 | 39 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/render/backends/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2014-2023 National Technology and Engineering 3 | # Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | # with National Technology and Engineering Solutions of Sandia, LLC, 5 | # the U.S. Government retains certain rights in this software. 6 | # 7 | # Redistribution and use in source and binary forms, with or without 8 | # modification, are permitted provided that the following conditions 9 | # are met: 10 | # 11 | # 1. Redistributions of source code must retain the above copyright 12 | # notice, this list of conditions and the following disclaimer. 13 | # 14 | # 2. Redistributions in binary form must reproduce the above copyright 15 | # notice, this list of conditions and the following disclaimer in the 16 | # documentation and/or other materials provided with the distribution. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | # POSSIBILITY OF SUCH DAMAGE. 30 | 31 | """Tracktable Trajectory Library - Backend module 32 | 33 | This module contains code to render trajectories and heatmaps for a given 34 | rendering backend, either cartopy or folium. 35 | """ 36 | 37 | pass 38 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/render/map_decoration/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | # Copyright (c) 2014-2023 National Technology and Engineering 3 | 4 | # Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 5 | # with National Technology and Engineering Solutions of Sandia, LLC, 6 | # the U.S. Government retains certain rights in this software. 7 | # 8 | # Redistribution and use in source and binary forms, with or without 9 | # modification, are permitted provided that the following conditions 10 | # are met: 11 | # 12 | # 1. Redistributions of source code must retain the above copyright 13 | # notice, this list of conditions and the following disclaimer. 14 | # 15 | # 2. Redistributions in binary form must reproduce the above copyright 16 | # notice, this list of conditions and the following disclaimer in the 17 | # documentation and/or other materials provided with the distribution. 18 | # 19 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 22 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 23 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 24 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 25 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 29 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 | # POSSIBILITY OF SUCH DAMAGE. 31 | 32 | 33 | """Tracktable Trajectory Library - Map Decoration module 34 | 35 | This module contains code to decorate a given map with different 36 | features such as a colors or a clock. 37 | """ 38 | 39 | pass 40 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/render/map_processing/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2014-2023 National Technology and Engineering 3 | # Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | # with National Technology and Engineering Solutions of Sandia, LLC, 5 | # the U.S. Government retains certain rights in this software. 6 | # 7 | # Redistribution and use in source and binary forms, with or without 8 | # modification, are permitted provided that the following conditions 9 | # are met: 10 | # 11 | # 1. Redistributions of source code must retain the above copyright 12 | # notice, this list of conditions and the following disclaimer. 13 | # 14 | # 2. Redistributions in binary form must reproduce the above copyright 15 | # notice, this list of conditions and the following disclaimer in the 16 | # documentation and/or other materials provided with the distribution. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | # POSSIBILITY OF SUCH DAMAGE. 30 | 31 | """Tracktable Trajectory Library - Map Processing module 32 | 33 | This module contains code generating a map that will be rendered onto as 34 | well as standard processing shared by all rendering backends. 35 | """ 36 | 37 | pass 38 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/render/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2014-2023 National Technology and Engineering 3 | # Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | # with National Technology and Engineering Solutions of Sandia, LLC, 5 | # the U.S. Government retains certain rights in this software. 6 | # 7 | # Redistribution and use in source and binary forms, with or without 8 | # modification, are permitted provided that the following conditions 9 | # are met: 10 | # 11 | # 1. Redistributions of source code must retain the above copyright 12 | # notice, this list of conditions and the following disclaimer. 13 | # 14 | # 2. Redistributions in binary form must reproduce the above copyright 15 | # notice, this list of conditions and the following disclaimer in the 16 | # documentation and/or other materials provided with the distribution. 17 | # 18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | # POSSIBILITY OF SUCH DAMAGE. 30 | 31 | pass 32 | -------------------------------------------------------------------------------- /tracktable/Python/tracktable/rw/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2014-2023, National Technology & Engineering Solutions of 2 | # Sandia, LLC (NTESS). 3 | # All rights reserved. 4 | # 5 | # Redistribution and use in source and binary forms, with or without 6 | # modification, are permitted provided that the following conditions 7 | # are met: 8 | # 9 | # 1. Redistributions of source code must retain the above copyright 10 | # notice, this list of conditions and the following disclaimer. 11 | # 12 | # 2. Redistributions in binary form must reproduce the above copyright 13 | # notice, this list of conditions and the following disclaimer in the 14 | # documentation and/or other materials provided with the distribution. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 19 | # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 20 | # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 21 | # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 22 | # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 | # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 26 | # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 | # POSSIBILITY OF SUCH DAMAGE. 28 | 29 | """tracktable.rw- Read/Write for Tracktable points and trajectories. 30 | 31 | This module contains code to read and write trajectories in different formats 32 | """ 33 | 34 | pass -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/DBSCAN_Wrapper_10_12.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_dbscan_wrappers_10_12() 34 | { 35 | WRAP_DBSCAN(10); 36 | WRAP_DBSCAN(11); 37 | WRAP_DBSCAN(12); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/DBSCAN_Wrapper_13_15.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_dbscan_wrappers_13_15() 34 | { 35 | WRAP_DBSCAN(13); 36 | WRAP_DBSCAN(14); 37 | WRAP_DBSCAN(15); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/DBSCAN_Wrapper_16_18.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_dbscan_wrappers_16_18() 34 | { 35 | WRAP_DBSCAN(16); 36 | WRAP_DBSCAN(17); 37 | WRAP_DBSCAN(18); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/DBSCAN_Wrapper_19_21.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_dbscan_wrappers_19_21() 34 | { 35 | WRAP_DBSCAN(19); 36 | WRAP_DBSCAN(20); 37 | WRAP_DBSCAN(21); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/DBSCAN_Wrapper_1_3.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_dbscan_wrappers_1_3() 34 | { 35 | WRAP_DBSCAN(1); 36 | WRAP_DBSCAN(2); 37 | WRAP_DBSCAN(3); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/DBSCAN_Wrapper_22_24.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_dbscan_wrappers_22_24() 34 | { 35 | WRAP_DBSCAN(22); 36 | WRAP_DBSCAN(23); 37 | WRAP_DBSCAN(24); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/DBSCAN_Wrapper_25_27.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_dbscan_wrappers_25_27() 34 | { 35 | WRAP_DBSCAN(25); 36 | WRAP_DBSCAN(26); 37 | WRAP_DBSCAN(27); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/DBSCAN_Wrapper_28_30.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_dbscan_wrappers_28_30() 34 | { 35 | WRAP_DBSCAN(28); 36 | WRAP_DBSCAN(29); 37 | WRAP_DBSCAN(30); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/DBSCAN_Wrapper_4_6.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_dbscan_wrappers_4_6() 34 | { 35 | WRAP_DBSCAN(4); 36 | WRAP_DBSCAN(5); 37 | WRAP_DBSCAN(6); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/DBSCAN_Wrapper_7_9.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_dbscan_wrappers_7_9() 34 | { 35 | WRAP_DBSCAN(7); 36 | WRAP_DBSCAN(8); 37 | WRAP_DBSCAN(9); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/RTree_Wrapper_10_12.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_rtree_wrappers_10_12() 34 | { 35 | wrap_rtree<10>(); 36 | wrap_rtree<11>(); 37 | wrap_rtree<12>(); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/RTree_Wrapper_13_15.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_rtree_wrappers_13_15() 34 | { 35 | wrap_rtree<13>(); 36 | wrap_rtree<14>(); 37 | wrap_rtree<15>(); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/RTree_Wrapper_16_18.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_rtree_wrappers_16_18() 34 | { 35 | wrap_rtree<16>(); 36 | wrap_rtree<17>(); 37 | wrap_rtree<18>(); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/RTree_Wrapper_19_21.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_rtree_wrappers_19_21() 34 | { 35 | wrap_rtree<19>(); 36 | wrap_rtree<20>(); 37 | wrap_rtree<21>(); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/RTree_Wrapper_1_3.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_rtree_wrappers_1_3() 34 | { 35 | wrap_rtree<1>(); 36 | wrap_rtree<2>(); 37 | wrap_rtree<3>(); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/RTree_Wrapper_22_24.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_rtree_wrappers_22_24() 34 | { 35 | wrap_rtree<22>(); 36 | wrap_rtree<23>(); 37 | wrap_rtree<24>(); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/RTree_Wrapper_4_6.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_rtree_wrappers_4_6() 34 | { 35 | wrap_rtree<4>(); 36 | wrap_rtree<5>(); 37 | wrap_rtree<6>(); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/ExplicitInstantiation/RTree_Wrapper_7_9.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #include 32 | 33 | void install_rtree_wrappers_7_9() 34 | { 35 | wrap_rtree<7>(); 36 | wrap_rtree<8>(); 37 | wrap_rtree<9>(); 38 | } 39 | -------------------------------------------------------------------------------- /tracktable/PythonWrapping/PythonWrappingParameters.h.in: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | #ifndef __tracktable_PythonWrappingParameters 32 | 33 | // Parameters for PythonWrapping that get set from CMake 34 | 35 | #define TRACKTABLE_FEATURE_VECTOR_MAX_DIMENSION @FEATURE_VECTOR_MAX_DIMENSION@ 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /tracktable/README.md: -------------------------------------------------------------------------------- 1 | ## What's In This Directory 2 | 3 | This is TRACKTABLE_ROOT/tracktable. This directory holds all of the 4 | source code and header files. 5 | 6 | All of the Python source code is in the Python/ subdirectory. The 7 | other directories here (Analysis, CommandLineFactories, Core, DataGenerators, Domain, RW, PythonWrapping) 8 | hold C++ code. 9 | 10 | The Examples subdirectory holds self-contained examples of how to use 11 | various features of the Tracktable C++ interface. They will be built 12 | if the `BUILD_EXAMPLES` option is turned on in CMake (which it is 13 | by default). 14 | 15 | -------------------------------------------------------------------------------- /tracktable/ThirdParty/CatchMain.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2023 National Technology and Engineering 3 | * Solutions of Sandia, LLC. Under the terms of Contract DE-NA0003525 4 | * with National Technology and Engineering Solutions of Sandia, LLC, 5 | * the U.S. Government retains certain rights in this software. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions 9 | * are met: 10 | * 11 | * 1. Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * 14 | * 2. Redistributions in binary form must reproduce the above copyright 15 | * notice, this list of conditions and the following disclaimer in the 16 | * documentation and/or other materials provided with the distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | /** All this file does is set up main for catch2 tests **/ 32 | // clang-format off 33 | #define CATCH_CONFIG_MAIN 34 | #include "catch2.hpp" 35 | // clang-format on -------------------------------------------------------------------------------- /tracktable_dev_environment.yml: -------------------------------------------------------------------------------- 1 | # Fully Featured Tracktable Development Anaconda Environment 2 | name: tracktable-dev 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | # Dev Dependencies 7 | - git 8 | 9 | # Python Dependencies 10 | - python 11 | - pip 12 | - numpy>=1.7 13 | - matplotlib>=3.0 14 | - cartopy>=0.18.0 15 | - pytz>=2020.1 16 | - shapely>=1.7.1 17 | - pyproj>=2.6.1 18 | - folium>=0.11.0 19 | - scipy>=1.5.2 20 | - tqdm>=4.51.0 21 | - tracktable-data>=1.7.3 22 | 23 | # C++ Dependencies 24 | - compilers 25 | - libboost-devel>=1.86 26 | - libboost-headers>=1.86 27 | - libboost-python>=1.86 28 | - libboost-python-devel>=1.86 29 | - cmake>=3.19.5 30 | - ninja>=1.10.0 31 | 32 | # Jupyter Dependencies 33 | - ipykernel 34 | - jupyter 35 | 36 | # Movie Dependencies 37 | - ffmpeg>=4.2.4 38 | 39 | # Code Coverage Dependencies 40 | - lcov>=1.14 41 | - coverage>=6.3.2 42 | 43 | # Documentation Dependencies 44 | - sphinx>=3.4.3 45 | - sphinx_rtd_theme>=0.5.0 46 | - nbsphinx>=0.7.1 47 | - nbsphinx-link>=1.3.0 48 | - pandoc>=2.5 49 | - doxygen>=1.8.17 50 | - graphviz>=2.42.2 51 | - breathe>=4.26.1, <=4.31.0 52 | 53 | -------------------------------------------------------------------------------- /tracktable_environment.yml: -------------------------------------------------------------------------------- 1 | # Tracktable Runtime Anaconda Environment 2 | name: tracktable 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | - python>=3.6 7 | - tracktable 8 | -------------------------------------------------------------------------------- /tracktable_runtime_environment.yml: -------------------------------------------------------------------------------- 1 | # Tracktable Runtime Anaconda Environment 2 | name: tracktable 3 | channels: 4 | - conda-forge 5 | dependencies: 6 | - python>=3.6 7 | - tracktable 8 | -------------------------------------------------------------------------------- /version.txt: -------------------------------------------------------------------------------- 1 | TRACKTABLE VERSION 1.7.2 2 | BOOST VERSION 1.82 3 | CMAKE VERSION 3.27 4 | UNIX SO VERSION CURRENT 7 5 | UNIX SO VERSION REVISION 0 6 | UNIX SO VERSION AGE 3 7 | --------------------------------------------------------------------------------