{"schema":1,"country":"MY","version":"2026-10-04.1","generated":"2026-10-04T17:04:42Z","licence":"ODbL-1.0","licenceURL":"https://opendatacommons.org/licenses/odbl/1-0/","attribution":"Contains information from OpenStreetMap (© OpenStreetMap contributors), made available under the Open Database License (ODbL). https://tachwire.app/licenses","sources":[{"id":"jpj-awas","name":"JPJ — Lokasi Penguatkuasaan Kamera AwAS (which places are enforced)","url":"https://www.jpj.gov.my/pusat-media-3/informasi-perkhidmatan-jpj/penguatkuasaan/lokasipenguatkuasaankameraawas/","date":"2024-07-15","attribution":"Jabatan Pengangkutan Jalan Malaysia (JPJ), Lokasi Penguatkuasaan Kamera AwAS, 15.07.2024","changes":"Only the facts of the list are used — which places are enforced, their road, kilometre, direction and kind (speed or red light); the 3 suspended places are left out. No text, position or limit is taken from it: every point and limit is OpenStreetMap's. A listed place OpenStreetMap does not have is left out."},{"id":"osm","name":"OpenStreetMap — highway=speed_camera, type=enforcement relations and road maxspeed","url":"https://www.openstreetmap.org/copyright","licence":"ODbL 1.0 — © OpenStreetMap contributors","date":"2026-10-04","attribution":"Contains information from OpenStreetMap, © OpenStreetMap contributors, available under the Open Database License (ODbL)","licenceURL":"https://opendatacommons.org/licenses/odbl/1-0/","changes":"Only the OpenStreetMap cameras that stand at a place of JPJ's list, matched by hand by road, kilometre and direction; the rest (suspended places, old points no longer listed, cameras on Borneo) left out. The kind is the list's (speed or red light). A direction from the tag or the road (turned round where it runs against the one-way), else the list's direction on the road; a speed camera without a posted limit takes the numeric maxspeed of the road it stands on (limitSource \"osm-road\"), 20–130 km/h only; no limit for a red-light camera."}],"cameras":[{"id":"my-osm-n12383713955","type":"speed","lat":2.15829,"lon":102.65904,"bearing":305,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n36360549","type":"speed","lat":2.15088,"lon":102.69579,"bearing":112,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n10738516098","type":"speed","lat":1.52763,"lon":103.75356,"bearing":305,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n12109692963","type":"speed","lat":1.52763,"lon":103.75381,"bearing":115,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n6120175280","type":"speed","lat":2.43302,"lon":102.20533,"bearing":140,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n6120175279","type":"speed","lat":2.43332,"lon":102.20491,"bearing":320,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n36363022","type":"speed","lat":2.2841,"lon":102.40884,"bearing":270,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n6110021790","type":"speed","lat":2.28451,"lon":102.40197,"bearing":90,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n12389474320","type":"speed","lat":3.23117,"lon":101.51948,"bearing":60,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n12389474319","type":"speed","lat":3.23103,"lon":101.51956,"bearing":245,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n33504292","type":"speed","lat":2.86802,"lon":101.63862,"bearing":330,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n12252412840","type":"speed","lat":2.95549,"lon":101.58519,"bearing":140,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-road"},{"id":"my-osm-n13110085647","type":"speed","lat":3.39807,"lon":101.54862,"bearing":145,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n3096723692","type":"speed","lat":5.69832,"lon":100.52292,"bearing":200,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n5487831322","type":"speed","lat":5.69136,"lon":100.52069,"bearing":15,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n10694135234","type":"speed","lat":5.11354,"lon":100.54604,"bearing":270,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n13110063586","type":"speed","lat":5.1647,"lon":100.50712,"bearing":155,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n12383760728","type":"speed","lat":3.83606,"lon":101.42172,"bearing":325,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n9626165816","type":"speed","lat":4.90533,"lon":100.66815,"bearing":12,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n6274234495","type":"speed","lat":4.43462,"lon":101.18947,"bearing":310,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n1754781964","type":"speed","lat":3.78262,"lon":101.44614,"bearing":140,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n12389516612","type":"speed","lat":2.81988,"lon":101.86903,"bearing":125,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n12389516613","type":"speed","lat":2.81992,"lon":101.8687,"bearing":310,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n12389499112","type":"speed","lat":3.98882,"lon":103.30265,"bearing":220,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n2913745536","type":"speed","lat":4.25926,"lon":103.3084,"bearing":335,"bothWays":false,"limit":110,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n2539785533","type":"speed","lat":3.9622,"lon":101.32872,"bearing":263,"bothWays":true,"limit":90,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n7558328324","type":"speed","lat":4.95872,"lon":102.07486,"bearing":80,"bothWays":false,"limit":90,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":"osm-camera"},{"id":"my-osm-n4924613763","type":"red_light","lat":4.58254,"lon":101.08221,"bearing":160,"bothWays":false,"limit":null,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":null},{"id":"my-osm-n2539785532","type":"red_light","lat":4.81679,"lon":101.07806,"bearing":214,"bothWays":false,"limit":null,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":null},{"id":"my-osm-n13016777226","type":"red_light","lat":3.74922,"lon":101.45556,"bearing":161,"bothWays":false,"limit":null,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":null},{"id":"my-osm-n13016777227","type":"red_light","lat":3.74838,"lon":101.45568,"bearing":342,"bothWays":false,"limit":null,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":null},{"id":"my-osm-n2539785535","type":"red_light","lat":3.97451,"lon":100.98796,"bearing":212,"bothWays":true,"limit":null,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":null},{"id":"my-osm-n4924613744","type":"red_light","lat":3.08604,"lon":101.67354,"bearing":210,"bothWays":false,"limit":null,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":null},{"id":"my-osm-n2539785544","type":"red_light","lat":3.17724,"lon":101.68701,"bearing":310,"bothWays":false,"limit":null,"road":null,"pk":null,"section":null,"source":"osm","listDate":"2026-10-04","limitSource":null}],"zones":[]}