petern48 commented on PR #2488:
URL: https://github.com/apache/sedona/pull/2488#issuecomment-3515224937

   > ```
   > def test_minimum_bounding_circle(self):
   >        for geom in self.geoms:
   >            sgpd_result = GeoSeries(geom).minimum_bounding_circle()
   >            gpd_result = gpd.GeoSeries(geom).minimum_bounding_circle()
   >            self.check_sgpd_equals_gpd(sgpd_result, gpd_result)
   > ```
   
   Yes! Now we're on the right track. I'll explain the code a little more just 
for your knowledge, `test_match_geopandas_series.py` is for directly comparing 
our results `GeoSeries()` with the original geopandas' results `gpd.GeoSeries`. 
This code effectively does exactly that: It loops through a ton of different 
geometries (`self.geoms`) and checks that our results (`sgpd_result`) are equal 
(given a tolerance) to the original geopandas results (`gpd_result`).
   
   > However, increasing the tolerance to 0.5 allows the test to pass. Would 
you prefer that I update the tolerance to 0.5 in the check_sgpd_equals_gpd 
method
   
   Nice job figuring this out. I think the best way to move forward is to add a 
parameter to the test function and overwrite the tolerance to use 0.5 instead 
just for `test_minimum_bounding_circle`. Something like this:
   
   ```diff
       @classmethod
       def check_sgpd_equals_gpd(
           cls,
           actual: GeoSeries,
           expected: gpd.GeoSeries,
   +        tolerance: float = 1e-2
       ):
           ...
           for a, e in zip(sgpd_result, expected):
               ...
               cls.assert_geometry_almost_equal(
   -                a, e, tolerance=1e-2 # 1e-2
   +                a, e, tolerance
               )
               ...
   ```
   
   Then you can call it `self.check_sgpd_equals_gpd(sgpd_result, gpd_result, 
tolerance=0.5)` in your test function. This approach should still loosen the 
test, so it can pass, while avoiding loosening the tests for other functions. 
If other functions still pass with a stricter test, we don't need to loosen it 
for them too. The definition of that test function is 
[here](https://github.com/apache/sedona/blob/762d6f85004c17b3bafef73dc3bb65a3a058e38d/python/tests/geopandas/test_geopandas_base.py#L55-L76)
 in `test_geopandas_base.py`.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to