1. If you want to make buffer using Degrees, then consider that degrees have quite different distance depending on direction when you are not near equator. Latitude stays same, but one degree longitude is much smaller in high latitudes. Below is my table of 500-km squares in degrees in different latitudes. I guess that for Angola value of 4.4 may be good guess if you do not need high precision. 2. You can reproject objects in python ogr (there is Transform function for it) during reading, then there is no need to shapefile conversions. <pre> 500 km at lat 0.0 is 4.491576420597608 x 4.486983030705042 deg 500 km at lat 10.0 is 4.491576420597608 x 4.389054945583991 deg 500 km at lat 20.0 is 4.491576420597608 x 4.16093408959923 deg 500 km at lat 30.0 is 4.491576420597608 x 3.8117296267699388 deg 500 km at lat 40.0 is 4.491576420597608 x 3.3535548944407267 deg 500 km at lat 50.0 is 4.491576420597608 x 2.8010165014556634 deg 500 km at lat 60.0 is 4.491576420597608 x 2.170722673038327 deg 500 km at lat 70.0 is 4.491576420597608 x 1.4808232946314916 deg 500 km at lat 80.0 is 4.491576420597608 x 0.7505852760718597 deg 500 km at lat 84.0 is 4.491576420597608 x 0.4516575041056399 deg </pre> *(This table is wrong -- At 84N, 500km should span ~43 degrees of longitude: 500*1000/1852/60*1/cos(84/180*pi)=43.047