---
name: "distance"
type: command
status: ok
groups: ["Math - Geometry"]
arma3_since: "0.50"
locality: {"argument": "global", "effect": null, "server_exec": false}
source: https://community.bistudio.com/wiki/distance
revid: 377523
updated: 2026-01-02T06:52:13Z
---

# distance

*Command · Math - Geometry · Arma 3 v0.50 · introduced in Operation Flashpoint v1.00*

Locality: arguments **global**

## Description

Returns a distance in meters between [Object](../topics/Object.md)s, [Position](../topics/Position.md)s or [Location](../topics/Location.md)s.

> [!IMPORTANT]
> If positions are supplied as arguments, the coordinates are treated as [PositionAGL](../topics/Position.md#positionagl). If [Position2D](../topics/Position.md#introduction) is supplied, z is assumed 0. If you need distance between two [Position3D](../topics/Position.md#position3d) coordinates, use [vectorDistance](../commands/vectorDistance.md).

## Syntax

### Syntax 1

```sqf
param1 distance param2
```

**Parameters:**

- `param1`: [Object](../topics/Object.md) or [PositionAGL](../topics/Position.md#positionagl) or [Position2D](../topics/Position.md#introduction)
- `param2`: [Object](../topics/Object.md) or [PositionAGL](../topics/Position.md#positionagl) or [Position2D](../topics/Position.md#introduction)

**Returns:** [Number](../topics/Number.md) - distance in meters or 1e10 if distance cannot be calculated

### Syntax 2

```sqf
location1 distance location2
```

**Parameters:**

- `location1`: [Location](../topics/Location.md) or [Position](../topics/Position.md) or [Position2D](../topics/Position.md#introduction)
- `location2`: [Location](../topics/Location.md) or [Position](../topics/Position.md) or [Position2D](../topics/Position.md#introduction)

**Returns:** [Number](../topics/Number.md) - distance in meters or 1e10 if distance cannot be calculated

### Syntax 3

*since arma3 2.18*

```sqf
a distance b
```

**Parameters:**

- `a`: [Number](../topics/Number.md)
- `b`: [Number](../topics/Number.md)

**Returns:** [Number](../topics/Number.md) - distance c calculated as c = sqrt(a * a + b * b);

## Examples

### Example 1

```sqf
_meters = player distance _object;
```

### Example 2

```sqf
_meters = player distance [1,2,3];
```

### Example 3

```sqf
_meters = [1,2,3] distance [4,5,6];
```

### Example 4

```sqf
_meters = position player distance nearestLocation [position player, "hill"];
```

## See also

[distanceSqr](../commands/distanceSqr.md) · [vectorDistance](../commands/vectorDistance.md) · [distance2D](../commands/distance2D.md)

## Community notes

**Sudden Death** — 2007-02-14

Distance to position3D (array) does not work with Operation Flashpoint, only objects

Armed Assault:
position3D (array) and object works

---

**Rommel** — 2010-03-10

This returns the map distance, not the vector distance, [0,0,0] distance [0,0,1] can be >1 or <1, not exactly 1; unlike the vector math.

---

**Igneous01** — 2012-08-03

If a position in format [x, y, z] is provided for both arguments, distance also checks the z dimension as well. Ie:
player distance [0,0,200]
will return 200, if the player is at this position at ground/sea level.

---

**AgentRev01** — 2014-03-23

When objects are supplied as arguments, distance is calculated from their model center (object modelToWorld [0,0,0]), and not the position returned by getPos/ATL/ASL.

However, this is not relevant for units, as their model center matches their world position.

<sub>Source: [BI Community Wiki — distance](https://community.bistudio.com/wiki/distance) (revision 377523).</sub>
