> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wherobots.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GeoSeries.dwithin

> Returns a Series of dtype('bool') with value True for each aligned geometry that is within a set distance from other.

Returns a `Series` of `dtype('bool')` with value `True` for
each aligned geometry that is within a set distance from `other`.

The operation works on a 1-to-1 row-wise manner:

## Signature

```python theme={"system"}
dwithin(other, distance, align=None)
```

## Parameters

<ParamField path="other" type="GeoSeries or geometric object" required>
  The GeoSeries (elementwise) or geometric object to test for
  equality.
</ParamField>

<ParamField path="distance" type="numeric scalar, array-like, pandas Series, or pandas-on-Spark Series" required>
  Distance(s) to test if each geometry is within. A scalar distance
  is applied to every geometry. Array-like and Series distances are
  paired positionally with the geometry rows after `self` and
  `other` have been aligned. A one-element non-Series array-like is
  broadcast; otherwise the distance input must have the same length
  as the aligned geometries.
</ParamField>

<ParamField path="align" type="bool | None (default None)" default="None">
  If True, automatically aligns GeoSeries based on their indices.
  If False, the order of elements is preserved. None defaults to True.
</ParamField>

## Returns

<ResponseField name="return" type="Series(bool)" />

<Note>
  This method works in a row-wise manner. It does not check if an element
  of one GeoSeries is within the set distance of *any* element of the other one.

  The index of a pandas or pandas-on-Spark distance Series is ignored.
  Distance values remain distributed when a pandas-on-Spark Series is
  provided. Length validation for non-scalar distances is lazy: an error
  is raised only when an action evaluates a mismatched row. Partial
  actions may not detect rows they do not evaluate.
</Note>

**See also**

* `GeoSeries.within`

## Examples

```python theme={"system"}
>>> from sedona.spark.geopandas import GeoSeries
>>> from shapely.geometry import Polygon, LineString, Point
>>> s = GeoSeries(
...     [
...         Polygon([(0, 0), (1, 1), (0, 1)]),
...         LineString([(0, 0), (0, 2)]),
...         LineString([(0, 0), (0, 1)]),
...         Point(0, 1),
...     ],
...     index=range(0, 4),
... )
>>> s2 = GeoSeries(
...     [
...         Polygon([(1, 0), (4, 2), (2, 2)]),
...         Polygon([(2, 0), (3, 2), (2, 2)]),
...         LineString([(2, 0), (2, 2)]),
...         Point(1, 1),
...     ],
...     index=range(1, 5),
... )
```

```python theme={"system"}
>>> s
0    POLYGON ((0 0, 1 1, 0 1, 0 0))
1             LINESTRING (0 0, 0 2)
2             LINESTRING (0 0, 0 1)
3                       POINT (0 1)
dtype: geometry
```

```python theme={"system"}
>>> s2
1    POLYGON ((1 0, 4 2, 2 2, 1 0))
2    POLYGON ((2 0, 3 2, 2 2, 2 0))
3             LINESTRING (2 0, 2 2)
4                       POINT (1 1)
dtype: geometry
```

We can check if each geometry of GeoSeries contains a single
geometry:

```python theme={"system"}
>>> point = Point(0, 1)
>>> s2.dwithin(point, 1.8)
1     True
2    False
3    False
4     True
dtype: bool
```

We can also check two GeoSeries against each other, row by row.
The GeoSeries above have different indices. We can either align both GeoSeries
based on index values and compare elements with the same index using
`align=True` or ignore index and compare elements based on their matching
order using `align=False`:

```python theme={"system"}
>>> s.dwithin(s2, distance=1, align=True)
0    False
1     True
2    False
3    False
4    False
dtype: bool
```

```python theme={"system"}
>>> s.dwithin(s2, distance=1, align=False)
0     True
1    False
2    False
3     True
dtype: bool
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.