шейп-файл с открытой картой - PullRequest
2 голосов
/ 28 июля 2010

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

1 Ответ

0 голосов
/ 09 августа 2010

Если вы просто хотите проверить содержимое файла программно, вы можете прочитать информацию из файлов формы, используя 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 для города, который вы хотитеtest for.
  4. Создать пересечение с MatchParameters, равным Length.MILE.toRadians (50).
  5. Вызвать intersection.considerPointXRegions (GeoPoint, ExtentIndex);
  6. Вызвать intersection.getCollector () .iterator () для получения результатов.
...