SpearfishingMap

Methodology

How this data is compiled and verified

This is a legal-information product, so the working rule is simple: nothing here is written from memory. Every legal claim traces back to a document that was fetched and read, and anything that could not be confirmed is recorded as unknown rather than filled in.

Dataset as built

222
country records
1,690
verbatim law texts
2,818
zones with a specific rule
1,171
official boundaries drawn

One record per country

Each country or territory is a single machine-readable JSON record, validated against a published JSON Schema. The schema is the contract: it fixes the vocabulary for legal status, seasons, licences, equipment, catch limits and zones, rejects fields it does not know, and — the part that matters most — requires every quoted provision of law to carry both its verbatim text and the URL it came from. There are 222 such records, and every map, country page and zone page on this site is generated from them.

The anti-fabrication rule

Legal text, article numbers, dates, coordinates and URLs are never invented, never paraphrased into quotation marks, never reconstructed from memory. All 1,690 verbatim provisions in the dataset carry a source URL — 1,690 of 1,690 — and where the law could not be established, the field stays unknown or empty instead of being guessed.

  • A quote is copied from the instrument itself — a gazette, a consolidated act, a regulation, a decree — not from a summary, a blog or a dive-shop page.
  • Where the only official copy is a scanned image, the text is extracted by OCR and read back against the page, not retyped from a secondary description of it.
  • "Unknown" is a legitimate answer. A record may state that the law could not be established, and that is always preferred to a plausible-sounding invention.
  • A provision translated into English is marked as translated, and the original-language text remains the citation.

Adversarial verification

Research and verification are separate passes. Once a record is written, an independent pass re-fetches every cited source and checks each quote against it word for word — including OCR of image-only government gazettes — with a deliberate bias toward rejection: a claim that cannot be confirmed from the document in front of it does not ship. The verdict is recorded per country alongside the data.

Real examples of claims rejected at that stage:

  • Statutes that turned out to belong to a different country — a Turkish act offered as Turkmenistan's law, a Swaziland proclamation offered as Lesotho's.
  • A cited PDF that, once downloaded, was another country's document entirely: a Seychelles marine-park file cited for a Syrian rule.
  • Rules resting on an instrument that had already been repealed — including a published "speargun allowed" answer that rested on a decree repealed in 2017, since corrected to unknown.
  • Pages that simply do not contain the rule attributed to them: an encyclopedia article cited for a marine reserve it never mentions, an official notice cited for a fishing ban it never mentions.
  • A coordinate the cited source itself contradicts — one proposed park pin sat roughly 60 km from the coordinates printed in the source.
  • Places with no verifiable coordinate at all, left off the map rather than approximated.

How zone coordinates are derived and checked

The dataset holds 2,818 zones where a specific rule applies. 2,500 of them appear on the map, and 1,171 of those are drawn as the official boundary of the protected area rather than as a pin. A zone is mapped only when its location can be established from a real source.

  • Where the instrument publishes a boundary table, the point is computed from those vertices and converted from the projection the instrument uses — not taken from a gazetteer or a search result.
  • A point is tested against the boundary it claims to sit inside, by point-in-polygon check against the authority's own published GIS layer wherever one exists.
  • Boundaries come from the World Database on Protected Areas, matched on name and geometry; a candidate that belongs to a neighbouring country is dropped automatically, however well the name matches.
  • One boundary may never be claimed at once by a zone where spearfishing is allowed and a zone where it is banned. That contradiction fails the build instead of being drawn on the map.
  • 559 automatic boundary matches have been reviewed by hand and rejected as wrong or too broad — those zones stay as simple points rather than carry a misleading outline — and 26 boundaries are pinned by hand where the matcher got them wrong.

The automated data gate

No record reaches the site without passing an automated check that runs over all 222 files and fails the build on any single violation.

  • Schema validation: every record must satisfy the published JSON Schema, with unknown fields rejected rather than quietly ignored.
  • Sourced coordinates: a zone that puts a real point on the map must carry provenance — a source URL, a matched protected-area identifier, or a named boundary source. A point with no source is treated as a fabrication risk.
  • Valid links: every source URL must be a syntactically valid http(s) address; placeholder values and hosts ("n/a", "TBD", example.com, localhost) are rejected.
  • No fabrication markers: quoted text and URLs are scanned for the tells of drafted-rather-than-fetched content.
  • Coordinate plausibility: latitude and longitude must be complete numbers in range — while a deliberately empty coordinate, for a rule that applies to a whole country or region rather than to a place, is allowed to stay empty.

What the confidence rating means

Every country record carries a confidence rating, shown on its page. It describes how strong the sourcing is — not how strict the rules are.

High · 89
Primary legislation was located and quoted, and the record reflects the instrument in force.
Medium · 128
The rules are documented, but part of the record rests on official secondary material — an authority's guidance page rather than the statute — or on an instrument whose current consolidated text could not be reached.
Low · 5
No spearfishing-specific statute could be located, or only secondary material was found. The record states what could be established and nothing beyond it.

What this data does not do

  • Every record carries a last-updated date, shown on its country page: 195 of the 222 records are stamped 2026, and the oldest is 2018-06-28. That stamp marks a research pass, not a guarantee that nothing has changed since — treat a country page as a snapshot and confirm anything decisive with the authority named on it.
  • Citations rot. Of 7,466 source links last probed, 6,512 resolved normally, 111 are dead or retired — 1 of them attached to a verbatim law text — and 843 refused an automated request, which is not the same as being gone: government sites routinely block scripts while serving the same document to a browser. Dead citations under quoted law are tracked and re-sourced.
  • Coverage is uneven by design. A country with a detailed marine-park regime has hundreds of mapped zones; a country whose rules are national and categorical — "all inland waters" — correctly has none to pin. An empty field means the answer could not be established, not that no rule exists.
  • Law texts are published in the language of their source. The site's interface is available in many languages, but quoted statute is never machine-translated — a translated legal quote is a different claim from the original.
  • This is information, not legal advice, and it does not replace the authority that issued the rule. Read the full disclaimer

Corrections

If something here is wrong, we would rather have the correction than be right. Send the country or zone, what the page currently says, and what the law actually says — with the instrument, article or URL if you have it. A report that cites a source is checked against that source, and if it holds, the record is updated where it lives and everything generated from it follows. A report that cannot be substantiated is not applied.

Report an error
RevoiceLab — AI voiceover & media translation in 60+ languages