шейп файл с 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. Създайте пресичане с параметри на съвпадението Length.MILE.toRadians(50).
  5. Извикайте intersection.considerPointXRegions(GeoPoint, ExtentIndex);
  6. Извикайте intersection.getCollector().iterator(), за да получите резултати.
person Don    schedule 09.08.2010