Salut les gens !
Je suis en train de développer une appli en Flex qui utilise Openscales et Geoserver afin d'avoir en background de l'application une carte du monde à laquelle je peux ajouter les layers que je veux et pour laquelle est gérée le zoom, le drag, etc.
Jusque là, ça marche plutôt bien sauf que les perfs que j'obtiens ne sont pas franchement terribles... En gros, ça prend 5 à 10 secondes pour charger les "carreaux/dalles" (tiles) qui doivent être affichés à l'écran alors que je souhaiterai que ça soit limite instantané...
J'ai configuré le truc de telle manière que tout est sur le même PC (le but est que cela fonctionne sans connexion à Internet) : l'appli, Geoserver, MySQL/les shapefiles. J'ai essayé plein de trucs pour améliorer les perfs (bidouillage dans la config de Geoserver, utilisation de shapefile ou de MySQL, ...) mais rien n'y fait...
Actuellement le dallage de la carte est en 128x128 (je pense) donc j'ai essayé de doubler cette taille afin de diminuer le nombre de requêtes faites au serveur ( ajout de tileHeight="256" ) mais ça n'a rien changé... J'ai essayer de trouver d'autres trucs sans plus de succès
Mes questions sont donc les suivantes :
- Comment est-ce qu'on fait pour modifier la hauteur et la largeur des dalles sous Openscales/Geoserver ?
- Comment est-ce que je pourrais optimiser les perfs de mon appli afin d'avoir un truc fluide que l'utilisateur déplace la carte ?
- Est-ce que vous connaissez sinon d'autres techniques pour obtenir un truc semblable ? (objet en background qui récupère des shapefiles/images geolocalisées et qui gère zoom et déplacement comme il faut, sachant que ça doit tourner sans accès web)
Ma classe Map qui correspond à l'objet que j'ai en background de l'appli est la suivante :
Code :
- <?xml version="1.0" encoding="utf-8"?>
- <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:s="library://ns.adobe.com/flex/spark"
- xmlns:mx="library://ns.adobe.com/flex/mx"
- xmlns:os="http://openscales.org"
- xmlns:layer="org.openscales.fx.layer.*" xmlns:core="org.openscales.core.*">
- <os:Map id="fxmap" width="100%" height="100%" resolution="0.01" maxExtent="-180,-90,180,90" projection="EPSG:4326" center="0,45">
- <os:WMSC id="mapLayers"
- name="Topp States (WMS)"
- url="http://localhost:8080/geoserver/gwc/service/wms"
- layers="WorldOnMySQL:ne_10m_admin_0_countries"
- format="image/png"
- bgcolor="0x454E54"
- projection="EPSG:4326"
- tileHeight="256"
- tileWidth="256"
- tiled="true"
- />
- <os:DragHandler/>
- <os:ClickHandler/>
- <os:WheelHandler/>
- </os:Map>
|
J'ai pas mis la partie script de la classe, il y a rien d'utile dedans actuellement
Merci d'avance à toute personne qui pourrait m'aider ! Et si vous avez des questions, hésitez pas !
---------------
Bobbyfrasier, Bobbyfrasier everywhere ! (Steam, Origin, ...)