File v1.4.3-transform-hotfix.patch of Package python-rasterio

From 7608a04567c9960d626b6836ae99b2665e978cee Mon Sep 17 00:00:00 2001
From: Sean Gillies <sean.gillies@gmail.com>
Date: Mon, 17 Feb 2025 16:35:19 -0700
Subject: [PATCH] Revert to using non-Numy affine transformation operation

Resolves #3310
---
 rasterio/transform.py | 15 +++------------
 1 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/rasterio/transform.py b/rasterio/transform.py
index db2b1a646..079b0a9ab 100644
--- a/rasterio/transform.py
+++ b/rasterio/transform.py
@@ -512,22 +512,13 @@ def __init__(self, affine_transform):
         if not isinstance(affine_transform, Affine):
             raise ValueError("Not an affine transform")
         self._transformer = affine_transform
-        self._transform_arr = np.empty((3, 3), dtype='float64')
 
     def _transform(self, xs, ys, zs, transform_direction):
-        transform = self._transform_arr
         if transform_direction is TransformDirection.forward:
-            transform.flat[:] = self._transformer
+            t = self._transformer
         elif transform_direction is TransformDirection.reverse:
-            transform.flat[:] = ~self._transformer
-
-        bi = np.broadcast(xs, ys)
-        input_matrix = np.empty((3, bi.size))
-        input_matrix[0] = bi.iters[0]
-        input_matrix[1] = bi.iters[1]
-        input_matrix[2] = 1
-        transform.dot(input_matrix, out=input_matrix)
-        return input_matrix[0], input_matrix[1]
+            t = ~self._transformer
+        return t * (xs, ys)
 
 
     def __repr__(self):
openSUSE Build Service is sponsored by