Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Update project to include getting started and contribution documentation #16

Closed
3 tasks done
Tracked by #75
tobrun opened this issue Nov 14, 2021 · 10 comments · Fixed by #75
Closed
3 tasks done
Tracked by #75

Update project to include getting started and contribution documentation #16

tobrun opened this issue Nov 14, 2021 · 10 comments · Fixed by #75
Assignees
Milestone

Comments

@tobrun
Copy link
Collaborator

tobrun commented Nov 14, 2021

I feel the project documentation could be improved for 2 specific things:

  • getting started guide that showcases how to setup the dependency in your project and potentially an inline example
  • contribution section that indicates how to contribute to the project:
    • how to setup project locally
    • how to run tests
    • requirement to port tests conform to turf.js
    • etc.
@lukas-h
Copy link
Member

lukas-h commented Nov 15, 2021

Hi @tobrun,

thanks for the suggestions! 👍 🙂

The project really deserves some updates, most importantly proper null-safety support.
My goal is to start working on the project again soon and I will most definitely include writing the docs!

If you want to make PRs in the meantime, I will happily review them.

@tobrun
Copy link
Collaborator Author

tobrun commented Nov 15, 2021

If you want to make PRs in the meantime, I will happily review them.

That is the plan 😄 before finding this repo, I was initially thinking about starting this project myself but love to see that you already did this. Considering there is no value in building 2 separate solutions, so let's build it together!

@lukas-h
Copy link
Member

lukas-h commented Nov 15, 2021

Yeah 🚀, sounds great!


Note: The most important part of this library was a very strict (de)serialization of GeoJSON, following the RFC standard.

@tobrun
Copy link
Collaborator Author

tobrun commented Nov 17, 2021

most importantly proper null-safety support.

I see a branch for that already, actively working on that? or do you want me to take a stab at it?

Note: The most important part of this library was a very strict (de)serialization of GeoJSON, following the RFC standard.

One of the big reasons I was interested :D should also be shout-out in the README.md

@lukas-h
Copy link
Member

lukas-h commented Nov 18, 2021

I‘m working on a PR for the null-safety today. I‘ll let you and @baparham review it (if you want) because I‘m not 100% sure how strict it should be in some areas.

@lukas-h
Copy link
Member

lukas-h commented Nov 18, 2021

Let‘s update docs and README after null-safety is done! 😄

@tobrun
Copy link
Collaborator Author

tobrun commented Nov 18, 2021

how strict it should be in some areas.

When it comes to geojson that is a difficult topic.. the RFC allows a lot optional/nullable fields.

@lukas-h lukas-h added this to the Documentation milestone Mar 2, 2022
@armantorkzaban
Copy link
Contributor

Should we unify the all Documentation efforts here?

@lukas-h
Copy link
Member

lukas-h commented Apr 1, 2022

Yes, it should be part of our milestone until mid of April

@armantorkzaban armantorkzaban mentioned this issue Apr 12, 2022
5 tasks
@lukas-h
Copy link
Member

lukas-h commented Apr 13, 2022

We are actively working on this one in #75

armantorkzaban added a commit that referenced this issue Apr 14, 2022
@armantorkzaban armantorkzaban linked a pull request Apr 14, 2022 that will close this issue
5 tasks
lukas-h added a commit that referenced this issue Apr 15, 2022
* in process - early analysis of the work

* linked the meta functions in readme

* CONTRIBUTING.md

* links to the sources

* edited typos

* documentation work

* closes #77, closes #16

* proofread

* improves pub.dev score, closes #79, #78, #75

* Added deleted model, complemented contributing.md

Co-authored-by: Lukas Himsel <[email protected]>
lukas-h added a commit that referenced this issue Apr 19, 2022
* initial null-safety implementation

* attributes non-nullable + tests, fix meta tests

* make altitude for Position and BBox nullable

* update action deps, build runner

* delete conflicting outputs, dart test on PR action

* Strongly type and refactor geomEach meta function

This commit also renames Geometry to GeometryObject

* simplify geomEach

* Add coverage reporting to pull requests tests

* Allow PR coverage comment to fail

This allows PRs from forks to still run the tests successfully

* Refactor coverage reporting into its own job

The coverage job is allowed to continue on error, letting the entire
workflow 'pass' if we hit issues running or reporting coverage

* Move coverage reporting into separate workflow

* geomEach: nullable fields #36

* fix types in tests

* Update to latest romeovs/lcov-reporter-action

This should resolve an issue where the 'comment code coverage on PR'
action fails after being merged into main. See
romeovs/lcov-reporter-action#16

* raise version for release 0.0.3

* [meta] add implementation and test for featureEach and propEach (#24)

* Assemble different types, refactor GeoJSON serialization, general improvements (#43)

* #19, #20, #21, refactor

* convert GeoJSONObjectType to enum, rename

* rm overridden bboxes

* Implement vector operations #23

* statically type 'round' helper func, fix unit test

* gen coverage

* fix typo

* geojson unit tests, type fixes

* fix deserialization with GeoJSONObjectType, implement hashCode

* initial unit tests for new constructors

* integration tests

* fix path

* test bbox on other geojson types

* update enum tests

* required params for new constructors, unit tests

* license notices

* bump version for release

* Add basic benchmarking framework (#51)

* Add pub version badge

* [meta] add coordeach implementation (#50)

* [meta] add coordeach implementation

* [benchmark] add coordeach benchmark using test fixtures

* Add implementation for getCoord & getCoords // invariant package (#53)

* initial getCoord & getCoords implementation

* WIP test coords/coord

* test gitpod flutter config

* ports invariants package (#62)

* dart pub get added

* wip, type problem

* fixed return error of the test

* Gitpod config

* new test cases, changed comments

* standardized the comments

* wrapped List in brackets

* some minor typo edit

* added highlight in documentation

* formatted conflicting files

* deleted the gitpod files

Co-authored-by: Arman Torkzaban <[email protected]>

Co-authored-by: arman <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: Arman Torkzaban <[email protected]>

* Add flattenEach function and tests (#48)

* Add flattenEach function and tests

* Refactor flattenEach slightly

* Refactor meta -- breaking of iterations tests

* Explicitly do not support nested GeometryCollections

* Update documentation links

* Use more specific type checks in flattenEach test

* rm duplicate fcMixed

* remove geometryCollection clause

* warning for nested GeometryCollection

Co-authored-by: Lukas Himsel <[email protected]>

* refactor coordEach with geomEach, change type in geomEach callback (#68)

* [meta] add coordeach implementation

* Rework coordEach implementation to match setup more from geomEach

* cleanup

* optimize for geometry collection

* refactor coordEach with geomEach, change type in geomEach callback

Co-authored-by: Tobrun Van Nuland <[email protected]>

* Port coordAll function and test, also: refactor coordEach callback  (#64)

* beginning

* wip coordAll

* coordAll test, WIP

* changes CoordEachCallback's signature

* typecast removed, test corrected

* changes before merging

* refactor for Position in CoordEachCallback

Co-authored-by: Lukas Himsel <[email protected]>

* Update README.md

* Feature reducers (#49)

* Temporarily type geomEach callback to GeometryType

* Add geomReduce function and tests

* propReduce function

* WIP - featureReduce()

* WIP

* added examples and documentations

* flattenReduce WIP

* WIP

* coordReduce

* documentation

* add static types

* merge readme

* prepare new merge

* generic types for all reducer functions

* TurfJS compatible solution with type checks

* add cloning

* fixed types passed to callbacks, propReduce test

* flattenReduce and featureReduce test

* coordReduce

* minor type conv. num to int

Co-authored-by: Arman Torkzaban <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Port cluster functions and tests (#69)

* port functions

* getCluster documentation

* WIP documentation

* Did the documentation

* wrote tests

* benchmarks - in process

* moved benchmarks to separate file

* exported clusters.dart

Co-authored-by: armantorkzaban <[email protected]>

* Port meta segment functions & lineSegment (#70)

* initial commit to segment file

* beginning

* lineSegment()

* lineSegment

* refactor

* lineSegment tests

* polygon test

* wip segmentEach

* rewrite segmentEach witohut coordEach

* fix flattenEachCallback

* combine units

* tests for segmentEach

* segmentEach id check tests

* segmentReduce impltd.

* updated README

* Documentation

* benchmark init

Co-authored-by: Arman Torkzaban <[email protected]>

* split up meta into separate files (#72)

* Meta functions extension methods (#73)

* initial setup

* fix export, add all *each functions

* implement 'other' functions

* implement *reduce functions

* fix tests

* rm geojson param for reducers

* Update functions and packages in README.md (#67)

* WIP - updating README.md

* missing new functions & packages

* helpers function aint needed anymore - constructor

* Links added and unnecessary funtioncs deleted

Co-authored-by: Lukas Himsel <[email protected]>

* Raise version to 0.0.5

* Documentation (#75)

* in process - early analysis of the work

* linked the meta functions in readme

* CONTRIBUTING.md

* links to the sources

* edited typos

* documentation work

* closes #77, closes #16

* proofread

* improves pub.dev score, closes #79, #78, #75

* Added deleted model, complemented contributing.md

Co-authored-by: Lukas Himsel <[email protected]>

* raise to version 0.0.6

Co-authored-by: Brad Parham <[email protected]>
Co-authored-by: Tobrun <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: Arman Torkzaban <[email protected]>
lukas-h added a commit that referenced this issue Apr 19, 2022
* initial null-safety implementation

* attributes non-nullable + tests, fix meta tests

* make altitude for Position and BBox nullable

* update action deps, build runner

* delete conflicting outputs, dart test on PR action

* Strongly type and refactor geomEach meta function

This commit also renames Geometry to GeometryObject

* simplify geomEach

* Add coverage reporting to pull requests tests

* Allow PR coverage comment to fail

This allows PRs from forks to still run the tests successfully

* Refactor coverage reporting into its own job

The coverage job is allowed to continue on error, letting the entire
workflow 'pass' if we hit issues running or reporting coverage

* Move coverage reporting into separate workflow

* geomEach: nullable fields #36

* fix types in tests

* Update to latest romeovs/lcov-reporter-action

This should resolve an issue where the 'comment code coverage on PR'
action fails after being merged into main. See
romeovs/lcov-reporter-action#16

* raise version for release 0.0.3

* [meta] add implementation and test for featureEach and propEach (#24)

* Assemble different types, refactor GeoJSON serialization, general improvements (#43)

* #19, #20, #21, refactor

* convert GeoJSONObjectType to enum, rename

* rm overridden bboxes

* Implement vector operations #23

* statically type 'round' helper func, fix unit test

* gen coverage

* fix typo

* geojson unit tests, type fixes

* fix deserialization with GeoJSONObjectType, implement hashCode

* initial unit tests for new constructors

* integration tests

* fix path

* test bbox on other geojson types

* update enum tests

* required params for new constructors, unit tests

* license notices

* bump version for release

* Add basic benchmarking framework (#51)

* Add pub version badge

* [meta] add coordeach implementation (#50)

* [meta] add coordeach implementation

* [benchmark] add coordeach benchmark using test fixtures

* Add implementation for getCoord & getCoords // invariant package (#53)

* initial getCoord & getCoords implementation

* WIP test coords/coord

* test gitpod flutter config

* ports invariants package (#62)

* dart pub get added

* wip, type problem

* fixed return error of the test

* Gitpod config

* new test cases, changed comments

* standardized the comments

* wrapped List in brackets

* some minor typo edit

* added highlight in documentation

* formatted conflicting files

* deleted the gitpod files

Co-authored-by: Arman Torkzaban <[email protected]>

Co-authored-by: arman <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: Arman Torkzaban <[email protected]>

* Add flattenEach function and tests (#48)

* Add flattenEach function and tests

* Refactor flattenEach slightly

* Refactor meta -- breaking of iterations tests

* Explicitly do not support nested GeometryCollections

* Update documentation links

* Use more specific type checks in flattenEach test

* rm duplicate fcMixed

* remove geometryCollection clause

* warning for nested GeometryCollection

Co-authored-by: Lukas Himsel <[email protected]>

* refactor coordEach with geomEach, change type in geomEach callback (#68)

* [meta] add coordeach implementation

* Rework coordEach implementation to match setup more from geomEach

* cleanup

* optimize for geometry collection

* refactor coordEach with geomEach, change type in geomEach callback

Co-authored-by: Tobrun Van Nuland <[email protected]>

* Port coordAll function and test, also: refactor coordEach callback  (#64)

* beginning

* wip coordAll

* coordAll test, WIP

* changes CoordEachCallback's signature

* typecast removed, test corrected

* changes before merging

* refactor for Position in CoordEachCallback

Co-authored-by: Lukas Himsel <[email protected]>

* Update README.md

* Feature reducers (#49)

* Temporarily type geomEach callback to GeometryType

* Add geomReduce function and tests

* propReduce function

* WIP - featureReduce()

* WIP

* added examples and documentations

* flattenReduce WIP

* WIP

* coordReduce

* documentation

* add static types

* merge readme

* prepare new merge

* generic types for all reducer functions

* TurfJS compatible solution with type checks

* add cloning

* fixed types passed to callbacks, propReduce test

* flattenReduce and featureReduce test

* coordReduce

* minor type conv. num to int

Co-authored-by: Arman Torkzaban <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Port cluster functions and tests (#69)

* port functions

* getCluster documentation

* WIP documentation

* Did the documentation

* wrote tests

* benchmarks - in process

* moved benchmarks to separate file

* exported clusters.dart

Co-authored-by: armantorkzaban <[email protected]>

* Port meta segment functions & lineSegment (#70)

* initial commit to segment file

* beginning

* lineSegment()

* lineSegment

* refactor

* lineSegment tests

* polygon test

* wip segmentEach

* rewrite segmentEach witohut coordEach

* fix flattenEachCallback

* combine units

* tests for segmentEach

* segmentEach id check tests

* segmentReduce impltd.

* updated README

* Documentation

* benchmark init

Co-authored-by: Arman Torkzaban <[email protected]>

* split up meta into separate files (#72)

* Meta functions extension methods (#73)

* initial setup

* fix export, add all *each functions

* implement 'other' functions

* implement *reduce functions

* fix tests

* rm geojson param for reducers

* Update functions and packages in README.md (#67)

* WIP - updating README.md

* missing new functions & packages

* helpers function aint needed anymore - constructor

* Links added and unnecessary funtioncs deleted

Co-authored-by: Lukas Himsel <[email protected]>

* Raise version to 0.0.5

* Documentation (#75)

* in process - early analysis of the work

* linked the meta functions in readme

* CONTRIBUTING.md

* links to the sources

* edited typos

* documentation work

* closes #77, closes #16

* proofread

* improves pub.dev score, closes #79, #78, #75

* Added deleted model, complemented contributing.md

Co-authored-by: Lukas Himsel <[email protected]>

* raise to version 0.0.6

* Improve pub score & raise to version 0.0.6+2 (#82)

* add examples, fix segment * callbacks

* raise version to 0.0.6+2

Co-authored-by: Brad Parham <[email protected]>
Co-authored-by: Tobrun <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: Arman Torkzaban <[email protected]>
armantorkzaban added a commit that referenced this issue Apr 19, 2022
* initial null-safety implementation

* attributes non-nullable + tests, fix meta tests

* make altitude for Position and BBox nullable

* update action deps, build runner

* delete conflicting outputs, dart test on PR action

* Strongly type and refactor geomEach meta function

This commit also renames Geometry to GeometryObject

* simplify geomEach

* Add coverage reporting to pull requests tests

* Allow PR coverage comment to fail

This allows PRs from forks to still run the tests successfully

* Refactor coverage reporting into its own job

The coverage job is allowed to continue on error, letting the entire
workflow 'pass' if we hit issues running or reporting coverage

* Move coverage reporting into separate workflow

* geomEach: nullable fields #36

* fix types in tests

* Update to latest romeovs/lcov-reporter-action

This should resolve an issue where the 'comment code coverage on PR'
action fails after being merged into main. See
romeovs/lcov-reporter-action#16

* raise version for release 0.0.3

* [meta] add implementation and test for featureEach and propEach (#24)

* Assemble different types, refactor GeoJSON serialization, general improvements (#43)

* #19, #20, #21, refactor

* convert GeoJSONObjectType to enum, rename

* rm overridden bboxes

* Implement vector operations #23

* statically type 'round' helper func, fix unit test

* gen coverage

* fix typo

* geojson unit tests, type fixes

* fix deserialization with GeoJSONObjectType, implement hashCode

* initial unit tests for new constructors

* integration tests

* fix path

* test bbox on other geojson types

* update enum tests

* required params for new constructors, unit tests

* license notices

* bump version for release

* Add basic benchmarking framework (#51)

* Add pub version badge

* [meta] add coordeach implementation (#50)

* [meta] add coordeach implementation

* [benchmark] add coordeach benchmark using test fixtures

* Add implementation for getCoord & getCoords // invariant package (#53)

* initial getCoord & getCoords implementation

* WIP test coords/coord

* test gitpod flutter config

* ports invariants package (#62)

* dart pub get added

* wip, type problem

* fixed return error of the test

* Gitpod config

* new test cases, changed comments

* standardized the comments

* wrapped List in brackets

* some minor typo edit

* added highlight in documentation

* formatted conflicting files

* deleted the gitpod files

Co-authored-by: Arman Torkzaban <[email protected]>

Co-authored-by: arman <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: Arman Torkzaban <[email protected]>

* Add flattenEach function and tests (#48)

* Add flattenEach function and tests

* Refactor flattenEach slightly

* Refactor meta -- breaking of iterations tests

* Explicitly do not support nested GeometryCollections

* Update documentation links

* Use more specific type checks in flattenEach test

* rm duplicate fcMixed

* remove geometryCollection clause

* warning for nested GeometryCollection

Co-authored-by: Lukas Himsel <[email protected]>

* refactor coordEach with geomEach, change type in geomEach callback (#68)

* [meta] add coordeach implementation

* Rework coordEach implementation to match setup more from geomEach

* cleanup

* optimize for geometry collection

* refactor coordEach with geomEach, change type in geomEach callback

Co-authored-by: Tobrun Van Nuland <[email protected]>

* Port coordAll function and test, also: refactor coordEach callback  (#64)

* beginning

* wip coordAll

* coordAll test, WIP

* changes CoordEachCallback's signature

* typecast removed, test corrected

* changes before merging

* refactor for Position in CoordEachCallback

Co-authored-by: Lukas Himsel <[email protected]>

* Update README.md

* Feature reducers (#49)

* Temporarily type geomEach callback to GeometryType

* Add geomReduce function and tests

* propReduce function

* WIP - featureReduce()

* WIP

* added examples and documentations

* flattenReduce WIP

* WIP

* coordReduce

* documentation

* add static types

* merge readme

* prepare new merge

* generic types for all reducer functions

* TurfJS compatible solution with type checks

* add cloning

* fixed types passed to callbacks, propReduce test

* flattenReduce and featureReduce test

* coordReduce

* minor type conv. num to int

Co-authored-by: Arman Torkzaban <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Port cluster functions and tests (#69)

* port functions

* getCluster documentation

* WIP documentation

* Did the documentation

* wrote tests

* benchmarks - in process

* moved benchmarks to separate file

* exported clusters.dart

Co-authored-by: armantorkzaban <[email protected]>

* Port meta segment functions & lineSegment (#70)

* initial commit to segment file

* beginning

* lineSegment()

* lineSegment

* refactor

* lineSegment tests

* polygon test

* wip segmentEach

* rewrite segmentEach witohut coordEach

* fix flattenEachCallback

* combine units

* tests for segmentEach

* segmentEach id check tests

* segmentReduce impltd.

* updated README

* Documentation

* benchmark init

Co-authored-by: Arman Torkzaban <[email protected]>

* split up meta into separate files (#72)

* Meta functions extension methods (#73)

* initial setup

* fix export, add all *each functions

* implement 'other' functions

* implement *reduce functions

* fix tests

* rm geojson param for reducers

* Update functions and packages in README.md (#67)

* WIP - updating README.md

* missing new functions & packages

* helpers function aint needed anymore - constructor

* Links added and unnecessary funtioncs deleted

Co-authored-by: Lukas Himsel <[email protected]>

* Raise version to 0.0.5

* Documentation (#75)

* in process - early analysis of the work

* linked the meta functions in readme

* CONTRIBUTING.md

* links to the sources

* edited typos

* documentation work

* closes #77, closes #16

* proofread

* improves pub.dev score, closes #79, #78, #75

* Added deleted model, complemented contributing.md

Co-authored-by: Lukas Himsel <[email protected]>

* raise to version 0.0.6

* Improve pub score & raise to version 0.0.6+2 (#82)

* add examples, fix segment * callbacks

* raise version to 0.0.6+2

* Improve pub score (rename example file, raise to 0.0.6+3) (#84)

* add examples, fix segment * callbacks

* raise version to 0.0.6+2

* Rename example file, raise to 0.0.6+3

Co-authored-by: Brad Parham <[email protected]>
Co-authored-by: Tobrun <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: Arman Torkzaban <[email protected]>
lukas-h added a commit that referenced this issue Jul 11, 2022
* initial null-safety implementation

* attributes non-nullable + tests, fix meta tests

* make altitude for Position and BBox nullable

* update action deps, build runner

* delete conflicting outputs, dart test on PR action

* Strongly type and refactor geomEach meta function

This commit also renames Geometry to GeometryObject

* simplify geomEach

* Add coverage reporting to pull requests tests

* Allow PR coverage comment to fail

This allows PRs from forks to still run the tests successfully

* Refactor coverage reporting into its own job

The coverage job is allowed to continue on error, letting the entire
workflow 'pass' if we hit issues running or reporting coverage

* Move coverage reporting into separate workflow

* geomEach: nullable fields #36

* fix types in tests

* Update to latest romeovs/lcov-reporter-action

This should resolve an issue where the 'comment code coverage on PR'
action fails after being merged into main. See
romeovs/lcov-reporter-action#16

* raise version for release 0.0.3

* [meta] add implementation and test for featureEach and propEach (#24)

* Assemble different types, refactor GeoJSON serialization, general improvements (#43)

* #19, #20, #21, refactor

* convert GeoJSONObjectType to enum, rename

* rm overridden bboxes

* Implement vector operations #23

* statically type 'round' helper func, fix unit test

* gen coverage

* fix typo

* geojson unit tests, type fixes

* fix deserialization with GeoJSONObjectType, implement hashCode

* initial unit tests for new constructors

* integration tests

* fix path

* test bbox on other geojson types

* update enum tests

* required params for new constructors, unit tests

* license notices

* bump version for release

* Add basic benchmarking framework (#51)

* Add pub version badge

* [meta] add coordeach implementation (#50)

* [meta] add coordeach implementation

* [benchmark] add coordeach benchmark using test fixtures

* Add implementation for getCoord & getCoords // invariant package (#53)

* initial getCoord & getCoords implementation

* WIP test coords/coord

* test gitpod flutter config

* ports invariants package (#62)

* dart pub get added

* wip, type problem

* fixed return error of the test

* Gitpod config

* new test cases, changed comments

* standardized the comments

* wrapped List in brackets

* some minor typo edit

* added highlight in documentation

* formatted conflicting files

* deleted the gitpod files

Co-authored-by: Arman Torkzaban <[email protected]>

Co-authored-by: arman <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: Arman Torkzaban <[email protected]>

* Add flattenEach function and tests (#48)

* Add flattenEach function and tests

* Refactor flattenEach slightly

* Refactor meta -- breaking of iterations tests

* Explicitly do not support nested GeometryCollections

* Update documentation links

* Use more specific type checks in flattenEach test

* rm duplicate fcMixed

* remove geometryCollection clause

* warning for nested GeometryCollection

Co-authored-by: Lukas Himsel <[email protected]>

* refactor coordEach with geomEach, change type in geomEach callback (#68)

* [meta] add coordeach implementation

* Rework coordEach implementation to match setup more from geomEach

* cleanup

* optimize for geometry collection

* refactor coordEach with geomEach, change type in geomEach callback

Co-authored-by: Tobrun Van Nuland <[email protected]>

* Port coordAll function and test, also: refactor coordEach callback  (#64)

* beginning

* wip coordAll

* coordAll test, WIP

* changes CoordEachCallback's signature

* typecast removed, test corrected

* changes before merging

* refactor for Position in CoordEachCallback

Co-authored-by: Lukas Himsel <[email protected]>

* Update README.md

* Feature reducers (#49)

* Temporarily type geomEach callback to GeometryType

* Add geomReduce function and tests

* propReduce function

* WIP - featureReduce()

* WIP

* added examples and documentations

* flattenReduce WIP

* WIP

* coordReduce

* documentation

* add static types

* merge readme

* prepare new merge

* generic types for all reducer functions

* TurfJS compatible solution with type checks

* add cloning

* fixed types passed to callbacks, propReduce test

* flattenReduce and featureReduce test

* coordReduce

* minor type conv. num to int

Co-authored-by: Arman Torkzaban <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Port cluster functions and tests (#69)

* port functions

* getCluster documentation

* WIP documentation

* Did the documentation

* wrote tests

* benchmarks - in process

* moved benchmarks to separate file

* exported clusters.dart

Co-authored-by: armantorkzaban <[email protected]>

* Port meta segment functions & lineSegment (#70)

* initial commit to segment file

* beginning

* lineSegment()

* lineSegment

* refactor

* lineSegment tests

* polygon test

* wip segmentEach

* rewrite segmentEach witohut coordEach

* fix flattenEachCallback

* combine units

* tests for segmentEach

* segmentEach id check tests

* segmentReduce impltd.

* updated README

* Documentation

* benchmark init

Co-authored-by: Arman Torkzaban <[email protected]>

* split up meta into separate files (#72)

* Meta functions extension methods (#73)

* initial setup

* fix export, add all *each functions

* implement 'other' functions

* implement *reduce functions

* fix tests

* rm geojson param for reducers

* Update functions and packages in README.md (#67)

* WIP - updating README.md

* missing new functions & packages

* helpers function aint needed anymore - constructor

* Links added and unnecessary funtioncs deleted

Co-authored-by: Lukas Himsel <[email protected]>

* Raise version to 0.0.5

* Documentation (#75)

* in process - early analysis of the work

* linked the meta functions in readme

* CONTRIBUTING.md

* links to the sources

* edited typos

* documentation work

* closes #77, closes #16

* proofread

* improves pub.dev score, closes #79, #78, #75

* Added deleted model, complemented contributing.md

Co-authored-by: Lukas Himsel <[email protected]>

* raise to version 0.0.6

* Improve pub score & raise to version 0.0.6+2 (#82)

* add examples, fix segment * callbacks

* raise version to 0.0.6+2

* Improve pub score (rename example file, raise to 0.0.6+3) (#84)

* add examples, fix segment * callbacks

* raise version to 0.0.6+2

* Rename example file, raise to 0.0.6+3

* Implement `nearestPointOn(Multi)Line` and `internal` intersects helper (Attempt 2) (#87)

* Implement `nearestPointOn(Multi)Line` (#86)

Co-authored-by: Levente Morva <[email protected]>

* localIndex and index

* add documentation

* Fix `globalIndex` behaviour

Co-authored-by: Levente Morva <[email protected]>

* fix test, according to new globalIndex behaviour

* add intersection test

Co-authored-by: Levente Morva <[email protected]>

* Port explode function and test (#93)

* initial version without tests

* closes #93

* updated readme for explode

* fixed formatting

Co-authored-by: armantorkzaban <[email protected]>

* Merge bbox-polygon and bbox, center, polyline decode (#99)

* Added coordEach translation

* Added bBox translation

* Added center translation

* Added decode points from polyline

* Update read me

* Remove and exclude .idea from git indexing

* Convert double to Position

* Use existing coord each implementation

* Return bBox points in the correct order

* Add bbox unit test

* Change libraries namespaces

* Code refactor

* Add doc blocs and some more missing functions

* Add encode polyline feature

* Add tests for both encode and decode polylines

* Add bbox tests

* Add helper functions

* Convert array to Bbox

* Remove redundant helper functions

* Add documentation

* implementation

* tests init, documentation, addition of types and debug

* implemented, docs

* test initiation

* added it to /lib, updated readme, can close 97

* renamed the test file

* comments resolved

* typo

* unused lib removed

* merge bbox-polygon

* missing center_test.dart

* imported bbox_polygon to center_test

* test error fixes

Co-authored-by: Dennis Mwea <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Added missing alt1, alt2 in BBox constructor, BBox put in README (#100)

* Added coordEach translation

* Added bBox translation

* Added center translation

* Added decode points from polyline

* Update read me

* Remove and exclude .idea from git indexing

* Convert double to Position

* Use existing coord each implementation

* Return bBox points in the correct order

* Add bbox unit test

* Change libraries namespaces

* Code refactor

* Add doc blocs and some more missing functions

* Add encode polyline feature

* Add tests for both encode and decode polylines

* Add bbox tests

* Add helper functions

* Convert array to Bbox

* Remove redundant helper functions

* Add documentation

* implementation

* tests init, documentation, addition of types and debug

* implemented, docs

* test initiation

* added it to /lib, updated readme, can close 97

* renamed the test file

* comments resolved

* typo

* unused lib removed

* merge bbox-polygon

* missing center_test.dart

* imported bbox_polygon to center_test

* test error fixes

* added alt 1,2 to Bbox

* added bbox to readme

* Fix typos

* bbox constructure changed to standard

* bbox optional positional param. set accordingly

* Documentation on limitation of optional prms. Bbox

* Update geojson.dart

* fix order of BBox default constructor in test

* update doc comment

* fix previously missed null exceptions

Co-authored-by: Dennis Mwea <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Implement rhumbBearing function and test (#109)

* initial commit, stolen from @armantorkzaban

* fix formatting

* cleanup comments

* Ports lineToPolygon, polygonToLine, and their tests (#104)

* line_to_polygon ported

* test init of lineToPolygon

* debugging the test on line to polygon

* line_to_polygon_test done

* polygonToLine init

* check for features' tyope in FeatureCollections

* file name change

* test and impl. done for polygonToLine

* refactor autocomplete, lineStringToPolygon

* comments resolved

* type added

* implementation and test and type setting

Co-authored-by: Lukas Himsel <[email protected]>

* Adds proper documentation to feature-conversion Part I (#115)

* line_to_polygon ported

* test init of lineToPolygon

* debugging the test on line to polygon

* line_to_polygon_test done

* polygonToLine init

* check for features' tyope in FeatureCollections

* file name change

* test and impl. done for polygonToLine

* refactor autocomplete, lineStringToPolygon

* comments resolved

* type added

* implementation and test and type setting

* corrected documentation

Co-authored-by: Lukas Himsel <[email protected]>

* Update impl status of feature conversion package

* Ports truncate package and its test (#111)

* implemented

* test init

* moving on with the test

* test finished.

* comments resolved

* add truncate reference

* Ports clean_coords and its test (#112)

* init

* implemented

* test init - imported

* test, moving on

* implemented points in comments

* resolving comments

* test done

* readme updated, js removed

* fix turf_equality dep, replace forEach with for

* update types

* trying to fix mutation

* refactor, fix tests

* another variance

* simplified, cleaned comments

* seems like it works!

Co-authored-by: Lukas Himsel <[email protected]>

* Debugs GeometryCollection condition in truncate (#121)

* implemented

* test init

* moving on with the test

* test finished.

* comments resolved

* updated readme.md

* changed from forEach to for and used the element

* changed forEach to a for loop

* variable name changed - resolving a comment

* rid of redundant case for GeometryCollection, test

Co-authored-by: Lukas Himsel <[email protected]>

* close #116 - add src path to README

* update changelog, bump version for release

Co-authored-by: Brad Parham <[email protected]>
Co-authored-by: Tobrun <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: Arman Torkzaban <[email protected]>
Co-authored-by: Levente Morva <[email protected]>
Co-authored-by: Dennis Mwea <[email protected]>
lukas-h added a commit that referenced this issue Sep 11, 2022
* in process - early analysis of the work

* linked the meta functions in readme

* CONTRIBUTING.md

* links to the sources

* edited typos

* documentation work

* closes #77, closes #16

* proofread

* improves pub.dev score, closes #79, #78, #75

* Added deleted model, complemented contributing.md

* booleans init

* initial import

* boolean_touches

* valid - wip

* within - init

* rewiring the translated code

* contains etc.

* touches

* valid

* dependencies imported

* Update CONTRIBUTING.md

* clockwise test

* concave test

* intersect test

* pointOnLine test

* contains

* crosses_test - blocked by findIntersections

* boolean_contain

* boolean_within

* rhumb_bearing

* rhumb_bearing\'s test  - incomplete

* rhumb_bearing's test - done, added to lib/bearing

* boolean_contains, boolean_parallel, IP

* working on contain - removed usages of runtimeType

* rewriting pointInLine

* tests reverted to false/true folder style

* restructuring, clean-up

* clockwise and its test, documentation

* concave finalized

* PointInPolygon plus test, dart format

* removed the commented JS lines

* return type added

* disjoint and test - not done, depends on sweepline

* equal implement, test, has dependencies

* moving on

* clean coords init

* cleanCoord implemented, going to new branch

* moving on with equal

* update turf_equality dep

* moving forward

* refactors boolean_equal

* #88 crosses, disjoint, equal, intersects, pip @lukas-h

* cleanup on #88

* progress on overlap

* bool: overlap,parallel,valid,touches & lineOverlap

* issue with test is worked on

* still at porting the overlap test

* done: parallel

* working on valid

* touches done

* valid - got stuck

* progress on within

* moved on with valid, refactored

* valid test

* lineIntersection testet - contains sweepline

* package publishabe, rm git deps, fix equality dep

* update params in equality

* mod. on valid to cover the std. - MutiPs' 'finite'

* RFCs resolved - readied for merge

* return type of getGeom

* linter effect!

* reolved requests

* more requests resolved

* more requests resolved

* test name, touching lineOverlap

* fix conversations in booleanContains

* fixes conversations in crosses and disjoint

* resolves allllllllll outdated conversations, refactor

* use getGeom in booleanTouches

* use getGeom more frequently

* rm linter rule, which is already inherited from dartclub_lint

* cleanup, ready for merge

Co-authored-by: Lukas Himsel <[email protected]>
lukas-h added a commit that referenced this issue Jun 13, 2023
* initial null-safety implementation

* attributes non-nullable + tests, fix meta tests

* make altitude for Position and BBox nullable

* update action deps, build runner

* delete conflicting outputs, dart test on PR action

* Strongly type and refactor geomEach meta function

This commit also renames Geometry to GeometryObject

* simplify geomEach

* Add coverage reporting to pull requests tests

* Allow PR coverage comment to fail

This allows PRs from forks to still run the tests successfully

* Refactor coverage reporting into its own job

The coverage job is allowed to continue on error, letting the entire
workflow 'pass' if we hit issues running or reporting coverage

* Move coverage reporting into separate workflow

* geomEach: nullable fields #36

* fix types in tests

* Update to latest romeovs/lcov-reporter-action

This should resolve an issue where the 'comment code coverage on PR'
action fails after being merged into main. See
romeovs/lcov-reporter-action#16

* raise version for release 0.0.3

* [meta] add implementation and test for featureEach and propEach (#24)

* Assemble different types, refactor GeoJSON serialization, general improvements (#43)

* #19, #20, #21, refactor

* convert GeoJSONObjectType to enum, rename

* rm overridden bboxes

* Implement vector operations #23

* statically type 'round' helper func, fix unit test

* gen coverage

* fix typo

* geojson unit tests, type fixes

* fix deserialization with GeoJSONObjectType, implement hashCode

* initial unit tests for new constructors

* integration tests

* fix path

* test bbox on other geojson types

* update enum tests

* required params for new constructors, unit tests

* license notices

* bump version for release

* Add basic benchmarking framework (#51)

* Add pub version badge

* [meta] add coordeach implementation (#50)

* [meta] add coordeach implementation

* [benchmark] add coordeach benchmark using test fixtures

* Add implementation for getCoord & getCoords // invariant package (#53)

* initial getCoord & getCoords implementation

* WIP test coords/coord

* test gitpod flutter config

* ports invariants package (#62)

* dart pub get added

* wip, type problem

* fixed return error of the test

* Gitpod config

* new test cases, changed comments

* standardized the comments

* wrapped List in brackets

* some minor typo edit

* added highlight in documentation

* formatted conflicting files

* deleted the gitpod files

Co-authored-by: Arman Torkzaban <[email protected]>

Co-authored-by: arman <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: Arman Torkzaban <[email protected]>

* Add flattenEach function and tests (#48)

* Add flattenEach function and tests

* Refactor flattenEach slightly

* Refactor meta -- breaking of iterations tests

* Explicitly do not support nested GeometryCollections

* Update documentation links

* Use more specific type checks in flattenEach test

* rm duplicate fcMixed

* remove geometryCollection clause

* warning for nested GeometryCollection

Co-authored-by: Lukas Himsel <[email protected]>

* refactor coordEach with geomEach, change type in geomEach callback (#68)

* [meta] add coordeach implementation

* Rework coordEach implementation to match setup more from geomEach

* cleanup

* optimize for geometry collection

* refactor coordEach with geomEach, change type in geomEach callback

Co-authored-by: Tobrun Van Nuland <[email protected]>

* Port coordAll function and test, also: refactor coordEach callback  (#64)

* beginning

* wip coordAll

* coordAll test, WIP

* changes CoordEachCallback's signature

* typecast removed, test corrected

* changes before merging

* refactor for Position in CoordEachCallback

Co-authored-by: Lukas Himsel <[email protected]>

* Update README.md

* Feature reducers (#49)

* Temporarily type geomEach callback to GeometryType

* Add geomReduce function and tests

* propReduce function

* WIP - featureReduce()

* WIP

* added examples and documentations

* flattenReduce WIP

* WIP

* coordReduce

* documentation

* add static types

* merge readme

* prepare new merge

* generic types for all reducer functions

* TurfJS compatible solution with type checks

* add cloning

* fixed types passed to callbacks, propReduce test

* flattenReduce and featureReduce test

* coordReduce

* minor type conv. num to int

Co-authored-by: Arman Torkzaban <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Port cluster functions and tests (#69)

* port functions

* getCluster documentation

* WIP documentation

* Did the documentation

* wrote tests

* benchmarks - in process

* moved benchmarks to separate file

* exported clusters.dart

Co-authored-by: armantorkzaban <[email protected]>

* Port meta segment functions & lineSegment (#70)

* initial commit to segment file

* beginning

* lineSegment()

* lineSegment

* refactor

* lineSegment tests

* polygon test

* wip segmentEach

* rewrite segmentEach witohut coordEach

* fix flattenEachCallback

* combine units

* tests for segmentEach

* segmentEach id check tests

* segmentReduce impltd.

* updated README

* Documentation

* benchmark init

Co-authored-by: Arman Torkzaban <[email protected]>

* split up meta into separate files (#72)

* Meta functions extension methods (#73)

* initial setup

* fix export, add all *each functions

* implement 'other' functions

* implement *reduce functions

* fix tests

* rm geojson param for reducers

* Update functions and packages in README.md (#67)

* WIP - updating README.md

* missing new functions & packages

* helpers function aint needed anymore - constructor

* Links added and unnecessary funtioncs deleted

Co-authored-by: Lukas Himsel <[email protected]>

* Raise version to 0.0.5

* Documentation (#75)

* in process - early analysis of the work

* linked the meta functions in readme

* CONTRIBUTING.md

* links to the sources

* edited typos

* documentation work

* closes #77, closes #16

* proofread

* improves pub.dev score, closes #79, #78, #75

* Added deleted model, complemented contributing.md

Co-authored-by: Lukas Himsel <[email protected]>

* raise to version 0.0.6

* Improve pub score & raise to version 0.0.6+2 (#82)

* add examples, fix segment * callbacks

* raise version to 0.0.6+2

* Improve pub score (rename example file, raise to 0.0.6+3) (#84)

* add examples, fix segment * callbacks

* raise version to 0.0.6+2

* Rename example file, raise to 0.0.6+3

* Implement `nearestPointOn(Multi)Line` and `internal` intersects helper (Attempt 2) (#87)

* Implement `nearestPointOn(Multi)Line` (#86)

Co-authored-by: Levente Morva <[email protected]>

* localIndex and index

* add documentation

* Fix `globalIndex` behaviour

Co-authored-by: Levente Morva <[email protected]>

* fix test, according to new globalIndex behaviour

* add intersection test

Co-authored-by: Levente Morva <[email protected]>

* Port explode function and test (#93)

* initial version without tests

* closes #93

* updated readme for explode

* fixed formatting

Co-authored-by: armantorkzaban <[email protected]>

* Merge bbox-polygon and bbox, center, polyline decode (#99)

* Added coordEach translation

* Added bBox translation

* Added center translation

* Added decode points from polyline

* Update read me

* Remove and exclude .idea from git indexing

* Convert double to Position

* Use existing coord each implementation

* Return bBox points in the correct order

* Add bbox unit test

* Change libraries namespaces

* Code refactor

* Add doc blocs and some more missing functions

* Add encode polyline feature

* Add tests for both encode and decode polylines

* Add bbox tests

* Add helper functions

* Convert array to Bbox

* Remove redundant helper functions

* Add documentation

* implementation

* tests init, documentation, addition of types and debug

* implemented, docs

* test initiation

* added it to /lib, updated readme, can close 97

* renamed the test file

* comments resolved

* typo

* unused lib removed

* merge bbox-polygon

* missing center_test.dart

* imported bbox_polygon to center_test

* test error fixes

Co-authored-by: Dennis Mwea <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Added missing alt1, alt2 in BBox constructor, BBox put in README (#100)

* Added coordEach translation

* Added bBox translation

* Added center translation

* Added decode points from polyline

* Update read me

* Remove and exclude .idea from git indexing

* Convert double to Position

* Use existing coord each implementation

* Return bBox points in the correct order

* Add bbox unit test

* Change libraries namespaces

* Code refactor

* Add doc blocs and some more missing functions

* Add encode polyline feature

* Add tests for both encode and decode polylines

* Add bbox tests

* Add helper functions

* Convert array to Bbox

* Remove redundant helper functions

* Add documentation

* implementation

* tests init, documentation, addition of types and debug

* implemented, docs

* test initiation

* added it to /lib, updated readme, can close 97

* renamed the test file

* comments resolved

* typo

* unused lib removed

* merge bbox-polygon

* missing center_test.dart

* imported bbox_polygon to center_test

* test error fixes

* added alt 1,2 to Bbox

* added bbox to readme

* Fix typos

* bbox constructure changed to standard

* bbox optional positional param. set accordingly

* Documentation on limitation of optional prms. Bbox

* Update geojson.dart

* fix order of BBox default constructor in test

* update doc comment

* fix previously missed null exceptions

Co-authored-by: Dennis Mwea <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Implement rhumbBearing function and test (#109)

* initial commit, stolen from @armantorkzaban

* fix formatting

* cleanup comments

* Ports lineToPolygon, polygonToLine, and their tests (#104)

* line_to_polygon ported

* test init of lineToPolygon

* debugging the test on line to polygon

* line_to_polygon_test done

* polygonToLine init

* check for features' tyope in FeatureCollections

* file name change

* test and impl. done for polygonToLine

* refactor autocomplete, lineStringToPolygon

* comments resolved

* type added

* implementation and test and type setting

Co-authored-by: Lukas Himsel <[email protected]>

* Adds proper documentation to feature-conversion Part I (#115)

* line_to_polygon ported

* test init of lineToPolygon

* debugging the test on line to polygon

* line_to_polygon_test done

* polygonToLine init

* check for features' tyope in FeatureCollections

* file name change

* test and impl. done for polygonToLine

* refactor autocomplete, lineStringToPolygon

* comments resolved

* type added

* implementation and test and type setting

* corrected documentation

Co-authored-by: Lukas Himsel <[email protected]>

* Update impl status of feature conversion package

* Ports truncate package and its test (#111)

* implemented

* test init

* moving on with the test

* test finished.

* comments resolved

* add truncate reference

* Ports clean_coords and its test (#112)

* init

* implemented

* test init - imported

* test, moving on

* implemented points in comments

* resolving comments

* test done

* readme updated, js removed

* fix turf_equality dep, replace forEach with for

* update types

* trying to fix mutation

* refactor, fix tests

* another variance

* simplified, cleaned comments

* seems like it works!

Co-authored-by: Lukas Himsel <[email protected]>

* Debugs GeometryCollection condition in truncate (#121)

* implemented

* test init

* moving on with the test

* test finished.

* comments resolved

* updated readme.md

* changed from forEach to for and used the element

* changed forEach to a for loop

* variable name changed - resolving a comment

* rid of redundant case for GeometryCollection, test

Co-authored-by: Lukas Himsel <[email protected]>

* close #116 - add src path to README

* update changelog, bump version for release

* Added support for the area function (#123)

* Added the area function

* made the geometry to be of type GeometryType

* fixed the test and added a benchmark test

* fixed the area docs

* added some more tests

* Marked functions as private and fixed documentation

* fixed documentation

* added exception in case of unsupported geometry type, formatted the code and removed some redundant code

Co-authored-by: yarden <[email protected]>

* Implement polygon-smooth and its tests (#127)

* initial implementation, and refactor

* finished test and benchmark impl

* reference in README

* Port boolean functions and tests (#91)

* in process - early analysis of the work

* linked the meta functions in readme

* CONTRIBUTING.md

* links to the sources

* edited typos

* documentation work

* closes #77, closes #16

* proofread

* improves pub.dev score, closes #79, #78, #75

* Added deleted model, complemented contributing.md

* booleans init

* initial import

* boolean_touches

* valid - wip

* within - init

* rewiring the translated code

* contains etc.

* touches

* valid

* dependencies imported

* Update CONTRIBUTING.md

* clockwise test

* concave test

* intersect test

* pointOnLine test

* contains

* crosses_test - blocked by findIntersections

* boolean_contain

* boolean_within

* rhumb_bearing

* rhumb_bearing\'s test  - incomplete

* rhumb_bearing's test - done, added to lib/bearing

* boolean_contains, boolean_parallel, IP

* working on contain - removed usages of runtimeType

* rewriting pointInLine

* tests reverted to false/true folder style

* restructuring, clean-up

* clockwise and its test, documentation

* concave finalized

* PointInPolygon plus test, dart format

* removed the commented JS lines

* return type added

* disjoint and test - not done, depends on sweepline

* equal implement, test, has dependencies

* moving on

* clean coords init

* cleanCoord implemented, going to new branch

* moving on with equal

* update turf_equality dep

* moving forward

* refactors boolean_equal

* #88 crosses, disjoint, equal, intersects, pip @lukas-h

* cleanup on #88

* progress on overlap

* bool: overlap,parallel,valid,touches & lineOverlap

* issue with test is worked on

* still at porting the overlap test

* done: parallel

* working on valid

* touches done

* valid - got stuck

* progress on within

* moved on with valid, refactored

* valid test

* lineIntersection testet - contains sweepline

* package publishabe, rm git deps, fix equality dep

* update params in equality

* mod. on valid to cover the std. - MutiPs' 'finite'

* RFCs resolved - readied for merge

* return type of getGeom

* linter effect!

* reolved requests

* more requests resolved

* more requests resolved

* test name, touching lineOverlap

* fix conversations in booleanContains

* fixes conversations in crosses and disjoint

* resolves allllllllll outdated conversations, refactor

* use getGeom in booleanTouches

* use getGeom more frequently

* rm linter rule, which is already inherited from dartclub_lint

* cleanup, ready for merge

Co-authored-by: Lukas Himsel <[email protected]>

* Add missing parameter 'unit'. (#145)

* Implement rhumb_distance with tests.

* Implement rhumb_destination with tests.

* Implement centroid with tests.

* Implement transform_rotate with tests.

* Add truncate tests for MultiLineString, MultiPoint, MultiPolygon

* run dart format

* introduce localCoordIndex in coordEach, cover more test cases in truncate_test

* prepare for next release, support

* work student position

* Fix excludeWrapCoord in coordEach for MultiPolygon type. (#148)

* Fix excludeWrapCoord in coordEach for MultiPolygon type.

* Added multipolygon test case for centroid.

* format markdown

---------

Co-authored-by: Brad Parham <[email protected]>
Co-authored-by: Tobrun <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: Arman Torkzaban <[email protected]>
Co-authored-by: Levente Morva <[email protected]>
Co-authored-by: Dennis Mwea <[email protected]>
Co-authored-by: yardenfi <[email protected]>
Co-authored-by: yarden <[email protected]>
Co-authored-by: Kangmin An <[email protected]>
Co-authored-by: ggastv <[email protected]>
lukas-h added a commit that referenced this issue Feb 1, 2024
* initial null-safety implementation

* attributes non-nullable + tests, fix meta tests

* make altitude for Position and BBox nullable

* update action deps, build runner

* delete conflicting outputs, dart test on PR action

* Strongly type and refactor geomEach meta function

This commit also renames Geometry to GeometryObject

* simplify geomEach

* Add coverage reporting to pull requests tests

* Allow PR coverage comment to fail

This allows PRs from forks to still run the tests successfully

* Refactor coverage reporting into its own job

The coverage job is allowed to continue on error, letting the entire
workflow 'pass' if we hit issues running or reporting coverage

* Move coverage reporting into separate workflow

* geomEach: nullable fields #36

* fix types in tests

* Update to latest romeovs/lcov-reporter-action

This should resolve an issue where the 'comment code coverage on PR'
action fails after being merged into main. See
romeovs/lcov-reporter-action#16

* raise version for release 0.0.3

* [meta] add implementation and test for featureEach and propEach (#24)

* Assemble different types, refactor GeoJSON serialization, general improvements (#43)

* #19, #20, #21, refactor

* convert GeoJSONObjectType to enum, rename

* rm overridden bboxes

* Implement vector operations #23

* statically type 'round' helper func, fix unit test

* gen coverage

* fix typo

* geojson unit tests, type fixes

* fix deserialization with GeoJSONObjectType, implement hashCode

* initial unit tests for new constructors

* integration tests

* fix path

* test bbox on other geojson types

* update enum tests

* required params for new constructors, unit tests

* license notices

* bump version for release

* Add basic benchmarking framework (#51)

* Add pub version badge

* [meta] add coordeach implementation (#50)

* [meta] add coordeach implementation

* [benchmark] add coordeach benchmark using test fixtures

* Add implementation for getCoord & getCoords // invariant package (#53)

* initial getCoord & getCoords implementation

* WIP test coords/coord

* test gitpod flutter config

* ports invariants package (#62)

* dart pub get added

* wip, type problem

* fixed return error of the test

* Gitpod config

* new test cases, changed comments

* standardized the comments

* wrapped List in brackets

* some minor typo edit

* added highlight in documentation

* formatted conflicting files

* deleted the gitpod files

Co-authored-by: Arman Torkzaban <[email protected]>

Co-authored-by: arman <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: Arman Torkzaban <[email protected]>

* Add flattenEach function and tests (#48)

* Add flattenEach function and tests

* Refactor flattenEach slightly

* Refactor meta -- breaking of iterations tests

* Explicitly do not support nested GeometryCollections

* Update documentation links

* Use more specific type checks in flattenEach test

* rm duplicate fcMixed

* remove geometryCollection clause

* warning for nested GeometryCollection

Co-authored-by: Lukas Himsel <[email protected]>

* refactor coordEach with geomEach, change type in geomEach callback (#68)

* [meta] add coordeach implementation

* Rework coordEach implementation to match setup more from geomEach

* cleanup

* optimize for geometry collection

* refactor coordEach with geomEach, change type in geomEach callback

Co-authored-by: Tobrun Van Nuland <[email protected]>

* Port coordAll function and test, also: refactor coordEach callback  (#64)

* beginning

* wip coordAll

* coordAll test, WIP

* changes CoordEachCallback's signature

* typecast removed, test corrected

* changes before merging

* refactor for Position in CoordEachCallback

Co-authored-by: Lukas Himsel <[email protected]>

* Update README.md

* Feature reducers (#49)

* Temporarily type geomEach callback to GeometryType

* Add geomReduce function and tests

* propReduce function

* WIP - featureReduce()

* WIP

* added examples and documentations

* flattenReduce WIP

* WIP

* coordReduce

* documentation

* add static types

* merge readme

* prepare new merge

* generic types for all reducer functions

* TurfJS compatible solution with type checks

* add cloning

* fixed types passed to callbacks, propReduce test

* flattenReduce and featureReduce test

* coordReduce

* minor type conv. num to int

Co-authored-by: Arman Torkzaban <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Port cluster functions and tests (#69)

* port functions

* getCluster documentation

* WIP documentation

* Did the documentation

* wrote tests

* benchmarks - in process

* moved benchmarks to separate file

* exported clusters.dart

Co-authored-by: armantorkzaban <[email protected]>

* Port meta segment functions & lineSegment (#70)

* initial commit to segment file

* beginning

* lineSegment()

* lineSegment

* refactor

* lineSegment tests

* polygon test

* wip segmentEach

* rewrite segmentEach witohut coordEach

* fix flattenEachCallback

* combine units

* tests for segmentEach

* segmentEach id check tests

* segmentReduce impltd.

* updated README

* Documentation

* benchmark init

Co-authored-by: Arman Torkzaban <[email protected]>

* split up meta into separate files (#72)

* Meta functions extension methods (#73)

* initial setup

* fix export, add all *each functions

* implement 'other' functions

* implement *reduce functions

* fix tests

* rm geojson param for reducers

* Update functions and packages in README.md (#67)

* WIP - updating README.md

* missing new functions & packages

* helpers function aint needed anymore - constructor

* Links added and unnecessary funtioncs deleted

Co-authored-by: Lukas Himsel <[email protected]>

* Raise version to 0.0.5

* Documentation (#75)

* in process - early analysis of the work

* linked the meta functions in readme

* CONTRIBUTING.md

* links to the sources

* edited typos

* documentation work

* closes #77, closes #16

* proofread

* improves pub.dev score, closes #79, #78, #75

* Added deleted model, complemented contributing.md

Co-authored-by: Lukas Himsel <[email protected]>

* raise to version 0.0.6

* Improve pub score & raise to version 0.0.6+2 (#82)

* add examples, fix segment * callbacks

* raise version to 0.0.6+2

* Improve pub score (rename example file, raise to 0.0.6+3) (#84)

* add examples, fix segment * callbacks

* raise version to 0.0.6+2

* Rename example file, raise to 0.0.6+3

* Implement `nearestPointOn(Multi)Line` and `internal` intersects helper (Attempt 2) (#87)

* Implement `nearestPointOn(Multi)Line` (#86)

Co-authored-by: Levente Morva <[email protected]>

* localIndex and index

* add documentation

* Fix `globalIndex` behaviour

Co-authored-by: Levente Morva <[email protected]>

* fix test, according to new globalIndex behaviour

* add intersection test

Co-authored-by: Levente Morva <[email protected]>

* Port explode function and test (#93)

* initial version without tests

* closes #93

* updated readme for explode

* fixed formatting

Co-authored-by: armantorkzaban <[email protected]>

* Merge bbox-polygon and bbox, center, polyline decode (#99)

* Added coordEach translation

* Added bBox translation

* Added center translation

* Added decode points from polyline

* Update read me

* Remove and exclude .idea from git indexing

* Convert double to Position

* Use existing coord each implementation

* Return bBox points in the correct order

* Add bbox unit test

* Change libraries namespaces

* Code refactor

* Add doc blocs and some more missing functions

* Add encode polyline feature

* Add tests for both encode and decode polylines

* Add bbox tests

* Add helper functions

* Convert array to Bbox

* Remove redundant helper functions

* Add documentation

* implementation

* tests init, documentation, addition of types and debug

* implemented, docs

* test initiation

* added it to /lib, updated readme, can close 97

* renamed the test file

* comments resolved

* typo

* unused lib removed

* merge bbox-polygon

* missing center_test.dart

* imported bbox_polygon to center_test

* test error fixes

Co-authored-by: Dennis Mwea <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Added missing alt1, alt2 in BBox constructor, BBox put in README (#100)

* Added coordEach translation

* Added bBox translation

* Added center translation

* Added decode points from polyline

* Update read me

* Remove and exclude .idea from git indexing

* Convert double to Position

* Use existing coord each implementation

* Return bBox points in the correct order

* Add bbox unit test

* Change libraries namespaces

* Code refactor

* Add doc blocs and some more missing functions

* Add encode polyline feature

* Add tests for both encode and decode polylines

* Add bbox tests

* Add helper functions

* Convert array to Bbox

* Remove redundant helper functions

* Add documentation

* implementation

* tests init, documentation, addition of types and debug

* implemented, docs

* test initiation

* added it to /lib, updated readme, can close 97

* renamed the test file

* comments resolved

* typo

* unused lib removed

* merge bbox-polygon

* missing center_test.dart

* imported bbox_polygon to center_test

* test error fixes

* added alt 1,2 to Bbox

* added bbox to readme

* Fix typos

* bbox constructure changed to standard

* bbox optional positional param. set accordingly

* Documentation on limitation of optional prms. Bbox

* Update geojson.dart

* fix order of BBox default constructor in test

* update doc comment

* fix previously missed null exceptions

Co-authored-by: Dennis Mwea <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Implement rhumbBearing function and test (#109)

* initial commit, stolen from @armantorkzaban

* fix formatting

* cleanup comments

* Ports lineToPolygon, polygonToLine, and their tests (#104)

* line_to_polygon ported

* test init of lineToPolygon

* debugging the test on line to polygon

* line_to_polygon_test done

* polygonToLine init

* check for features' tyope in FeatureCollections

* file name change

* test and impl. done for polygonToLine

* refactor autocomplete, lineStringToPolygon

* comments resolved

* type added

* implementation and test and type setting

Co-authored-by: Lukas Himsel <[email protected]>

* Adds proper documentation to feature-conversion Part I (#115)

* line_to_polygon ported

* test init of lineToPolygon

* debugging the test on line to polygon

* line_to_polygon_test done

* polygonToLine init

* check for features' tyope in FeatureCollections

* file name change

* test and impl. done for polygonToLine

* refactor autocomplete, lineStringToPolygon

* comments resolved

* type added

* implementation and test and type setting

* corrected documentation

Co-authored-by: Lukas Himsel <[email protected]>

* Update impl status of feature conversion package

* Ports truncate package and its test (#111)

* implemented

* test init

* moving on with the test

* test finished.

* comments resolved

* add truncate reference

* Ports clean_coords and its test (#112)

* init

* implemented

* test init - imported

* test, moving on

* implemented points in comments

* resolving comments

* test done

* readme updated, js removed

* fix turf_equality dep, replace forEach with for

* update types

* trying to fix mutation

* refactor, fix tests

* another variance

* simplified, cleaned comments

* seems like it works!

Co-authored-by: Lukas Himsel <[email protected]>

* Debugs GeometryCollection condition in truncate (#121)

* implemented

* test init

* moving on with the test

* test finished.

* comments resolved

* updated readme.md

* changed from forEach to for and used the element

* changed forEach to a for loop

* variable name changed - resolving a comment

* rid of redundant case for GeometryCollection, test

Co-authored-by: Lukas Himsel <[email protected]>

* close #116 - add src path to README

* update changelog, bump version for release

* Added support for the area function (#123)

* Added the area function

* made the geometry to be of type GeometryType

* fixed the test and added a benchmark test

* fixed the area docs

* added some more tests

* Marked functions as private and fixed documentation

* fixed documentation

* added exception in case of unsupported geometry type, formatted the code and removed some redundant code

Co-authored-by: yarden <[email protected]>

* Implement polygon-smooth and its tests (#127)

* initial implementation, and refactor

* finished test and benchmark impl

* reference in README

* Port boolean functions and tests (#91)

* in process - early analysis of the work

* linked the meta functions in readme

* CONTRIBUTING.md

* links to the sources

* edited typos

* documentation work

* closes #77, closes #16

* proofread

* improves pub.dev score, closes #79, #78, #75

* Added deleted model, complemented contributing.md

* booleans init

* initial import

* boolean_touches

* valid - wip

* within - init

* rewiring the translated code

* contains etc.

* touches

* valid

* dependencies imported

* Update CONTRIBUTING.md

* clockwise test

* concave test

* intersect test

* pointOnLine test

* contains

* crosses_test - blocked by findIntersections

* boolean_contain

* boolean_within

* rhumb_bearing

* rhumb_bearing\'s test  - incomplete

* rhumb_bearing's test - done, added to lib/bearing

* boolean_contains, boolean_parallel, IP

* working on contain - removed usages of runtimeType

* rewriting pointInLine

* tests reverted to false/true folder style

* restructuring, clean-up

* clockwise and its test, documentation

* concave finalized

* PointInPolygon plus test, dart format

* removed the commented JS lines

* return type added

* disjoint and test - not done, depends on sweepline

* equal implement, test, has dependencies

* moving on

* clean coords init

* cleanCoord implemented, going to new branch

* moving on with equal

* update turf_equality dep

* moving forward

* refactors boolean_equal

* #88 crosses, disjoint, equal, intersects, pip @lukas-h

* cleanup on #88

* progress on overlap

* bool: overlap,parallel,valid,touches & lineOverlap

* issue with test is worked on

* still at porting the overlap test

* done: parallel

* working on valid

* touches done

* valid - got stuck

* progress on within

* moved on with valid, refactored

* valid test

* lineIntersection testet - contains sweepline

* package publishabe, rm git deps, fix equality dep

* update params in equality

* mod. on valid to cover the std. - MutiPs' 'finite'

* RFCs resolved - readied for merge

* return type of getGeom

* linter effect!

* reolved requests

* more requests resolved

* more requests resolved

* test name, touching lineOverlap

* fix conversations in booleanContains

* fixes conversations in crosses and disjoint

* resolves allllllllll outdated conversations, refactor

* use getGeom in booleanTouches

* use getGeom more frequently

* rm linter rule, which is already inherited from dartclub_lint

* cleanup, ready for merge

Co-authored-by: Lukas Himsel <[email protected]>

* Add missing parameter 'unit'. (#145)

* Implement rhumb_distance with tests.

* Implement rhumb_destination with tests.

* Implement centroid with tests.

* Implement transform_rotate with tests.

* Add truncate tests for MultiLineString, MultiPoint, MultiPolygon

* run dart format

* introduce localCoordIndex in coordEach, cover more test cases in truncate_test

* prepare for next release, support

* work student position

* Fix excludeWrapCoord in coordEach for MultiPolygon type. (#148)

* Fix excludeWrapCoord in coordEach for MultiPolygon type.

* Added multipolygon test case for centroid.

* format markdown

* Document properties set by NearestPointOnLine on returned Point (#155)

* Implement length and along (#153)

* Implement length with tests

* Implement along with tests

* Fix export added functions

* Document along behaviour when distance is outside line length range

* Format along test

* Change length and along to accept Feature<LineString> instead of LineString

* Change length to never return null.

To my understanding, the reason why segmentReduce in its signature
may return null is due to initialValue may be null, but in length()
we supply 0.0 as the default.

* Change along to throw Exception when empty line is passed instead of returning null

It appears to be more in line with how turf.js operates and also
existing error handling in turf_dart.

* Change along to count from back when distance is negative

I raised an issue with turf.js about behavour being undefined
when distance is zero and they where in favour of counting from
back behavour over clamping to the end. I think it is best to
use same behavour as upstream turf.js so changing to their
solution.

* Update along test for negative distance

* Fix along test for negative distance

* Add along test using default unit

* Add test of length() using default unit

* Fix docs for along() when distance is negative

* Change along() implementation to handle travelled == distance eagerly

* Fix length_test.dart formatting (#159)

* Change return type of along to Feature<Point> (#161)

This goes along with preferring to pass around full Features,
and it allow to in the future set properties on the returned
point without it being a breaking change.

* Prepare release 0.0.9 (#162)

* Update Dart SDK version in pubspec.yaml

* Update README.md

* Remove .DS_Store files

* Update changelog

* Update package version to 0.0.9

* Update dependencies

* Entfernt .DS_Store

* Remove job offer

---------

Co-authored-by: Lukas Himsel <[email protected]>
Co-authored-by: Brad Parham <[email protected]>
Co-authored-by: Tobrun <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: Arman Torkzaban <[email protected]>
Co-authored-by: Levente Morva <[email protected]>
Co-authored-by: Dennis Mwea <[email protected]>
Co-authored-by: yardenfi <[email protected]>
Co-authored-by: yarden <[email protected]>
Co-authored-by: Kangmin An <[email protected]>
Co-authored-by: ggastv <[email protected]>
Co-authored-by: L Linse <[email protected]>
Co-authored-by: Leif Linse <[email protected]>
lukas-h added a commit that referenced this issue May 8, 2024
* initial null-safety implementation

* attributes non-nullable + tests, fix meta tests

* make altitude for Position and BBox nullable

* update action deps, build runner

* delete conflicting outputs, dart test on PR action

* Strongly type and refactor geomEach meta function

This commit also renames Geometry to GeometryObject

* simplify geomEach

* Add coverage reporting to pull requests tests

* Allow PR coverage comment to fail

This allows PRs from forks to still run the tests successfully

* Refactor coverage reporting into its own job

The coverage job is allowed to continue on error, letting the entire
workflow 'pass' if we hit issues running or reporting coverage

* Move coverage reporting into separate workflow

* geomEach: nullable fields #36

* fix types in tests

* Update to latest romeovs/lcov-reporter-action

This should resolve an issue where the 'comment code coverage on PR'
action fails after being merged into main. See
romeovs/lcov-reporter-action#16

* raise version for release 0.0.3

* [meta] add implementation and test for featureEach and propEach (#24)

* Assemble different types, refactor GeoJSON serialization, general improvements (#43)

* #19, #20, #21, refactor

* convert GeoJSONObjectType to enum, rename

* rm overridden bboxes

* Implement vector operations #23

* statically type 'round' helper func, fix unit test

* gen coverage

* fix typo

* geojson unit tests, type fixes

* fix deserialization with GeoJSONObjectType, implement hashCode

* initial unit tests for new constructors

* integration tests

* fix path

* test bbox on other geojson types

* update enum tests

* required params for new constructors, unit tests

* license notices

* bump version for release

* Add basic benchmarking framework (#51)

* Add pub version badge

* [meta] add coordeach implementation (#50)

* [meta] add coordeach implementation

* [benchmark] add coordeach benchmark using test fixtures

* Add implementation for getCoord & getCoords // invariant package (#53)

* initial getCoord & getCoords implementation

* WIP test coords/coord

* test gitpod flutter config

* ports invariants package (#62)

* dart pub get added

* wip, type problem

* fixed return error of the test

* Gitpod config

* new test cases, changed comments

* standardized the comments

* wrapped List in brackets

* some minor typo edit

* added highlight in documentation

* formatted conflicting files

* deleted the gitpod files

Co-authored-by: Arman Torkzaban <[email protected]>

Co-authored-by: arman <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: Arman Torkzaban <[email protected]>

* Add flattenEach function and tests (#48)

* Add flattenEach function and tests

* Refactor flattenEach slightly

* Refactor meta -- breaking of iterations tests

* Explicitly do not support nested GeometryCollections

* Update documentation links

* Use more specific type checks in flattenEach test

* rm duplicate fcMixed

* remove geometryCollection clause

* warning for nested GeometryCollection

Co-authored-by: Lukas Himsel <[email protected]>

* refactor coordEach with geomEach, change type in geomEach callback (#68)

* [meta] add coordeach implementation

* Rework coordEach implementation to match setup more from geomEach

* cleanup

* optimize for geometry collection

* refactor coordEach with geomEach, change type in geomEach callback

Co-authored-by: Tobrun Van Nuland <[email protected]>

* Port coordAll function and test, also: refactor coordEach callback  (#64)

* beginning

* wip coordAll

* coordAll test, WIP

* changes CoordEachCallback's signature

* typecast removed, test corrected

* changes before merging

* refactor for Position in CoordEachCallback

Co-authored-by: Lukas Himsel <[email protected]>

* Update README.md

* Feature reducers (#49)

* Temporarily type geomEach callback to GeometryType

* Add geomReduce function and tests

* propReduce function

* WIP - featureReduce()

* WIP

* added examples and documentations

* flattenReduce WIP

* WIP

* coordReduce

* documentation

* add static types

* merge readme

* prepare new merge

* generic types for all reducer functions

* TurfJS compatible solution with type checks

* add cloning

* fixed types passed to callbacks, propReduce test

* flattenReduce and featureReduce test

* coordReduce

* minor type conv. num to int

Co-authored-by: Arman Torkzaban <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Port cluster functions and tests (#69)

* port functions

* getCluster documentation

* WIP documentation

* Did the documentation

* wrote tests

* benchmarks - in process

* moved benchmarks to separate file

* exported clusters.dart

Co-authored-by: armantorkzaban <[email protected]>

* Port meta segment functions & lineSegment (#70)

* initial commit to segment file

* beginning

* lineSegment()

* lineSegment

* refactor

* lineSegment tests

* polygon test

* wip segmentEach

* rewrite segmentEach witohut coordEach

* fix flattenEachCallback

* combine units

* tests for segmentEach

* segmentEach id check tests

* segmentReduce impltd.

* updated README

* Documentation

* benchmark init

Co-authored-by: Arman Torkzaban <[email protected]>

* split up meta into separate files (#72)

* Meta functions extension methods (#73)

* initial setup

* fix export, add all *each functions

* implement 'other' functions

* implement *reduce functions

* fix tests

* rm geojson param for reducers

* Update functions and packages in README.md (#67)

* WIP - updating README.md

* missing new functions & packages

* helpers function aint needed anymore - constructor

* Links added and unnecessary funtioncs deleted

Co-authored-by: Lukas Himsel <[email protected]>

* Raise version to 0.0.5

* Documentation (#75)

* in process - early analysis of the work

* linked the meta functions in readme

* CONTRIBUTING.md

* links to the sources

* edited typos

* documentation work

* closes #77, closes #16

* proofread

* improves pub.dev score, closes #79, #78, #75

* Added deleted model, complemented contributing.md

Co-authored-by: Lukas Himsel <[email protected]>

* raise to version 0.0.6

* Improve pub score & raise to version 0.0.6+2 (#82)

* add examples, fix segment * callbacks

* raise version to 0.0.6+2

* Improve pub score (rename example file, raise to 0.0.6+3) (#84)

* add examples, fix segment * callbacks

* raise version to 0.0.6+2

* Rename example file, raise to 0.0.6+3

* Implement `nearestPointOn(Multi)Line` and `internal` intersects helper (Attempt 2) (#87)

* Implement `nearestPointOn(Multi)Line` (#86)

Co-authored-by: Levente Morva <[email protected]>

* localIndex and index

* add documentation

* Fix `globalIndex` behaviour

Co-authored-by: Levente Morva <[email protected]>

* fix test, according to new globalIndex behaviour

* add intersection test

Co-authored-by: Levente Morva <[email protected]>

* Port explode function and test (#93)

* initial version without tests

* closes #93

* updated readme for explode

* fixed formatting

Co-authored-by: armantorkzaban <[email protected]>

* Merge bbox-polygon and bbox, center, polyline decode (#99)

* Added coordEach translation

* Added bBox translation

* Added center translation

* Added decode points from polyline

* Update read me

* Remove and exclude .idea from git indexing

* Convert double to Position

* Use existing coord each implementation

* Return bBox points in the correct order

* Add bbox unit test

* Change libraries namespaces

* Code refactor

* Add doc blocs and some more missing functions

* Add encode polyline feature

* Add tests for both encode and decode polylines

* Add bbox tests

* Add helper functions

* Convert array to Bbox

* Remove redundant helper functions

* Add documentation

* implementation

* tests init, documentation, addition of types and debug

* implemented, docs

* test initiation

* added it to /lib, updated readme, can close 97

* renamed the test file

* comments resolved

* typo

* unused lib removed

* merge bbox-polygon

* missing center_test.dart

* imported bbox_polygon to center_test

* test error fixes

Co-authored-by: Dennis Mwea <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Added missing alt1, alt2 in BBox constructor, BBox put in README (#100)

* Added coordEach translation

* Added bBox translation

* Added center translation

* Added decode points from polyline

* Update read me

* Remove and exclude .idea from git indexing

* Convert double to Position

* Use existing coord each implementation

* Return bBox points in the correct order

* Add bbox unit test

* Change libraries namespaces

* Code refactor

* Add doc blocs and some more missing functions

* Add encode polyline feature

* Add tests for both encode and decode polylines

* Add bbox tests

* Add helper functions

* Convert array to Bbox

* Remove redundant helper functions

* Add documentation

* implementation

* tests init, documentation, addition of types and debug

* implemented, docs

* test initiation

* added it to /lib, updated readme, can close 97

* renamed the test file

* comments resolved

* typo

* unused lib removed

* merge bbox-polygon

* missing center_test.dart

* imported bbox_polygon to center_test

* test error fixes

* added alt 1,2 to Bbox

* added bbox to readme

* Fix typos

* bbox constructure changed to standard

* bbox optional positional param. set accordingly

* Documentation on limitation of optional prms. Bbox

* Update geojson.dart

* fix order of BBox default constructor in test

* update doc comment

* fix previously missed null exceptions

Co-authored-by: Dennis Mwea <[email protected]>
Co-authored-by: Lukas Himsel <[email protected]>

* Implement rhumbBearing function and test (#109)

* initial commit, stolen from @armantorkzaban

* fix formatting

* cleanup comments

* Ports lineToPolygon, polygonToLine, and their tests (#104)

* line_to_polygon ported

* test init of lineToPolygon

* debugging the test on line to polygon

* line_to_polygon_test done

* polygonToLine init

* check for features' tyope in FeatureCollections

* file name change

* test and impl. done for polygonToLine

* refactor autocomplete, lineStringToPolygon

* comments resolved

* type added

* implementation and test and type setting

Co-authored-by: Lukas Himsel <[email protected]>

* Adds proper documentation to feature-conversion Part I (#115)

* line_to_polygon ported

* test init of lineToPolygon

* debugging the test on line to polygon

* line_to_polygon_test done

* polygonToLine init

* check for features' tyope in FeatureCollections

* file name change

* test and impl. done for polygonToLine

* refactor autocomplete, lineStringToPolygon

* comments resolved

* type added

* implementation and test and type setting

* corrected documentation

Co-authored-by: Lukas Himsel <[email protected]>

* Update impl status of feature conversion package

* Ports truncate package and its test (#111)

* implemented

* test init

* moving on with the test

* test finished.

* comments resolved

* add truncate reference

* Ports clean_coords and its test (#112)

* init

* implemented

* test init - imported

* test, moving on

* implemented points in comments

* resolving comments

* test done

* readme updated, js removed

* fix turf_equality dep, replace forEach with for

* update types

* trying to fix mutation

* refactor, fix tests

* another variance

* simplified, cleaned comments

* seems like it works!

Co-authored-by: Lukas Himsel <[email protected]>

* Debugs GeometryCollection condition in truncate (#121)

* implemented

* test init

* moving on with the test

* test finished.

* comments resolved

* updated readme.md

* changed from forEach to for and used the element

* changed forEach to a for loop

* variable name changed - resolving a comment

* rid of redundant case for GeometryCollection, test

Co-authored-by: Lukas Himsel <[email protected]>

* close #116 - add src path to README

* update changelog, bump version for release

* Added support for the area function (#123)

* Added the area function

* made the geometry to be of type GeometryType

* fixed the test and added a benchmark test

* fixed the area docs

* added some more tests

* Marked functions as private and fixed documentation

* fixed documentation

* added exception in case of unsupported geometry type, formatted the code and removed some redundant code

Co-authored-by: yarden <[email protected]>

* Implement polygon-smooth and its tests (#127)

* initial implementation, and refactor

* finished test and benchmark impl

* reference in README

* Port boolean functions and tests (#91)

* in process - early analysis of the work

* linked the meta functions in readme

* CONTRIBUTING.md

* links to the sources

* edited typos

* documentation work

* closes #77, closes #16

* proofread

* improves pub.dev score, closes #79, #78, #75

* Added deleted model, complemented contributing.md

* booleans init

* initial import

* boolean_touches

* valid - wip

* within - init

* rewiring the translated code

* contains etc.

* touches

* valid

* dependencies imported

* Update CONTRIBUTING.md

* clockwise test

* concave test

* intersect test

* pointOnLine test

* contains

* crosses_test - blocked by findIntersections

* boolean_contain

* boolean_within

* rhumb_bearing

* rhumb_bearing\'s test  - incomplete

* rhumb_bearing's test - done, added to lib/bearing

* boolean_contains, boolean_parallel, IP

* working on contain - removed usages of runtimeType

* rewriting pointInLine

* tests reverted to false/true folder style

* restructuring, clean-up

* clockwise and its test, documentation

* concave finalized

* PointInPolygon plus test, dart format

* removed the commented JS lines

* return type added

* disjoint and test - not done, depends on sweepline

* equal implement, test, has dependencies

* moving on

* clean coords init

* cleanCoord implemented, going to new branch

* moving on with equal

* update turf_equality dep

* moving forward

* refactors boolean_equal

* #88 crosses, disjoint, equal, intersects, pip @lukas-h

* cleanup on #88

* progress on overlap

* bool: overlap,parallel,valid,touches & lineOverlap

* issue with test is worked on

* still at porting the overlap test

* done: parallel

* working on valid

* touches done

* valid - got stuck

* progress on within

* moved on with valid, refactored

* valid test

* lineIntersection testet - contains sweepline

* package publishabe, rm git deps, fix equality dep

* update params in equality

* mod. on valid to cover the std. - MutiPs' 'finite'

* RFCs resolved - readied for merge

* return type of getGeom

* linter effect!

* reolved requests

* more requests resolved

* more requests resolved

* test name, touching lineOverlap

* fix conversations in booleanContains

* fixes conversations in crosses and disjoint

* resolves allllllllll outdated conversations, refactor

* use getGeom in booleanTouches

* use getGeom more frequently

* rm linter rule, which is already inherited from dartclub_lint

* cleanup, ready for merge

Co-authored-by: Lukas Himsel <[email protected]>

* Add missing parameter 'unit'. (#145)

* Implement rhumb_distance with tests.

* Implement rhumb_destination with tests.

* Implement centroid with tests.

* Implement transform_rotate with tests.

* Add truncate tests for MultiLineString, MultiPoint, MultiPolygon

* run dart format

* introduce localCoordIndex in coordEach, cover more test cases in truncate_test

* prepare for next release, support

* work student position

* Fix excludeWrapCoord in coordEach for MultiPolygon type. (#148)

* Fix excludeWrapCoord in coordEach for MultiPolygon type.

* Added multipolygon test case for centroid.

* format markdown

* Document properties set by NearestPointOnLine on returned Point (#155)

* Implement length and along (#153)

* Implement length with tests

* Implement along with tests

* Fix export added functions

* Document along behaviour when distance is outside line length range

* Format along test

* Change length and along to accept Feature<LineString> instead of LineString

* Change length to never return null.

To my understanding, the reason why segmentReduce in its signature
may return null is due to initialValue may be null, but in length()
we supply 0.0 as the default.

* Change along to throw Exception when empty line is passed instead of returning null

It appears to be more in line with how turf.js operates and also
existing error handling in turf_dart.

* Change along to count from back when distance is negative

I raised an issue with turf.js about behavour being undefined
when distance is zero and they where in favour of counting from
back behavour over clamping to the end. I think it is best to
use same behavour as upstream turf.js so changing to their
solution.

* Update along test for negative distance

* Fix along test for negative distance

* Add along test using default unit

* Add test of length() using default unit

* Fix docs for along() when distance is negative

* Change along() implementation to handle travelled == distance eagerly

* Fix length_test.dart formatting (#159)

* Change return type of along to Feature<Point> (#161)

This goes along with preferring to pass around full Features,
and it allow to in the future set properties on the returned
point without it being a breaking change.

* Prepare release 0.0.9 (#162)

* Update Dart SDK version in pubspec.yaml

* Update README.md

* Remove .DS_Store files

* Update changelog

* Update package version to 0.0.9

* Update dependencies

* Entfernt .DS_Store

* Remove job offer

* Adds lineSlice method (#158)

* Implement lineSlice with tests

* add line_slice link

---------

Co-authored-by: Lukas Himsel <[email protected]>

* Implement booleanWithin (#167)

* document feature booleanWithin

* implement boolean within

* implement boolean within

* add boolean within tests

* export boolean features

* remove duplicate code

* refactor tests

* rename import

* remove warnings

* add source link to readme

* add library declaration for turf_boolean

* Code review suggestions

* .

* .

* fix typos

* fix analyzer warning due to recent dart 3.3.0 release

* Implement lineOverlap, booleanOverlap, refactoring and bug fixes (#174)

* implement lineOverlap, booleanOverlap, refactoring and bugFixes

* minor updates

* clearing up nisses mischief

* update dependency: turf_equality

* Introduce geotypes (#176)

* introduce geotypes

* removed build runner from workflows

* Update readme (#179)

* moved progress and update readme

* add progress link

* add logo

* add badges

* update url

* Fix export strategy (#177)

* fix warnings

* fix export strategy

* remove unused imports

* review changes

* Add discord community (#181)

* Update README.md

* Update README.md

* Fixed typos in example code for nearestPointOnLine (#184)

* prepare for release 0.0.10

---------

Co-authored-by: Brad Parham <[email protected]>
Co-authored-by: Tobrun <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: arman <[email protected]>
Co-authored-by: Arman Torkzaban <[email protected]>
Co-authored-by: Levente Morva <[email protected]>
Co-authored-by: Dennis Mwea <[email protected]>
Co-authored-by: yardenfi <[email protected]>
Co-authored-by: yarden <[email protected]>
Co-authored-by: Kangmin An <[email protected]>
Co-authored-by: ggastv <[email protected]>
Co-authored-by: L Linse <[email protected]>
Co-authored-by: Leif Linse <[email protected]>
Co-authored-by: Jonas Siedentop <[email protected]>
Co-authored-by: Jonas Siedentop <[email protected]>
Co-authored-by: Bas van Dijk <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants