Most geographic applications do more than simply display data on a map. Most provide some sort of selection capability, which identifies what a user clicks on. Some geographic applications perform bounds checking to determine if a location or object is inside or outside of another.
Prajna supports several different ways to perform geographic
selection. The GeoCanvas class provides a getShapeAt
method, which determines which geographic shape is displayed at a
particular coordinate. Since all GeoShapes may include a DataRecord
object, this object may be used to identify each geographic shape.
Prajna provides several classes for geographic filtering. The GeoFilter class determines whether a particular geographic coordinate is inside of a particular geographic shape. If you have a set of data, and only want to display the data within a particular country or region, you may wish to use the GeoFilter class or one of its descendants.
Locating a geographic feature by name is a difficult problem, with several challenges. Humans rely on context to identify a particular geographic entity - a person discussing a vacation to Paris is likely talking about Paris, France and not Paris, Texas. But a computer cannot easily determine this type of context. Therefore, when you develop a geographic application which tries to identify places by name, you may need to determine which location is the correct one depending on your particular application.
Prajna supplies several different geographic locators, each with different properties and uses. You may wish to use one or more of these when developing an application.