2016-09-23 7 views
1

GeoTools를 사용하여 shapefile을 읽으 려합니다. 그것을 사용하기위한 튜토리얼은 필터를 "Filter filter = Filter.INCLUDE;"로 설정하는 방법을 보여주는 간단합니다. 모든 것을 지정합니다.형상 파일 용 GeoTools 필터

매우 큰 모양 파일에서 성능을 위해 읽기를 분할하고 싶습니다. 본질적으로 나는 "THE_GEOM"데이터 읽기와 DBF 파일의 정보 읽기를 분리하려고합니다. 우리는 이미 자체적으로 필터링을 많이 했으므로이를 사용하고 필요에 따라 실제 지오메트리를 검색하는 것이 더 쉽습니다.

  1. 기하학없이 모든 DBF 정보를 검색하려면 필터를 어떻게 지정합니까?
  2. DBF 정보없이 도형을 검색하기 위해 필터를 어떻게 지정합니까? 이것은 성능에 큰 영향을 미치지 않을 것이므로 중요하지는 않지만 알고 싶습니다.

감사합니다.

답변

0

GeoTools의 Shapefile Datastore는 지오메트리와 속성 (DBF 항목)을 함께 유지하기 위해 설계되었습니다. 그래서 당신은 이것을 할 수 있기 위해 내부에서 찌르 게 될 것입니다. 따라서 DBFFileReaderShapefileReader을 사용하여 수치를 분리 할 수 ​​있습니다.

쉐이프 파일이 너무 작거나 너무 느릴 때 나중에 데이터 소스를 전환 할 수있는 유연성을 제공하므로 필자는 필터를 GeoTools로 이식하는 것을 고려합니다. 그것들을 구성하는 것을 돕기 위해 CQL and ECQL classes을 볼 가치가있을 것입니다. 큰 Shapefiles (> 2Gb)를 다루는 경우 PostGIS과 같은 적절한 공간 데이터베이스를 사용하면 거의 확실하게 더 나은 성능을 제공 할 것이며 GeoTools는 정확하게 동일한 필터를 사용하여 정확히 같은 방식으로 데이터에 액세스합니다.