Шейп-файл с открытой картой
У меня есть файл формы границы штата, и я хочу прочитать информацию из этого файла, используя openmap api для java. Также можно найти штаты в пределах 50 миль от данного города. Как мне это сделать?
1 ответ
Если вы просто хотите проверить содержимое файла программным способом, вы можете прочитать информацию из файлов форм, используя com.bbn.openmap.dataAccess.shape.EsriGraphicList. Существует статический метод getGraphicList (...), который загружает фигуры и атрибуты, хранящиеся в файле dbf.
Если вы хотите отобразить содержимое файла, используйте com.bbn.openmap.layer.shape.ShapeLayer.
Чтобы выполнить пространственный анализ содержимого файла формы, вам необходимо выполнить небольшую программную работу, используя пакет com.bbn.openmap.geo:
- Создайте ExtentIndex, который будет коллекцией GeoExtents.
- Создайте GeoRegions из EsriGraphicList EsriPolygons, добавьте их в ExtentIndex.
- Создайте GeoPoint для города, который вы хотите проверить.
- Создайте пересечение с MatchParameters, равным Length.MILE.toRadians(50).
- Вызовите intersection.considerPointXRegions(GeoPoint, ExtentIndex);
- Вызовите intersection.getCollector(). Iterator() для получения результатов.