Suite

QGIS 2.4 : Comment faire en sorte qu'Atlas imprime toutes les fonctionnalités, pas seulement celle visible dans l'aperçu

QGIS 2.4 : Comment faire en sorte qu'Atlas imprime toutes les fonctionnalités, pas seulement celle visible dans l'aperçu


J'ai un certain nombre de "zones" décrites par des polygones que j'utilise pour produire un ensemble de cartes à plus grande échelle que j'avais l'habitude d'exporter dans un pdf.

Cela a cessé de fonctionner (lorsque je suis passé à 2.4 ??) et maintenant je reçois toujours un seul élément dans le pdf (celui actuellement visible dans l'aperçu). Chaque élément se compose de deux pages : une carte sur la première page et deux tableaux sur la deuxième page. L'idée étant que lorsqu'on imprime le pdf recto-verso, on obtient une carte et les tableaux au verso.


En fait, j'ai trouvé la réponse en composant les questions, mais je suis sûr que d'autres vont trébucher avec cela, alors j'ai décidé de continuer.

La confusion survient parce que (au moins sur Mac ) il y a eu deux ensembles de symboles d'exportation :

Notez que le pdf est manquant dans la deuxième ligne. Ceux de la rangée supérieure semblent exporter la fonctionnalité actuellement prévisualisée. Si vous cliquez sur l'option image dans la deuxième rangée, vous avez la possibilité de sélectionner pdf. Cela fait ce que je veux.

Je trouve cet arrangement très contre-intuitif ! Les icônes de la barre d'aperçu devraient sûrement imprimer l'image prévisualisée et celles de la barre principale imprimer l'ensemble. En fait, le deuxième ensemble n'apparaît que lorsque vous sélectionnez Atlas->Aperçu de l'atlas.

Ou est-ce un bug plutôt qu'une fonctionnalité ?


Journal des modifications pour QGIS 3.4 LTR¶

La première version à long terme (LTR) de QGIS 3. QGIS 3.4 vient de sortir. Après cinq versions de points de consolidation (3.4.5), elle remplacera la LTR précédente dans les référentiels de packages en février 2019 (voir calendrier de publication). C'est un pas de géant pour le projet - notre première version à long terme basée sur la plate-forme 3.x. Pour les utilisateurs qui passent de la version 2.18 LTR, il existe une liste énorme de nouvelles fonctionnalités et de changements percutants dans cette nouvelle version LTR. Veuillez garder à l'esprit que les plugins 3.x sont incompatibles avec les plugins 2.x, alors examinez attentivement l'utilisation de vos plugins - et si possible aidez à migrer les anciens plugins vers la nouvelle plate-forme. Si vous ne l'avez pas déjà fait, jetez un œil aux journaux des modifications de la version 3.0 et de la version 3.2 pour comprendre l'intégralité des modifications apportées à la version 3.4.

Nous tenons à remercier les développeurs, les documentalistes, les testeurs et toutes les personnes qui donnent de leur temps et de leurs efforts (ou financent des personnes pour le faire). De la communauté QGIS, nous espérons que vous apprécierez cette version ! Si vous souhaitez donner du temps, de l'argent ou vous impliquer d'une autre manière pour rendre QGIS encore plus génial, veuillez vous rendre sur qgis.org et donner un coup de main !

QGIS est soutenu par des donateurs et des membres de soutien. Une liste actuelle des donateurs qui ont apporté des contributions financières, grandes et petites au projet, peut être consultée sur notre liste de donateurs. Si vous souhaitez devenir un membre de soutien officiel, veuillez visiter notre page des membres de soutien pour plus de détails. Soutenir QGIS nous aide à financer nos réunions de développeurs semestrielles, à maintenir l'infrastructure du projet et à financer les efforts de correction des bogues. Une liste complète des supporters actuels est fournie ci-dessous - nos très grands mercis à tous nos supporters !

QGIS est un logiciel gratuit et vous n'êtes pas obligé de payer quoi que ce soit pour l'utiliser - en fait, nous voulons encourager les gens de partout à l'utiliser quel que soit votre statut financier ou social - nous pensons que l'autonomisation des personnes avec des outils de prise de décision spatiale sera aboutir à une société meilleure pour toute l'humanité.


Clique le 'ajouter un nouveau bouton de carte' sur le côté gauche du compositeur d'impression. Voir la capture d'écran ci-dessus pour l'emplacement exact du bouton.

Vous pouvez également cliquer sur ajouter un élément –&gt ajouter une carte dans le menu du haut. Celui-ci remplit la même fonction que le bouton.

Cliquez et faites glisser votre curseur dans la toile d'impression comme si vous vouliez dessiner un rectangle. Faites le rectangle aussi grand que vous voulez que votre carte couvre le canevas.

Votre carte devrait être rendue maintenant.


Situées le long de la bordure à gauche de la fenêtre de légende se trouvent une série d'icônes de données. L'icône tout en bas vous permet de créer un nouveau fichier de données SIG. Cliquez sur la flèche vers le bas à côté de l'icône et sélectionnez “ajouter un nouveau fichier de formes” dans les options.

Dans la fenêtre contextuelle, sélectionnez un point. Vous pouvez également modifier le système de coordonnées (la valeur par défaut est le système de coordonnées défini de votre fichier QGIS) et ajouter les champs attributaires de votre choix. Appuyez sur le bouton “ok”. Dans la deuxième fenêtre, donnez un nom à votre fichier de formes de points et indiquez dans quel répertoire il doit être stocké.

Vous avez maintenant un fichier de formes vide accessible depuis la fenêtre de légende où le reste de vos couches de données SIG pour votre fichier QGIS est répertorié. Sélectionnez le nouveau calque créé et faites un clic droit. Dans le menu qui apparaît, sélectionnez “basculer l'édition” dans la liste.

Vous êtes maintenant prêt à ajouter un point. Une fois l'édition activée (il devrait y avoir une icône de crayon immédiatement à gauche du calque et les outils d'édition ne sont plus estompés), sélectionnez l'icône “ajouter une fonctionnalité”.

Choisissez un point n'importe où sur votre carte et cliquez. Une fenêtre s'ouvrira dans laquelle vous pourrez saisir les attributs de votre choix (ceci est facultatif) et cliquer sur “ok”. Vous avez maintenant un point sur votre carte. Ensuite, nous voulons déplacer le point à l'emplacement correct en fonction des valeurs de degrés décimaux que vous avez obtenues précédemment.

Sélectionnez maintenant l'icône d'édition de sommet numérique qui se trouve comme la dernière icône où se trouve la barre d'outils d'édition.

Le curseur se transformera en une icône cible. Déplacez le curseur pour que l'icône se trouve directement sur votre nouveau point. Cliquez sur la souris et la fenêtre “move vertex feature” apparaîtra. Copiez et collez vos valeurs en degrés décimaux, puis cliquez sur “ok”.

Votre point sera maintenant remappé à l'emplacement de coordonnées correct. Si votre point n'est pas là où vous vous attendez à ce qu'il soit, assurez-vous que vos coordonnées sont dans le bon ordre et qu'elles sont correctement marquées d'un signe moins si elles se trouvent dans les hémisphères ouest ou sud. N'oubliez pas non plus d'enregistrer vos modifications pour écrire le nouveau point dans votre fichier de formes.


QGIS 2.4 : Comment faire en sorte qu'Atlas imprime toutes les caractéristiques, pas seulement celle visible dans l'aperçu - Systèmes d'information géographique

Remarque : tous les éléments mentionnés ci-dessous ont été rétroportés en LTR, ils apparaîtront donc également dans QGIS 3.4.5.

Sélectionnez ("verrouiller") la fonction avant de l'éditer

Dans QGIS 2.18, vous deviez toujours sélectionner une entité avant de la modifier. Dans QGIS 3, il n'y avait rien de tel - l'édition serait effectuée sur n'importe quelle fonctionnalité à tout moment. Maintenant, nous rendons à nouveau disponible la sélection de la fonctionnalité ("lock") - en utilisant clic-droit.

Dans les versions antérieures de QGIS 3, un clic droit sur une entité faisait apparaître un petit menu contextuel offrant l'affichage de l'éditeur de sommets. Maintenant, un clic droit sur une entité affichera immédiatement l'éditeur de sommets et désactivera l'édition de toute autre entité.

Lorsqu'une fonctionnalité est "verrouillée", elle peut être à nouveau déverrouillée en cliquant dessus ou en cliquant sur une zone vide - cela nous ramènera au mode par défaut lorsque plusieurs fonctionnalités peuvent être modifiées.

Lorsqu'il y a plusieurs fonctionnalités dans un emplacement de souris, des clics droits répétés boucleront dessus - à chaque clic droit, vous vous verrouillerez sur une fonctionnalité différente. Enfin, lorsque toutes les fonctionnalités ont été proposées, aucune fonctionnalité ne sera verrouillée et d'autres clics droits relanceront la boucle.

Le verrouillage est possible en cliquant sur le sommet, l'arête ou l'intérieur d'une entité (pour les polygones).

Ajouter un nouveau sommet sans le déplacer

Il est désormais possible d'utiliser Maj + double-clic pour ajouter un nouveau sommet sans le placer à un nouvel emplacement. Parfois, cela est utile lorsque les utilisateurs souhaitent ajouter des sommets supplémentaires sur les segments existants.

Le mode "Couche actuelle" est désormais le mode par défaut

Parmi les deux modes de l'outil de sommet, "tous les calques" était celui par défaut. Mais d'après les commentaires des utilisateurs, cela semblait être un cas moins courant et les utilisateurs préfèrent avoir le "calque actuel" par défaut.


Explication étape par étape du code ML (Machine Learning) avec Pandas Dataframe :

Séparer les colonnes prédicteur et cible en X et y respectivement.

Diviser les données d'entraînement (X_train,y_train) et les données de test (X_test,y_test).

Calcul de l'AUC à validation croisée (aire sous la courbe). Vous avez une erreur "IndexError : trop d'indices pour le tableau" à cause de y_train puisqu'il s'attendait à un tableau 1-D mais récupéré un tableau 2-D qui est une discordance. Après Remplacement le code 'y_train' avec y_train['y'] code a fonctionné comme un charme.


Recherche Earthdata de la NASA : accès gratuit aux images satellites historiques

Earthdata Search de la NASA fournit un accès en ligne à plusieurs
collections de données EOSDIS de la NASA (Earth Observing System Data and Information System).

Imagerie. Dans Earthdata Search, vous trouverez une pléthore de données de science de la Terre de la NASA provenant de différentes sources -
satellites, avions, mesures sur le terrain, y compris d'autres programmes. La quantité d'images satellite actuelles gratuites et
les images historiques enrôlées dans l'onglet "Plateformes" sont impressionnantes : Aqua et Terra, ENVISAT, GOES, satellites NOAA,
METEOSAT, Suomi-NPP, Nimbus, CALIPSO, Landsat, et bien d'autres données SIG gratuites qui permettent l'étude de l'atmosphère,
environnement, océan et mer, couverture terrestre, végétation, couverture de glace et topographie.

Rechercher. Vous aurez besoin de beaucoup de patience pour apprendre à naviguer et trouver des images satellite gratuites à l'aide d'Earthdata
Rechercher. Il existe des tutoriels et des descriptions détaillées pour chaque collecte de données SIG, mais ils sont de peu d'aide
à moins que vous ne sachiez exactement ce que vous cherchez. La sélection d'images (granules) à partir d'une longue liste de
les collections qui correspondent à vos critères de recherche semblent particulièrement difficiles à appréhender. Mais la diversité des données
compense cet inconvénient.

Télécharger. Selon l'ensemble de données, le téléchargement gratuit d'images satellite peut nécessiter quelques clics supplémentaires pour approuver
certaines applications. De plus, toutes les images ne peuvent pas être prévisualisées avant de les enregistrer sur le PC.

Analyse. Malheureusement, il n'y a pas d'outils intégrés pour l'analyse.

Earthdata Search est vraiment un océan de données d'observation de la Terre de la NASA, dans lequel un chercheur ou un scientifique peut plonger.
Ce n'est pas la meilleure source d'images satellite gratuite pour les amateurs, qui peuvent commencer par des services plus conviviaux et
probablement y revenir plus tard pour combler les lacunes des données.


2.4 Constituer l'équipe (dotation)

Lors de la préparation de votre projet, pensez à la logistique qui sera impliquée en termes de personnel et de travail de bureau. N'oubliez pas que la moitié du travail consiste à arpenter la zone cible, et l'autre moitié est un travail d'édition sur ordinateur, dont certains peuvent être nécessaires avant toute cartographie de terrain. Vous pouvez avoir une petite équipe de projet, ou vous pouvez avoir des dizaines de personnes ou plus. L'encadré 2.4 examine certaines de ces considérations.

Demandez-vous si tout votre personnel effectuera des modifications sur le bureau ou si vous diviserez les tâches d'arpenteur et d'éditeur. Il est généralement avantageux pour les cartographes d'effectuer à la fois l'arpentage et l'édition, plutôt que de diviser le travail, car les cartographes se souviennent de ce qu'ils ont arpenté même avec des notes détaillées, personne ne pourra éditer la carte ainsi que la personne qui a sondé les entités cartographiées . Les tâches d'édition aident également à surmonter la « fatigue des enquêtes », lorsque les enquêteurs se lassent de passer la plupart de leurs journées à se promener pour effectuer une seule tâche (et vice versa pour les éditeurs qui restent devant l'ordinateur toute la journée). Cela dit, des considérations logistiques peuvent exiger que ces deux tâches soient divisées ou que différentes personnes effectuent des modifications au bureau à des moments différents.

Les équipes de projet de cartographie des villes ouvertes comprennent généralement des personnes dans les différents rôles décrits ci-dessous.

Géomètre et éditeur (Mapper)

Les géomètres travaillent généralement en binôme. Chaque paire est responsable des relevés sur le terrain, généralement pendant la moitié de la journée, car cela peut être assez fatiguant physiquement. Ils peuvent également s'engager dans de petites tâches telles que l'impression de documents de terrain. Dans la plupart des projets, chaque équipe d'enquête édite également son propre travail, mais ces rôles peuvent être divisés. Chaque jour, les paires seront chargées d'une partie de la zone cible à cartographier, et elles passeront trois à cinq heures à arpenter, le reste de leur temps étant consacré à l'édition des données.

Les éditeurs expérimentés peuvent consacrer tout ou partie de leur temps au processus d'assurance qualité en tant que validateurs de données. Les validateurs examinent les données collectées à la recherche d'erreurs et d'incohérences. Les validateurs se voient attribuer des zones qu'ils n'ont pas personnellement étudiées afin de repérer et de corriger les pratiques incohérentes entre les équipes d'enquête.

Au sommet de la structure de gestion se trouve généralement un chef de projet (PL). Le PL peut être la même personne que le chef de projet, ou les deux rôles peuvent être séparés. Idéalement, le PL aura une connaissance locale approfondie et des relations avec le gouvernement et le milieu universitaire. Le PL, en plus de superviser le projet de cartographie, est généralement responsable des discussions de haut niveau avec les partenaires et de la sensibilisation de la communauté. Le PL doit être bien versé dans la collecte de données sur le terrain et compétent en gestion de projet, cartographie et SIG, compétences en communication et renforcement de la communauté.

Un petit projet pilote peut n'avoir qu'un seul superviseur, ou il peut y avoir plusieurs superviseurs d'équipe, dont chacun gère un sous-ensemble de mappeurs et qui relèvent d'un chef de projet de haut niveau. Les superviseurs sont chargés d'organiser le flux de travail du projet, de superviser et d'aider les cartographes et de gérer l'équipement et la logistique.

chargée de communication

Selon la taille et la durée du projet, un agent de communication dévoué peut être nécessaire pour se concentrer sur les communications externes, les réseaux sociaux, le renforcement de la communauté et l'intégration. L'aspect participatif d'Open Cities s'articule autour d'une communication solide et régulière.

Un technicien dévoué peut être nécessaire pour configurer et gérer les logiciels et le matériel pour les efforts d'enquête, en particulier si l'équipe de cartographie est nombreuse.

SIG ou agent d'information

Le projet peut nécessiter des outils d'analyse spécifiques, des produits ou d'autres résultats. Il est donc important d'avoir quelqu'un dans l'équipe qui peut produire des cartes et des produits d'information de haute qualité sur la base des données collectées.

2.4.1 Structure de gestion, rôles et responsabilités

Vous pouvez organiser votre personnel de différentes manières. Un seul responsable peut superviser un grand groupe de mappeurs, ou vous pouvez choisir de diviser l'équipe en plusieurs petites équipes qui peuvent fonctionner de manière quelque peu indépendante. (L'encadré 2.4 décrit certains de ces rôles.) Dans tous les cas, vous aurez besoin de personnes pour effectuer les tâches suivantes :

  • Arpentage de terrain
  • Édition
  • Impression des Field Papers (voir 2.4.3)
  • Gestion des équipements
  • Organisation du flux de travail
  • Achat de fournitures de bureau
  • Assurance qualité
  • Soutien technique
  • Formation et mobilisation des bénévoles
  • Communication et sensibilisation (à la fois à la communauté et aux organisations partenaires)
  • Analyse de données et production de cartes

Les cartographes sont responsables des activités quotidiennes d'un projet. Ce sont eux qui se rendent chaque jour à différents endroits dans la zone cible, identifient les caractéristiques et notent les attributs. Ils passent également du temps dans le bureau du projet, éditant les données qu'ils collectent chaque jour et ajoutant ces données à OpenStreetMap. Parce que leurs compétences augmenteront, la qualité et le rythme de leur travail s'amélioreront avec le temps. Les cartographes peuvent également effectuer des tâches de bureau, acheter des fournitures, travailler avec des bénévoles ou former des organisations partenaires.

Un bon gestionnaire doit tenir les cartographes à l'heure et les aider au besoin. Les gestionnaires seront plus expérimentés dans les SIG et OpenStreetMap, afin de pouvoir conseiller efficacement les cartographes pendant le processus d'édition. Il est important que les responsables vérifient les erreurs et les erreurs dans les données, en particulier au début d'un projet, afin qu'ils puissent informer les cartographes de leurs erreurs avant qu'elles ne se répètent des centaines de fois.

Les bons gestionnaires entretiennent également une communication solide avec leurs cartographes et devraient les accompagner occasionnellement lors des enquêtes pour observer leur travail et offrir des conseils. Les gestionnaires sont responsables de la réalisation d'enquêtes d'assurance qualité, qui seront abordées dans la section 4.3, « Contrôle de la qualité ».

Qu'est-ce que la communauté OSM ? OpenStreetMap est un projet collaboratif impliquant des centaines de milliers d'utilisateurs et de contributeurs, et la « communauté OSM » comprend les membres actifs qui participent continuellement en ajoutant ou en mettant à jour la carte.

Chaque pays a ce qu'on pourrait appeler sa propre communauté (ou dans certains cas plusieurs groupes), qui communiquent, planifient des activités et travaillent ensemble pour améliorer la carte. Et la communauté de chaque pays est également connectée à la plus grande base d'utilisateurs OSM mondiale. Parce qu'un projet Open Cities utilise la plateforme OSM, il est automatiquement engagé dans cette communauté. La section 2.2.2.2 précédente a fourni plus d'informations sur l'engagement de la communauté OSM locale.

La plupart des utilisateurs d'OpenStreetMap contribuent à la carte petit à petit, ils doivent donc être consultés avant d'importer leurs données. L'importation peut écraser le travail d'autres cartographes qui ont effectivement mené des enquêtes sur le terrain. Vous devez également envoyer un e-mail à [email protected] et leur faire savoir ce que vous prévoyez. S'assurer qu'ils connaissent et soutiennent le processus avant toute importation peut faire gagner beaucoup de temps à expliquer ou à annuler les changements après coup.

Pour une description complète des étapes à suivre pour une importation OSM, consultez cette page Wiki OSM : http://wiki.openstreetmap.org/wiki/Import/Guidelines

2.4.2 Trouver des cartographes et des géomètres

Le personnel d'enquête provient souvent d'universités et de diplômés universitaires récents. Une activité de terrain prolongée peut être exigeante et convient aux jeunes qui s'intéressent aux domaines liés aux SIG, à la géographie, à l'urbanisme et à l'ingénierie. Cependant, le processus d'enquête et d'édition n'est pas difficile avec la bonne formation, n'importe qui peut remplir le rôle, même ceux qui ont une expérience informatique limitée. Ceux qui ont moins d'expérience en informatique et en géographie peuvent prendre plus de temps à se former mais peuvent toujours remplir les exigences du poste, et une connaissance directe de la zone d'étude cartographiée peut être un avantage certain. Les cartographes sont également souvent trouvés par l'intermédiaire d'autres partenaires, tels que des agences gouvernementales, des groupes de jeunes et des écoles secondaires.

Au fur et à mesure que vous contactez des partenaires potentiels, des influenceurs clés et des cartographes occasionnels seront identifiés qui sont intéressés par l'objectif du projet et peuvent être ajoutés à l'équipe à mesure que le projet se développe. Un aspect unique de la méthodologie de collecte de données Open Cities est l'utilisation du crowdsourcing des communautés de cartographie OSM internationales et locales. Lorsqu'ils engagent la communauté locale, ce sont souvent les étudiants qui ont le temps et l'intérêt de contribuer au projet. Un projet Open Cities offre la possibilité d'échanger des connaissances entre les universités et l'organisation de mise en œuvre. En conséquence, les enquêteurs peuvent provenir d'étudiants universitaires locaux et de récents diplômés en géographie, en informatique ou dans d'autres disciplines techniques liées au projet. Recherchez un chapitre Youthmappers dans votre région pour vous engager (http://www.youthmappers.org/chapter-listing).

2.4.3 Rémunération et incitations

Il existe différentes méthodes pour rémunérer les membres du projet en fonction de leurs antécédents et de leurs intérêts. Si vous mettez en place une structure de gestion avec une équipe de gestionnaires (appelée équipe de projet de base), ils seront très probablement payés en tant que personnel à temps plein. D'autres, tels que les étudiants bénévoles ou les jeunes professionnels, peuvent être soit strictement bénévoles, incités par un stage ou un crédit académique, soit proposés à la journée ou même à temps plein.

Parce qu'OpenStreetMap est un projet de données ouvertes construit autour d'une communauté de bénévoles, un débat fréquent concerne la question de savoir si les cartographes doivent être payés lors d'un projet de cartographie ciblé. D'une part, il est préférable de trouver des moyens d'encourager la cartographie autre que le paiement afin de favoriser une initiative durable et une communauté de cartographie. D'un autre côté, un projet de cartographie ciblée peut exiger que les cartographes consacrent une grande partie de leur temps à terminer le travail dans un délai donné. En fin de compte, les choix sur la façon de rémunérer ou d'inciter les cartographes dépendront des exigences particulières du projet.

Les cartographes bénévoles peuvent être encouragés en concevant le poste comme une opportunité de stage, en travaillant avec des universités afin qu'ils reçoivent des crédits académiques, ou en offrant simplement la récompense d'un service communautaire et d'un développement des compétences. Les avantages plus larges de la participation ont été discutés plus tôt, dans la section 2.1.1.

Une autre approche pour fournir des incitations est de développer des compétitions entre les universités, les départements ou des parties de la communauté cartographique. Bien que les récompenses monétaires aient entraîné une augmentation de la collecte de données, la collecte peut également diminuer considérablement une fois la compétition terminée. Par conséquent, bien que les concours offrent un moyen potentiellement utile de recueillir un grand nombre de données, ils ne sont pas nécessairement un bon moyen de soutenir la croissance de la communauté dans la zone d'intérêt du projet. Dans le cas d'un concours de cartographie, des prix ou récompenses créatifs (tels que du matériel de cartographie) peuvent être utilisés comme incitations qui peuvent ne pas donner lieu à une cartographie temporaire et opportuniste.


18 réponses 18

Spring Security peut désormais tirer parti du support Spring MVC CORS décrit dans cet article de blog que j'ai écrit.

Pour que cela fonctionne, vous devez activer explicitement la prise en charge de CORS au niveau de sécurité Spring comme suit, sinon les demandes activées par CORS peuvent être bloquées par Spring Security avant d'atteindre Spring MVC.

Si vous utilisez des annotations @CrossOrigin au niveau du contrôleur, il vous suffit d'activer la prise en charge de Spring Security CORS et cela tirera parti de la configuration Spring MVC :

Si vous préférez utiliser la configuration globale CORS, vous pouvez déclarer un bean CorsConfigurationSource comme suit :

Cette approche remplace l'approche basée sur les filtres précédemment recommandée.

Vous pouvez trouver plus de détails dans la section CORS dédiée de la documentation Spring Security.

Si vous utilisez JDK 8+, il existe une solution lambda en une ligne :

Si vous utilisez Sécurité du printemps, vous pouvez procéder comme suit pour vous assurer que les requêtes CORS sont traitées en premier :

Voir Spring 4.2.x CORS pour plus d'informations.

Sans Spring Security cela fonctionnera:

La protection contre les origines croisées est une fonctionnalité du navigateur. Curl ne se soucie pas du CORS, comme vous l'avez supposé. Cela explique pourquoi vos boucles sont réussies, alors que les requêtes du navigateur ne le sont pas.

Si vous envoyez la demande du navigateur avec les mauvaises informations d'identification, Spring essaiera de rediriger le client vers une page de connexion. Cette réponse (hors de la page de connexion) ne contient pas l'en-tête 'Access-Control-Allow-Origin' et le navigateur réagit comme vous le décrivez.

Vous devez créer Spring pour inclure le haeder pour cette réponse de connexion, et peut-être pour d'autres réponses, comme les pages d'erreur, etc.

Cela peut être fait comme ceci :

Je commencerais par ajouter un mappage cors pour toutes les ressources avec :

et autoriser également tous les en-têtes de méthodes. Une fois que cela fonctionne, vous pouvez recommencer à réduire cela au minimum nécessaire.

Veuillez noter que la configuration CORS change avec la version 4.2.

Si cela ne résout pas vos problèmes, publiez la réponse que vous obtenez de la requête ajax échouée.

J'ai trouvé une solution simple pour les configurations Spring-Boot, Spring-Security et Java :


Pour toute autre personne confrontée à ce problème, j'ai eu ce problème en raison de l'installation de mon npm dans un emplacement qui ne se trouve pas sur mon NODE_PATH .

Mon NODE_PATH était vide et l'exécution de npm install --global --verbose promise-io montrait qu'il s'installait dans /opt/lib/node_modules/promised-io :

Mon script échoue sur require('promised-io/promise'):

J'ai probablement installé node et npm à partir de la source en utilisant configure --prefix=/opt . Je ne sais pas pourquoi cela les a rendus incapables de trouver les modules installés. Le correctif pour l'instant est de pointer NODE_PATH vers le bon répertoire :

Mon require('promised-io/promise') réussit maintenant.

/.bash_profile dans Terminal, puis ajoutez export NODE_PATH=/usr/local/lib/node_modules à la fin du fichier. Redémarrez la fenêtre du terminal. Maintenant, l'exécution de echo $NODE_PATH devrait afficher /usr/local/lib/node_modules . &ndash Pwdr 26 décembre 14 à 14:11

ajoutez ceci au début de prog(mac):

/bash_profile qui est plus indépendant de la machine dans la mesure où le code .js natif n'est pas affecté. &ndash vwvan 10 sept. 19 à 7:03

Par défaut, le nœud ne regarde pas dans /usr/local/lib/node_module pour charger les modules globaux. Référez-vous au chargement du module expliqué dans http://nodejs.org/api/modules.html#modules_loading_from_the_global_folders

Donc, soit vous devez 1) ajouter le /usr/local/lib/node_module à NODE_PATH et l'exporter ou 2) copier les modules de nœud installés dans /usr/local/lib/node . (Comme expliqué dans le lien de chargement du module, le nœud recherchera dans ce chemin et fonctionnera)

Le correctif générique suivant s'appliquerait à n'importe quel module. Par exemple avec request-promise .

travaillé (source) et aussi pour les globals et hérite

Essayez également de définir la variable d'environnement

Pour certains (comme moi) que rien d'autre n'a fonctionné, essayez ceci :

J'ai eu l'erreur du module "optimist" et je viens de faire "npm install" pour le résoudre. passé cette erreur.

Sous Windows, si vous venez de faire une installation propre et que vous obtenez cela, vous devez supprimer votre cache npm dans AppDataRoaming

Pour Windows, à partir de Nodejs, vous ne trouvez pas le module installé sur Windows ? ce qui a fonctionné pour moi, c'est d'exécuter le lien npm comme dans

  1. Désinstaller le nœud du panneau de configuration [Windows 7]
  2. Installer à nouveau le nœud
  3. Installer le rapporteur npm install --global --verbose rapporteur
    Mettre à jour le gestionnaire de pilotes Web.

J'ai eu cette erreur Erreur : Impossible de trouver le module 'number-is-nan' alors que le module existe réellement. Cela était dû à une mauvaise installation/incomplète de Node.js.

Pour Windows, comme le suggèrent d'autres réponses, vous avez besoin d'une installation propre de Node :

  • Désinstaller Node.js
  • Supprimez les deux dossiers npm et npm_cache dans C:UsersuserAppDataRoaming
  • Redémarrez Windows et installez Node.js
  • Exécutez npm init ou ( npm init --yes pour la configuration par défaut)
  • Définissez la variable d'environnement Windows pour NODE_PATH . Ce chemin est l'endroit où vos packages sont installés. C'est probablement quelque chose comme NODE_PATH = C:Usersuser ode_modules ou C:UsersuserAppDataRoaming pm ode_modules
  • Démarrez une nouvelle console cmd et npm devrait fonctionner correctement

Essayez les derniers points avant de réinstaller Node.js, cela pourrait vous faire gagner du temps et éviter de réinstaller tous vos packages.

Pour les utilisateurs Mac, il est préférable d'utiliser l'installation manuelle :

  1. Sauvegardez votre ordinateur avant de commencer.

  2. Créez un répertoire pour les installations globales :

    mkdir

/.profile et ajoutez cette ligne :

exporter CHEMIN=

Je viens de rencontrer ce problème du module axios. Ensuite, j'ai essayé ceci: exécutez rm -rf node_modules et fil . Et il fonctionne.

J'ai eu le même problème sur l'un des serveurs de test exécutant Ubuntu sous root . Ensuite, créez un nouvel utilisateur en utilisant useradd -m myuser et installez tout (nvm, node, packages) en tant que myuser. Maintenant ça marche bien.

Dans mon cas, node et npm étaient dans le même chemin ( /usr/bin ). Le NODE_PATH était vide, donc le npm a placé les modules globaux dans /usr/lib/node_modules où require(. ) les trouve avec succès. La seule exception était le module npm, fourni avec le package nodejs. Comme j'utilise un système 64 bits, il a été placé dans /usr/lib64/node_modules . Ce n'est pas là que require(. ) recherche en cas de NODE_PATH vide et de nœud démarré à partir de /usr/bin . J'avais donc deux possibilités :

  • lier /usr/lib64/node_modules/npm à /usr/lib/node_modules/npm
  • déplacer les modules de /usr/lib/node_modules/* vers /usr/lib64/node_modules/ et définir NODE_PATH=/usr/lib64/node_modules

Les deux ont fonctionné. J'utilise OpenSUSE 42.1 et le package nodejs du référentiel de mises à jour. La version est la 4.4.5.

J'ai eu la même erreur que l'OP, mais en fouillant dans les journaux, je pouvais voir sh: node: command not found .

Il s'avère que le programme /usr/bin/node (lien symbolique) n'est plus installé avec apt install nodejs . Une fois le lien symbolique /usr/bin/node' vers nodejs , npm install -g @angular/cli` a réussi.

La bonne façon de l'installer sur debian est apt install nodejs-legacy .

J'ai dû ajouter C:UsersAppDataRoaming pm dans mes variables d'environnement, puis je pourrais installer des éléments.


Voir la vidéo: Export de plusieurs cartes via un atlas