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