The main goal of the Java API for KML (JAK) is to provide an automatically generated full reference implementation of the KML object model defined by OGC’s KML standard and Google’s GX extensions. It is an object-oriented API that enables the convenient and easy use of KML in existing Java environments. KML is an XML-based language schema that describes and visualizes geographic data. The language is often used in 2D web based maps and 3D virtual globes. APIs for XML dialects are implemented using two layers. The current official XML schema of KML in conjunction with the JAXB technology is used to generate Java class representations automatically. KML’s schema is a document describing the correct syntax of KML files and can, therefore, be used for validating the corresponding KML files. The semantic application layer, which is found on top of the JAXB layer, is abstracted from the raw generated classes and defines a well-shaped API. This API provides easy out-of-the-box access to KML for the user. This project provides a Java API for KML in order to enable this.
geoCtools manipulates geo-data in CSV or KML files. It generates KML files for Google map/earth. Polygons can be merged, locations (icons) added with user data in the balloons, and selected via FIPS code. It uses libxml2. It is command-line driven. It contains data for US states down to the county level. It has optional data for PC(USA) denomination.