我有一个包含地理空间数据的postgres数据库,我想将其中的某些部分导出为GeoJSON。
所以我有一个如下的SQL命令:
<ListView x:Name="Lista"
SeparatorColor="Gray"
SeparatorVisibility="Default"
HasUnevenRows="True"
VerticalOptions="FillAndExpand" >
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout>
<StackLayout Orientation="Horizontal" >
<StackLayout Orientation="Horizontal"
HorizontalOptions="FillAndExpand">
<StackLayout>
<Label Text="{Bindenter code hereing entityName}"
TextColor="White"
Font="14"/>
<Label Text="{Binding cmPaymentDate}"
TextColor="White"
Font="14"/>
<Label Text="{Binding statusDescr}"
TextColor="White"
Font="14"/>
</StackLayout>
<StackLayout HorizontalOptions="EndAndExpand">
<Button x:Name="cmdOpen"
Text="Open pdf" />
<Label Text="{Binding paymentAmount}"
TextColor="White"
Font="14"
HorizontalOptions="End" />
<Label Text="{Binding paymentNumber}"
TextColor="White"
Font="10"
HorizontalOptions="End" />
</StackLayout>
</StackLayout>
</StackLayout>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
,基本上可以正常工作。我还可以将其保存到文件中,然后直接将其转储到文件中,如下所示:
SELECT jsonb_build_object ( 'some_test_data', jsonb_agg (ST_AsGeoJSON (ST_Transform (way, 4326))::jsonb)) as json
FROM (
SELECT way, name, highway
FROM planet_osm_line
LIMIT 10) result
所以我的数据是正确且可用的,但是现在我想删除psql -qtAX -d my-database -f my_cool_sql_command.sql > result.json
并得到LIMIT 10
我读到要删除PostgreSQL的256MB限制并不容易...但是我想还有其他方法可以得到我的结果?
答案 0 :(得分:0)
尝试缩小文件的方法是使用st_simplify()和json_build_object()简化几何(限制为1 GB(与文本限制相同),而不是二进制文件为256 MB)
SELECT json_build_object('some_test_data', json_agg (ST_AsGeoJSON (ST_Transform (way, 4326))::json)) as json
FROM (SELECT st_simplify(way,1) way, name, highway
FROM planet_osm_line) result
您可以简化1米,然后简化为1米,通常不会丢失图形上的任何重要顶点。