2010-10-26 2 views
1

Nicklas, merci pour la réponse à ma question précédente ....ajouter des données à plusieurs enregistrements dans le tableau de PostGIS

Pardonne-moi mon ignorance et de demander ce qui peut se révéler des questions plutôt simples, mais les bases de données ne sont pas mon domaine d'expertise.

L'instruction select qui me donne le nombre d'accidents dans chaque percinct: SELECT P.precinct, count (C) nycpp P, nyccrash C OU _st_contains (P.the_geom, C.crashpoint) GROUP BY P.precinct COMMANDE PAR P.precinct;

Je veux juste ajouter le compte à ma table de nycpp la variable qui contiendra le nombre est NUMBER_OF accidents ....

Merci encore l'aide

Chris

Répondre

1

Hallo

Je suppose que l'enceinte est l'identifiant unique de nycpp, alors vous pouvez essayer:

update nycpp set number_of crashes=a.n_crashes from 
(SELECT P.precinct, count(C) as n_crashes FROM nycpp P, nyccrash C 
WHERE _st_contains(P.the_geom, C.crashpoint) 
GROUP BY P.precinct 
ORDER BY P.precinct) a 
where nycpp.precinct=a.precinct; 

Mais pourquoi utilisez-vous _st_contains au lieu de ST_Contains

la version underscore ne sera pas utiliser vos index spatiaux, mais ST_Contains fera une première constatation d'intersection des boîtes bouning parcours d'index avant de lancer la version theunderscore. Donc, vous voulez probablement absolument utiliser st_contains au lieu de contient. Si vos tables sont assez grandes pour avoir besoin d'index: Dans cette requête les index spatiaux sont importants sur les deux tables et un index sur la zone. N'oubliez pas d'analyser la table après avoir créé les index pour les faire fonctionner.

BTW, je pense que vous êtes censé marquer les questions comme si vous êtes satisfait de la réponse afin que les autres ne doivent pas essayer d'y répondre.

HTH Nicklas

+0

Nicklas ... Le professeur n'a pas mentionné qu'il y avait une différence entre _st_contains et ST_Contains ... Man !! Après avoir examiné vos réponses et lu sur UPDATE, j'ai été en mesure de terminer la configuration de ma base de données !! Merci pour ton aide!! J'ai vraiment beaucoup appris ... Maintenant sur l'affichage des données dans Openlayers – ChrisJ

Questions connexes