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

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

4
ภาษาที่ดีที่สุดในการเขียนโปรแกรมด้วย GDAL
ฉันจะเริ่มสร้างโปรแกรมเพื่อจัดการข้อมูลทางภูมิศาสตร์จากเซิร์ฟเวอร์ PostGIS และจะใช้ GDAL ตามประสบการณ์ของคุณด้วยภาษาที่ดีที่สุดในการเขียนโปรแกรมด้วยหรือไม่ ฉันสามารถเขียนโปรแกรมใน Perl และ Python ได้ แต่ต้องการทราบภาษาที่มีโค้ดเพิ่มเติมเพื่อนำมาใช้ใหม่ตัวอย่างไลบรารีและอื่น ๆ
20 python  postgis  gdal 

3
การปรับให้เรียบ / สอดแทรกแรสเตอร์ใน Python โดยใช้ GDAL?
ฉันกำลังพัฒนาใน Python และใช้ GDAL จาก OSGEO เพื่อจัดการและโต้ตอบกับ rasters และ shapefiles ฉันต้องการนำไฟล์รูปร่างที่มีคุณสมบัติจุดและสอดแทรกเข้าไปในพื้นผิวแบบแรสเตอร์ ตอนนี้ฉันกำลังใช้เมธอด 'RasterizeLayer' ซึ่งเบิร์นค่าจากฟีเจอร์จุดไปยังแรสเตอร์ (ซึ่งถูกตั้งค่าด้วยค่า nodata ทั้งหมด) แต่ทำให้พิกเซลที่ไม่มีการแตะทั้งหมดเป็นค่า 'โนดาต้า' ฉันจึงถูกทิ้งให้อยู่กับแรสเตอร์ประเภทหมากรุก สิ่งที่ฉันมีหลังจากใช้ RasterizeLayer: สิ่งที่ฉันต้องการสำหรับผลิตภัณฑ์ขั้นสุดท้าย: ฉันเชื่อว่าฟังก์ชั่นที่ฉันกำลังมองหาเรียกว่า 'Spline_sa ()' จากการนำเข้า arcgisscripting GDAL มีฟังก์ชั่นที่คล้ายกันหรือมีวิธีอื่นในการรับเอาต์พุตที่ต้องการหรือไม่?

6
มีเครื่องมือใดใน Python สำหรับทำการสร้างระยะทางวงกลม + สายที่ยอดเยี่ยม
ฉันต้องใช้ Python เพื่อสร้างระยะทางวงกลมที่ยอดเยี่ยม - ทั้งจำนวนและโดยเฉพาะอย่างยิ่ง 'เส้นโค้ง' บางชนิดที่ฉันสามารถใช้วาดในแผนที่ฝั่งไคลเอ็นต์ ฉันไม่สนใจเกี่ยวกับรูปแบบของเส้นโค้ง - ไม่ว่าจะเป็น WKT หรือชุดของพิกัด - แต่เพียงแค่ต้องการนำข้อมูลออกมา มีเครื่องมืออะไรบ้างที่นั่น? ฉันควรใช้อะไร

5
GeoPandas: ค้นหาจุดที่ใกล้ที่สุดในดาต้าเฟรมอื่น
ฉันมี 2 geodataframes: import geopandas as gpd from shapely.geometry import Point gpd1 = gpd.GeoDataFrame([['John',1,Point(1,1)],['Smith',1,Point(2,2)],['Soap',1,Point(0,2)]],columns=['Name','ID','geometry']) gpd2 = gpd.GeoDataFrame([['Work',Point(0,1.1)],['Shops',Point(2.5,2)],['Home',Point(1,1.1)]],columns=['Place','geometry']) และฉันต้องการค้นหาชื่อของจุดที่ใกล้ที่สุดใน gpd2 สำหรับแต่ละแถวใน gpd1: desired_output = Name ID geometry Nearest 0 John 1 POINT (1 1) Home 1 Smith 1 POINT (2 2) Shops 2 Soap 1 POINT (0 2) Work ฉันพยายามทำให้การทำงานนี้ใช้ฟังก์ชัน lambda: …

4
งูเหลือมกรอบการแมปเว็บใดที่จะใช้ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ฉันสนใจที่จะพัฒนาแอปพลิเคชันการทำแผนที่เว็บ ฉันค่อนข้างคุ้นเคยกับ Python และฉันกำลังมองหาโครงร่างของ Python ตัวเลือกของฉันคืออะไร? ข้อดีและข้อเสียของแต่ละตัวเลือกคืออะไร ฉันกำลังมองหาตัวเลือกง่ายๆตัวเลือกที่แสดงข้อมูลทางภูมิศาสตร์บนแผนที่และให้ผู้ใช้ใช้ "ข้อมูล" เพื่อรับรายละเอียดเพิ่มเติม ณ จุดนี้ฉันไม่ต้องการคำสั่งใด ๆ หรือฟังก์ชั่นแบบไดนามิก ฉันต้องการตัวเลือกที่มีเอกสารครบถ้วน

5
การค้นหาว่ารูปหลายเหลี่ยมสองจุดตัดกันใน Python หรือไม่
ฉันกำลังมองหาอัลกอริทึมการแก้ปัญหาระดับสูงหรือแม้แต่ห้องสมุดที่สามารถช่วยฉันพิจารณาว่ารูปหลายเหลี่ยมสองจุดตัดกันใน Python หรือไม่ ฉันมีจุดยอดของรูปหลายเหลี่ยมสองรูป (นี่คือรูปหลายเหลี่ยมส่วนเดียวที่ไม่มีรูใด ๆ ) ในสองอาร์เรย์ที่ต่างกัน รูปหลายเหลี่ยมเป็น 2D (เช่นพิกัด X และ Y) ฉันจะสร้างฟังก์ชั่นซึ่งจะคืนค่าบูลีนโดยระบุว่ารูปหลายเหลี่ยมสองรูปนี้ตัดกันหรือไม่ โปรดทราบว่าฉันไม่สามารถใช้arcpyหรือarcgisส่วนประกอบใด ๆในนี้ คุณสามารถแนะนำอัลกอริทึมหรือไลบรารีสำหรับทำสิ่งนี้ได้หรือไม่?

3
วิธีการติดตั้งไลบรารี่ของบุคคลที่สามสำหรับ QGIS บน Windows
ฉันจะใช้ห้องสมุดบุคคลที่สามในปลั๊กอิน QGIS บน Windows ได้อย่างไร ฉันได้พัฒนาปลั๊กอินที่ใช้ rasterio และ numpy สำหรับลูกค้า แต่เขามีปัญหาในการติดตั้ง rasterio และ numpy จริง ๆ แล้ว rasterio และ numpy ได้รับการติดตั้งในระบบหลัก Python (C: \ Python27) แต่ฉันต้องการ QGIS Python ในการจดจำมัน จะทำอย่างไร?

1
กำลังคำนวณสถิติโฟกัสสำหรับพื้นที่ใกล้เคียงพิเศษหรือไม่
ฉันต้องการคำนวณสถิติโฟกัสสำหรับแต่ละแรสเตอร์ของแต่ละเซลล์ภายในละแวกบ้านตามเกณฑ์ที่กำหนด ความเป็นมา - ฉันมีแรสเตอร์ไบนารีสองตัวแต่ละตัวแสดงประเภทพืชที่น่าสนใจเพียงชนิดเดียว ฉันต้องการคำนวณเปอร์เซ็นต์ความครอบคลุมของพืชแต่ละชนิดภายใน (เช่น) 20 กม. ^ 2 ของเซลล์ใด ๆ ในพื้นที่ศึกษาของฉัน (ผลรวม / เซลล์ทั้งหมดในละแวกใกล้เคียง) ปัญหาคือฉันไม่สามารถใช้วงกลมหรือสี่เหลี่ยมจัตุรัสรอบ ๆ แต่ละเซลล์ได้เพราะถ้าฉันทำพื้นที่ค้นหาที่ใช้ในการคำนวณผลรวมจะรวมพื้นที่นอกเขตการศึกษาของฉันด้วย ข้อยกเว้นนี้มีความสำคัญเนื่องจากสถิติจะถูกใช้เป็นข้อมูลป้อนเข้าสำหรับแบบจำลองที่อยู่อาศัยและพื้นที่ที่อยู่นอกพื้นที่ศึกษาของฉันไม่สามารถพิจารณาที่อยู่อาศัยที่เป็นไปได้ รวมถึงพวกเขาจะให้ฉันสถิติที่ผิดพลาด ดังนั้นสิ่งที่ฉันnกำหนดโดยจำนวนของเซลล์ที่จำเป็นเพื่อให้ครอบคลุมพื้นที่เท่ากับขนาดใกล้เคียงของฉันต้องการ) ที่ตรงตามเกณฑ์ของฉัน เกณฑ์ที่ว่าพวกเขาจะไม่ตกอยู่ในพื้นที่ทำให้เป็นเมือง ฉันคิดว่าควรใช้รูปแบบเซลลูลาร์แบบอัตโนมัติ ฉันไม่เคยทำงานกับ CA มาก่อน ฉันเดาว่าสิ่งที่ฉันต้องการคืออะไรเช่นรหัสเริ่มต้นหรือจุดในทิศทางที่ถูกต้อง ตอบกลับความคิดเห็นด้านล่าง: สมมติว่าฉันกำลังคำนวณสถิตินี้สำหรับเซลล์บนขอบเขตของไซต์การศึกษาของฉัน ถ้าฉันกำหนดทุกพื้นที่นอกพื้นที่ศึกษาของฉันให้เป็นศูนย์ (หรือเพิกเฉย NoData) จากนั้นฉันจะได้รับสถิติที่แสดงถึงครึ่งหนึ่งของพื้นที่ครอบคลุมของสมองที่ฉันสนใจดังนั้นเปอร์เซ็นต์ครอบคลุมในพื้นที่ ~ 10 km ^ 2 แทนพื้นที่ 20 กม. ^ 2 เนื่องจากฉันกำลังศึกษาขนาดของบ้านเป็นสิ่งสำคัญ ละแวกใกล้เคียงต้องเปลี่ยนรูปร่างเนื่องจากเป็นวิธีการที่สัตว์ดู / ใช้ภูมิทัศน์ หากพวกเขาต้องการ …

8
ซอฟต์แวร์ใดที่จะใช้สำหรับการสร้างแบบจำลองระดับความสูงจากภาพถ่ายทางอากาศของ UAV
ฉันมียานพาหนะทางอากาศแบบไม่ใช้คนขับ (UAV หรือที่เรียกว่าโดรน) และต้องการใช้มันเพื่อสร้างแบบจำลองระดับความสูงแบบดิจิทัลและออร์โธโมซาซิคในพื้นที่ขนาดเล็ก (10 km2) แพลตฟอร์มของฉันจะสามารถสร้างภาพซ้อนทับด้วยระดับความสูงประมาณ 120 เมตร (400 ฟุต) ผลิตภัณฑ์เชิงพาณิชย์หลายแห่งดูเหมือนจะมอบโซลูชั่นที่สมบูรณ์ เช่น. Pix4DและDronemapper อย่างไรก็ตามฉันกำลังมองหาวิธีแก้ปัญหาเบื้องต้นที่ฉันสามารถควบคุมกระบวนการได้มากขึ้นและอาจตั้งค่าการประมวลผลแบบแบทช์ของฉันเอง Python และเครื่องมือโอเพนซอร์สอื่น ๆ น่าสนใจ ทางเลือกของฉันคืออะไร?

1
GDAL / Python: ฉันจะรับชื่อระบบพิกัดจาก SpatialReference ได้อย่างไร
ใน Python โดยใช้ GDAL ฉันได้แยกการฉายภาพแรสเตอร์เป็นสตริง WKT ดังนี้ wkt = dataset.GetProjection() # wkt is 'PROJCS["GDA_1994_Transverse_Mercator",GEOGCS["GDA_1994",DATUM["GDA_1994",SPHEROID["GRS_1980",6378137,298.2572221010002],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]]' ใช้สตริง WKT ฉันสามารถสร้างอินสแตนซ์ SpatialReference ดังนี้: src = osr.SpatialReference() src.ImportFromWkt(wkt) นี่ง่ายมาก ฉันสามารถแยกพารามิเตอร์หลายอย่างของการฉายภาพจากsrcเช่นโซน UTM และอื่น ๆ ได้อย่างง่ายดาย "GDA_1994_Transverse_Mercator"แต่ฉันไม่สามารถคิดออกว่าจะดึงบางสิ่งบางอย่างเช่นชื่อของการประมาณการคือ สิ่งนี้จะต้องเป็นไปได้อย่างแน่นอน แต่เอกสาร Python API อาจไม่มีอยู่เลยสำหรับการใช้งานทั้งหมด ฉันจะแยกชื่อของเส้นโครงและระบบพิกัดทางภูมิศาสตร์ได้อย่างไร

4
มี Python Lib สำหรับการร้องขอ WMS / WFS และบันทึกเป็นรูปภาพ / PDF หรือไม่?
ฉันสงสัยว่า Python lib - open source ของ Python นั้นมี API ที่รองรับการโทร WMS / WFS จากเซิร์ฟเวอร์ GIS อื่น (เช่น GeoServer) แล้วบันทึกข้อมูลการตอบกลับ (WMS Basemap และ WFS layer) เป็นรูปภาพ คำแนะนำใด ๆ ขอบคุณสำหรับอินพุตใด ๆ ! อัปเดต : สิ่งที่ฉันพยายามทำคือบริการการพิมพ์แผนที่โดยใช้ OpenLayers เป็น front-end และ Django เป็นเซิร์ฟเวอร์ ผู้ใช้ไคลเอนต์ตั้งค่าขอบเขตและเลเยอร์แล้วส่งการร้องขอการพิมพ์ (ซึ่งอ้างอิงถึงพารามิเตอร์เช่นขอบเขตแม็พชื่อเลเยอร์) ไปยังเซิร์ฟเวอร์จากนั้นเซิร์ฟเวอร์จะดำเนินการตามคำขอนี้และโทร WMS / WFS อีกครั้งโดยใช้พารามิเตอร์คำขอบันทึก การตอบสนองเป็น PDF ส่งออกลิงค์ …

8
ติดตั้ง GDAL และ OGR สำหรับ Python หรือไม่
โพสต์นี้เป็นวิกิพีเดียชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบใหม่ ฉันกำลังพัฒนารหัสบางส่วนใน Python และฉันต้องการใช้การผูกหลามของ GDAL / OGR ขั้นต่ำที่ฉันต้องติดตั้งเพื่อใช้การผูกหลามของ GDAL และ OGR คืออะไร วิธีที่ง่ายที่สุดในการติดตั้ง GDAL / OGR คือถ้าฉันต้องการใช้จาก Python เท่านั้น? ฉันกำลังมองหาคำตอบที่ใช้ได้กับทั้ง mac และ windows GDAL อยู่ในรายการ Python Package Index (PyPi) แต่ฉันไม่เข้าใจวิธีติดตั้งการพึ่งพา (libgdal และไฟล์ส่วนหัวสำหรับทั้ง libgdal และ numpy) บางทีทั้งหมดที่ฉันต้องทำคือติดตั้ง numpy แล้วหา libgdal ที่ไหนสักแห่งและถ้าเป็นเช่นนั้นที่ไหน การติดตั้ง windows จำเป็นต้องใช้ Windows Binaries นอกเหนือจาก libgdal และเป็นไฟล์ส่วนหัวหรือไม่? …
18 python  gdal  ogr 

4
รับจุดยอดทั้งหมดของรูปหลายเหลี่ยมโดยใช้ OGR และ Python
ฉันมีปัญหาเล็กน้อยกับ Python OGR API สิ่งที่ฉันพยายามทำคือหาพิกัดทั้งหมดของจุดสุดยอดแต่ละอันของวงแหวนรอบนอกของรูปหลายเหลี่ยม นี่คือสิ่งที่ฉันมี: import osgeo.ogr import glob path = "/home/woo/maps/" out = path + 'output.txt' file = open(out,'w') for filename in glob.glob(path + "*.shp"): ds = osgeo.ogr.Open(filename) layer1 = ds.GetLayer(0) print layer1.GetExtent() for feat in layer1: geom = feat.GetGeometryRef() ring = geom.GetGeometryRef(0) points = ring.GetPointCount() #Not sure …

2
คัดลอก WGS 1984 Web Mercator (EPSG: 3857) ใน Python ด้วย GDAL
ฉันกำลังตำหนิตัวแรสเตอร์ในไพ ธ อนโดยใช้ GDAL ฉันต้องฉายหลาย tiffs จากพิกัดทางภูมิศาสตร์ WGS 84 กับ WGS 1984 Web Mercator (Auxiliary Sphere) เพื่อใช้ในภายหลังใน Openlayers ร่วมกับ OpenStreetMap และ Google maps ฉันใช้ Python 2.7.5 และ GDAL 1.10.1 จากที่นี่และแปลงพิกัดโดยใช้คำแนะนำจากที่นี่ (รหัสของฉันอยู่ด้านล่าง) ในระยะสั้นผมนำเข้าosgeo.osrและใช้ImportFromEPSG (รหัส)และCoordinateTransformation (จากไป) ฉันพยายามแรกEPSG (32629)ซึ่งเป็น UTM โซนที่ 29 และได้รับนี้แรสเตอร์คาดการณ์ (มากหรือดีน้อยกว่า) ดังนั้นรหัสที่ดูเหมือนว่าจะถูกต้อง: แล้วผมใช้EPSG (3857)เพราะผมได้อ่านนี้และนี้คำถามและพบว่า ว่ามันเป็นเรื่องที่ถูกต้องล่าสุดรหัสที่ถูกต้อง แต่แรสเตอร์ถูกสร้างขึ้นโดยไม่มีการอ้างอิงเชิงพื้นที่เลย มันอยู่ไกลในกรอบข้อมูล WGS 84 (แต่จะโอเคถ้าฉันเปลี่ยนเฟรมข้อมูลเป็น …

1
เหตุใดจึงปิดชุดข้อมูลใน GDAL Python
ฉันเห็นบ่อยครั้งในรหัส Python GDAL ที่ผู้คนปิดชุดข้อมูลในตอนท้ายของสคริปต์ เหตุใดจึงสมเหตุสมผลที่จะปิดชุดข้อมูลใน Python GDAL มีผลกระทบใด ๆ หรือไม่ถ้าฉันไม่ทำ import gdal # open dataset ds = gdal.Open('test.tif') # close dataset ds = None
17 python  gdal 

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