<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt">Hi Paul,<br><br>We have to remember that this is for Edit monitoring in the context of training 60 young haitians. In the context of such trainings, it is important to have the capacity to follow more closely the edits.<br><br>One solution would be to redirect the changeset queries to an other server.. Could anybody tell me if this is possible, and if so, which instructions to modify in the OsmApi.py class ?<br><br><div> </div><div><span style="font-style:italic;color:rgb(0, 0, 191);font-weight:bold;">Pierre <br></span><br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;">  <div style="font-family: arial, helvetica, sans-serif; font-size: 10pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <hr size="1">  <font
 face="Arial" size="2"> <b><span style="font-weight:bold;">De :</span></b> Paul Norman <penorman@mac.com><br> <b><span style="font-weight: bold;">À :</span></b> 'Pierre Béland' <pierzenh@yahoo.fr>; 'william skora' <skorasaurus@gmail.com> <br><b><span style="font-weight: bold;">Cc :</span></b> dev@openstreetmap.org <br> <b><span style="font-weight: bold;">Envoyé le :</span></b> Samedi 1 juin 2013 0h10<br> <b><span style="font-weight: bold;">Objet :</span></b> RE: [OSM-dev] Querying Changeset Tags in OSM API<br> </font> </div> <div class="y_msg_container"><br><div id="yiv8654024456"><style><!--
#yiv8654024456  
 _filtered #yiv8654024456 {font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;}
 _filtered #yiv8654024456 {font-family:Tahoma;panose-1:2 11 6 4 3 5 4 4 2 4;}
#yiv8654024456  
#yiv8654024456 p.yiv8654024456MsoNormal, #yiv8654024456 li.yiv8654024456MsoNormal, #yiv8654024456 div.yiv8654024456MsoNormal
        {margin:0in;margin-bottom:.0001pt;font-size:12.0pt;font-family:"Times New Roman", "serif";}
#yiv8654024456 a:link, #yiv8654024456 span.yiv8654024456MsoHyperlink
        {color:blue;text-decoration:underline;}
#yiv8654024456 a:visited, #yiv8654024456 span.yiv8654024456MsoHyperlinkFollowed
        {color:purple;text-decoration:underline;}
#yiv8654024456 p.yiv8654024456MsoAcetate, #yiv8654024456 li.yiv8654024456MsoAcetate, #yiv8654024456 div.yiv8654024456MsoAcetate
        {margin:0in;margin-bottom:.0001pt;font-size:8.0pt;font-family:"Tahoma", "sans-serif";}
#yiv8654024456 p.yiv8654024456msolistparagraph, #yiv8654024456 li.yiv8654024456msolistparagraph, #yiv8654024456 div.yiv8654024456msolistparagraph
        {margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:"Times New Roman", "serif";}
#yiv8654024456 p.yiv8654024456msonormal, #yiv8654024456 li.yiv8654024456msonormal, #yiv8654024456 div.yiv8654024456msonormal
        {margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:"Times New Roman", "serif";}
#yiv8654024456 p.yiv8654024456msochpdefault, #yiv8654024456 li.yiv8654024456msochpdefault, #yiv8654024456 div.yiv8654024456msochpdefault
        {margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:"Times New Roman", "serif";}
#yiv8654024456 span.yiv8654024456msohyperlink
        {}
#yiv8654024456 span.yiv8654024456msohyperlinkfollowed
        {}
#yiv8654024456 span.yiv8654024456emailstyle17
        {}
#yiv8654024456 p.yiv8654024456msonormal1, #yiv8654024456 li.yiv8654024456msonormal1, #yiv8654024456 div.yiv8654024456msonormal1
        {margin:0in;margin-bottom:.0001pt;font-size:12.0pt;font-family:"Times New Roman", "serif";}
#yiv8654024456 span.yiv8654024456msohyperlink1
        {color:blue;text-decoration:underline;}
#yiv8654024456 span.yiv8654024456msohyperlinkfollowed1
        {color:purple;text-decoration:underline;}
#yiv8654024456 p.yiv8654024456msolistparagraph1, #yiv8654024456 li.yiv8654024456msolistparagraph1, #yiv8654024456 div.yiv8654024456msolistparagraph1
        {margin-top:0in;margin-right:0in;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;font-size:12.0pt;font-family:"Times New Roman", "serif";}
#yiv8654024456 span.yiv8654024456emailstyle171
        {font-family:"Calibri", "sans-serif";color:#1F497D;}
#yiv8654024456 p.yiv8654024456msochpdefault1, #yiv8654024456 li.yiv8654024456msochpdefault1, #yiv8654024456 div.yiv8654024456msochpdefault1
        {margin-right:0in;margin-left:0in;font-size:12.0pt;font-family:"Calibri", "sans-serif";}
#yiv8654024456 span.yiv8654024456EmailStyle29
        {font-family:"Calibri", "sans-serif";color:#1F497D;}
#yiv8654024456 span.yiv8654024456BalloonTextChar
        {font-family:"Tahoma", "sans-serif";}
#yiv8654024456 .yiv8654024456MsoChpDefault
        {font-size:10.0pt;}
 _filtered #yiv8654024456 {margin:1.0in 1.0in 1.0in 1.0in;}
#yiv8654024456 div.yiv8654024456WordSection1
        {}
--></style><div><div class="yiv8654024456WordSection1"><div class="yiv8654024456MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri", "sans-serif";color:#1F497D;">It’s worth noting that the OSM API is for editing the map data, and if someone were to apply this solution to more than a few mappers who hadn’t made any changesets they’d run a chance of getting blocked. See <a rel="nofollow" target="_blank" href="https://wiki.openstreetmap.org/wiki/API_usage_policy">https://wiki.openstreetmap.org/wiki/API_usage_policy</a>.</span></div><div class="yiv8654024456MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri", "sans-serif";color:#1F497D;">  </span></div><div class="yiv8654024456MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri", "sans-serif";color:#1F497D;">I believe the changeset query is one of the more expensive ones.</span></div><div
 class="yiv8654024456MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri", "sans-serif";color:#1F497D;">  </span></div><div class="yiv8654024456MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri", "sans-serif";color:#1F497D;">There aren’t any great solutions yet for small-scale historical analysis.</span></div><div class="yiv8654024456MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri", "sans-serif";color:#1F497D;">  </span></div><div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt;"><div><div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in;"><div class="yiv8654024456MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma", "sans-serif";">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma", "sans-serif";"> Pierre Béland
 [mailto:pierzenh@yahoo.fr] <br><b>Sent:</b> Friday, May 31, 2013 8:38 PM<br><b>To:</b> Paul Norman; 'william skora'; dev@openstreetmap.org<br><b>Subject:</b> Re: [OSM-dev] Querying Changeset Tags in OSM API</span></div></div></div><div class="yiv8654024456MsoNormal">  </div><div><div><div><div><div><div class="yiv8654024456MsoNormal" style="background:white;"><span style="font-size:10.0pt;font-family:"Arial", "sans-serif";color:black;">I work with Will on the CAP103 project and succeeded yesterday to calculate daily statistics for the CAP103 geographic zone.<br>I adapted a python script originally written by Sebastien Pierrel. The OsmApi module contains changeset functions that are usefull to interrogate the OSM API and obtain the history of objects.<br><br>For a BBOX, a specific contributor and a date range, we can interrogate the OSM API an list the changesets. Below are examples for changeset ID=16327554. <br><br>And looking
 more in detail about the Changeset function, I see that there are collection of  objects edited. We should be able with this historical data to calculate more detailed statistics (ie. objects created, modified, deleted).<br><br>It is quitee easy to treat this with Python script but there might be some limits when interrogating the OSM API. Then, it is possible to shorten the period analyzed.</span><span style="color:black;"></span></div></div></div></div></div></div></div></div></div></div><br><br></div> </div> </div> </blockquote></div>   </div></body></html>