# Is Buffer broken?

**URL:** <https://community.thinkgeo.com/t/is-buffer-broken/7192>\
**Category:** Services\
**Created:** [March 2, 2016, 5:32pm UTC](https://community.thinkgeo.com/t/is-buffer-broken/7192 "2016-03-02T17:32:16Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![John1](https://community.thinkgeo.com/letter_avatar_proxy/v4/letter/j/e9bcb4/32.png) [@John1](https://community.thinkgeo.com/u/John1)\
**Post date:** [March 4, 2016, 10:46am UTC](https://community.thinkgeo.com/t/is-buffer-broken/7192/6 "2016-03-04T10:46:54Z")

</div>

Thank&nbsp;you&nbsp;for&nbsp;your&nbsp;reply.&nbsp;&nbsp;I&nbsp;understand&nbsp;what&nbsp;you&nbsp;are&nbsp;saying&nbsp;and&nbsp;will&nbsp;be&nbsp;converting&nbsp;the&nbsp;shape&nbsp;to&nbsp;a&nbsp;different&nbsp;projection&nbsp;before&nbsp;performing&nbsp;the&nbsp;buffer&nbsp;in&nbsp;order&nbsp;to&nbsp;achieve&nbsp;the&nbsp;results&nbsp;I&nbsp;desire.&nbsp;&nbsp;I’ll&nbsp;make&nbsp;one&nbsp;last&nbsp;attempt&nbsp;to&nbsp;convey&nbsp;why&nbsp;I&nbsp;think&nbsp;the&nbsp;existing&nbsp;behavior&nbsp;is&nbsp;not&nbsp;desirable&nbsp;and&nbsp;then&nbsp;I’ll&nbsp;shut&nbsp;up&nbsp;on&nbsp;the&nbsp;subject.  
  
  
  
I’ll&nbsp;provide&nbsp;two&nbsp;arguments,&nbsp;one&nbsp;a&nbsp;user&nbsp;expectations&nbsp;argument&nbsp;and&nbsp;one&nbsp;a&nbsp;technical&nbsp;one.  
  
  
  
User&nbsp;Expectations:  
  
I’m&nbsp;not&nbsp;saying&nbsp;your&nbsp;code&nbsp;is&nbsp;not&nbsp;working&nbsp;as&nbsp;designed.&nbsp;&nbsp;I’m&nbsp;suggesting&nbsp;that&nbsp;your&nbsp;design&nbsp;is&nbsp;not&nbsp;as&nbsp;intuitive&nbsp;as&nbsp;it&nbsp;should&nbsp;be.&nbsp;&nbsp;Obviously&nbsp;it’s&nbsp;your&nbsp;software&nbsp;and&nbsp;you&nbsp;can&nbsp;design&nbsp;it&nbsp;to&nbsp;function&nbsp;however&nbsp;you&nbsp;want,&nbsp;but&nbsp;I’m&nbsp;just&nbsp;going&nbsp;to&nbsp;offer&nbsp;my&nbsp;opinion&nbsp;on&nbsp;how&nbsp;I&nbsp;think&nbsp;a&nbsp;user&nbsp;would&nbsp;expect&nbsp;it&nbsp;to&nbsp;function.&nbsp;&nbsp;As&nbsp;an&nbsp;experiment,&nbsp;go&nbsp;to&nbsp;one&nbsp;or&nbsp;more&nbsp;of&nbsp;the&nbsp;less-technical&nbsp;people&nbsp;on&nbsp;your&nbsp;team&nbsp;and&nbsp;tell&nbsp;them&nbsp;you&nbsp;have&nbsp;a&nbsp;Longitude,&nbsp;Latitude&nbsp;point&nbsp;somewhere&nbsp;in&nbsp;the&nbsp;world.&nbsp;&nbsp;You&nbsp;want&nbsp;to&nbsp;create&nbsp;a&nbsp;100&nbsp;meter&nbsp;buffer&nbsp;around&nbsp;that&nbsp;point.&nbsp;&nbsp;Depending&nbsp;on&nbsp;how&nbsp;non-technical&nbsp;they&nbsp;are&nbsp;you&nbsp;might&nbsp;have&nbsp;to&nbsp;explain&nbsp;what&nbsp;a&nbsp;buffer&nbsp;is…&nbsp;&nbsp;Then&nbsp;ask&nbsp;them&nbsp;how&nbsp;far&nbsp;west&nbsp;of&nbsp;that&nbsp;point&nbsp;that&nbsp;100&nbsp;meter&nbsp;buffer&nbsp;should&nbsp;extend.&nbsp;&nbsp;If&nbsp;they&nbsp;say&nbsp;100&nbsp;meters,&nbsp;then&nbsp;so&nbsp;far&nbsp;so&nbsp;good.&nbsp;&nbsp;Now&nbsp;ask&nbsp;them&nbsp;how&nbsp;far&nbsp;north&nbsp;of&nbsp;that&nbsp;point&nbsp;the&nbsp;100&nbsp;meter&nbsp;buffer&nbsp;should&nbsp;extend,&nbsp;if&nbsp;they&nbsp;say&nbsp;“it&nbsp;depends&nbsp;on&nbsp;how&nbsp;far&nbsp;you&nbsp;are&nbsp;from&nbsp;the&nbsp;equator”&nbsp;then&nbsp;I&nbsp;think&nbsp;you’ve&nbsp;got&nbsp;an&nbsp;intuitive&nbsp;design.&nbsp;&nbsp;If&nbsp;instead&nbsp;they&nbsp;say&nbsp;“100&nbsp;meters”&nbsp;then&nbsp;I’d&nbsp;suggest&nbsp;the&nbsp;existing&nbsp;behavior&nbsp;is&nbsp;not&nbsp;doing&nbsp;what&nbsp;users&nbsp;would&nbsp;expect&nbsp;it&nbsp;to&nbsp;do&nbsp;and&nbsp;ideally&nbsp;the&nbsp;design&nbsp;should&nbsp;be&nbsp;changed.  
  
  
  
Technical:  
  
To&nbsp;create&nbsp;a&nbsp;100&nbsp;meter&nbsp;buffer&nbsp;around&nbsp;a&nbsp;longitude,&nbsp;latitude&nbsp;coordinate&nbsp;at&nbsp;45&nbsp;North&nbsp;latitude&nbsp;in&nbsp;decimal&nbsp;degrees&nbsp;it&nbsp;appears&nbsp;to&nbsp;do&nbsp;these&nbsp;two&nbsp;steps  
  
1.&nbsp;Convert&nbsp;100&nbsp;meters&nbsp;to&nbsp;approximately&nbsp;.00127&nbsp;degrees  
  
2.&nbsp;Buffer&nbsp;the&nbsp;point&nbsp;by&nbsp;.00127&nbsp;degrees  
  
  
  
I’d&nbsp;argue&nbsp;that&nbsp;step&nbsp;#1&nbsp;is&nbsp;not&nbsp;appropriate&nbsp;as&nbsp;while&nbsp;100&nbsp;meters&nbsp;may&nbsp;be&nbsp;approximately&nbsp;.00127&nbsp;degrees&nbsp;of&nbsp;longitude&nbsp;at&nbsp;45&nbsp;north,&nbsp;it&nbsp;is&nbsp;NOT&nbsp;.00127&nbsp;&nbsp;degrees&nbsp;of&nbsp;latitude;&nbsp;it&nbsp;is&nbsp;approximately&nbsp;.0009&nbsp;degrees&nbsp;of&nbsp;latitude.&nbsp;&nbsp;Choosing&nbsp;any&nbsp;one&nbsp;value&nbsp;(in&nbsp;decimal&nbsp;degrees)&nbsp;to&nbsp;use&nbsp;to&nbsp;represent&nbsp;100&nbsp;meters&nbsp;is&nbsp;just&nbsp;flat&nbsp;out&nbsp;inappropriate&nbsp;to&nbsp;do.&nbsp;&nbsp;In&nbsp;reality,&nbsp;at&nbsp;45&nbsp;north&nbsp;latitude,&nbsp;the&nbsp;value&nbsp;is&nbsp;every&nbsp;number&nbsp;between&nbsp;.0009&nbsp;and&nbsp;.00127&nbsp;(approximately)&nbsp;depending&nbsp;on&nbsp;which&nbsp;direction&nbsp;the&nbsp;buffer&nbsp;is&nbsp;to&nbsp;extend.&nbsp;&nbsp;It&nbsp;cannot&nbsp;be&nbsp;simplified&nbsp;down&nbsp;to&nbsp;a&nbsp;single&nbsp;value&nbsp;and&nbsp;picking&nbsp;any&nbsp;one&nbsp;value&nbsp;between&nbsp;.0009&nbsp;and&nbsp;.00127,&nbsp;while&nbsp;doing&nbsp;so&nbsp;is&nbsp;certainly&nbsp;expedient,&nbsp;will&nbsp;not&nbsp;result&nbsp;in&nbsp;creating&nbsp;a&nbsp;100&nbsp;meter&nbsp;buffer&nbsp;except&nbsp;for&nbsp;in&nbsp;the&nbsp;particular&nbsp;directions&nbsp;that&nbsp;match&nbsp;the&nbsp;value&nbsp;chosen.&nbsp;&nbsp;I&nbsp;would&nbsp;argue&nbsp;that&nbsp;if&nbsp;the&nbsp;algorithm&nbsp;you&nbsp;are&nbsp;using&nbsp;requires&nbsp;you&nbsp;to&nbsp;choose&nbsp;a&nbsp;single&nbsp;value&nbsp;for&nbsp;100&nbsp;meters&nbsp;expressed&nbsp;in&nbsp;degrees,&nbsp;that&nbsp;it&nbsp;was&nbsp;an&nbsp;error&nbsp;to&nbsp;use&nbsp;that&nbsp;algorithm;&nbsp;instead&nbsp;it&nbsp;should&nbsp;have&nbsp;been&nbsp;abandoned&nbsp;for&nbsp;something&nbsp;which&nbsp;doesn’t&nbsp;rely&nbsp;on&nbsp;an&nbsp;invalid&nbsp;assumption.

---

_[View the full topic](https://community.thinkgeo.com/t/is-buffer-broken/7192)._
