Continuation de la dernière fois http://qiita.com/motokazu/items/aaa5970ab34044237cc7
La dernière fois, j'ai dessiné un cercle avec le rayon d'un point spécifique et j'en ai généré un, mais si vous souhaitez le générer uniquement dans une certaine zone, vous ne pouvez pas utiliser de cercle.
Utilisez donc le fichier Shape de National Land Numerical Information pour générer des points à Tokyo.
Après avoir ouvert la Page de téléchargement, sélectionnez JPGIS et sélectionnez "Zone administrative" -> "Tokyo", le dernier statut Sélectionnez 2015. Remplissez le questionnaire et téléchargez.
Essayez d'ouvrir le fichier de forme avec QGIS
Tokyo est affiché!
Utilisez ce fichier de forme pour créer un point à Tokyo. En tant qu'image traitée,
Lisez le fichier de forme et rendez-le utilisable Veuillez vous référer ici. http://stackoverflow.com/questions/7861196/check-if-a-geopoint-with-latitude-and-longitude-is-within-a-shapefile
Tout d'abord, installez et utilisez Utilisez fiona pour lire les fichiers Shape
$ pip install shapely
$ pip install fiona
Chargez la bibliothèque
# shape
import fiona
from shapely.geometry import Point,asShape
Extrayez le fichier de forme et vérifiez si les points indiqués par la latitude et la longitude sont dans le fichier de forme.
with fiona.open(shapefile) as fiona_collection:
shapefile_record = fiona_collection.next()
shape = asShape(shapefile_record['geometry'])
geolat = fake.geo_coordinate(center=centerlat , radius=latradius)
geolong = fake.geo_coordinate(center=centerlong, radius=longradius)
point = Point(geolong, geolat)
if shape.contains(point):
Si vous pensez que contient n'est pas du tout vrai ... parce que le fichier de forme est composé de plusieurs polygones et que fiona_collection.next () ne récupère qu'une seule partition ... j'en suis sûr.
En référence à cela, plusieurs polygones sont fusionnés. Cela aide beaucoup! https://sites.google.com/site/qgisnoiriguchi/vector01/09
Combinez en utilisant QGIS. Sélectionnez le menu "Vecteur" -> "Outil de calcul spatial" -> "Fusion"
Sélectionnez la forme à générer, OK
Est devenu un!
Essayez de générer des points à l'aide de ce fichier de forme Apparemment, le nombre de contenus qui sont True a changé.
Cliquez ici pour le code final https://gist.github.com/motokazu/a1cb634aa0d6726039bd
Exemple d'utilisation
$ python genpointsbygeo.my.py --shapefile Tokyo.shp --samples 100 --radius 50000
Recommended Posts