шейп-файл с openmap

У меня есть файл формы государственной границы, и я хочу прочитать информацию из этого файла, используя openmap api для java. Также, чтобы найти штаты в пределах 50 миль от данного города. Как мне это сделать?


person user404143    schedule 28.07.2010    source источник


Ответы (1)


Если вы просто хотите проверить содержимое файла программно, вы можете прочитать информацию из файлов формы, используя com.bbn.openmap.dataAccess.shape.EsriGraphicList. Существует статический метод getGraphicList(...), который загружает формы и атрибуты, хранящиеся в файле dbf.

Если вы хотите отобразить содержимое файла, используйте com.bbn.openmap.layer.shape.ShapeLayer.

Чтобы выполнить пространственный анализ содержимого шейп-файла, вам потребуется немного программной работы с использованием пакета com.bbn.openmap.geo:

  1. Создайте ExtentIndex, который будет набором GeoExtents.
  2. Создайте GeoRegions из EsriGraphicList EsriPolygons, добавьте их в ExtentIndex.
  3. Создайте GeoPoint для города, для которого вы хотите протестировать.
  4. Создайте пересечение с MatchParameters равным Length.MILE.toRadians(50).
  5. Вызов пересечения.considerPointXRegions(GeoPoint, ExtentIndex);
  6. Вызовите traffic.getCollector().iterator(), чтобы получить результаты.
person Don    schedule 09.08.2010