SpatiaLite와 OpenLayers간에 가장 효율적인 전송 형식이 무엇인지 궁금했습니다. 현재 SpatiaLite (SQLite의 확장) 및 OpenLayers를 기반으로하는 응용 프로그램을 개발하고 있으며 전송 형식으로 GeoJSON을 사용하고 있습니다.지오 데이터베이스와 OpenLayers 간의 전송 형식
내 절차 : 1) JS 변수 PHP 변수로부터 검색된 데이터를 전송하는 PHP의 출력()을 사용하여, 이와 같이 획득 geojson 포맷 데이터
2
)를 SpatiaLite의 함수 AsGeoJSON를 사용 PHP 스크립트에 의해 quering DB :var vectorLayer = new OpenLayers.Layer.Vector(name, {style: style, rendererOptions:
{zIndexing: true}});
var formatGeoJSON = new OpenLayers.Format.GeoJSON({});
vectorLayer.addFeatures(formatGeoJSON.read(CadastreBorder));
map.addLayer(vectorLayer);
를 읽어 OpenLayers 벡터 레이어의 기능을 만드는
$result = $db->query($query);
$r = '{"type": "FeatureCollection","features": [';
while($row = $result->fetchArray(SQLITE3_ASSOC))
{
$r .= '{"type":"Feature","properties":{}, "geometry":' . $row['geometry'] . '},';
}
$r .= ']}';
print'<script> CadastreBorder = ' . $r . '; </script>';
3) 방법 ACH하는 방법이 있나요 똑같은 목표를보다 효율적으로,보다 멋지게? 감사합니다.
감사합니다. 이것은 다소 최적화 된 것입니다. 그러나 GeoDB와 API간에 데이터를 전송하는 또 다른 방식이 있는지 일반적으로 알 수 있습니다. Anuway 이것도 유용합니다. 답장을 보내 주셔서 감사합니다! –