<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
p.yiv7318691783msolistparagraph, li.yiv7318691783msolistparagraph, div.yiv7318691783msolistparagraph
        {mso-style-name:yiv7318691783msolistparagraph;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv7318691783msonormal, li.yiv7318691783msonormal, div.yiv7318691783msonormal
        {mso-style-name:yiv7318691783msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.yiv7318691783msochpdefault, li.yiv7318691783msochpdefault, div.yiv7318691783msochpdefault
        {mso-style-name:yiv7318691783msochpdefault;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.yiv7318691783msohyperlink
        {mso-style-name:yiv7318691783msohyperlink;}
span.yiv7318691783msohyperlinkfollowed
        {mso-style-name:yiv7318691783msohyperlinkfollowed;}
span.yiv7318691783emailstyle17
        {mso-style-name:yiv7318691783emailstyle17;}
p.yiv7318691783msonormal1, li.yiv7318691783msonormal1, div.yiv7318691783msonormal1
        {mso-style-name:yiv7318691783msonormal1;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.yiv7318691783msohyperlink1
        {mso-style-name:yiv7318691783msohyperlink1;
        color:blue;
        text-decoration:underline;}
span.yiv7318691783msohyperlinkfollowed1
        {mso-style-name:yiv7318691783msohyperlinkfollowed1;
        color:purple;
        text-decoration:underline;}
p.yiv7318691783msolistparagraph1, li.yiv7318691783msolistparagraph1, div.yiv7318691783msolistparagraph1
        {mso-style-name:yiv7318691783msolistparagraph1;
        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";}
span.yiv7318691783emailstyle171
        {mso-style-name:yiv7318691783emailstyle171;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
p.yiv7318691783msochpdefault1, li.yiv7318691783msochpdefault1, div.yiv7318691783msochpdefault1
        {mso-style-name:yiv7318691783msochpdefault1;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle29
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><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 href="https://wiki.openstreetmap.org/wiki/API_usage_policy">https://wiki.openstreetmap.org/wiki/API_usage_policy</a>.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><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.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><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.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><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'><p class=MsoNormal><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<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><div><div><div><p class=MsoNormal 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'><o:p></o:p></span></p></div></div></div></div></div></div></div></body></html>