คำถามติดแท็ก python

Python เป็นภาษาโปรแกรมโอเพ่นซอร์สที่ใช้ในโปรแกรม GIS จำนวนมาก

1
วิธีการกลับจุดยอดการสั่งซื้อในรูปหลายเหลี่ยม?
ฉันทำงานกับการเชื่อมต่อเชิงพื้นที่ของ Oracle ใน QGIS ซึ่งฉันกำลังเข้าถึงและแก้ไขเลเยอร์เวกเตอร์ ฉันพบว่าเมื่อฉันแก้ไขรูปทรงเรขาคณิตการจัดลำดับจุดสุดยอดจะถูกกลับรายการ (เป็นตามเข็มนาฬิกาในวงแหวนด้านนอก) ซึ่งจะถูกตั้งค่าสถานะเป็นข้อผิดพลาดใน oracle ฉันกำลังใช้ฟังก์ชั่นการรวมกัน ( http://www.qgis.org/api/classQgsGeometry.html ) ท่ามกลางคนอื่น ๆ ในเครื่องมือแก้ไขของฉันเอง แต่ฉันสังเกตว่าสิ่งนี้เกิดขึ้นกับเครื่องมือรูปหลายเหลี่ยมผสานดั้งเดิม ฉันคิดว่าการสั่งซื้อตามเข็มนาฬิกานี้เป็นค่าเริ่มต้นใน QGIS ตามลิงค์นี้: https://hub.qgis.org/issues/6283และสงสัยว่ามีวิธีที่จะย้อนกลับเป็นทวนเข็มนาฬิกาหรือไม่? (ควรมีงูหลาม)

1
มีวิธีการตรวจสอบว่าข้อมูลมีการกำหนดเวอร์ชันโดยใช้ตัวเลือก“ ย้ายการแก้ไขไปยังฐาน” หรือไม่?
มีวิธีการตรวจสอบว่าข้อมูลมีการกำหนดเวอร์ชันโดยใช้ตัวเลือก "ย้ายการแก้ไขไปยังฐาน" หรือไม่? เด่นกว่าผ่าน ArcGIS เองหรือใช้ Python แต่วิธีใดก็ได้ แก้ไข มีวิธีดูว่ากล่องนี้ถูกตรวจสอบเมื่อรุ่นข้อมูล:

3
ข้อผิดพลาดหลามกับปลั๊กอิน OpenLayers QGIS 2
ฉันใช้ QGIS มาระยะหนึ่งแล้ว แต่เนื่องจากใช้ QGIS 2 ปลั๊กอิน OpenLayers ไม่สามารถใช้กับพีซีที่บ้านได้ อย่างไรก็ตามฉันได้ติดตั้งเวอร์ชันเดียวกันในที่ทำงานของฉันด้วยความสำเร็จ ฉันได้ดูโพสต์อื่น ๆ และพยายามตั้งค่า CRS และอนุญาตทันที แต่มันไม่ได้ผลสำหรับฉัน ใครสามารถให้คำแนะนำอื่น ๆ ได้บ้าง? ฉันได้ลองถอนการติดตั้ง / ติดตั้งอีกครั้ง รหัสข้อผิดพลาดด้านล่าง: เกิดข้อผิดพลาดขณะดำเนินการรหัส Python: Traceback (การโทรล่าสุดครั้งล่าสุด): ไฟล์ "C: \ Users \ Lee / .qgis2 / python / plugins \ openlayers_plugin \ openlayers_plugin.py", บรรทัดที่ 48 ใน addLayer ด้วยตนเอง plugin.addLayer (ตัวเอง) …

2
มีตัวเลือกหลามเพื่อ“ เข้าร่วมคุณสมบัติตามตำแหน่ง” หรือไม่?
ฉันกำลังพยายามใช้งานฟังก์ชั่นjoin attributes by locationที่พบในเมนู QGIS Vector> เครื่องมือจัดการข้อมูล ฉันกำลังหาตัวเลือก python ของโอเพ่นซอร์สสำหรับสิ่งนี้ ฉันรู้ว่า arcpy มีspatial joinฟังก์ชัน แต่ฉันพยายามทำสิ่งนี้นอกสภาพแวดล้อม ESRI

2
บริการรถบัสป้อน
ก่อนอื่นมีพื้นหลังเล็กน้อย ฉันทำงานให้กับ บริษัท ขนส่งในภูมิภาค เรากำลังทำการ "วินิจฉัย" เกี่ยวกับบริการรถบัสของเรา เราต้องการทราบว่าสัดส่วนของผู้ใช้ของเราสามารถขึ้นรถบัสเพื่อไปที่สถานีรถไฟแทนที่จะนั่งรถของพวกเขาได้ ผ่านไปหลายครั้ง แต่ตอนนี้เราใช้ gtfs เป็นแหล่งข้อมูลหลักของเราดังนั้นเราจึงต้องทบทวนวิธีการของเราใหม่ หากต้องการได้รับการพิจารณาให้เป็น "การให้อาหาร" รถไฟเส้นทางรถเมล์ต้องหยุดภายในระยะทางที่กำหนดจากสถานีรถไฟ (บัฟเฟอร์สีแดง) การซิงโครไนซ์กับบริการรถไฟนั้นสำคัญมากเพราะถ้ารถบัสของคุณมาถึงสถานีรถไฟครึ่งชั่วโมงก่อนรถไฟเวลาที่รอจะนานเกินไปและคุณจะต้องนอนอีก 20 นาทีในตอนเช้าและขึ้นรถของคุณ สมมติว่าคุณใช้สาย A (สีฟ้า) ที่ป้าย 12 คุณก้าวออกจากรถที่ป้าย 13 รถบัสมาถึงที่ป้าย 13 ซึ่งเป็นป้ายหยุดเพื่อไปที่สถานีรถไฟ # 1 5 นาทีก่อนรถไฟ นั่นเป็นสิ่งที่ดีมาก นั่นหมายความว่าทุกคนที่ใช้เส้นทางรถเมล์ที่ป้าย 1-13 รวมถึง 5 นาทีก่อนรถไฟ จากนั้นรถไฟจะผ่านบริเวณที่มีประชากรหนาแน่นมากโดยมีโรงเรียนและทางแยกถูกบังคับให้ลดความเร็วลงมาก ในขณะเดียวกันรถบัสจะไปรับผู้โดยสารที่ป้ายที่ 14 ถึง 17 และมาถึงที่สถานีรถไฟ # 2 10 นาทีก่อนรถไฟ ผู้โดยสารนั่งรถบัสที่ป้าย …

1
Python พร้อม GDAL และ PostGIS แทน ArcGIS
ไม่กี่ครั้งที่ผ่านมาฉันทำงานกับภาพถ่ายดาวเทียมพื้นผิวอุณหภูมิพื้นผิวประจำวันของพื้นที่ที่มีขนาดของอลาสก้า ฉันต้องประมวลผลภาพประมาณหนึ่งพันภาพ ฉันดาวน์โหลดพวกมัน, โมเสส, ฉาย, ตัดกับขอบเขตของไฟล์, แยกออกมาจากแรสเตอร์ที่ถูกตัดและวางแผนวิธีในกราฟอุณหภูมิเวลา กราฟเวลาอุณหภูมิคือผลลัพธ์สุดท้าย ฉันทำสิ่งเหล่านี้ทั้งหมดใน ArcGIS และแม้ว่าฉันจะสร้างสคริปต์ ArcPy ซึ่งช่วยให้การทำงานเป็นส่วนหนึ่งของงานโดยอัตโนมัติ ตอนนี้ฉันต้องการสร้างโปรแกรมที่ทำสิ่งเดียวกัน แต่ 100% โดยอัตโนมัติ ฉันแค่ต้องการที่จะป้อนค่าพิกัดของมุมเข้าไปในโปรแกรมเพื่อกำหนดพื้นที่ที่น่าสนใจและรับเอาต์พุตสุดท้ายที่สร้างขึ้นซึ่งเป็นกราฟอุณหภูมิ - เวลา คุณคิดว่าสิ่งนี้เป็นไปได้หรือไม่ที่ใช้ Python กับ GDAL ไลบรารี่และ PostGIS เป็นแหล่งข้อมูลแรสเตอร์?

3
ไม่มีโมดูล ogr แม้จะติดตั้ง gdal แล้วหรือยัง?
ฉันกำลังพยายามใช้ส่วนประกอบการแมปของแพ็คเกจPySAL ที่ยอดเยี่ยมแต่ด้วยเหตุผลบางอย่างฉันไม่มีโมดูลogr ผมก็รู้สึกว่ามันมาพร้อมกับGDAL ฉันพลาดอะไรไปรึเปล่า? import gdal import ogr --------------------------------------------------------------------------- ImportError Traceback (most recent call last) <ipython-input-29-ef9eb3418665> in <module>() ----> 1 import gdal 2 import ogr ImportError: No module named gdal UPDATE: ฉันกลัวว่าจะรีบขึ้นเครื่องบินฉันจึงไม่สามารถรวมข้อมูลที่สำคัญบางอย่างได้ ฉันติดตั้ง python-gdal แล้วโดยใช้วิธี apt-get ตามที่อธิบายไว้ที่นี่เพราะฉันต้องการปล่อยโอกาสให้น้อย เป็นไปได้ไหมที่ผู้จัดการแพ็คเกจไม่ได้ติดตั้งอย่างถูกต้อง? choct155@choct155-Q550LF:~$ sudo apt-get install python-gdal Reading package lists... Done Building dependency tree …
9 python  gdal  ogr 

3
วิธีใช้โปรแกรมแต่งแผนที่ในสคริปต์แบบสแตนด์อโลน
ฉันกำลังพยายามติดตามส่วนการแสดงแผนที่จากตำรา pyqgis แต่ฉันต้องการทดสอบนี้เป็นแอปพลิเคชันแบบสแตนด์อโลน ฉันสามารถทำส่วนแรกโดยใช้การเรนเดอร์แบบง่าย ๆ แต่ฉันก็ยังคงทำตัวอย่างที่สองโดยใช้ตัวแต่งแผนที่เป็นสคริปต์แบบสแตนด์อโลน นี่เป็นตัวอย่างสำหรับบิตที่ฉันสามารถทำได้: from qgis.core import * from qgis.gui import * from PyQt4.QtCore import * from PyQt4.QtGui import * from PyQt4.QtXml import * QgsApplication.setPrefixPath("/usr/", True) QgsApplication.initQgis() fh = open("eg.csv","w") fh.write(""" x,y,name 153.0278, -27.4679, Brisbane 144.2500, -23.4500, Longreach 145.7753, -16.9256, Cairns """) fh.close() uri = "eg.csv?delimiter=%s&xField=%s&yField=%s" % …
9 qgis  python  pyqgis 

3
การแปลง shapefile เป็น SVG เป็นการเก็บข้อมูลภายในหรือไม่
ฉันใหม่สำหรับ GIS ฉันพบบทเรียนเกี่ยวกับวิธีการสร้างคอรัสโดยใช้เครื่องมือ Python ฉันต้องการติดตาม แต่ใช้ข้อมูลและแผนที่ของตัวเอง อย่างไรก็ตามการสอนใช้ไฟล์ SVG ของ US map และฉันจำเป็นต้องใช้แผนที่รหัสไปรษณีย์ของ CA แผนที่เดียวที่ฉันพบใน shapefile จาก US Census ฉันได้ลองใช้ kartograph.py เพื่อแปลงเป็น SVG แต่สูญเสียรหัสไปรษณีย์ในไฟล์เมื่อฉันทำเช่นนั้น ฉันจะแปลงไฟล์เป็น SVG และเก็บแต่ละเส้นทาง id'ed เป็นรหัสไปรษณีย์ที่เหมาะสม ฉันพยายามที่จะทำตามวิธีที่จะทำให้สหรัฐมณฑลใจแผนที่การใช้เครื่องมือฟรีกวดวิชา นั่นควรให้ความคิดแก่คุณเกี่ยวกับสิ่งที่ฉันพยายามทำมีเพียงฉันเท่านั้นที่ไม่มีแผนที่ที่จัดรูปแบบ SVG ฉันเห็นการอ้างอิงถึงโปรแกรมจาวาสคริปต์ ฉันไม่เคยใช้ Javascript แต่คิดว่าฉันสามารถใช้สิ่งที่ง่าย

6
วิธีตรวจสอบโดยทางโปรแกรมว่าจำนวนรูปร่าง = จำนวนระเบียนในตาราง?
ฉันมีรูปร่างหนึ่งไฟล์ประมาณ 1,000 รูปที่เสียหาย (ดูข้อความแสดงข้อผิดพลาดที่แนบมา) ShapeFiles ถูกสร้างขึ้นจาก eCognition Developer 8 มีเครื่องมือสคริปต์ที่ดูเหมือนว่าจะซ่อม Shapefile เมื่อมันถูกระบุว่าเสียหาย แก้ไข: ฉันต้องการสร้างสคริปต์อย่างรวดเร็วเพื่อวนลูปไฟล์ทั้งหมดและตรวจสอบว่าจำนวนรูปร่างตรงกับเรคคอร์ดตารางหรือไม่ ฉันสามารถนับบันทึกตารางโดยใช้สิ่งต่อไปนี้: # Name: fcCount.py # Purpose: calculate the number of features in a featureclass # Import system modules import arcpy from arcpy import env env.workspace = "C:/data" Sample = "MyShp.shp" result_dbf = int(arcpy.GetCount_management(Sample).getOutput(0)) print result_dbf ในที่สุดฉันต้องการสร้างการตรวจสอบตรรกะบางประเภทเช่น: …

4
ใช้ไลบรารี PROJ.4 เพื่อเปลี่ยนจากระบบพิกัดในท้องถิ่นเป็นระบบพิกัดทั่วโลกโดยใช้จุดควบคุมภาคพื้นดินหรือไม่?
ฉันมีคลาวด์พอยท์ซึ่งมีพิกัดที่เกี่ยวกับระบบพิกัดในพื้นที่ ฉันยังมีจุดควบคุมภาคพื้นดินพร้อมค่า GPS ฉันสามารถแปลงพิกัดท้องถิ่นเหล่านี้เป็นระบบพิกัดทั่วโลกโดยใช้ PROJ.4 หรือห้องสมุดอื่น ๆ ได้หรือไม่? รหัสใด ๆ ใน Python สำหรับปัญหาที่ระบุข้างต้นจะเป็นความช่วยเหลือที่ดี

1
ข้อดีและข้อเสียของการใช้ Ruby / Rails / RGeo หรือ Python / GeoDjango สำหรับ GIS บนเว็บ
เราอยู่ในขั้นตอนการสอบสวนการสร้าง GIS ทางเว็บ เรากำลังประเมินตัวเลือกสำหรับ ORM เพื่อใช้ในการนำเข้า / ส่งออกและการประมวลผลแบ็กเอนด์ของเราทั้งหมด จากการวิจัยของฉัน GeoDjango ดูเหมือนจะเป็นผู้ใหญ่มากขึ้น แต่ Rails / RGeo ดูเหมือนจะคิดออกมาดีและมีเหตุผลที่ครอบคลุม ใครบ้างมีประสบการณ์กับทั้งสองและสามารถแนะนำอย่างใดอย่างหนึ่ง?

1
ความเร็วของการแก้ไขคุณสมบัติใน QGIS จากปลั๊กอิน Python
ฉันกำลังพยายามแก้ไขค่าของคุณลักษณะสำหรับแต่ละคุณลักษณะในเลเยอร์โดยใช้ปลั๊กอิน QGIS Python ฉันพบว่าการทำสิ่งนี้นอกโหมดแก้ไขจะช้ากว่าขณะแก้ไข (แม้รวมถึงการแก้ไข) ดูรหัสด้านล่าง (บรรทัดที่เปลี่ยนได้ที่จุดเดียวกันในลูป) ความแตกต่างของความเร็วสำหรับชุดข้อมูลตัวอย่างของฉันคือ 2 วินาที (โหมดแก้ไข) และ 72 วินาที (ไม่ใช่โหมดแก้ไข) การปรับเปลี่ยนแอตทริบิวต์ในโหมดแก้ไข: layer.changeAttributeValue(feature.id(), 17, QtCore.QVariant(value)) การปรับเปลี่ยนแอตทริบิวต์นอกโหมดแก้ไข: layer.dataProvider().changeAttributeValues({ feature.id() : { 17 : QtCore.QVariant(value) } }) นี่เป็นพฤติกรรมที่คาดหวังหรือไม่? ฉันไม่ต้องการให้ผู้ใช้สามารถยกเลิกการเปลี่ยนแปลงได้ดังนั้นฉันไม่คิดว่าฉันต้องใช้โหมดแก้ไข แก้ไข 1:ดูรหัสเต็มด้านล่างโดยมีทั้งสองเวอร์ชันรวมไว้ (แต่ใส่ความเห็น) def run(self): try: # create spatial index of buffered layer index = QgsSpatialIndex() self.layer_buffered.select() for feature …
9 qgis  python  pyqgis 

4
การสร้าง shapefile รูปหลายเหลี่ยมแบบกริดด้วย Python หรือไม่
ฉันมีพิกัดต่อไปนี้ minx, maxx, miny ,maxy = 448262.080078, 450360.750122, 6262492.020081, 6262938.950073 ฉันต้องการสร้างตารางสี่เหลี่ยมขนาด 1 ม. โดยใช้ไพ ธ อน import math minx,maxx,miny,maxy = 448262.080078, 450360.750122, 6262492.020081, 6262938.950073 size = 1 def set_bbox(minx, maxx, miny, maxy, distx, disty): nx = int(math.ceil(abs(maxx - minx)/distx)) ny = int(math.ceil(abs(maxy - miny)/disty)) new_maxx = minx + (nx*distx) new_miny …

2
การโหลดแบตช์หลายไฟล์อัตโนมัติเป็น PostGIS?
ฉันมีไฟล์ GPX 50+ ที่ฉันต้องการ "batch load" ลงในฐานข้อมูล PostGIS ข้อมูล track_points ทั้งหมดจะถูกโหลดลงในตาราง "track_points" (ที่มีฟิลด์ GPS ทั่วไปเช่น lat, long, ระดับความสูง, เวลา ฯลฯ ) และข้อมูล track จะถูกโหลดลงในตารางเส้นรูปทรงเรขาคณิต "track" ที่คล้ายกันออกแบบอย่างเหมาะสม ฉันต้องการทำให้กระบวนการนี้เป็นแบบอัตโนมัติเพื่อที่ว่าเมื่อฉันได้ 50 ปีขึ้นไปฉันจะไม่ต้องป้อนข้อมูลลงในฐานข้อมูล ฉันชอบใช้ Python ในการเขียนสคริปต์กระบวนการเหล่านี้เป็นการส่วนตัว แต่ยินดีให้คำแนะนำใด ๆ กระบวนการคิดทั่วไปของฉันคือ: รับรายการไฟล์ GPX เพื่อดำเนินการ (ง่ายพอผ่านเครื่องมือ Python มาตรฐาน) วนรอบแต่ละไฟล์ GPX และแยก / แปลงข้อมูลที่จำเป็นในรูปแบบ PostGIS ใส่ข้อมูล GPS ลงใน …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.