Is there a good way to display map tiles dynamic and real time?
Ⅰ using python-mapnik(linux)+postgis
I've tried using mapnik to show big data(aboult more than 600,0000 polygon features with much points in postgis),I display it real time from python service without cache. but i meet the problem:
1.At the beginning,load table from database lost much time
2.when I zoom to 12level,map tile will loading slowly
Ⅱ using python(flask)+postgis(MVT)+mapbox-gl
1.display 100,0000 features(simple polygon) so fast,but display big data(aboult more than 600,0000 polygon features with much points in postgis),i find selet query need much time. it's slowly than mapnik
Now I don't know how to complete my research about displaying big vector tiles fast and realtime!!
Is there a persion like me who are interested in quickly displaying data??Any help or suggestion would be appreciated!
At last ,forgive my poor English descrption.
some information about vector tiles I've found,maybe is useful to somebody like me:
- Vector tiles, PostGIS and OpenLayers
- An update on MVT encoders
- Aggregating data for faster map tiles
- PostGIS Performance Profiling
- MVT generation: Mapnik vs PostGIS
- awesome-vector-tiles
bigdata postgis mapnik cartodb vector-tiles
add a comment |
Ⅰ using python-mapnik(linux)+postgis
I've tried using mapnik to show big data(aboult more than 600,0000 polygon features with much points in postgis),I display it real time from python service without cache. but i meet the problem:
1.At the beginning,load table from database lost much time
2.when I zoom to 12level,map tile will loading slowly
Ⅱ using python(flask)+postgis(MVT)+mapbox-gl
1.display 100,0000 features(simple polygon) so fast,but display big data(aboult more than 600,0000 polygon features with much points in postgis),i find selet query need much time. it's slowly than mapnik
Now I don't know how to complete my research about displaying big vector tiles fast and realtime!!
Is there a persion like me who are interested in quickly displaying data??Any help or suggestion would be appreciated!
At last ,forgive my poor English descrption.
some information about vector tiles I've found,maybe is useful to somebody like me:
- Vector tiles, PostGIS and OpenLayers
- An update on MVT encoders
- Aggregating data for faster map tiles
- PostGIS Performance Profiling
- MVT generation: Mapnik vs PostGIS
- awesome-vector-tiles
bigdata postgis mapnik cartodb vector-tiles
carto.com/blog/inside/An-update-on-MVT-encoders/…
– Happy Young
Nov 14 '18 at 6:19
add a comment |
Ⅰ using python-mapnik(linux)+postgis
I've tried using mapnik to show big data(aboult more than 600,0000 polygon features with much points in postgis),I display it real time from python service without cache. but i meet the problem:
1.At the beginning,load table from database lost much time
2.when I zoom to 12level,map tile will loading slowly
Ⅱ using python(flask)+postgis(MVT)+mapbox-gl
1.display 100,0000 features(simple polygon) so fast,but display big data(aboult more than 600,0000 polygon features with much points in postgis),i find selet query need much time. it's slowly than mapnik
Now I don't know how to complete my research about displaying big vector tiles fast and realtime!!
Is there a persion like me who are interested in quickly displaying data??Any help or suggestion would be appreciated!
At last ,forgive my poor English descrption.
some information about vector tiles I've found,maybe is useful to somebody like me:
- Vector tiles, PostGIS and OpenLayers
- An update on MVT encoders
- Aggregating data for faster map tiles
- PostGIS Performance Profiling
- MVT generation: Mapnik vs PostGIS
- awesome-vector-tiles
bigdata postgis mapnik cartodb vector-tiles
Ⅰ using python-mapnik(linux)+postgis
I've tried using mapnik to show big data(aboult more than 600,0000 polygon features with much points in postgis),I display it real time from python service without cache. but i meet the problem:
1.At the beginning,load table from database lost much time
2.when I zoom to 12level,map tile will loading slowly
Ⅱ using python(flask)+postgis(MVT)+mapbox-gl
1.display 100,0000 features(simple polygon) so fast,but display big data(aboult more than 600,0000 polygon features with much points in postgis),i find selet query need much time. it's slowly than mapnik
Now I don't know how to complete my research about displaying big vector tiles fast and realtime!!
Is there a persion like me who are interested in quickly displaying data??Any help or suggestion would be appreciated!
At last ,forgive my poor English descrption.
some information about vector tiles I've found,maybe is useful to somebody like me:
- Vector tiles, PostGIS and OpenLayers
- An update on MVT encoders
- Aggregating data for faster map tiles
- PostGIS Performance Profiling
- MVT generation: Mapnik vs PostGIS
- awesome-vector-tiles
bigdata postgis mapnik cartodb vector-tiles
bigdata postgis mapnik cartodb vector-tiles
edited Nov 15 '18 at 9:03
Happy Young
asked Nov 14 '18 at 2:09
Happy YoungHappy Young
32
32
carto.com/blog/inside/An-update-on-MVT-encoders/…
– Happy Young
Nov 14 '18 at 6:19
add a comment |
carto.com/blog/inside/An-update-on-MVT-encoders/…
– Happy Young
Nov 14 '18 at 6:19
carto.com/blog/inside/An-update-on-MVT-encoders/…
– Happy Young
Nov 14 '18 at 6:19
carto.com/blog/inside/An-update-on-MVT-encoders/…
– Happy Young
Nov 14 '18 at 6:19
add a comment |
1 Answer
1
active
oldest
votes
You may want to reduce as much as possible the amount of data being transferred from your database to your rendering engine.
This blog post from CARTO may give you some ideas even it's focused in point data.
For polygon datasets, in order to reduce the amount of data moved to the renderer you may want to create simplified versions to use based on the zoom level. Mapshaper is a nice tool to simplify polygons but still retain their topology. And in any case, always combine ST_RemoveRepeatedPoints
with ST_SnapToGrid
to be sure you are not wasting rendering CPU with wasted pixels.
Thans for answering! As I know,postgis provides ST_SimplifyPreserveTopology to simplify polygons,I want to calculate tolerance according to different scale. (tolerances = [6378137 * 2 * pi / (2 ** (zoom + 8)) for zoom in range(20)]) and I‘ll try it like you say. Thanks again
– Happy Young
Nov 15 '18 at 1:28
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53292198%2fis-there-a-good-way-to-display-map-tiles-dynamic-and-real-time%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You may want to reduce as much as possible the amount of data being transferred from your database to your rendering engine.
This blog post from CARTO may give you some ideas even it's focused in point data.
For polygon datasets, in order to reduce the amount of data moved to the renderer you may want to create simplified versions to use based on the zoom level. Mapshaper is a nice tool to simplify polygons but still retain their topology. And in any case, always combine ST_RemoveRepeatedPoints
with ST_SnapToGrid
to be sure you are not wasting rendering CPU with wasted pixels.
Thans for answering! As I know,postgis provides ST_SimplifyPreserveTopology to simplify polygons,I want to calculate tolerance according to different scale. (tolerances = [6378137 * 2 * pi / (2 ** (zoom + 8)) for zoom in range(20)]) and I‘ll try it like you say. Thanks again
– Happy Young
Nov 15 '18 at 1:28
add a comment |
You may want to reduce as much as possible the amount of data being transferred from your database to your rendering engine.
This blog post from CARTO may give you some ideas even it's focused in point data.
For polygon datasets, in order to reduce the amount of data moved to the renderer you may want to create simplified versions to use based on the zoom level. Mapshaper is a nice tool to simplify polygons but still retain their topology. And in any case, always combine ST_RemoveRepeatedPoints
with ST_SnapToGrid
to be sure you are not wasting rendering CPU with wasted pixels.
Thans for answering! As I know,postgis provides ST_SimplifyPreserveTopology to simplify polygons,I want to calculate tolerance according to different scale. (tolerances = [6378137 * 2 * pi / (2 ** (zoom + 8)) for zoom in range(20)]) and I‘ll try it like you say. Thanks again
– Happy Young
Nov 15 '18 at 1:28
add a comment |
You may want to reduce as much as possible the amount of data being transferred from your database to your rendering engine.
This blog post from CARTO may give you some ideas even it's focused in point data.
For polygon datasets, in order to reduce the amount of data moved to the renderer you may want to create simplified versions to use based on the zoom level. Mapshaper is a nice tool to simplify polygons but still retain their topology. And in any case, always combine ST_RemoveRepeatedPoints
with ST_SnapToGrid
to be sure you are not wasting rendering CPU with wasted pixels.
You may want to reduce as much as possible the amount of data being transferred from your database to your rendering engine.
This blog post from CARTO may give you some ideas even it's focused in point data.
For polygon datasets, in order to reduce the amount of data moved to the renderer you may want to create simplified versions to use based on the zoom level. Mapshaper is a nice tool to simplify polygons but still retain their topology. And in any case, always combine ST_RemoveRepeatedPoints
with ST_SnapToGrid
to be sure you are not wasting rendering CPU with wasted pixels.
answered Nov 14 '18 at 9:51
Jorge SanzJorge Sanz
28124
28124
Thans for answering! As I know,postgis provides ST_SimplifyPreserveTopology to simplify polygons,I want to calculate tolerance according to different scale. (tolerances = [6378137 * 2 * pi / (2 ** (zoom + 8)) for zoom in range(20)]) and I‘ll try it like you say. Thanks again
– Happy Young
Nov 15 '18 at 1:28
add a comment |
Thans for answering! As I know,postgis provides ST_SimplifyPreserveTopology to simplify polygons,I want to calculate tolerance according to different scale. (tolerances = [6378137 * 2 * pi / (2 ** (zoom + 8)) for zoom in range(20)]) and I‘ll try it like you say. Thanks again
– Happy Young
Nov 15 '18 at 1:28
Thans for answering! As I know,postgis provides ST_SimplifyPreserveTopology to simplify polygons,I want to calculate tolerance according to different scale. (tolerances = [6378137 * 2 * pi / (2 ** (zoom + 8)) for zoom in range(20)]) and I‘ll try it like you say. Thanks again
– Happy Young
Nov 15 '18 at 1:28
Thans for answering! As I know,postgis provides ST_SimplifyPreserveTopology to simplify polygons,I want to calculate tolerance according to different scale. (tolerances = [6378137 * 2 * pi / (2 ** (zoom + 8)) for zoom in range(20)]) and I‘ll try it like you say. Thanks again
– Happy Young
Nov 15 '18 at 1:28
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53292198%2fis-there-a-good-way-to-display-map-tiles-dynamic-and-real-time%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
carto.com/blog/inside/An-update-on-MVT-encoders/…
– Happy Young
Nov 14 '18 at 6:19