Я очень новичок в postgis и geojson,
Я должен извлечь каждую геометрию из geojson и сохранить ее в базе данных postgis как полигоны
Для каждой записи в geojson я хотел бычтобы иметь возможность хранить свою геометрию в базе данных отдельно, как в json
В базе данных тип геометрии:
ALTER TABLE public.a_final ADD COLUMN geometry geometry (Polygon, 4326);
Что я сделал до сих пор:
<code>$geojson = file_get_contents("o/1.geojson");
//echo $geojson;
$array = json_decode($geojson, TRUE);
echo "<pre>";
print_r($array);
echo "
"; foreach ($ array ['features'] как $ type) {$ layer = $ type ['properties'] ['Layer']; $ SubClasses = $ type ['properties'] ['SubClasses'];$ ExtendedEntity = $ type ['properties'] ['ExtendedEntity']; $ Linetype = $ type ['properties'] ['Linetype']; $ EntityHandle = $ type ['properties'] ['EntityHandle']; $ Text= $ type ['properties'] ['Text']; $ geometry = $ type ['geometry'];}
GeoJSON:
Array
(
[type] => FeatureCollection
[features] => Array
(
[0] => Array
(
[type] => Feature
[properties] => Array
(
[Layer] => Green Area
[SubClasses] => AcDbEntity: AcDbPolyline
[ExtendedEntity] =>
[Linetype] =>
[EntityHandle] => 6B
[Text] =>
)
[geometry] => Array
(
[type] => LineString
[coordinates] => Array
(
[0] => Array
(
[0] => 708305.979
[1] => 385139.794
)
[1] => Array
(
[0] => 708433.3
[1] => 384989.4
)
[2] => Array
(
[0] => 708434.8
[1] => 384987.7
)
[3] => Array
(
[0] => 708400.454
[1] => 384958.526
)
[4] => Array
(
[0] => 708259.989
[1] => 385100.729
)
[5] => Array
(
[0] => 708305.979
[1] => 385139.794
)
)
)
)
[1] => Array
(
[type] => Feature
[properties] => Array
(
[Layer] => Green Area
[SubClasses] => AcDbEntity: AcDbPolyline
[ExtendedEntity] =>
[Linetype] =>
[EntityHandle] => 6C
[Text] =>
)
[geometry] => Array
(
[type] => LineString
[coordinates] => Array
(
[0] => Array
(
[0] => 702461.518
[1] => 381980.706
)
[1] => Array
(
[0] => 702436.783
[1] => 381924.255
)
[2] => Array
(
[0] => 702427.496
[1] => 381927.398
)
[3] => Array
(
[0] => 702452.871
[1] => 381985.312
)
[4] => Array
(
[0] => 702461.518
[1] => 381980.706
)
)
)
)