Routes
The audited routes, with their length and segment count.
SourceRoutes (reference data)
Open data · CC BY 4.0
Counting the rows…
Open data · CC BY 4.0
Every route, segment, audit, report, cleanup and episode on the map, as CSV and GeoJSON. Check it, reuse it, and credit Cleartrail Munnar.














































Downloads below leave demo rows out (?demo=exclude). The counts leave them out too.
Each one opens in a spreadsheet as CSV, or on a map as GeoJSON
The audited routes, with their length and segment count.
SourceRoutes (reference data)
Every fixed segment, with its place along its route and whether it is beside water.
SourceSegments (reference data)
What every column in every file means
Every date is a calendar date in Munnar time (Asia/Kolkata), written YYYY-MM-DD. No time of day is published. A list is joined with | in a CSV and is an array in GeoJSON. An empty cell means there is no value. The episodes GeoJSON also gives each feature a steps array, in date order. Each step has a step code: reported (public reports on the segment; report_count, on, last_on), verified (the first audit; audit_id, severity, audit_count), cleanup_requested (request_count, on), cleaned (cleanup_id, last_cleanup_id, cleanup_count, on, last_on), follow_up (an audit after a cleanup; audit_id, severity, cleanup_id of the cleanup it follows, held true when it was in the Low band, decides true for the first audit after that cleanup, early true when it came before the 14 Munnar days were up) and verified_clean (the follow-up that closed the episode; audit_id, on).
| Column | Type | Meaning |
|---|---|---|
| route_id | Text | The route's identifier. |
| code | Text | The route code that starts every segment identifier on it, such as MN-MAT. |
| from_name | Text | Where the route starts. |
| to_name | Text | Where the route ends. |
| from_name_ml | Text | Where the route starts, in Malayalam. |
| to_name_ml | Text | Where the route ends, in Malayalam. |
| length_m | Whole number | The route's length in metres. |
| segment_count | Whole number | How many fixed segments the route is cut into. |
| demo | True or false | Always false: routes are reference data, not demo data. |
| Column | Type | Meaning |
|---|---|---|
| segment_id | Text | The segment's identifier: the route code and a number, such as MN-MAT-007. Never changed. |
| route_id | Text | The identifier of the route the segment is on. |
| route_code | Text | The code of that route. |
| seq | Whole number | The segment's number along its route, from 1. |
| start_m | Whole number | Metres from the start of the route to the start of the segment. |
| end_m | Whole number | Metres from the start of the route to the end of the segment. |
| length_m | Whole number | The segment's length in metres. Most are 500; a route's last segment can be shorter. |
Use it freely, and say where it came from
Licensed CC BY 4.0. Credit “Cleartrail Munnar”.
Data: Cleartrail Munnar, CC BY 4.0
CSV files carry their licence in licence.txt, because a CSV cannot hold a comment. Every GeoJSON file states the licence in its own properties, and every download names it in its Link header.
Read licence.txtEvery audit row names the method version that scored it.












The file still downloads, with its columns and no rows.
Every measured count on a segment: item counts, the Munnar Litter Index and the method version that scored it.
Sourcepublic_audits and public_audit_photos
The file still downloads, with its columns and no rows.
Every community report: category, amount, place and time. Unmeasured.
Sourcepublic_reports and public_report_photos
The file still downloads, with its columns and no rows.
Every recorded cleanup: who did it, when, how many people and bags, and links to its before and after photos.
Sourcepublic_cleanups and public_cleanup_photos
The file still downloads, with its columns and no rows.
Every episode worked out from the public record, with its steps from first report to resolution.
SourceEpisodes worked out from the public reports, audits, cleanups and cleanup requests
| near_water | True or false | Whether the segment runs beside water. An audit there adds points to its index. |
|---|
| start_lon | Number | Longitude of the segment's first point, WGS 84. |
|---|
| start_lat | Number | Latitude of the segment's first point, WGS 84. |
|---|
| end_lon | Number | Longitude of the segment's last point, WGS 84. |
|---|
| end_lat | Number | Latitude of the segment's last point, WGS 84. |
|---|
| demo | True or false | Always false: segments are reference data, not demo data. |
|---|
| Column | Type | Meaning |
|---|---|---|
| audit_id | Text | The audit's identifier. |
| segment_id | Text | The segment that was counted. |
| counted_on | Date | The day the auditor counted the segment. |
| pet | Whole number | Plastic bottles counted. |
| wrappers | Whole number | Wrappers and sachets counted. |
| cups | Whole number | Cups and plates counted. |
| glass | Whole number | Glass bottles and pieces counted. Glass counts for more in the index. |
| other | Whole number | Other litter items counted. |
| bulk_dumping | True or false | Whether bulk dumping was present on the segment. |
| overflowing_bin | True or false | Whether an overflowing bin was present on the segment. |
| near_water | True or false | Whether the segment is beside water, as its plan says. |
| segment_length_m | Whole number | The segment's length in metres when it was counted. |
| method_version | Whole number | The version of the audit method that scored this row. See the method section of About. |
| items | Whole number | All items counted, unweighted. |
| items_per_km | Whole number | The unweighted items scaled to a kilometre. |
| mli | Whole number | The Munnar Litter Index, 0 to 100, higher is worse. Only audits have one. |
| severity | Text | The band of the index, as one code: low (0 to 24), moderate (25 to 49), high (50 to 69) or severe (70 to 100). |
| note | Text | The auditor's note, as published. Empty when there is none. |
| photo_count | Whole number | How many public photographs the audit has. |
| demo | True or false | True when the row is demo data, made up to show how Cleartrail works. |
| Column | Type | Meaning |
|---|---|---|
| report_id | Text | The report's identifier. |
| category | Text | What the reporter saw, as one code: litter (litter on the ground), dumping (dumped waste), overflowing_bin (a bin that is overflowing), plastic_in_water (plastic in a stream or lake) or other (anything else). |
| amount | Text | The reporter's rough impression, as one code: a_little (a little), a_bagful (about a bagful) or a_lot (a lot). Empty when not given. Never a number and never a severity. |
| note | Text | The reporter's note, as published. Empty when there is none. |
| lon | Number | Longitude of the pin, WGS 84, as stored. |
| lat | Number | Latitude of the pin, WGS 84, as stored. |
| segment_id | Text | The segment within 100 m of the pin. Empty when none is. |
| reported_on | Date | The day the report was sent. |
| photo_count | Whole number | How many public photographs the report has. |
| demo | True or false | True when the row is demo data, made up to show how Cleartrail works. |
| Column | Type | Meaning |
|---|---|---|
| cleanup_id | Text | The cleanup's identifier. |
| segment_id | Text | The segment that was cleaned. |
| done_on | Date | The day the cleanup happened, in Munnar. |
| group_name | Text | The group that did it: the name it gave, or the partner it was credited to. Empty when that partner is not named publicly. |
| people | Whole number | How many people took part. |
| bags | Whole number | How many bags were filled. |
| note | Text | The note on the cleanup, as published. Empty when there is none. |
| before_photo_urls | List | Addresses of the public before photographs, joined with | in a CSV. |
| after_photo_urls | List | Addresses of the public after photographs, joined with | in a CSV. |
| demo | True or false | True when the row is demo data, made up to show how Cleartrail works. |
| Column | Type | Meaning |
|---|---|---|
| episode_id | Text | The episode's identifier, made from the event that opened it. It is stable while that event stays public. |
| segment_id | Text | The segment the episode is on. |
| status | Text | One code: open (still going) or closed (a follow-up audit counted low). |
| opened_on | Date | The day of the earliest thing in the episode. |
| closed_on | Date | The day the episode closed. Empty while it is open. |
| opened_by_kind | Text | What opened it, as one code: report (a public report), audit (an audit) or cleanup (a recorded cleanup). |
| opened_by_id | Text | The identifier of the report, audit or cleanup that opened it. |
| report_count | Whole number | How many public reports joined the episode. |
| first_report_on | Date | The day the first of them was sent. |
| last_report_on | Date | The day the latest of them was sent. |
| first_audit_id | Text | The first audit counted before any cleanup. |
| first_audit_on | Date | The day that audit was counted. |
| first_audit_severity | Text | That audit's band, as one code: low, moderate, high or severe (as in the severity column of audits). Reports and audits are never blended: this comes from the audit alone. |
| audit_count | Whole number | How many audits were counted before any cleanup. |
| cleanup_request_count | Whole number | How many people asked for a cleanup. |
| first_cleanup_request_on | Date | The day the first request was made. |
| cleanup_count | Whole number | How many cleanups were recorded in the episode. |
| first_cleanup_on | Date | The day the first cleanup happened. |
| last_cleanup_on | Date | The day the latest cleanup happened. The follow-up audit falls due from this day on. |
| follow_up_audit_ids | List | Audits counted after a cleanup, joined with | in a CSV. |
| follow_up_held | True or false | Whether the audit that decides the cleanup counted low (true, the cleanup held) or not (false). Empty until one is counted. |
| verified_clean_on | Date | The day a follow-up audit counted low, closing the episode. |
| verified_clean_audit_id | Text | That follow-up audit. |
| demo | True or false | True when the episode is made of demo data. |