A method, performed in a geocoding system, of determining an elevation value of a house, the method comprising the steps of: storing a segment data set defining segments including street segments, each street segment comprised of one or more line segments having vertices and storing elevation data for the vertices; storing, for each line segment, first and second gradient values, each gradient value being assigned to an opposite side of the street and defining a slope of a virtual line perpendicular to a point along the line segment; inputting a location of a house into said geocoding system; determining a closest line segment of a closest street segment in said data set to said house location; accessing said elevation data for said closest line segment; determining segment elevation values for each of the two segment vertices at the ends of said closest line segment; determining (22,24,26) an elevation value of said house location based on interpolation of said location in relation to each of said two segment vertices and said segment elevation values; determining an offset distance of said house location from said closest line segment and applying the slope defined by a said gradient value of said closest line segment to said offset distance to determine an elevation gain or loss for said house location due to said offset distance of said house location from said closest line segment; outputting said elevation value for said input house location, wherein said elevation value output for said input house location is a sum of said elevation value of said location based on interpolation and said elevation gain or loss for said location due to said offset distance of said house location from said closest line segment. storing a segment data set defining segments including street segments, each street segment comprised of one or more line segments having vertices and storing elevation data for the vertices; storing, for each line segment, first and second gradient values, each gradient value being assigned to an opposite side of the street and defining a slope of a virtual line perpendicular to a point along the line segment; inputting a location of a house into said geocoding system; determining a closest line segment of a closest street segment in said data set to said house location; accessing said elevation data for said closest line segment; determining segment elevation values for each of the two segment vertices at the ends of said closest line segment; determining (22,24,26) an elevation value of said house location based on interpolation of said location in relation to each of said two segment vertices and said segment elevation values; determining an offset distance of said house location from said closest line segment and applying the slope defined by a said gradient value of said closest line segment to said offset distance to determine an elevation gain or loss for said house location due to said offset distance of said house location from said closest line segment; outputting said elevation value for said input house location, wherein said elevation value output for said input house location is a sum of said elevation value of said location based on interpolation and said elevation gain or loss for said location due to said offset distance of said house location from said closest line segment.