• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

peterstace / simplefeatures
91%
master: 91%

Build:
Build:
LAST BUILD BRANCH: reflect_deep_equals_support
DEFAULT BRANCH: master
Repo Added 13 Jul 2021 07:40PM UTC
Files 66
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH no_validation_in_geos_wrapper
branch: no_validation_in_geos_wrapper
CHANGE BRANCH
x
Reset
  • no_validation_in_geos_wrapper
  • 411-use-unsafeslice-for-wkb-handling
  • 661-foreign-member-handled-in-geojson-marshaling-is-overly-cautiouscomplicated
  • add_clockwise_checks
  • add_coveralls
  • add_m_and_z_tolerance
  • add_string_method_to_envelope
  • add_tests_for_null_geometry
  • add_tests_for_xy_unit
  • add_workflow_dispatch_to_gh_actions
  • address_go_report_card_issues
  • alter_internal_structure_of_multipoints
  • area_transform_func_invoked_multiple_times
  • as_geometry_type
  • avoid_atan2_in_dcel
  • basic_projections_carto_package
  • better_lerp
  • better_nan_handling_in_fastmin_and_fastmax
  • bitset_bugfixes
  • bounding_diagonal
  • bugfix_transform_empty_collection
  • build_tag_for_no_pkg_config
  • carto_projection_demo
  • clarify_validate_functionality_in_doc_comment
  • cleanup_error_handling_in_dcel_renoding
  • cleanup_error_handling_in_parsers
  • collapse_point_ctors
  • collapse_point_ctors_for_xy_only
  • decimate
  • detect_trailing_wkb_bytes
  • do_not_panic_when_no_rings_to_extract
  • dockerise_benchmarks
  • dont_label_faces_when_inputs_are_lines
  • dump
  • dump_points
  • dump_rings
  • eliminate-copy-in-force-cw-ccw
  • empty_env
  • enable_errcheck_linter
  • enable_errorlint_linter
  • enable_revive_linter
  • enable_stylecheck_linter
  • enable_testpackage_linter
  • enable_unparam_linter
  • envelope_ctor_no_validation
  • envelope_on_sequence
  • envelope_transform_xy
  • exact_algorithms
  • export_envelope_to_box_helper
  • fix_aarch64_incorrect_intersection_results
  • fix_bug_in_envelope_transform_xy
  • fix_bug_in_exact_equals
  • fix_ci_for_aarch64
  • fix_golangci-lint
  • fix_lint_error
  • fix_more_go_report_card_issues
  • fix_pct_w_verb_in_Errorf
  • fix_run_benchmarks_script
  • fix_some_misleading_doc_comments
  • fix_spelling_error_in_marshaler_comment
  • gc_dcel_bugfix_WIP
  • geometry-collection-dcel
  • geos_3.11
  • geos_coverage_union
  • geos_rtree
  • geos_unary_union
  • geoscpp
  • hack_line_x_line_intersection_order_to_make_it_symmetric
  • improve_coverage
  • improve_orientation_documentation
  • is_valid
  • issue-416-wrap-errors
  • json_unmarshal_on_concrete_geometries
  • linear_interpolation_methods
  • lint_fixes
  • lint_overhaul
  • make_ignore_order_a_func
  • master
  • min_diamater
  • min_max_xys
  • minor_cleanup_for_radial_sorting
  • move_geos_wrappers_from_cmpgeos_to_rawgeos
  • multiple_geos_versions_in_ci
  • nan_checks
  • no_rings_error
  • no_validation_in_direct_ctors
  • normalise
  • omitinvalid_bugfix
  • only_trigger_github_actions_once_per_commit
  • ordered_DCEL_output
  • pkg-config_fix
  • proj_wrapper
  • rearrange_and_rename_dcel_code
  • refactor_dcel_labels_WIP
  • reflect_deep_equals_support
  • refs/heads/geos_rtree
  • refs/tags/v0.30.0
  • refs/tags/v0.31.0
  • refs/tags/v0.32.0
  • refs/tags/v0.33.0
  • refs/tags/v0.33.1
  • refs/tags/v0.34.0
  • refs/tags/v0.35.0
  • refs/tags/v0.36.0
  • refs/tags/v0.37.0
  • refs/tags/v0.38.0
  • refs/tags/v0.39.0
  • refs/tags/v0.40.0
  • refs/tags/v0.40.1
  • refs/tags/v0.41.0
  • refs/tags/v0.42.0
  • refs/tags/v0.42.1
  • refs/tags/v0.43.0
  • refs/tags/v0.44.0
  • refs/tags/v0.45.0
  • refs/tags/v0.45.1
  • refs/tags/v0.46.0
  • refs/tags/v0.47.0
  • refs/tags/v0.47.1
  • refs/tags/v0.47.2
  • remove_error_and_ctor_options_from_direct_ctors
  • remove_is_leaf_flag
  • remove_omit_invalid
  • remove_repeated_points
  • remove_rtree_insert_and_delete_methods
  • remove_unneeded_benchmarks
  • remove_unused_code
  • remove_validation_from_transform_xy
  • remove_xor_nan_envelope_hack
  • remove_xor_nan_in_env
  • rename_unchecked_point_ctors
  • reproduce_bug_573
  • reproduce_geos_bug
  • reuse_dcel_half_edges_to_fix_geometry_collection_bugs
  • reuse_dcel_half_edges_to_fix_geometry_collection_bugs_WIP
  • rewrite_release_notes_for_nan_inf_validation
  • rot_mbr
  • rtree_cleanup
  • scratch
  • scratch_alternate_line_line_intersection
  • separate_point_x_line_and_line_x_line_renoding
  • separate_validating_and_non_validating_ctor_funcs
  • shared_geos_wrapper
  • simpler_node_set_implementation
  • simpler_rtree_bulk_load
  • simplify_dcel_label_management
  • simplify_geometry_type_method
  • simplify_refactor
  • snap_to_grid
  • support_feature_collection_foreign_members
  • support_xzym_for_geojson_unmarshal
  • sync_pool_for_rtree
  • twkb-decode
  • unary_union_WIP
  • unary_union_and_union_many
  • update_golangci-lint_to_v1.55.2
  • upgrade_checkout_gh_action
  • upgrade_to_golangci-lint_1.56.0
  • upgrade_to_golangci-lint_v1.56.1
  • use_Less_XY_comparison_func
  • use_alpine_images_for_geos
  • use_existing_rawgeos_wrappers_in_cmpgeos
  • use_makefile_instead_of_bash_script_for_ci
  • use_novalidate_instead_of_constructor_options
  • use_sequence_envelope_instead_of_extend
  • use_sequence_instead_of_intermediate_xys_for_dcel_edges
  • use_tb_interface_for_test_helpers
  • utm_projection
  • v0.47_fixes
  • validate_method
  • validate_only_for_parsers
  • wrap_make_valid

15 Sep 2023 12:20AM UTC coverage: 90.861%. Remained the same
6192324982

Pull #526

github

peterstace
Don't validate results from GEOS

Recent versions of GEOS use OverlayNG (NG stands for New Generation) for
set operations between geometries (Intersection, Union, etc.). With the
introduction of OverlayNG, invalid geometries are no longer frequently
produced by GEOS. They are either non-existent, or very rare.

Before this change, the `simplefeatures` GEOS wrapper validates results
from GEOS.

This feels like a misalignment:

- Validation isn't free, so validating GEOS results seems like the wrong
  default.

- The GEOS wrapper is doing more than strictly wrapping the GEOS library
  (it is also validating the result). This blurs the lines between what
  simplefeatures is doing and what GEOS is doing.

This change removes that validation. Users can of course still validate
manually by calling the `Validate` method on the result.
Pull Request #526: Don't validate results from GEOS

7735 of 8513 relevant lines covered (90.86%)

31935.75 hits per line

Relevant lines Covered
Build:
Build:
8513 RELEVANT LINES 7735 COVERED LINES
31935.75 HITS PER LINE
Source Files on no_validation_in_geos_wrapper
  • Tree
  • List 61
  • Changed 11
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
6192324982 no_validation_in_geos_wrapper Don't validate results from GEOS Recent versions of GEOS use OverlayNG (NG stands for New Generation) for set operations between geometries (Intersection, Union, etc.). With the introduction of OverlayNG, invalid geometries are no longer frequent... Pull #526 15 Sep 2023 12:43AM UTC peterstace github
90.86
See All Builds (878)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc