Geospatial Intelligence Index: details
Geospatial Agent IndexWhich AI model is best at geospatial (GIS and Earth observation) work? The Geospatial Intelligence Index combines agent tasks, coding, Earth science and perception into one score for each model, shown at its highest reasoning level.
14 models ranked (22 counting each reasoning level) · 14 in the text-only view · 15 with partial coverage · 9 developers · Geospatial Agent Index · Perception · Methodology
Ongoing evaluation: results update as runs complete. Last updated 13 October 2026.
Geospatial Intelligence Index
How the Geospatial Intelligence Index is built
A weighted average of four groups, scored for every model and reasoning level and shown by default at each model's highest level:
Each model is scored in its developer's own harness where we run one, otherwise in Terminus-2. Claude models are scored in Claude Code, OpenAI models in Codex, Kimi models in Kimi Code once their runs there are complete, and all other models in Terminus-2. This applies to the agents and coding groups; Earth science and perception use one model call per question, with no agent harness. Part of a difference between two models can therefore come from the harness; the Geospatial Agent Index is the place to compare harnesses. The structure is a geospatial counterpart of Artificial Analysis's Intelligence Index. The weights are its weights for the groups that apply to geospatial work (agents 30, coding 20, scientific reasoning 20), with perception added at 20, the weight of its smaller groups, all scaled to 100. Its general-knowledge group is left out, because all the knowledge we test is Earth-science knowledge. Methodology 0.31.
A text-only view (the same index without perception, weights 3/7, 2/7, 2/7) is shown next to the headline.
Geospatial Intelligence Index
Geospatial Intelligence Index
Weighted average of agents, coding, Earth science and perception, 0 to 100 · Higher is better
How to read this chart
Rows. Each model once, at its highest reasoning level, labelled with that level, as Artificial Analysis does; when that level is not ranked yet, the highest ranked level, said in its tooltip. Other levels are under 'Show every reasoning level'.
What this metric means. The weighted average of the group scores, each 0 to 100: agents 3/9; coding 2/9; earth science 2/9; perception 2/9. The structure is a geospatial counterpart of Artificial Analysis's Intelligence Index. The weights are its weights for the groups that apply to geospatial work (agents 30, coding 20, scientific reasoning 20), with perception added at 20, the weight of its smaller groups, all scaled to 100. Its general-knowledge group is left out, because all the knowledge we test is Earth-science knowledge.
Which harness. Each model is scored in its developer's own harness where we run one, otherwise in Terminus-2. Claude models are scored in Claude Code, OpenAI models in Codex, Kimi models in Kimi Code once their runs there are complete, and all other models in Terminus-2. This applies to the agents and coding groups; Earth science and perception use one model call per question, with no agent harness. Part of a difference between two models can therefore come from the harness; the Geospatial Agent Index is the place to compare harnesses. The bar shows the harness the agents and coding groups are scored in.
Cannot take images. A model that cannot take images at all, according to its developer's documentation, scores 0 in perception, labelled "cannot take images". The text-only view leaves perception out.
Not shown: partial coverage. 15 models are not yet scored in full in every group. They are listed under partial coverage in the leaderboard, with what is still to come.
Data table: Geospatial Intelligence Index
| Rank | Model | Developer | Geospatial Intelligence Index | Text-only view | Agents (3/9) | Coding (2/9) | Earth science (2/9) | Perception (2/9) | Scored in |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Claude Opus 5.5 (xhigh) | Anthropic | 80.8 | 87.1 | 74 | 99 | 94 | 59 | Claude Code |
| 2 | GPT-6.1 Sol (xhigh) | OpenAI | 78.7 | 85.1 | 72 | 97 | 93 | 56 | Codex |
| 3 | Claude Sonnet 5.5 (xhigh) | Anthropic | 78.1 | 84.0 | 69 | 96 | 94 | 57 | Claude Code |
| 4 | Claude Opus 5 (high) | Anthropic | 77.0 | 83.8 | 70 | 95 | 93 | 53 | Claude Code |
| 5 | Claude Haiku 5.5 (xhigh) | Anthropic | 76.0 | 82.8 | 67 | 97 | 92 | 52 | Claude Code |
| 6 | Claude Opus 4.8 (high) | Anthropic | 75.8 | 83.2 | 66 | 98 | 93 | 50 | Claude Code |
| 7 | GPT-6 Luna (xhigh) | OpenAI | 74.7 | 81.6 | 64 | 98 | 91 | 50 | Codex |
| 8 | Claude Opus 4.7 (high) | Anthropic | 74.6 | 82.3 | 65 | 98 | 93 | 47 | Claude Code |
| 9 | Claude Sonnet 5 (high) | Anthropic | 73.9 | 81.6 | 65 | 96 | 91 | 47 | Claude Code |
| 10 | GLM-5.3-Flash (max) | Z.ai | 66.8 | 73.4 | 54 | 84 | 92 | 44 | Terminus-2 |
| 11 | DeepSeek V4 Pro (max) | DeepSeek | 61.8 | 79.5 | 59 | 98 | 92 | 0 (cannot take images) | Terminus-2 |
| 12 | Claude Haiku 4.5 (thinking 32k) | Anthropic | 61.2 | 68.9 | 51 | 76 | 89 | 34 | Claude Code |
| 13 | GLM-5.2 (none) (Highest ranked level; GLM-5.2 (max) is not ranked yet) | Z.ai | 56.7 | 72.8 | 55 | 83 | 89 | 0 (cannot take images) | Terminus-2 |
| 14 | gpt-oss-120b (low) (Highest ranked level; gpt-oss-120b (high) is not ranked yet) | OpenAI | 40.6 | 52.2 | 28 | 54 | 88 | 0 (cannot take images) | Terminus-2 |
Show every reasoning level
Geospatial Intelligence Index, every reasoning level
Weighted average of agents, coding, Earth science and perception, 0 to 100 · Higher is better
How to read this chart
Rows. One bar per model and reasoning level.
What this metric means. The weighted average of the group scores, each 0 to 100: agents 3/9; coding 2/9; earth science 2/9; perception 2/9. The structure is a geospatial counterpart of Artificial Analysis's Intelligence Index. The weights are its weights for the groups that apply to geospatial work (agents 30, coding 20, scientific reasoning 20), with perception added at 20, the weight of its smaller groups, all scaled to 100. Its general-knowledge group is left out, because all the knowledge we test is Earth-science knowledge.
Which harness. Each model is scored in its developer's own harness where we run one, otherwise in Terminus-2. Claude models are scored in Claude Code, OpenAI models in Codex, Kimi models in Kimi Code once their runs there are complete, and all other models in Terminus-2. This applies to the agents and coding groups; Earth science and perception use one model call per question, with no agent harness. Part of a difference between two models can therefore come from the harness; the Geospatial Agent Index is the place to compare harnesses. The bar shows the harness the agents and coding groups are scored in.
Cannot take images. A model that cannot take images at all, according to its developer's documentation, scores 0 in perception, labelled "cannot take images". The text-only view leaves perception out.
Not shown: partial coverage. 26 models are not yet scored in full in every group. They are listed under partial coverage in the leaderboard, with what is still to come.
Data table: Geospatial Intelligence Index, every reasoning level
| Rank | Model | Developer | Geospatial Intelligence Index | Text-only view | Agents (3/9) | Coding (2/9) | Earth science (2/9) | Perception (2/9) | Scored in |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Claude Opus 5.5 (xhigh) | Anthropic | 80.8 | 87.1 | 74 | 99 | 94 | 59 | Claude Code |
| 2 | Claude Opus 5.5 (high) | Anthropic | 80.6 | 86.8 | 73 | 100 | 95 | 59 | Claude Code |
| 3 | GPT-6.1 Sol (medium) | OpenAI | 78.8 | 85.8 | 72 | 100 | 92 | 55 | Codex |
| 4 | Claude Sonnet 5.5 (high) | Anthropic | 78.7 | 84.3 | 68 | 99 | 94 | 59 | Claude Code |
| 5 | GPT-6.1 Sol (xhigh) | OpenAI | 78.7 | 85.1 | 72 | 97 | 93 | 56 | Codex |
| 6 | Claude Opus 5.5 (medium) | Anthropic | 78.7 | 84.8 | 71 | 96 | 94 | 57 | Claude Code |
| 7 | Claude Sonnet 5.5 (xhigh) | Anthropic | 78.1 | 84.0 | 69 | 96 | 94 | 57 | Claude Code |
| 8 | GPT-6.1 Sol (high) | OpenAI | 77.8 | 85.1 | 70 | 100 | 93 | 53 | Codex |
| 9 | Claude Opus 5 (high) | Anthropic | 77.0 | 83.8 | 70 | 95 | 93 | 53 | Claude Code |
| 10 | Claude Haiku 5.5 (xhigh) | Anthropic | 76.0 | 82.8 | 67 | 97 | 92 | 52 | Claude Code |
| 11 | Claude Opus 4.8 (high) | Anthropic | 75.8 | 83.2 | 66 | 98 | 93 | 50 | Claude Code |
| 12 | Claude Sonnet 5.5 (medium) | Anthropic | 75.4 | 81.0 | 63 | 96 | 93 | 56 | Claude Code |
| 13 | GPT-6 Luna (xhigh) | OpenAI | 74.7 | 81.6 | 64 | 98 | 91 | 50 | Codex |
| 14 | Claude Opus 4.7 (high) | Anthropic | 74.6 | 82.3 | 65 | 98 | 93 | 47 | Claude Code |
| 15 | Claude Sonnet 5 (high) | Anthropic | 73.9 | 81.6 | 65 | 96 | 91 | 47 | Claude Code |
| 16 | Claude Haiku 5.5 (high) | Anthropic | 73.2 | 80.5 | 66 | 91 | 92 | 47 | Claude Code |
| 17 | Claude Haiku 5.5 (medium) | Anthropic | 72.4 | 80.1 | 63 | 94 | 92 | 45 | Claude Code |
| 18 | GLM-5.3-Flash (max) | Z.ai | 66.8 | 73.4 | 54 | 84 | 92 | 44 | Terminus-2 |
| 19 | DeepSeek V4 Pro (max) | DeepSeek | 61.8 | 79.5 | 59 | 98 | 92 | 0 (cannot take images) | Terminus-2 |
| 20 | Claude Haiku 4.5 (thinking 32k) | Anthropic | 61.2 | 68.9 | 51 | 76 | 89 | 34 | Claude Code |
| 21 | GLM-5.2 (none) | Z.ai | 56.7 | 72.8 | 55 | 83 | 89 | 0 (cannot take images) | Terminus-2 |
| 22 | gpt-oss-120b (low) | OpenAI | 40.6 | 52.2 | 28 | 54 | 88 | 0 (cannot take images) | Terminus-2 |
Open weights vs proprietary
Geospatial Intelligence Index: open weights vs proprietary
Each model at its highest reasoning level, 0 to 100 · Higher is better
- Open weights
- Proprietary
How to read this chart
What this chart shows. The default view of the Geospatial Intelligence Index, coloured by whether the developer publishes the model's weights for download (open weights) or not (proprietary). Highest open weights model: GLM-5.3-Flash (max) (66.8); highest proprietary model: Claude Opus 5.5 (xhigh) (80.8).
Rows. Each model is shown at its highest reasoning level, as Artificial Analysis does; other levels are under 'Show every reasoning level'.
Data table: Geospatial Intelligence Index: open weights vs proprietary
| Model | Developer | Weights | Geospatial Intelligence Index |
|---|---|---|---|
| Claude Opus 5.5 (xhigh) | Anthropic | Proprietary | 80.8 |
| GPT-6.1 Sol (xhigh) | OpenAI | Proprietary | 78.7 |
| Claude Sonnet 5.5 (xhigh) | Anthropic | Proprietary | 78.1 |
| Claude Opus 5 (high) | Anthropic | Proprietary | 77.0 |
| Claude Haiku 5.5 (xhigh) | Anthropic | Proprietary | 76.0 |
| Claude Opus 4.8 (high) | Anthropic | Proprietary | 75.8 |
| GPT-6 Luna (xhigh) | OpenAI | Proprietary | 74.7 |
| Claude Opus 4.7 (high) | Anthropic | Proprietary | 74.6 |
| Claude Sonnet 5 (high) | Anthropic | Proprietary | 73.9 |
| GLM-5.3-Flash (max) | Z.ai | Open weights | 66.8 |
| DeepSeek V4 Pro (max) | DeepSeek | Open weights | 61.8 |
| Claude Haiku 4.5 (thinking 32k) | Anthropic | Proprietary | 61.2 |
| GLM-5.2 (none) | Z.ai | Open weights | 56.7 |
| gpt-oss-120b (low) | OpenAI | Open weights | 40.6 |
Text-only view
Geospatial Intelligence Index: text-only view
Weighted average of agents, coding and Earth science, 0 to 100 · Higher is better
How to read this chart
Rows. Each model once, at its highest reasoning level, labelled with that level, as Artificial Analysis does; when that level is not ranked yet, the highest ranked level, said in its tooltip. Other levels are under 'Show every reasoning level'.
What this metric means. The weighted average of the group scores, each 0 to 100: agents 3/7; coding 2/7; earth science 2/7. The same index without perception, so models that cannot take images compare fairly.
Which harness. Each model is scored in its developer's own harness where we run one, otherwise in Terminus-2. Claude models are scored in Claude Code, OpenAI models in Codex, Kimi models in Kimi Code once their runs there are complete, and all other models in Terminus-2. This applies to the agents and coding groups; Earth science and perception use one model call per question, with no agent harness. Part of a difference between two models can therefore come from the harness; the Geospatial Agent Index is the place to compare harnesses. The bar shows the harness the agents and coding groups are scored in.
Not shown: partial coverage. 15 models are not yet scored in full in every group of this view. They are listed under partial coverage in the leaderboard, with what is still to come.
Data table: Geospatial Intelligence Index: text-only view
| Rank | Model | Developer | Text-only view | Agents (3/7) | Coding (2/7) | Earth science (2/7) | Scored in |
|---|---|---|---|---|---|---|---|
| 1 | Claude Opus 5.5 (xhigh) | Anthropic | 87.1 | 74 | 99 | 94 | Claude Code |
| 2 | GPT-6.1 Sol (xhigh) | OpenAI | 85.1 | 72 | 97 | 93 | Codex |
| 3 | Claude Sonnet 5.5 (xhigh) | Anthropic | 84.0 | 69 | 96 | 94 | Claude Code |
| 4 | Claude Opus 5 (high) | Anthropic | 83.8 | 70 | 95 | 93 | Claude Code |
| 5 | Claude Opus 4.8 (high) | Anthropic | 83.2 | 66 | 98 | 93 | Claude Code |
| 6 | Claude Haiku 5.5 (xhigh) | Anthropic | 82.8 | 67 | 97 | 92 | Claude Code |
| 7 | Claude Opus 4.7 (high) | Anthropic | 82.3 | 65 | 98 | 93 | Claude Code |
| 8 | Claude Sonnet 5 (high) | Anthropic | 81.6 | 65 | 96 | 91 | Claude Code |
| 9 | GPT-6 Luna (xhigh) | OpenAI | 81.6 | 64 | 98 | 91 | Codex |
| 10 | DeepSeek V4 Pro (max) | DeepSeek | 79.5 | 59 | 98 | 92 | Terminus-2 |
| 11 | GLM-5.3-Flash (max) | Z.ai | 73.4 | 54 | 84 | 92 | Terminus-2 |
| 12 | GLM-5.2 (none) (Highest ranked level; GLM-5.2 (max) is not ranked yet) | Z.ai | 72.8 | 55 | 83 | 89 | Terminus-2 |
| 13 | Claude Haiku 4.5 (thinking 32k) | Anthropic | 68.9 | 51 | 76 | 89 | Claude Code |
| 14 | gpt-oss-120b (low) (Highest ranked level; gpt-oss-120b (high) is not ranked yet) | OpenAI | 52.2 | 28 | 54 | 88 | Terminus-2 |
Show every reasoning level
Geospatial Intelligence Index: text-only view, every reasoning level
Weighted average of agents, coding and Earth science, 0 to 100 · Higher is better
How to read this chart
Rows. One bar per model and reasoning level.
What this metric means. The weighted average of the group scores, each 0 to 100: agents 3/7; coding 2/7; earth science 2/7. The same index without perception, so models that cannot take images compare fairly.
Which harness. Each model is scored in its developer's own harness where we run one, otherwise in Terminus-2. Claude models are scored in Claude Code, OpenAI models in Codex, Kimi models in Kimi Code once their runs there are complete, and all other models in Terminus-2. This applies to the agents and coding groups; Earth science and perception use one model call per question, with no agent harness. Part of a difference between two models can therefore come from the harness; the Geospatial Agent Index is the place to compare harnesses. The bar shows the harness the agents and coding groups are scored in.
Not shown: partial coverage. 26 models are not yet scored in full in every group of this view. They are listed under partial coverage in the leaderboard, with what is still to come.
Data table: Geospatial Intelligence Index: text-only view, every reasoning level
| Rank | Model | Developer | Text-only view | Agents (3/7) | Coding (2/7) | Earth science (2/7) | Scored in |
|---|---|---|---|---|---|---|---|
| 1 | Claude Opus 5.5 (xhigh) | Anthropic | 87.1 | 74 | 99 | 94 | Claude Code |
| 2 | Claude Opus 5.5 (high) | Anthropic | 86.8 | 73 | 100 | 95 | Claude Code |
| 3 | GPT-6.1 Sol (medium) | OpenAI | 85.8 | 72 | 100 | 92 | Codex |
| 4 | GPT-6.1 Sol (xhigh) | OpenAI | 85.1 | 72 | 97 | 93 | Codex |
| 5 | GPT-6.1 Sol (high) | OpenAI | 85.1 | 70 | 100 | 93 | Codex |
| 6 | Claude Opus 5.5 (medium) | Anthropic | 84.8 | 71 | 96 | 94 | Claude Code |
| 7 | Claude Sonnet 5.5 (high) | Anthropic | 84.3 | 68 | 99 | 94 | Claude Code |
| 8 | Claude Sonnet 5.5 (xhigh) | Anthropic | 84.0 | 69 | 96 | 94 | Claude Code |
| 9 | Claude Opus 5 (high) | Anthropic | 83.8 | 70 | 95 | 93 | Claude Code |
| 10 | Claude Opus 4.8 (high) | Anthropic | 83.2 | 66 | 98 | 93 | Claude Code |
| 11 | Claude Haiku 5.5 (xhigh) | Anthropic | 82.8 | 67 | 97 | 92 | Claude Code |
| 12 | Claude Opus 4.7 (high) | Anthropic | 82.3 | 65 | 98 | 93 | Claude Code |
| 13 | Claude Sonnet 5 (high) | Anthropic | 81.6 | 65 | 96 | 91 | Claude Code |
| 14 | GPT-6 Luna (xhigh) | OpenAI | 81.6 | 64 | 98 | 91 | Codex |
| 15 | Claude Sonnet 5.5 (medium) | Anthropic | 81.0 | 63 | 96 | 93 | Claude Code |
| 16 | Claude Haiku 5.5 (high) | Anthropic | 80.5 | 66 | 91 | 92 | Claude Code |
| 17 | Claude Haiku 5.5 (medium) | Anthropic | 80.1 | 63 | 94 | 92 | Claude Code |
| 18 | DeepSeek V4 Pro (max) | DeepSeek | 79.5 | 59 | 98 | 92 | Terminus-2 |
| 19 | GLM-5.3-Flash (max) | Z.ai | 73.4 | 54 | 84 | 92 | Terminus-2 |
| 20 | GLM-5.2 (none) | Z.ai | 72.8 | 55 | 83 | 89 | Terminus-2 |
| 21 | Claude Haiku 4.5 (thinking 32k) | Anthropic | 68.9 | 51 | 76 | 89 | Claude Code |
| 22 | gpt-oss-120b (low) | OpenAI | 52.2 | 28 | 54 | 88 | Terminus-2 |
Cost per index task
The average cost of one Agent Index attempt in the scored harness (USD) · Lower is better
- Planned attempts still to come
How to read this chart
Cost per index task. The average cost of one Agent Index attempt in the scored harness: one attempt at a Geospatial Agent Index task, at public API list prices, in the harness the model is scored in (the agents group). Quiz and image questions are one model call each and are not included.
Rows. Each model is shown at its highest reasoning level, as Artificial Analysis does; other levels are under 'Show every reasoning level'.
Data table: Cost per index task
| Model | Creator | Cost per index task | Coverage (attempts) |
|---|---|---|---|
| Claude Code – Claude Opus 5.5 (xhigh) | Anthropic | $0.284 | 565 of 859 planned attempts |
| Codex – GPT-6.1 Sol (xhigh) | OpenAI | $0.091 | 565 of 859 planned attempts |
| Claude Code – Claude Sonnet 5.5 (xhigh) | Anthropic | $0.123 | 565 of 859 planned attempts |
| Claude Code – Claude Opus 5 (high) | Anthropic | $0.357 | 565 of 859 planned attempts |
| Claude Code – Claude Haiku 5.5 (xhigh) | Anthropic | $0.018 | 565 of 859 planned attempts |
| Claude Code – Claude Opus 4.8 (high) | Anthropic | $0.296 | 565 of 859 planned attempts |
| Codex – GPT-6 Luna (xhigh) | OpenAI | $0.0076 | 565 of 859 planned attempts |
| Claude Code – Claude Opus 4.7 (high) | Anthropic | $0.382 | 565 of 859 planned attempts |
| Claude Code – Claude Sonnet 5 (high) | Anthropic | $0.229 | 565 of 859 planned attempts |
| Terminus-2 – GLM-5.3-Flash (max) | Z.ai | $0.106 | 565 of 859 planned attempts |
| Terminus-2 – DeepSeek V4 Pro (max) | DeepSeek | $0.341 | 565 of 859 planned attempts |
| Claude Code – Claude Haiku 4.5 (thinking 32k) | Anthropic | $0.100 | 565 of 859 planned attempts |
| Terminus-2 – GLM-5.2 (none) | Z.ai | $0.112 | 565 of 859 planned attempts |
| Terminus-2 – gpt-oss-120b (low) | OpenAI | $0.0048 | 565 of 859 planned attempts |
Geospatial Intelligence Index vs. cost per index task
Higher and further left is better
- Most attractive quadrant
- Pareto line
How to read this chart
How to read this chart. Each point is one model at its highest reasoning level. Further left means a lower average cost per index task (log scale); higher means a higher Geospatial Intelligence Index. Both axes fit the models shown, so the score axis does not start at zero. The shaded most attractive quadrant is the top-left quarter of the plot, split at the middle of each axis: a reading aid, not a fixed bar. The dotted Pareto line joins the models that no cheaper model beats on the index.
Cost per index task. The average cost of one Agent Index attempt in the scored harness: one attempt at a Geospatial Agent Index task, at public API list prices, in the harness the model is scored in (the agents group). Quiz and image questions are one model call each and are not included.
Data table: Geospatial Intelligence Index vs. cost per index task
| Model | Geospatial Intelligence Index | Cost per index task (USD) | On the Pareto line |
|---|---|---|---|
| Claude Opus 5.5 (xhigh) | 80.8 | $0.284 | Yes |
| GPT-6.1 Sol (xhigh) | 78.7 | $0.091 | Yes |
| Claude Sonnet 5.5 (xhigh) | 78.1 | $0.123 | No |
| Claude Opus 5 (high) | 77.0 | $0.357 | No |
| Claude Haiku 5.5 (xhigh) | 76.0 | $0.018 | Yes |
| Claude Opus 4.8 (high) | 75.8 | $0.296 | No |
| GPT-6 Luna (xhigh) | 74.7 | $0.0076 | Yes |
| Claude Opus 4.7 (high) | 74.6 | $0.382 | No |
| Claude Sonnet 5 (high) | 73.9 | $0.229 | No |
| GLM-5.3-Flash (max) | 66.8 | $0.106 | No |
| DeepSeek V4 Pro (max) | 61.8 | $0.341 | No |
| Claude Haiku 4.5 (thinking 32k) | 61.2 | $0.100 | No |
| GLM-5.2 (none) | 56.7 | $0.112 | No |
| gpt-oss-120b (low) | 40.6 | $0.0048 | Yes |
Leaderboard
Show the leaderboard tables
Every group score is shown next to the index, 0 to 100. An asterisk marks a group still to be completed.
Geospatial Intelligence Index
| Rank | Model | Developer | Geospatial Intelligence Index | Text-only view | Agents (3/9) | Coding (2/9) | Earth science (2/9) | Perception (2/9) | Scored in |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Claude Opus 5.5 (xhigh) | Anthropic | 80.8 | 87.1 | 74 | 99 | 94 | 59 | Claude Code |
| 2 | GPT-6.1 Sol (xhigh) | OpenAI | 78.7 | 85.1 | 72 | 97 | 93 | 56 | Codex |
| 3 | Claude Sonnet 5.5 (xhigh) | Anthropic | 78.1 | 84.0 | 69 | 96 | 94 | 57 | Claude Code |
| 4 | Claude Opus 5 (high) | Anthropic | 77.0 | 83.8 | 70 | 95 | 93 | 53 | Claude Code |
| 5 | Claude Haiku 5.5 (xhigh) | Anthropic | 76.0 | 82.8 | 67 | 97 | 92 | 52 | Claude Code |
| 6 | Claude Opus 4.8 (high) | Anthropic | 75.8 | 83.2 | 66 | 98 | 93 | 50 | Claude Code |
| 7 | GPT-6 Luna (xhigh) | OpenAI | 74.7 | 81.6 | 64 | 98 | 91 | 50 | Codex |
| 8 | Claude Opus 4.7 (high) | Anthropic | 74.6 | 82.3 | 65 | 98 | 93 | 47 | Claude Code |
| 9 | Claude Sonnet 5 (high) | Anthropic | 73.9 | 81.6 | 65 | 96 | 91 | 47 | Claude Code |
| 10 | GLM-5.3-Flash (max) | Z.ai | 66.8 | 73.4 | 54 | 84 | 92 | 44 | Terminus-2 |
| 11 | DeepSeek V4 Pro (max) | DeepSeek | 61.8 | 79.5 | 59 | 98 | 92 | 0 (cannot take images) | Terminus-2 |
| 12 | Claude Haiku 4.5 (thinking 32k) | Anthropic | 61.2 | 68.9 | 51 | 76 | 89 | 34 | Claude Code |
| 13 | GLM-5.2 (none) (Highest ranked level; GLM-5.2 (max) is not ranked yet) | Z.ai | 56.7 | 72.8 | 55 | 83 | 89 | 0 (cannot take images) | Terminus-2 |
| 14 | gpt-oss-120b (low) (Highest ranked level; gpt-oss-120b (high) is not ranked yet) | OpenAI | 40.6 | 52.2 | 28 | 54 | 88 | 0 (cannot take images) | Terminus-2 |
Each model is shown at its highest reasoning level, as Artificial Analysis does; other levels are under 'Show every reasoning level'.
Partial coverage
A model is ranked only when every group is scored in full. These models are not ranked yet and have no index; their group scores so far carry an asterisk, and Coverage says what is still to come.
| Coverage | Model | Developer | Agents (3/9) | Coding (2/9) | Earth science (2/9) | Perception (2/9) | Scored in |
|---|---|---|---|---|---|---|---|
| Coding: attempt 1 on 0 of 50 GeoAgentBench, 0 of 19 GeoAnalystBench tasks | Kimi K2.7 Code (always on) | Moonshot AI | 64 | No data | 92 | 44 | Kimi Code |
| Agents: attempt 1 on 242 of 245 GS-QA2 tasks | DeepSeek V4 Flash (max) | DeepSeek | 61* | 95 | 91 | 0 (cannot take images) | Terminus-2 |
| Agents: attempt 1 on 240 of 245 GS-QA2 tasks | GLM-5.3 (max, default) | Z.ai | 63* | 89 | 92 | 0 (cannot take images) | Terminus-2 |
| Coding: attempt 1 on 0 of 50 GeoAgentBench, 0 of 19 GeoAnalystBench tasks | Kimi K2.6 (always on) | Moonshot AI | 61 | No data | 92 | 44 | Kimi Code |
| Agents: attempt 1 on 210 of 245 GS-QA2 tasks | Gemma 4 26B A4B (thinking on) | 51* | 75 | 89 | 43 | Terminus-2 | |
| Agents: attempt 1 on 235 of 245 GS-QA2 tasks | GLM-4.7-Flash (thinking on) | Z.ai | 39* | 39 | 86 | 0 (cannot take images) | Terminus-2 |
| Earth science: quiz not run | Llama 3.3 70B (Non-reasoning) | Meta | 8 | 4 | No data | 0 (cannot take images) | Terminus-2 |
| Earth science: quiz 1,580 of 1,685 questions so far; Perception: 134 of 134 image questions scored so far | Kimi K3 (always on) | Moonshot AI | 64 | 92 | 93* | 48* | Terminus-2 |
| Agents: attempt 1 on 172 of 173 GeoBenchX, 230 of 245 GS-QA2 tasks; Coding: attempt 1 on 49 of 50 GeoAgentBench tasks | gpt-oss-20b (high) | OpenAI | 29* | 45* | 85 | 0 (cannot take images) | Terminus-2 |
| Agents and coding: no agent entry published | Mistral Small 3.1 24B (Non-reasoning) | Mistral AI | No data | No data | 82 | 33 | No agent entry |
| Agents: attempt 1 on 36 of 147 Earth-Bench V2, 0 of 245 GS-QA2 tasks; Earth science: quiz not run; Perception: image questions not run yet | Gemini 3.8 Flash (high) | 39* | 53 | No data | No data | Terminus-2 | |
| Agents: attempt 1 on 36 of 147 Earth-Bench V2, 0 of 245 GS-QA2 tasks; Earth science: quiz not run; Perception: image questions not run yet | Gemini 3.1 Pro (preview) (high) | 54* | 90 | No data | No data | Terminus-2 | |
| Agents: attempt 1 on 36 of 147 Earth-Bench V2, 0 of 245 GS-QA2 tasks; Earth science: quiz stopped part-way (840 of 1,685 questions); Perception: image questions not run yet | Claude Sonnet 4.6 (adaptive, effort high) | Anthropic | 47* | 98 | 98* | No data | Terminus-2 |
| Agents: attempt 1 on 35 of 147 Earth-Bench V2, 170 of 173 GeoBenchX, 0 of 245 GS-QA2 tasks; Coding: attempt 1 on 48 of 50 GeoAgentBench tasks; Earth science: quiz not run; Perception: image questions not run yet | Gemini 3.1 Flash-Lite (high) | 46* | 63* | No data | No data | Terminus-2 | |
| Agents: attempt 1 on 36 of 147 Earth-Bench V2, 0 of 173 GeoBenchX, 0 of 245 GS-QA2 tasks; Coding: attempt 1 on 48 of 50 GeoAgentBench, 5 of 19 GeoAnalystBench tasks; Perception: 128 of 136 image questions scored so far | Qwen 3.8 27B (xhigh) | Alibaba (Qwen) | 28* | 80* | 91 | 53* | Terminus-2 |
Show every reasoning level
| Rank | Model | Developer | Geospatial Intelligence Index | Text-only view | Agents (3/9) | Coding (2/9) | Earth science (2/9) | Perception (2/9) | Scored in |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Claude Opus 5.5 (xhigh) | Anthropic | 80.8 | 87.1 | 74 | 99 | 94 | 59 | Claude Code |
| 2 | Claude Opus 5.5 (high) | Anthropic | 80.6 | 86.8 | 73 | 100 | 95 | 59 | Claude Code |
| 3 | GPT-6.1 Sol (medium) | OpenAI | 78.8 | 85.8 | 72 | 100 | 92 | 55 | Codex |
| 4 | Claude Sonnet 5.5 (high) | Anthropic | 78.7 | 84.3 | 68 | 99 | 94 | 59 | Claude Code |
| 5 | GPT-6.1 Sol (xhigh) | OpenAI | 78.7 | 85.1 | 72 | 97 | 93 | 56 | Codex |
| 6 | Claude Opus 5.5 (medium) | Anthropic | 78.7 | 84.8 | 71 | 96 | 94 | 57 | Claude Code |
| 7 | Claude Sonnet 5.5 (xhigh) | Anthropic | 78.1 | 84.0 | 69 | 96 | 94 | 57 | Claude Code |
| 8 | GPT-6.1 Sol (high) | OpenAI | 77.8 | 85.1 | 70 | 100 | 93 | 53 | Codex |
| 9 | Claude Opus 5 (high) | Anthropic | 77.0 | 83.8 | 70 | 95 | 93 | 53 | Claude Code |
| 10 | Claude Haiku 5.5 (xhigh) | Anthropic | 76.0 | 82.8 | 67 | 97 | 92 | 52 | Claude Code |
| 11 | Claude Opus 4.8 (high) | Anthropic | 75.8 | 83.2 | 66 | 98 | 93 | 50 | Claude Code |
| 12 | Claude Sonnet 5.5 (medium) | Anthropic | 75.4 | 81.0 | 63 | 96 | 93 | 56 | Claude Code |
| 13 | GPT-6 Luna (xhigh) | OpenAI | 74.7 | 81.6 | 64 | 98 | 91 | 50 | Codex |
| 14 | Claude Opus 4.7 (high) | Anthropic | 74.6 | 82.3 | 65 | 98 | 93 | 47 | Claude Code |
| 15 | Claude Sonnet 5 (high) | Anthropic | 73.9 | 81.6 | 65 | 96 | 91 | 47 | Claude Code |
| 16 | Claude Haiku 5.5 (high) | Anthropic | 73.2 | 80.5 | 66 | 91 | 92 | 47 | Claude Code |
| 17 | Claude Haiku 5.5 (medium) | Anthropic | 72.4 | 80.1 | 63 | 94 | 92 | 45 | Claude Code |
| 18 | GLM-5.3-Flash (max) | Z.ai | 66.8 | 73.4 | 54 | 84 | 92 | 44 | Terminus-2 |
| 19 | DeepSeek V4 Pro (max) | DeepSeek | 61.8 | 79.5 | 59 | 98 | 92 | 0 (cannot take images) | Terminus-2 |
| 20 | Claude Haiku 4.5 (thinking 32k) | Anthropic | 61.2 | 68.9 | 51 | 76 | 89 | 34 | Claude Code |
| 21 | GLM-5.2 (none) | Z.ai | 56.7 | 72.8 | 55 | 83 | 89 | 0 (cannot take images) | Terminus-2 |
| 22 | gpt-oss-120b (low) | OpenAI | 40.6 | 52.2 | 28 | 54 | 88 | 0 (cannot take images) | Terminus-2 |
Partial coverage (every reasoning level)
A model is ranked only when every group is scored in full. These models are not ranked yet and have no index; their group scores so far carry an asterisk, and Coverage says what is still to come.
| Coverage | Model | Developer | Agents (3/9) | Coding (2/9) | Earth science (2/9) | Perception (2/9) | Scored in |
|---|---|---|---|---|---|---|---|
| Coding: attempt 1 on 0 of 50 GeoAgentBench, 0 of 19 GeoAnalystBench tasks | Kimi K2.7 Code (always on) | Moonshot AI | 64 | No data | 92 | 44 | Kimi Code |
| Agents: attempt 1 on 238 of 245 GS-QA2 tasks | GLM-5.2 (max) | Z.ai | 64* | 94 | 89 | 0 (cannot take images) | Terminus-2 |
| Agents: attempt 1 on 236 of 245 GS-QA2 tasks | DeepSeek V4 Flash (high) | DeepSeek | 64* | 92 | 91 | 0 (cannot take images) | Terminus-2 |
| Agents: attempt 1 on 239 of 245 GS-QA2 tasks | DeepSeek V4 Pro (high) | DeepSeek | 63* | 98 | 92 | 0 (cannot take images) | Terminus-2 |
| Agents: attempt 1 on 240 of 245 GS-QA2 tasks | GLM-5.3 (max, default) | Z.ai | 63* | 89 | 92 | 0 (cannot take images) | Terminus-2 |
| Agents: attempt 1 on 244 of 245 GS-QA2 tasks | GLM-5.2 (high) | Z.ai | 62* | 97 | 91 | 0 (cannot take images) | Terminus-2 |
| Agents: attempt 1 on 242 of 245 GS-QA2 tasks | DeepSeek V4 Flash (max) | DeepSeek | 61* | 95 | 91 | 0 (cannot take images) | Terminus-2 |
| Coding: attempt 1 on 0 of 50 GeoAgentBench, 0 of 19 GeoAnalystBench tasks | Kimi K2.6 (always on) | Moonshot AI | 61 | No data | 92 | 44 | Kimi Code |
| Agents: attempt 1 on 241 of 245 GS-QA2 tasks | GLM-5.3 (low) | Z.ai | 58* | 93 | 91 | 0 (cannot take images) | Terminus-2 |
| Agents: attempt 1 on 210 of 245 GS-QA2 tasks | Gemma 4 26B A4B (thinking on) | 51* | 75 | 89 | 43 | Terminus-2 | |
| Agents: attempt 1 on 241 of 245 GS-QA2 tasks | gpt-oss-120b (high) | OpenAI | 40* | 61 | 90 | 0 (cannot take images) | Terminus-2 |
| Agents: attempt 1 on 235 of 245 GS-QA2 tasks | GLM-4.7-Flash (thinking on) | Z.ai | 39* | 39 | 86 | 0 (cannot take images) | Terminus-2 |
| Earth science: quiz not run | Llama 3.3 70B (Non-reasoning) | Meta | 8 | 4 | No data | 0 (cannot take images) | Terminus-2 |
| Earth science: quiz 1,580 of 1,685 questions so far; Perception: 134 of 134 image questions scored so far | Kimi K3 (always on) | Moonshot AI | 64 | 92 | 93* | 48* | Terminus-2 |
| Agents: attempt 1 on 244 of 245 GS-QA2 tasks; Perception: 122 of 136 image questions scored so far | GLM-5.3-Flash (low) | Z.ai | 52* | 94 | 85 | 46* | Terminus-2 |
| Agents: attempt 1 on 172 of 173 GeoBenchX, 230 of 245 GS-QA2 tasks; Coding: attempt 1 on 49 of 50 GeoAgentBench tasks | gpt-oss-20b (high) | OpenAI | 29* | 45* | 85 | 0 (cannot take images) | Terminus-2 |
| Agents and coding: no agent entry published | Mistral Small 3.1 24B (Non-reasoning) | Mistral AI | No data | No data | 82 | 33 | No agent entry |
| Agents: attempt 1 on 36 of 147 Earth-Bench V2, 0 of 245 GS-QA2 tasks; Earth science: quiz not run; Perception: image questions not run yet | Gemini 3.8 Flash (low) | 57* | 94 | No data | No data | Terminus-2 | |
| Agents: attempt 1 on 36 of 147 Earth-Bench V2, 0 of 245 GS-QA2 tasks; Earth science: quiz not run; Perception: image questions not run yet | Gemini 3.1 Pro (preview) (high) | 54* | 90 | No data | No data | Terminus-2 | |
| Agents: attempt 1 on 36 of 147 Earth-Bench V2, 0 of 245 GS-QA2 tasks; Earth science: quiz not run; Perception: image questions not run yet | Gemini 3.1 Pro (preview) (low) | 48* | 81 | No data | No data | Terminus-2 | |
| Agents: attempt 1 on 36 of 147 Earth-Bench V2, 0 of 245 GS-QA2 tasks; Earth science: quiz stopped part-way (840 of 1,685 questions); Perception: image questions not run yet | Claude Sonnet 4.6 (adaptive, effort high) | Anthropic | 47* | 98 | 98* | No data | Terminus-2 |
| Agents: attempt 1 on 36 of 147 Earth-Bench V2, 0 of 245 GS-QA2 tasks; Earth science: quiz not run; Perception: image questions not run yet | Gemini 3.8 Flash (high) | 39* | 53 | No data | No data | Terminus-2 | |
| Agents: attempt 1 on 36 of 147 Earth-Bench V2, 0 of 245 GS-QA2 tasks; Earth science: quiz not run; Perception: image questions not run yet | Gemini 3.1 Flash-Lite (low) | 39* | 58 | No data | No data | Terminus-2 | |
| Agents: attempt 1 on 36 of 147 Earth-Bench V2, 0 of 245 GS-QA2 tasks; Earth science: quiz not run; Perception: image questions not run yet | Gemini 3.1 Flash-Lite (minimal) | 35* | 42 | No data | No data | Terminus-2 | |
| Agents: attempt 1 on 36 of 147 Earth-Bench V2, 0 of 173 GeoBenchX, 0 of 245 GS-QA2 tasks; Coding: attempt 1 on 48 of 50 GeoAgentBench, 5 of 19 GeoAnalystBench tasks; Perception: 128 of 136 image questions scored so far | Qwen 3.8 27B (xhigh) | Alibaba (Qwen) | 28* | 80* | 91 | 53* | Terminus-2 |
| Agents: attempt 1 on 35 of 147 Earth-Bench V2, 170 of 173 GeoBenchX, 0 of 245 GS-QA2 tasks; Coding: attempt 1 on 48 of 50 GeoAgentBench tasks; Earth science: quiz not run; Perception: image questions not run yet | Gemini 3.1 Flash-Lite (high) | 46* | 63* | No data | No data | Terminus-2 |
Text-only view
The same index without perception, with weights agents 3/7, coding 2/7, earth science 2/7. It compares models that cannot take images fairly, and shows how much perception changes the order. A model is ranked here when its agents, coding and Earth science groups are scored in full.
| Rank | Model | Developer | Text-only view | Agents (3/7) | Coding (2/7) | Earth science (2/7) | Scored in |
|---|---|---|---|---|---|---|---|
| 1 | Claude Opus 5.5 (xhigh) | Anthropic | 87.1 | 74 | 99 | 94 | Claude Code |
| 2 | GPT-6.1 Sol (xhigh) | OpenAI | 85.1 | 72 | 97 | 93 | Codex |
| 3 | Claude Sonnet 5.5 (xhigh) | Anthropic | 84.0 | 69 | 96 | 94 | Claude Code |
| 4 | Claude Opus 5 (high) | Anthropic | 83.8 | 70 | 95 | 93 | Claude Code |
| 5 | Claude Opus 4.8 (high) | Anthropic | 83.2 | 66 | 98 | 93 | Claude Code |
| 6 | Claude Haiku 5.5 (xhigh) | Anthropic | 82.8 | 67 | 97 | 92 | Claude Code |
| 7 | Claude Opus 4.7 (high) | Anthropic | 82.3 | 65 | 98 | 93 | Claude Code |
| 8 | Claude Sonnet 5 (high) | Anthropic | 81.6 | 65 | 96 | 91 | Claude Code |
| 9 | GPT-6 Luna (xhigh) | OpenAI | 81.6 | 64 | 98 | 91 | Codex |
| 10 | DeepSeek V4 Pro (max) | DeepSeek | 79.5 | 59 | 98 | 92 | Terminus-2 |
| 11 | GLM-5.3-Flash (max) | Z.ai | 73.4 | 54 | 84 | 92 | Terminus-2 |
| 12 | GLM-5.2 (none) (Highest ranked level; GLM-5.2 (max) is not ranked yet) | Z.ai | 72.8 | 55 | 83 | 89 | Terminus-2 |
| 13 | Claude Haiku 4.5 (thinking 32k) | Anthropic | 68.9 | 51 | 76 | 89 | Claude Code |
| 14 | gpt-oss-120b (low) (Highest ranked level; gpt-oss-120b (high) is not ranked yet) | OpenAI | 52.2 | 28 | 54 | 88 | Terminus-2 |
Each model is shown at its highest reasoning level, as Artificial Analysis does; other levels are under 'Show every reasoning level'.
Show every reasoning level
| Rank | Model | Developer | Text-only view | Agents (3/7) | Coding (2/7) | Earth science (2/7) | Scored in |
|---|---|---|---|---|---|---|---|
| 1 | Claude Opus 5.5 (xhigh) | Anthropic | 87.1 | 74 | 99 | 94 | Claude Code |
| 2 | Claude Opus 5.5 (high) | Anthropic | 86.8 | 73 | 100 | 95 | Claude Code |
| 3 | GPT-6.1 Sol (medium) | OpenAI | 85.8 | 72 | 100 | 92 | Codex |
| 4 | GPT-6.1 Sol (xhigh) | OpenAI | 85.1 | 72 | 97 | 93 | Codex |
| 5 | GPT-6.1 Sol (high) | OpenAI | 85.1 | 70 | 100 | 93 | Codex |
| 6 | Claude Opus 5.5 (medium) | Anthropic | 84.8 | 71 | 96 | 94 | Claude Code |
| 7 | Claude Sonnet 5.5 (high) | Anthropic | 84.3 | 68 | 99 | 94 | Claude Code |
| 8 | Claude Sonnet 5.5 (xhigh) | Anthropic | 84.0 | 69 | 96 | 94 | Claude Code |
| 9 | Claude Opus 5 (high) | Anthropic | 83.8 | 70 | 95 | 93 | Claude Code |
| 10 | Claude Opus 4.8 (high) | Anthropic | 83.2 | 66 | 98 | 93 | Claude Code |
| 11 | Claude Haiku 5.5 (xhigh) | Anthropic | 82.8 | 67 | 97 | 92 | Claude Code |
| 12 | Claude Opus 4.7 (high) | Anthropic | 82.3 | 65 | 98 | 93 | Claude Code |
| 13 | Claude Sonnet 5 (high) | Anthropic | 81.6 | 65 | 96 | 91 | Claude Code |
| 14 | GPT-6 Luna (xhigh) | OpenAI | 81.6 | 64 | 98 | 91 | Codex |
| 15 | Claude Sonnet 5.5 (medium) | Anthropic | 81.0 | 63 | 96 | 93 | Claude Code |
| 16 | Claude Haiku 5.5 (high) | Anthropic | 80.5 | 66 | 91 | 92 | Claude Code |
| 17 | Claude Haiku 5.5 (medium) | Anthropic | 80.1 | 63 | 94 | 92 | Claude Code |
| 18 | DeepSeek V4 Pro (max) | DeepSeek | 79.5 | 59 | 98 | 92 | Terminus-2 |
| 19 | GLM-5.3-Flash (max) | Z.ai | 73.4 | 54 | 84 | 92 | Terminus-2 |
| 20 | GLM-5.2 (none) | Z.ai | 72.8 | 55 | 83 | 89 | Terminus-2 |
| 21 | Claude Haiku 4.5 (thinking 32k) | Anthropic | 68.9 | 51 | 76 | 89 | Claude Code |
| 22 | gpt-oss-120b (low) | OpenAI | 52.2 | 28 | 54 | 88 | Terminus-2 |
Geospatial Agent Index
Which agent setup to use: each row is a model in one agent harness, at its highest reasoning level here. The Geospatial Agent Index is the agents group of the Geospatial Intelligence Index. See the full Geospatial Agent Index, with every harness and reasoning level.
Geospatial Agent Index
Equal-weight average of the evaluation scores, 0 to 100 · Higher is better
- Planned attempts still to come
How to read this chart
What this metric means. The equal-weight average of the 3 evaluation scores. Each evaluation score is the average pass@1 over that benchmark's tasks, from 0 to 100.
Partial coverage entries. An entry is ranked only when it has a first attempt on every task of every index component. Entries without that are marked partial coverage: they are listed apart with their coverage, for example "36 of 147 Earth-Bench V2 tasks", and are left out of the ranking, the index charts and the Pareto lines. An entry becomes ranked as soon as its first attempts are complete.
Coverage hatch. A hatched bar, and an asterisk in tables, marks an entry that does not yet have results for every planned attempt. While attempts await review, the table gives the range the score could still reach.
First attempt only. Scores currently use each entry's first attempt on every task. The full protocol is 3 attempts; averages over 3 will replace these once every entry has them. An entry without a first attempt on every task yet is marked "partial: attempt 1 on n of N tasks".
Data table: Geospatial Agent Index
| Model | Creator | Geospatial Agent Index | Range while attempts are pending | Benchmarks covered | Coverage (attempts) |
|---|---|---|---|---|---|
| Claude Code – Claude Opus 5.5 (xhigh) | Anthropic | 74* | No pending judgements; coverage incomplete | 3 of 3 | 565 of 859 planned attempts |
| Codex – GPT-6.1 Sol (xhigh) | OpenAI | 72* | No pending judgements; coverage incomplete | 3 of 3 | 565 of 859 planned attempts |
| Claude Code – Claude Opus 5 (high) | Anthropic | 70* | No pending judgements; coverage incomplete; 205 results awaiting review | 3 of 3 | 565 of 859 planned attempts |
| Claude Code – Claude Sonnet 5.5 (xhigh) | Anthropic | 69* | No pending judgements; coverage incomplete | 3 of 3 | 565 of 859 planned attempts |
| Claude Code – Claude Haiku 5.5 (xhigh) | Anthropic | 67* | No pending judgements; coverage incomplete | 3 of 3 | 565 of 859 planned attempts |
| Claude Code – Claude Opus 4.8 (high) | Anthropic | 66* | No pending judgements; coverage incomplete; 188 results awaiting review | 3 of 3 | 565 of 859 planned attempts |
| Claude Code – Claude Sonnet 5 (high) | Anthropic | 65* | No pending judgements; coverage incomplete; 174 results awaiting review | 3 of 3 | 565 of 859 planned attempts |
| Claude Code – Claude Opus 4.7 (high) | Anthropic | 65* | No pending judgements; coverage incomplete; 178 results awaiting review | 3 of 3 | 565 of 859 planned attempts |
| Codex – GPT-6 Luna (xhigh) | OpenAI | 64* | No pending judgements; coverage incomplete | 3 of 3 | 565 of 859 planned attempts |
| Kimi Code – Kimi K2.7 Code (always on) | Moonshot AI | 64* | No pending judgements; coverage incomplete | 3 of 3 | 565 of 859 planned attempts (3 excluded) |
| Terminus-2 – Kimi K3 (always on) | Moonshot AI | 64* | No pending judgements; coverage incomplete; 183 results awaiting review; 1 trace review declined by the judge | 3 of 3 | 565 of 859 planned attempts |
| Kimi Code – Kimi K2.6 (always on) | Moonshot AI | 61* | No pending judgements; coverage incomplete | 3 of 3 | 565 of 859 planned attempts (16 excluded) |
| Terminus-2 – DeepSeek V4 Pro (max) | DeepSeek | 59* | No pending judgements; coverage incomplete; 172 results awaiting review; 1 trace review declined by the judge | 3 of 3 | 565 of 859 planned attempts |
| Terminus-2 – GLM-5.2 (none) | Z.ai | 55* | No pending judgements; coverage incomplete | 3 of 3 | 565 of 859 planned attempts |
| Terminus-2 – GLM-5.3-Flash (max) | Z.ai | 54* | No pending judgements; coverage incomplete; 175 results awaiting review | 3 of 3 | 565 of 859 planned attempts |
| Claude Code – Claude Haiku 4.5 (thinking 32k) | Anthropic | 51* | No pending judgements; coverage incomplete; 159 results awaiting review | 3 of 3 | 565 of 859 planned attempts |
| Terminus-2 – gpt-oss-120b (low) | OpenAI | 28* | No pending judgements; coverage incomplete | 3 of 3 | 565 of 859 planned attempts |
| Terminus-2 – Llama 3.3 70B (Non-reasoning) | Meta | 8* | No pending judgements; coverage incomplete; 24 results awaiting review | 3 of 3 | 565 of 859 planned attempts |
Geospatial Agent Index vs. cost per task
Higher and further left is better
- Planned attempts still to come
- Most attractive quadrant
- Pareto line
How to read this chart
Rows. Each model and harness is shown at its highest reasoning level, as Artificial Analysis does; other levels are under 'Show every reasoning level'.
Partial coverage. Entries without a first attempt on every index task are not plotted; the table lists them. What is still running is on the models page.
What cost is measuring. What one attempt at a task would cost if paid token by token at the provider's published API prices, averaged over attempts: ordinary input tokens, input tokens served from the provider's cache at the lower cached price, tokens written to the cache where the provider charges for that, and output tokens (thinking included). Cost assumes each harness uses the model's pay-per-token API, priced at public list rates; sandboxes and our own engineering time are not included. Failed attempts count too.
How to read this chart. Each point is one model configuration. Further left means a lower average cost per task (log scale); higher means a higher Geospatial Agent Index. Both axes fit the models shown, so the score axis does not start at zero. The shaded most attractive quadrant is the top-left quarter of the plot, split at the middle of each axis: a reading aid that moves with the axes when you change the models shown, not a fixed bar. The dotted Pareto line joins the shown models that no cheaper shown model beats on score.
Data table: Geospatial Agent Index vs. cost per task
| Model | Geospatial Agent Index | Cost per task (USD) | On the Pareto line |
|---|---|---|---|
| Terminus-2 – Claude Sonnet 4.6 (adaptive, effort high) | 47* (partial: attempt 1 on 209 of 565 tasks) | $0.291 | Not plotted (partial coverage) |
| Terminus-2 – DeepSeek V4 Flash (max) | 61* (partial: attempt 1 on 562 of 565 tasks) | $0.069 | Not plotted (partial coverage) |
| Terminus-2 – DeepSeek V4 Pro (max) | 59* | $0.341 | No |
| Terminus-2 – Gemini 3.1 Flash-Lite (high) | 46* (partial: attempt 1 on 205 of 565 tasks) | $0.021 | Not plotted (partial coverage) |
| Terminus-2 – Gemini 3.1 Pro (preview) (high) | 54* (partial: attempt 1 on 209 of 565 tasks) | $0.275 | Not plotted (partial coverage) |
| Terminus-2 – Gemini 3.8 Flash (high) | 39* (partial: attempt 1 on 209 of 565 tasks) | $0.336 | Not plotted (partial coverage) |
| Terminus-2 – Gemma 4 26B A4B (thinking on) | 51* (partial: attempt 1 on 530 of 565 tasks) | $0.021 | Not plotted (partial coverage) |
| Terminus-2 – GLM-4.7-Flash (thinking on) | 39* (partial: attempt 1 on 555 of 565 tasks) | $0.038 | Not plotted (partial coverage) |
| Terminus-2 – GLM-5.2 (none) | 55* | $0.112 | No |
| Terminus-2 – GLM-5.3-Flash (max) | 54* | $0.106 | No |
| Terminus-2 – GLM-5.3 (max, default) | 63* (partial: attempt 1 on 560 of 565 tasks) | $0.481 | Not plotted (partial coverage) |
| Terminus-2 – gpt-oss-120b (low) | 28* | $0.0048 | Yes |
| Terminus-2 – gpt-oss-20b (high) | 29* (partial: attempt 1 on 549 of 565 tasks) | $0.017 | Not plotted (partial coverage) |
| Terminus-2 – Kimi K2.6 (always on) | 61* (partial: attempt 1 on 562 of 565 tasks) | $0.108 | Not plotted (partial coverage) |
| Terminus-2 – Kimi K2.7 Code (always on) | 63* (partial: attempt 1 on 560 of 565 tasks) | $0.131 | Not plotted (partial coverage) |
| Terminus-2 – Kimi K3 (always on) | 64* | $0.252 | No |
| Terminus-2 – Llama 3.3 70B (Non-reasoning) | 8* | $0.022 | No |
| Terminus-2 – Qwen 3.8 27B (xhigh) | 28* (partial: attempt 1 on 36 of 565 tasks) | $0.051 | Not plotted (partial coverage) |
| Claude Code – Claude Haiku 4.5 (thinking 32k) | 51* | $0.100 | No |
| Claude Code – GLM-4.7-Flash (thinking on) | 37* | $0.244 | Not plotted (partial coverage) |
| Claude Code – GLM-5.2 (max) | 66* (partial: attempt 1 on 550 of 565 tasks) | $0.373 | Not plotted (partial coverage) |
| Claude Code – GLM-5.3-Flash (max) | 57* (partial: attempt 1 on 557 of 565 tasks) | $0.132 | Not plotted (partial coverage) |
| Claude Code – GLM-5.3 (max, default) | 61* (partial: attempt 1 on 294 of 565 tasks) | $0.761 | Not plotted (partial coverage) |
| Codex – DeepSeek V4 Flash (high) | 57* (partial: attempt 1 on 412 of 565 tasks) | $0.046 | Not plotted (partial coverage) |
| Codex – DeepSeek V4 Pro (high) | 55* (partial: attempt 1 on 129 of 565 tasks) | $0.497 | Not plotted (partial coverage) |
| Codex – gpt-oss-120b (high) | 40* (partial: attempt 1 on 401 of 565 tasks) | $0.376 | Not plotted (partial coverage) |
| Codex – gpt-oss-20b (high) | 8* (partial: attempt 1 on 540 of 565 tasks) | $0.098 | Not plotted (partial coverage) |
| Kimi Code – Kimi K2.6 (always on) | 61* | $0.302 | No |
| Kimi Code – Kimi K2.7 Code (always on) | 64* | $0.215 | No |
| Claude Code – Claude Opus 5.5 (xhigh) | 74* | $0.284 | Yes |
| Claude Code – Claude Sonnet 5.5 (xhigh) | 69* | $0.123 | No |
| Claude Code – Claude Haiku 5.5 (xhigh) | 67* | $0.018 | Yes |
| Claude Code – Claude Opus 5 (high) | 70* | $0.357 | No |
| Claude Code – Claude Sonnet 5 (high) | 65* | $0.229 | No |
| Claude Code – Claude Opus 4.8 (high) | 66* | $0.296 | No |
| Claude Code – Claude Opus 4.7 (high) | 65* | $0.382 | No |
| Codex – GPT-6.1 Sol (xhigh) | 72* | $0.091 | Yes |
| Codex – GPT-6 Luna (xhigh) | 64* | $0.0076 | Yes |
Benchmarks
The evaluations behind each group of the Geospatial Intelligence Index. Each links to its own page.
Agents
Weight 3/9, about 33.3% of the Geospatial Intelligence Index.
- Earth-Bench V2 Earth observation data analysis.
- GeoBenchX Multi-step spatial execution, including tasks to reject.
- GS-QA2 Spatial data reasoning over map and elevation data.
Agents
Weight 3/9 of the Geospatial Intelligence Index, 0 to 100 · Higher is better
How to read this chart
Rows. Each model once, at its highest reasoning level with this group scored in full, so models not yet ranked in the Geospatial Intelligence Index can appear here.
Data table: Agents
| Model | Developer | Agents | Scored in |
|---|---|---|---|
| Claude Opus 5.5 (xhigh) | Anthropic | 74 | Claude Code |
| GPT-6.1 Sol (xhigh) | OpenAI | 72 | Codex |
| Claude Opus 5 (high) | Anthropic | 70 | Claude Code |
| Claude Sonnet 5.5 (xhigh) | Anthropic | 69 | Claude Code |
| Claude Haiku 5.5 (xhigh) | Anthropic | 67 | Claude Code |
| Claude Opus 4.8 (high) | Anthropic | 66 | Claude Code |
| Claude Sonnet 5 (high) | Anthropic | 65 | Claude Code |
| Claude Opus 4.7 (high) | Anthropic | 65 | Claude Code |
| GPT-6 Luna (xhigh) | OpenAI | 64 | Codex |
| Kimi K2.7 Code (always on) | Moonshot AI | 64 | Kimi Code |
| Kimi K3 (always on) | Moonshot AI | 64 | Terminus-2 |
| Kimi K2.6 (always on) | Moonshot AI | 61 | Kimi Code |
| DeepSeek V4 Pro (max) | DeepSeek | 59 | Terminus-2 |
| GLM-5.2 (none) | Z.ai | 55 | Terminus-2 |
| GLM-5.3-Flash (max) | Z.ai | 54 | Terminus-2 |
| Claude Haiku 4.5 (thinking 32k) | Anthropic | 51 | Claude Code |
| gpt-oss-120b (low) | OpenAI | 28 | Terminus-2 |
| Llama 3.3 70B (Non-reasoning) | Meta | 8 | Terminus-2 |
Coding
Weight 2/9, about 22.2% of the Geospatial Intelligence Index.
- GeoAgentBench Multi-step spatial execution.
- GeoAnalystBench Spatial workflow and code generation.
Coding
Weight 2/9 of the Geospatial Intelligence Index, 0 to 100 · Higher is better
How to read this chart
Rows. Each model once, at its highest reasoning level with this group scored in full, so models not yet ranked in the Geospatial Intelligence Index can appear here.
Data table: Coding
Earth science
Weight 2/9, about 22.2% of the Geospatial Intelligence Index.
- Geospatial knowledge (closed book) A closed-book quiz of 1,685 multiple-choice questions built on ESA's published question sets. Reasoning joins later.
Earth science
Weight 2/9 of the Geospatial Intelligence Index, 0 to 100 · Higher is better
How to read this chart
Rows. Each model once, at its highest reasoning level with this group scored in full, so models not yet ranked in the Geospatial Intelligence Index can appear here.
Data table: Earth science
| Model | Developer | Earth science | Scored in |
|---|---|---|---|
| Claude Opus 5.5 (xhigh) | Anthropic | 94 | Claude Code |
| Claude Sonnet 5.5 (xhigh) | Anthropic | 94 | Claude Code |
| Claude Opus 4.8 (high) | Anthropic | 93 | Claude Code |
| Claude Opus 5 (high) | Anthropic | 93 | Claude Code |
| Claude Opus 4.7 (high) | Anthropic | 93 | Claude Code |
| GPT-6.1 Sol (xhigh) | OpenAI | 93 | Codex |
| Kimi K2.7 Code (always on) | Moonshot AI | 92 | Kimi Code |
| DeepSeek V4 Pro (max) | DeepSeek | 92 | Terminus-2 |
| Claude Haiku 5.5 (xhigh) | Anthropic | 92 | Claude Code |
| GLM-5.3 (max, default) | Z.ai | 92 | Terminus-2 |
| Kimi K2.6 (always on) | Moonshot AI | 92 | Kimi Code |
| GLM-5.3-Flash (max) | Z.ai | 92 | Terminus-2 |
| DeepSeek V4 Flash (max) | DeepSeek | 91 | Terminus-2 |
| Claude Sonnet 5 (high) | Anthropic | 91 | Claude Code |
| GPT-6 Luna (xhigh) | OpenAI | 91 | Codex |
| Qwen 3.8 27B (xhigh) | Alibaba (Qwen) | 91 | Terminus-2 |
| gpt-oss-120b (high) | OpenAI | 90 | Terminus-2 |
| Claude Haiku 4.5 (thinking 32k) | Anthropic | 89 | Claude Code |
| GLM-5.2 (max) | Z.ai | 89 | Terminus-2 |
| Gemma 4 26B A4B (thinking on) | 89 | Terminus-2 | |
| GLM-4.7-Flash (thinking on) | Z.ai | 86 | Terminus-2 |
| gpt-oss-20b (high) | OpenAI | 85 | Terminus-2 |
| Mistral Small 3.1 24B (Non-reasoning) | Mistral AI | 82 | No agent entry |
Perception
Weight 2/9, about 22.2% of the Geospatial Intelligence Index.
- Perception Questions answered from satellite and aerial images, look and answer, the same for every model.
- Geospatial image understanding The image track in full, with the look-and-work protocol reported apart.
Perception
Weight 2/9 of the Geospatial Intelligence Index, 0 to 100 · Higher is better
How to read this chart
Rows. Each model once, at its highest reasoning level with this group scored in full, so models not yet ranked in the Geospatial Intelligence Index can appear here.
Data table: Perception
| Model | Developer | Perception | Scored in |
|---|---|---|---|
| Claude Opus 5.5 (xhigh) | Anthropic | 59 | Claude Code |
| Claude Sonnet 5.5 (xhigh) | Anthropic | 57 | Claude Code |
| GPT-6.1 Sol (xhigh) | OpenAI | 56 | Codex |
| Claude Opus 5 (high) | Anthropic | 53 | Claude Code |
| Claude Haiku 5.5 (xhigh) | Anthropic | 52 | Claude Code |
| GPT-6 Luna (xhigh) | OpenAI | 50 | Codex |
| Claude Opus 4.8 (high) | Anthropic | 50 | Claude Code |
| Claude Opus 4.7 (high) | Anthropic | 47 | Claude Code |
| Claude Sonnet 5 (high) | Anthropic | 47 | Claude Code |
| Kimi K2.6 (always on) | Moonshot AI | 44 | Kimi Code |
| GLM-5.3-Flash (max) | Z.ai | 44 | Terminus-2 |
| Kimi K2.7 Code (always on) | Moonshot AI | 44 | Kimi Code |
| Gemma 4 26B A4B (thinking on) | 43 | Terminus-2 | |
| Claude Haiku 4.5 (thinking 32k) | Anthropic | 34 | Claude Code |
| Mistral Small 3.1 24B (Non-reasoning) | Mistral AI | 33 | No agent entry |
| DeepSeek V4 Pro (max) | DeepSeek | 0 (cannot take images) | Terminus-2 |
| GLM-5.2 (max) | Z.ai | 0 (cannot take images) | Terminus-2 |
| gpt-oss-120b (high) | OpenAI | 0 (cannot take images) | Terminus-2 |
| DeepSeek V4 Flash (max) | DeepSeek | 0 (cannot take images) | Terminus-2 |
| GLM-5.3 (max, default) | Z.ai | 0 (cannot take images) | Terminus-2 |
| GLM-4.7-Flash (thinking on) | Z.ai | 0 (cannot take images) | Terminus-2 |
| Llama 3.3 70B (Non-reasoning) | Meta | 0 (cannot take images) | Terminus-2 |
| gpt-oss-20b (high) | OpenAI | 0 (cannot take images) | Terminus-2 |
Tokens, cost and time
For the agent index tasks, in the harness each model is scored in; each model at its highest reasoning level. Time is compared through output tokens, as Artificial Analysis does; measured time per task is on each model page.
Cost per index task
Cost per index task
The average cost of one Agent Index attempt in the scored harness (USD) · Lower is better
- Planned attempts still to come
How to read this chart
Cost per index task. The average cost of one Agent Index attempt in the scored harness: one attempt at a Geospatial Agent Index task, at public API list prices, in the harness the model is scored in (the agents group). Quiz and image questions are one model call each and are not included.
Rows. Each model is shown at its highest reasoning level, as Artificial Analysis does; other levels are under 'Show every reasoning level'.
Data table: Cost per index task
| Model | Creator | Cost per index task | Coverage (attempts) |
|---|---|---|---|
| Claude Code – Claude Opus 5.5 (xhigh) | Anthropic | $0.284 | 565 of 859 planned attempts |
| Codex – GPT-6.1 Sol (xhigh) | OpenAI | $0.091 | 565 of 859 planned attempts |
| Claude Code – Claude Sonnet 5.5 (xhigh) | Anthropic | $0.123 | 565 of 859 planned attempts |
| Claude Code – Claude Opus 5 (high) | Anthropic | $0.357 | 565 of 859 planned attempts |
| Claude Code – Claude Haiku 5.5 (xhigh) | Anthropic | $0.018 | 565 of 859 planned attempts |
| Claude Code – Claude Opus 4.8 (high) | Anthropic | $0.296 | 565 of 859 planned attempts |
| Codex – GPT-6 Luna (xhigh) | OpenAI | $0.0076 | 565 of 859 planned attempts |
| Claude Code – Claude Opus 4.7 (high) | Anthropic | $0.382 | 565 of 859 planned attempts |
| Claude Code – Claude Sonnet 5 (high) | Anthropic | $0.229 | 565 of 859 planned attempts |
| Terminus-2 – GLM-5.3-Flash (max) | Z.ai | $0.106 | 565 of 859 planned attempts |
| Terminus-2 – DeepSeek V4 Pro (max) | DeepSeek | $0.341 | 565 of 859 planned attempts |
| Claude Code – Claude Haiku 4.5 (thinking 32k) | Anthropic | $0.100 | 565 of 859 planned attempts |
| Terminus-2 – GLM-5.2 (none) | Z.ai | $0.112 | 565 of 859 planned attempts |
| Terminus-2 – gpt-oss-120b (low) | OpenAI | $0.0048 | 565 of 859 planned attempts |
Output tokens per index task
Output tokens per index task
The average output tokens of one Agent Index attempt in the scored harness, reasoning included · Lower is better
- Planned attempts still to come
How to read this chart
Output tokens per task. The average number of tokens the model wrote per attempt, its reasoning included, as reported by the provider.
Why output tokens, not time. As Artificial Analysis does, the charts compare output tokens per task rather than time: an attempt's time depends on how fast the model is served, which should not decide a comparison, and how long the model waited for its replies is not recorded for every agent harness. Measured time per task stays on each model page and in the tables.
Compare with care. Models use different tokenisers, so the same text is a different number of tokens for different models. Use token counts to see how much work each model did, and cost to compare spending.
Rows. Each model is shown at its highest reasoning level, as Artificial Analysis does; other levels are under 'Show every reasoning level'.
Data table: Output tokens per index task
| Model | Creator | Output tokens per index task | Coverage (attempts) |
|---|---|---|---|
| Claude Code – Claude Opus 5.5 (xhigh) | Anthropic | 6k | 565 of 859 planned attempts |
| Codex – GPT-6.1 Sol (xhigh) | OpenAI | 4k | 565 of 859 planned attempts |
| Claude Code – Claude Sonnet 5.5 (xhigh) | Anthropic | 5k | 565 of 859 planned attempts |
| Claude Code – Claude Opus 5 (high) | Anthropic | 5k | 565 of 859 planned attempts |
| Claude Code – Claude Haiku 5.5 (xhigh) | Anthropic | 14k | 565 of 859 planned attempts |
| Claude Code – Claude Opus 4.8 (high) | Anthropic | 5k | 565 of 859 planned attempts |
| Codex – GPT-6 Luna (xhigh) | OpenAI | 7k | 565 of 859 planned attempts |
| Claude Code – Claude Opus 4.7 (high) | Anthropic | 5k | 565 of 859 planned attempts |
| Claude Code – Claude Sonnet 5 (high) | Anthropic | 8k | 565 of 859 planned attempts |
| Terminus-2 – GLM-5.3-Flash (max) | Z.ai | 34k | 565 of 859 planned attempts |
| Terminus-2 – DeepSeek V4 Pro (max) | DeepSeek | 24k | 565 of 859 planned attempts |
| Claude Code – Claude Haiku 4.5 (thinking 32k) | Anthropic | 8k | 565 of 859 planned attempts |
| Terminus-2 – GLM-5.2 (none) | Z.ai | 6k | 565 of 859 planned attempts |
| Terminus-2 – gpt-oss-120b (low) | OpenAI | 2k | 565 of 859 planned attempts |
Geospatial Intelligence Index vs. output tokens per index task
Higher and further left is better
- Most attractive quadrant
- Pareto line
How to read this chart
How to read this chart. Each point is one model at its highest reasoning level. Further left means a lower average output tokens per index task (log scale); higher means a higher Geospatial Intelligence Index. Both axes fit the models shown, so the score axis does not start at zero. The shaded most attractive quadrant is the top-left quarter of the plot, split at the middle of each axis: a reading aid, not a fixed bar. The dotted Pareto line joins the models that no more economical model beats on the index.
Output tokens per index task. The average number of tokens the model wrote per attempt, its reasoning included, as reported by the provider. For Agent Index attempts in the harness the model is scored in.
Why output tokens, not time. As Artificial Analysis does, the charts compare output tokens per task rather than time: an attempt's time depends on how fast the model is served, which should not decide a comparison, and how long the model waited for its replies is not recorded for every agent harness. Measured time per task stays on each model page and in the tables.
Compare with care. Models use different tokenisers, so the same text is a different number of tokens for different models. Use token counts to see how much work each model did, and cost to compare spending.
Data table: Geospatial Intelligence Index vs. output tokens per index task
| Model | Geospatial Intelligence Index | Output tokens per index task | On the Pareto line |
|---|---|---|---|
| Claude Opus 5.5 (xhigh) | 80.8 | 6k | Yes |
| GPT-6.1 Sol (xhigh) | 78.7 | 4k | Yes |
| Claude Sonnet 5.5 (xhigh) | 78.1 | 5k | No |
| Claude Opus 5 (high) | 77.0 | 5k | No |
| Claude Haiku 5.5 (xhigh) | 76.0 | 14k | No |
| Claude Opus 4.8 (high) | 75.8 | 5k | No |
| GPT-6 Luna (xhigh) | 74.7 | 7k | No |
| Claude Opus 4.7 (high) | 74.6 | 5k | No |
| Claude Sonnet 5 (high) | 73.9 | 8k | No |
| GLM-5.3-Flash (max) | 66.8 | 34k | No |
| DeepSeek V4 Pro (max) | 61.8 | 24k | No |
| Claude Haiku 4.5 (thinking 32k) | 61.2 | 8k | No |
| GLM-5.2 (none) | 56.7 | 6k | No |
| gpt-oss-120b (low) | 40.6 | 2k | Yes |
Explore
- Geospatial Agent IndexWhich agent setup to use: model, harness and reasoning level, with cost and time
- Guided GIS workflowsThe coding group
- Geospatial knowledge (closed book)The knowledge part of the Earth science group
- PerceptionThe perception group: questions answered from satellite and aerial images
- MethodologyHow tasks are run and scored, and the version history
