Suite

Erreur SRID dans le serveur de carte

Erreur SRID dans le serveur de carte


J'ai créé une topologie de réseau à l'aide de QGIS, je l'ai enregistrée en tant que shp, je l'ai importée dans PostGIS à l'aide de shp2pgsql et j'essaie maintenant de générer une partie de la géométrie à l'aide de mapserver.

Malheureusement, mapserver génère l'erreur suivante :

msDrawMap() : erreur de gestion de l'image. Échec du dessin du calque nommé « ROUTE ». msPostGISLayerWhichShapes() : erreur de requête. Erreur (ERREUR : Fonctionnement sur deux géométries avec des SRID différents ) exécutant la requête : sélectionnez encode(AsBinary(force_collection(force_2d("the_geom")),'NDR'),'hex') as geom,"gid" à partir de (SELECT buildingroute.the_geom,buildingroute.gid FROM routetest INNER JOIN buildingroute ON routetest.toid=buildingroute.gid ORDER BY routetest.id ASC) AS foo où the_geom && GeomFromText('POLYGON((-22000000 -11000000,-22000000 11000000,22000000 11000000,22000000 -11000000,-22000000 -11000000))',32709 )

Maintenant, je ne connais pas grand-chose au référencement spatial, mais j'ai copié les paramètres de QGIS et j'obtiens toujours ces erreurs. Voici ces paramètres dans QGIS :

Le fichier mapserver que j'ai créé se trouve sur http://pastie.org/2202322

Si quelqu'un peut me donner des conseils sur ce que je dois changer dans le fichier mapserver, je l'apprécierais… Je pense que je me suis trompé dans les paramètres de projection…

Merci!


Dans votre fichier de carte, essayez de modifier la projection de la carte pour lire à partir du fichier epsg. Votre projection cartographique actuelle n'est pas une description complète de la projection.

Alors plutôt que :

NOM DE LA CARTE ETAT DU TEST SUR IMAGECOLOR 255 255 255 TYPE D'IMAGE PROJECTION PNG "proj=utm" "ellps=WGS84" "datum=WGS84" FIN

Utilisation:

NOM DE LA CARTE ETAT DU TEST SUR IMAGECOLOR 255 255 255 TYPE D'IMAGE PROJECTION PNG "init=epsg:32709" FIN

Ou mettez dans la description complète de la projection de :

PROJECTION "proj=utm" "ellps=WGS84" "datum=WGS84" "zone=9" "units=m" "sud" "no_defs" FIN

Comme votre couche est dans la même projection que la carte, vous pouvez supprimer la projection de la définition de la couche - elle est supposée être dans la projection de la carte, sauf indication contraire.

PROJECTION "init=epsg:32709" FIN

Données géographiques ou projetées basées sur le SRID dans Oracle

Contexte: Mon application doit afficher le MBR des données spatiales (géométrie) stockées dans Oracle. Pour cela, j'utilise actuellement la fonction SDO_AGGR_MBR() d'Oracle, mais elle est très lente. En cherchant un peu, j'ai trouvé une fonction SDO_TUNE.EXTENT_OF() qui calcule également le MBR et est beaucoup plus rapide que SDO_AGGR_MBR. Il a cependant 2 problèmes. Il ne fonctionne qu'avec des données 2D dans les coordonnées de projection. Pour tirer parti des avantages de performance de EXTENT_OF, j'ai décidé de l'utiliser pour les données projetées et de revenir à SDO_AGGR_MBR pour les données géographiques.

Le problème: J'ai commencé par supposer que toutes les données avec un SRID entre 4000 et 5000 sont géographiques, mais ce n'est pas tout à fait vrai. J'ai trouvé une table/vue nommée MDSYS.CS_SRS qui stocke les informations du système de coordonnées.

Je prévois de trouver le SRID en utilisant la requête :

puis en utilisant ce SRID pour interroger MDSYS.CS_SRS pour savoir si les données sont géographiques ou projetées. Il a une colonne nommée WKTEXT dont les lignes commencent par PROJCS ou GEOGCS.

Je pourrais prototyper cela et cela semble fonctionner, mais je suis entièrement convaincu que c'est la bonne approche. La requête ci-dessus récupère le SRID de la première ligne des données. Je ne sais pas si le SRID peut être différent dans une seule colonne. Une autre hypothèse que je fais est le texte dans la colonne WKTEXT. J'aurai beaucoup de problèmes si ce n'est pas PROJCS/GEOGCS dans tous les cas et si les valeurs changent entre les différentes versions d'Oracle. En fait, pour le moment, je suppose simplement que PROJCS signifie projection CS et GEOGCS signifie CS géographique et je ne sais pas si c'est vrai.

Je me demande s'il existe un moyen plus simple de savoir si les données spatiales d'une base de données Oracle sont de projection ou géographiques.


Qu'est-ce qu'un système de référence spatiale?

Tous les objets géométriques (géométries en abrégé), qu'il s'agisse de points, de chaînes de lignes ou de polygones, existent dans un et un seul système de référence spatiale. Il en va de même pour les types de collection. Tous les éléments d'une collection de géométrie, multipoint, etc. doivent être dans le même SRS.

Prenons un point comme exemple. Un point a des coordonnées X et Y, mais ces coordonnées ne signifient rien à moins que nous ne sachions si ce sont les coordonnées sur la même surface. Par exemple, POINT(1 2) sur le terrain de football à l'extérieur de ma fenêtre n'est pas la même chose que POINT(1 2) sur une page de mon cahier. Le terrain de football et mon cahier sont deux SRS distincts, et les deux points ne sont pas identiques même si les coordonnées X et Y sont égales. Pour être les mêmes, ils doivent également être dans le même SRS.

Chaque SRS se voit attribuer un identifiant, l'identifiant du système de référence spatiale (SRID). Pour que les deux points correspondent, non seulement les coordonnées X et Y doivent correspondre, mais les SRID des deux points doivent également être identiques. En fait, MySQL et les autres SGBD refuseront d'effectuer tout type de calcul à moins que tous les paramètres ne soient dans le même SRS, c'est-à-dire à moins qu'ils n'aient le même SRID.

Le SRID fait partie de la valeur géométrique. Par exemple, un point avec des coordonnées X et Y se compose en réalité de trois valeurs : la valeur X, la valeur Y et la valeur SRID.

Pour trouver le SRID d'une géométrie, on peut utiliser la fonction ST_SRID :

Nous pouvons également définir le SRID d'une géométrie en utilisant ST_SRID(géométrie, nouveau srid) :

Il est important de noter que cela ne définit que le SRID de la géométrie. Il ne transforme aucune coordonnée.

Nous pouvons également spécifier le SRID lors de la création de la géométrie :

Par défaut, si nous ne spécifions pas de SRID, MySQL créera des géométries dans le SRID 0. SRID 0 est la notion de MySQL d'un plan catésien abstrait, sans unité, infini. Alors que tous les autres SRS font référence à une surface et définissent des unités pour les axes, le SRID 0 ne le fait pas.


Hfrhyu

Pourquoi le feu ne peut-il pas faire de mal à Daenerys mais à Jon Snow dans la saison 1 ?

Que faut-il savoir sur la logique des termes avant d'étudier la logique propositionnelle et des prédicats ?

Pourquoi y a-t-il si peu de soutien pour rejoindre l'AELE au parlement britannique ?

geoserver.catalog.FailedRequestError: J'ai essayé de faire une demande GET à http://localhost:8080/geoserver/workspaces.xml mais j'ai obtenu un code d'état 404

En tant que double citoyen, mon passeport américain expirera un jour après avoir voyagé aux États-Unis. Est-ce que ça va marcher?

Restreindre le type d'objet pour la méthode get dans java HashMap

Le principal effet lavant du savon vient-il de la mousse ?

Obtenir des représentations du groupe de Lie à partir des représentations de son algèbre de Lie

Pourquoi les sondes actuelles sont-elles si chères ?

Les satellites artificiels devraient-ils comporter un « attrape-vaches » intelligent inversé ?

Puis-je couper les cheveux d'un korred invoqué avec une lame en matériau précieux pour récolter ce matériau du korred ?

Pointer les problèmes sans proposer de solutions

Quel hélicoptère a le plus de pales de rotor ?

Les ondes gravitationnelles peuvent-elles traverser un trou noir ?

Courte histoire sur les astronautes fertilisant le sol avec leur propre corps

Existe-t-il un “inverse” canonique de l'abélianisation ?

Une inégalité de type isopérimétrique à l'intérieur d'un cube

Mélange aléatoire du corps tous les soirs – pouvons-nous toujours fonctionner ?

Comment faire un animal qui ne puisse se reproduire que pendant un certain nombre de générations ?

Obtenir des données de l'API Esri ArcGIS MapServer

Unicorn Meta Zoo #1 : Pourquoi un autre podcast ?Problèmes avec l'API JavaScript ESRICharger une couche à partir d'ArcGIS Server MapServerTélécharger le jeu de données à partir du service REST ArcGISà propos de la sécurité de l'authentification basée sur les jetons errorQuery ArcGIS Server Map Service avec 3857 SRID?Paramètres pour ArcGIS REST “…/MapServer?f=jsapi”?Impossible de charger MapService à partir d'ArcGIS Server dans l'API JavascriptUtilisation de l'API ArcGIS pour JavaScript ?

J'essaie d'obtenir une liste des tremblements de terre récents, avec latitude et longitude à partir de cette API : https://apps.pdc.org/msf/rest/services/global/pdc_active_hazards/MapServer/6

Je ne peux pas compter sur une bibliothèque côté serveur car je dois utiliser uniquement JavaScript dans une page HTML.

Mon problème est que je ne trouve pas la liste des événements parcourant l'API

J'essaie d'obtenir une liste des tremblements de terre récents, avec latitude et longitude à partir de cette API : https://apps.pdc.org/msf/rest/services/global/pdc_active_hazards/MapServer/6

Je ne peux pas compter sur une bibliothèque côté serveur car je dois utiliser uniquement JavaScript dans une page HTML.

Mon problème est que je ne trouve pas la liste des événements parcourant l'API

J'essaie d'obtenir une liste des tremblements de terre récents, avec latitude et longitude à partir de cette API : https://apps.pdc.org/msf/rest/services/global/pdc_active_hazards/MapServer/6

Je ne peux pas compter sur une bibliothèque côté serveur car je dois utiliser uniquement JavaScript dans une page HTML.

Mon problème est que je ne trouve pas la liste des événements parcourant l'API

J'essaie d'obtenir une liste des tremblements de terre récents, avec latitude et longitude à partir de cette API : https://apps.pdc.org/msf/rest/services/global/pdc_active_hazards/MapServer/6

Je ne peux pas compter sur une bibliothèque côté serveur car je dois utiliser uniquement JavaScript dans une page HTML.

Mon problème est que je ne trouve pas la liste des événements parcourant l'API


6 réponses 6

Pour développer la réponse de la synecdoque, le SRID est parfois appelé code "EPSG". Le code SRID/EPSG est un raccourci de facto pour les représentations Well-Known-Text des projections.

Vous pouvez effectuer une recherche rapide sur la table SRID pour voir si vous pouvez trouver une correspondance exacte ou similaire :
SELECTIONNER srid, srtext, proj4text FROM spatial_ref_sys O srtext ILIKE '%BLAH%'

Vous pouvez également rechercher sur spatialreference.org ce genre de choses. L'outil de recherche est primitif, vous devrez donc peut-être utiliser une recherche Google et spécifier le site, mais tous les résultats vous montreront le contenu ESRI PRJ, PostGIS SQL INSERT et un tas d'autres représentations.

Prj2EPSG est un petit site Web destiné exactement à ce problème, collez le contenu de PRJ et fait de son mieux pour trouver un EPSG correspondant. Ils ont également une API de service Web. Ce n'est pas une science exacte. Ils semblent utiliser Lucene et la base de données EPSG pour effectuer des recherches de texte pour les correspondances.

Les données semblent être NAD83, qui a un SRID de 4269. Votre base de données PostGIS a une table spatial_ref_sys qui est la table de recherche SRID.

Si les données se ressemblent avec un SRID de 4269 (NAD83) et 4326 (WGS84), alors il y a quelque chose qui ne va pas.

Allez télécharger les utilitaires GDAL, les utilitaires ogrinfo (qui crachent les informations de projection) et ogr2ogr sont inestimables.

James a déjà donné un lien vers spatialreference.org. Cela aide à trouver des informations de référence spatiale. Je suppose que vous avez chargé le spatial_ref_sys.sql lorsque vous avez préparé votre instance postgis.

Et pour être honnête, je ne pense pas que le problème soit du côté de PostGIS.

Je conserve généralement mes données dans différents SRID dans ma base de données PostGIS. Cependant, j'ai toujours besoin pour projeter sur la sortie SRS. Vous montrez des tuiles pré-rendues OpenStreetMap, et je parie qu'elles ont été dessinées à l'aide du SRID 900913 (la projection Mercator modifiée de Google Map que tout le monde utilise maintenant pour rendre).

Ma recommandation pour vous est :

1- Définissez la bonne projection dans le code OpenLayers qui correspond aux tuiles que vous lisez.

2.- Conservez les données dans la base de données dans le SRID de votre choix (tant qu'il est correct bien sûr).

3.- Assurez-vous que le serveur que vous utilisez pour générer les images à partir de vos données (ArcGIS Server, Mapserver, GeoServer ou autre) est reprojeté sur ce même SRS.


Index géographiques dans InnoDB

L'une des grandes fonctionnalités de MySQL 8.0 est la prise en charge géographique. MySQL dispose désormais d'un catalogue de systèmes de référence spatiale (SRS), dont près de 500 sont géographiques. La plupart des fonctions prennent également en charge les calculs géographiques. Et les index ?

MySQL 8.0 est livré avec des index spatiaux InnoDB pour les données géographiques. Étant donné que les calculs sont différents pour les données cartésiennes et géographiques, celles-ci ne peuvent pas être mélangées dans le même index. En fait, cela n'a pas de sens d'indexer des données dans plusieurs SRS dans le même index. Pour cette raison, MySQL a été étendu pour prendre en charge les restrictions sur les SRID dans les définitions de colonnes de géométrie.


Élément TinyOWS¶

TinyOWS est l'élément racine. Il est obligatoire et doit contenir des informations système sur le service lui-même. Certaines options de service global peuvent également être activées ou désactivées à ce niveau.

URL où se trouve le service, par exemple : http://127.0.0.1/cgi-bin/tinyows

Chemin où se trouve le répertoire du schéma TinyOWS, par exemple : /usr/local/tinyows/schema/

Chemin où TinyOWS enregistre les requêtes d'entrée. Exemple : /var/log/tinyows.log . Ce fichier doit être accessible en écriture à l'utilisateur propriétaire du processus TinyOWS.

Valeur du champ de bits pour indiquer ce qu'il faut consigner : 1 : ERROR, 2 : EVENT, 4 : HTTP QUERY, 8 : SQL. ex : 15 pour tout enregistrer.

Indiquez combien de chiffres de précision décimale lorsque les coordonnées sont exprimées en latitude/longitude.

Indiquez le nombre de chiffres de précision décimale à utiliser lorsque les coordonnées sont projetées (donc unité de mètre).

Indicateur pour indiquer si le cadre de délimitation doit être calculé pour la sortie WFS GML GetFeature. C'est obligatoire dans la spécification WFS. Mais comme cela prend du temps il peut être intéressant de pouvoir le désactiver.

Drapeau pour indiquer si TinyOWS doit utiliser estimate_extent (plus rapide mais légèrement moins précis).

Indicateur pour indiquer si les données d'entrée doivent être vérifiées par rapport au schéma avant d'être exécutées. Attention, la validation de schéma est un élément important de la sécurité. Désactivez cet attribut à vos risques et périls.

Indicateur pour indiquer si la validation de la géométrie OGC SFS 1.1 doit être effectuée avant d'exécuter une transaction.

Encodage de sortie. D'autres valeurs pourraient être ISO-8859-1 par exemple. Aucune conversion d'encodage n'est effectuée sur les données cet attribut est déclaratif.

Indicateur pour indiquer si TinyOWS doit exposer PK dans le schéma (et donc les exiger dans la requête de transaction).

Version de chaîne pour indiquer la version par défaut de WFS, 1.0.0 ou 1.1.0 par exemple.

Élément de limites¶

L'élément Limits fournit un maximum pour la sortie du serveur. Cela peut aider à empêcher une attaque par déni de service ou une requête utilisateur anormalement volumineuse de faire planter votre serveur. Cet élément est facultatif.

À utiliser pour définir le nombre maximal de fonctionnalités renvoyées au client WFS, sur demande GetFeature

Bbox de délimitation géographique, utilisée pour indiquer l'étendue maximale : Est, Ouest, Nord, Sud


Stockage d'entités géographiques à l'aide de données spatiales

Les données spatiales, comme expliqué par la référence MySQL, sont des données géométriques définies comme "a point ou un agrégat de points" représentant n'importe quoi dans le monde qui a un emplacement.

L'Open Geospatial Consortium (OGC) publie un ensemble de normes sous le label Geospatial Information and Standards (OpenGIS). Le modèle géométrique OpenGIS définit différents types de géométrie pour représenter les données spatiales.

Le différent les types de géométrie servent de base abstraite pour modéliser des données spatiales. Au sein d'une base de données spatiale, nous rencontrons en outre un certain nombre de concepts techniques clés :

  • Fonctions géométriques pour la manipulation des données spatiales et la conversion entre les représentations textuelles et internes.
  • Fonctions géométriques pour le calcul des relations spatiales entre différentes entités géographiques.
  • Indexation spatiale pour des temps d'accès améliorés aux colonnes spatiales.

Tous ces éléments servent à modéliser, traiter et comparer la géométrie d'entités géographiques.

Caractéristiques géographiques, une définition

Les caractéristiques géographiques décrivent entités qui ont un emplacement physique dans le monde réel. Selon la référence MySQL, une entité géographique peut être :

  • Une entité. Par exemple, une montagne, un étang, une ville.
  • Un espace. Par exemple, quartier de la ville, les tropiques.
  • Un emplacement définissable. Par exemple, un carrefour, comme un endroit particulier où deux rues se croisent.

Une caractéristique géographique existe dans le monde réel. Pour le décrire en termes de données spatiales, nous utilisons des objets géométriques. Le modèle géométrique OpenGIS définit deux hiérarchies de base d'objets géométriques.

Objets géométriques simples

Chaque objet géométrique simple définit un entité géographique unique:

Il existe également le type d'objet géométrique purement abstrait Geometry, qui peut représenter n'importe lequel des autres types de géométrie.

Objets géométriques composés

Chaque objet géométrique composé définit un ensemble de fonctionnalités. Les objets géométriques composés suivants sont disponibles selon les spécifications :

De manière analogue au type de géométrie abstrait Geometry, il existe un objet géométrique composé GeometryCollection correspondant. Cela peut représenter n'importe lequel des autres objets géométriques composés.

Systèmes de référence de coordonnées

Un objet géométrique est constitué de points dans l'espace. Pour ancrer une caractéristique géographique dans le monde réel, l'objet géométrique correspondant doit être lié à un système de référence de coordonnées connu. Un tel système est également communément appelé "système de référence spatiale". Ce n'est que lorsque les systèmes de coordonnées de référence de deux objets géométriques sont connus que nous pouvons raisonner sur les relations spatiales entre les deux objets.

SRID La description Unité
4326 Système de navigation par satellite GPS également utilisé pour les levés géodésiques militaires de l'OTAN. degrés
3857 Applications de cartographie et de visualisation Web : Google Maps, Open Street Maps, etc. mètres


PHP avec MySQL

MySQL avant la version 5.7 avait une prise en charge moins que stellaire des systèmes d'information géographique (SIG). Dans la version 5.7, les bibliothèques bidimensionnelles ou 2D Boost.Geometry ont été ajoutées. Et avec 8.0 sont venues les bibliothèques en trois dimensions ou 3D. Mais comment utiliser ces fonctionnalités ?

Je voudrais déclarer d'emblée que tout cela est nouveau pour moi et que c'est une tentative pour moi de documenter ce qu'il faut pour passer de zéro connaissance sur les SIG à quelque chose de mieux, espérons-le. Ce que je veux faire comme exercice est d'obtenir la distance entre deux lieux à partir de leur longitude et latitude, disons deux villes proches de chez moi. Alors, que devons-nous faire pour y parvenir ?

C'est en fait facile avec les fonctions fournies si nous avons la longitude et la latitude dans un format SRID 4326.

SELECT ST_Distance(
(SELECT loc FROM villes WHERE nom = 'Trondheim'),
(SELECT loc FROM villes WHERE nom = 'San Francisco')
) AS distance_en_mètres

D'accord, mais qu'est-ce qu'un format SRID 4326, où puis-je les obtenir et comment puis-je obtenir des données dans ce format ? Alors creusons plus profondément.

Je dois remercier Norvald Ryeng, responsable logiciel senior chez Oracle, pour cette requête que j'ai grossièrement transposée à partir de sa présentation MySQL GIS 8.0.

Les horloges de Harrison ont été les premières à être utilisées avec succès par la Royal Navy pour la navigation et peuvent être vues à l'Observatoire royal de Greenwich, au Royaume-Uni. Histoire très intéressante d'un homme à la pointe de sa technologie pour l'époque qui a dû surmonter tant de problèmes techniques et politiques.

Cours de géométrie : Contexte

Les données géométriques sont stockées dans un type de données de géométrie. Chaque géométrie a un type, un SRID, des coordonnées et d'autres attributs qui seront ignorés pour le moment. Et nous traiterons principalement de la classe POINT. Considérez un point comme un endroit sur une carte. Nous allons ignorer CURVE, LineString, Surface, Polygons, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface et MultiPolygon.

Les colonnes avec un type de données spatiales ont un attribut SRID pour indiquer le système de référence spatiale, ou SRS, utilisé pour stocker les données dans cette colonne. Il existe des SRS pour projeter un globe sur une surface plane (pensez aux cartes Mercator Projection du monde), non projetées représentant la longitude-latitude sur un ellipsoïde. Dans MySQL, une valeur SRID de 0 représente un plan cartésien plat infini sans unités affectées aux axes et est la valeur par défaut. Maintenant, un groupe nommé European Petroleum Survey Group a son propre système avec une valeur de 4326, que vous verrez plus tard.

Les coordonnées sont représentées sous forme de nombres à double précision (8 octets). Ces paires de nombres sont soit planes (plates) soit géodésiques (pensez à la surface de la Terre) et les mêmes valeurs de paires d'un système peuvent être très différentes de l'autre.

Dans la requête ci-dessus, nous avons utilisé une colonne nommée loc comme le point où les villes étaient situées. Vous pouvez voir les détails dans les excellentes diapositives de Norvald ou croire que ces requêtes ont été utilisées dans une colonne définie comme loc POINT SRID 4326 NON NULL pour le moment.

INSÉRER DANS les villes (nom, localité) VALEURS (
'Trondheim',
ST_GeomFromText('POINT(64.43048320193547 10.394972698312927)', 4326)
)
INSÉRER DANS les villes (nom, localité) VALEURS (
« San Francisco »,
ST_GeomFromText('POINT(37,272615666666667 -122,4425455194445)', 4326)
)

Maintenant, Wikipedia dit que Trondheim est à 63 degrés 25"47'N et 10 degrés 23"36'E, ce qui semble assez proche des chiffres ci-dessus. Et la cathédrale de Nidaros est répertoriée comme 63.4305 degrés de latitude nord et 10.3951 degrés de longitude est. Donc dire POINT('latitude' 'longitude') semble être ce que je recherche pour désigner un lieu.

Pour peler une autre couche d'oignon, regardons ce que fait ST_GeomFromText(). Les états ainsi que ST_GeomFromText 'Construit une valeur géométrique de n'importe quel type en utilisant sa représentation WKT et SRID.'

Bon, ça n'éclaircit rien. Alors, qu'est-ce que c'est qu'une représentation WKT ? Le manuel MySQL a une section sur Fonctions qui créent des valeurs géométriques à partir des valeurs WKT. La représentation Well-Known Text (WKT) des valeurs géométriques est conçue pour l'échange de données géométriques sous forme ASCII. La spécification OpenGIS fournit une grammaire Backus-Naur qui spécifie les règles de production formelles pour l'écriture des valeurs WKT. Alors 'POINT(15 20)' est un WKT.

Cela ne devient pas plus facile, n'est-ce pas ? Et nous ne savons toujours pas comment obtenir la distance entre deux ensembles de longitude et de latitude.

Obtenir des données

J'ai pu trouver une très belle liste de codes postaux américains (codes postaux) sur https://gist.github.com/erichurst/7882666/ et j'ai utilisé l'agent d'importation de données MySQL Workbench pour créer une table. Seulement trois colonnes ZIP pour le code postal, LAT pour la latitude et LNG pour la longitude. J'ai stocké le ZIP déposé en tant que TEXTE (les zéros non significatifs disparaissent si la colonne dans un INT) et les deux autres champs en tant que REAL. Et il y a 33 144 lignes de données.

Regardons la distance entre les charmantes villes de Justin et Trophy Club, toutes deux situées dans l'État du Texas. Justin est le code postal 76247 et Trophy Club est 76262

mysql> sélectionnez * à partir des données où ZIP (76247, 76262)
+-------+-----------+------------+
| ZIP | LAT | GNL | +-------+-----------+------------+
| 76247 | 33.099993 | -97.340499 |
| 76262 | 33.009335 | -97.22672 | +-------+-----------+------------+
2 rangées en série (0,03 sec)

Et essayons une requête.


mysql> sélectionner
st_distance(
st_geomfromtext('point(33.099993 -97.34099)',4326),
st_geomfromtext('point(33.009335 -97.22672)',4326)
) comme distance

+--------------------+

| distance |
+--------------------+
| 14662.554615102901 |
+--------------------+
1 rangée en série (0,00 sec)


Il y a donc environ 15 000 mètres entre les villes de Justin et Trophy Club. Et veuillez noter qu'il s'agit d'un modèle plat qui ne prend pas en compte la courbure de la terre. Mais nous pouvons l'obtenir assez facilement en utilisant ST_Distance_Sphere.

mysql> sélectionner st_distance_sphere(
st_geomfromtext('point(33.099993 -97.34099)',4326),
st_geomfromtext('point(33.009335 -97.22672)',4326))

comme sphère,
st_distance(

st_geomfromtext('point(33.099993 -97.34099)',4326),
st_geomfromtext('point(33.009335 -97.22672)',4326))

aussi plat
+--------------------+--------------------+
| sphère | plat |
+--------------------+--------------------+
| 14664.184945803418 | 14662.554615102901 |
+--------------------+--------------------+
1 rangée en série (0,00 sec)


Ainsi, même dans la zone assez plate du nord du Texas, il existe une certaine différence entre un monde sphérique et plat.


Comment les SRID sont utilisés dans ArcGIS

Le tableau suivant répertorie les SRID utilisés dans la base de données cible PostgreSQL , Oracle ou SQL Server lors de l'importation ou du collage de données spatiales. Les mots connus ou inconnus indiquent si la référence spatiale dans les données source peut être mappée à une référence spatiale existante dans la base de données cible.

Code EPSG connu avec une colonne ST_Geometry, SDEBINARY, PostGIS Geometry, PostGIS Geographic, SDO_Geometry, SQL Server Geometry ou SQL Server Geographic

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie. Cela n'est vrai que pour un système de coordonnées géographiques valide, car la géographie PostGIS ne prend pas en charge les systèmes de coordonnées projetées.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Code EPSG connu avec tolérance et/ou précision personnalisée avec une colonne ST_Geometry ou SDEBINARY

Un SRID supérieur à 300 000 est ajouté à la table système de la géodatabase.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie. Cela n'est vrai que pour un système de coordonnées géographiques valide, car la géographie PostGIS ne prend pas en charge les systèmes de coordonnées projetées.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie. Cela est vrai pour les systèmes de coordonnées géographiques uniquement, car les systèmes de coordonnées projetées ne sont pas pris en charge.

Système de coordonnées Esri connu avec une colonne ST_Geometry ou SDEBINARY

Le code Esri est utilisé pour l'ID et stocké avec la géométrie.

Une erreur est renvoyée et les données ne peuvent pas être importées.

Le code Esri est utilisé pour l'ID et stocké avec la géométrie.

Les systèmes de coordonnées Esri sont utilisés pour les systèmes de coordonnées projetées. Étant donné que les systèmes de coordonnées projetées ne peuvent pas être utilisés avec le type de géographie SQL Server, une erreur est renvoyée et les données ne peuvent pas être importées.

Système de coordonnées inconnu avec une colonne géométrique ST_Geometry, SDEBINARY, PostGIS, SDO_Geometry ou SQL Server

Un SRID supérieur à 300 000 est ajouté à la table système de la géodatabase.

Une erreur est renvoyée et les données ne peuvent pas être importées.

Une erreur est renvoyée et les données ne peuvent pas être importées.

Système de coordonnées Oracle personnalisé avec une colonne SDO_Geometry

Un SRID supérieur à 300 000 est ajouté à la table système de la géodatabase.

Une erreur est renvoyée et les données ne peuvent pas être importées.

L'ID Oracle personnalisé est utilisé s'il est défini dans la source. S'il n'est pas défini, le SRID est défini sur null dans la base de données cible.

Une erreur est renvoyée et les données ne peuvent pas être importées.

Système de coordonnées personnalisé avec une colonne géométrique PostGIS

Un SRID supérieur à 300 000 est ajouté à la table système de la géodatabase.

L'ID PostGIS personnalisé est utilisé, s'il est défini dans la source. S'il n'est pas défini, une erreur est renvoyée et les données ne peuvent pas être importées.

L'ID PostGIS personnalisé est utilisé, s'il est défini dans la source. S'il n'est pas défini, l'ID est défini sur –1 dans la base de données cible.

Une erreur est renvoyée et les données ne peuvent pas être importées.

Lors du collage ou de l'importation de données dans une base de données Db2 ou Informix, ArcGIS vérifie également la table de références spatiales pour une correspondance si aucune n'est trouvée, un nouvel enregistrement avec les nouvelles informations est ajouté à la table de références spatiales. Consultez votre documentation IBM pour plus d'informations sur les ID utilisés.


Comment les SRID sont utilisés dans ArcGIS

Le tableau suivant répertorie les SRID utilisés dans la base de données cible PostgreSQL, Oracle, SQL Server ou Netezza lors de l'importation ou du collage de données spatiales. Les mots connus ou inconnus indiquent si la référence spatiale dans les données source peut être mappée à une référence spatiale existante dans la base de données cible.

Code EPSG connu avec une colonne spatiale ST_Geometry, SDEBINARY, PostGIS Geometry, SDO_Geometry, SQL Server Geometry, SQL Server Geography ou Netezza

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Code EPSG connu avec tolérance et/ou précision personnalisée avec une colonne spatiale ST_Geometry, SDEBINARY ou Netezza

Un SRID supérieur à 300 000 est ajouté à la table système ArcSDE.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Le code EPSG est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Système de coordonnées Esri connu avec une colonne spatiale ST_Geometry, SDEBINARY ou Netezza

Le code Esri est utilisé pour l'ID et stocké avec la géométrie.

Le code Esri est utilisé pour l'ID et stocké avec la géométrie.

Les systèmes de coordonnées Esri sont utilisés pour les systèmes de coordonnées projetées. Étant donné que les systèmes de coordonnées projetées ne peuvent pas être utilisés avec le type Géographie SQL Server, une erreur est renvoyée et les données ne peuvent pas être importées.

Le code Esri est utilisé comme ID de référence spatiale et stocké avec la géométrie.

Système de coordonnées inconnu avec une colonne spatiale ST_Geometry, SDEBINARY, PostGIS Geometry, SDO_Geometry, SQL Server Geometry ou Netezza

Un SRID supérieur à 300 000 est ajouté à la table système ArcSDE.

Une erreur est renvoyée et les données ne peuvent pas être importées.

Système de coordonnées Oracle personnalisé avec une colonne SDO_Geometry

Un SRID supérieur à 300 000 est ajouté à la table système ArcSDE.

L'ID Oracle personnalisé est utilisé s'il est défini dans la source. S'il n'est pas défini, le SRID est défini sur null dans la base de données cible.

Une erreur est renvoyée et les données ne peuvent pas être importées.

Une erreur est renvoyée et les données ne peuvent pas être importées.

Système de coordonnées personnalisé avec une colonne PostGIS Geometry

Un SRID supérieur à 300 000 est ajouté à la table système ArcSDE.

L'ID PostGIS personnalisé est utilisé, s'il est défini dans la source. S'il n'est pas défini, l'ID est défini sur –1 dans la base de données cible.

Une erreur est renvoyée et les données ne peuvent pas être importées.

Une erreur est renvoyée et les données ne peuvent pas être importées.

Lors du collage ou de l'importation de données dans une base de données DB2 ou Informix, ArcGIS vérifie également la table de références spatiales pour une correspondance si aucune n'est trouvée, un nouvel enregistrement avec les nouvelles informations est ajouté à la table de références spatiales. Consultez votre documentation IBM pour plus d'informations sur les ID utilisés.


Voir la vidéo: How to troubleshoot DNS issues in an Active Directory domain controller