Gopi's answer is good and points to the Esri programs designed for this. You might also query the folks at QGIS--which has an active forum for questions--about their software. But in the end, it depends on the type of geometry to be derived and the uses to be made of it. Knowing more about that the answers to your questions can be more focused.