1. A method for generating an unmanned aerial vehicle (UAV) flight plan for an area to be mapped, comprising: identifying the area to be mapped; identifying special regions within the area to be mapped; and applying a rule set using a controller for generating an optimized flight plan to be implemented at a later time by a UAV, wherein the flight plan is optimized for 3D mapping and modeling.