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

รูปแบบการจัดเก็บข้อมูลเวกเตอร์สำหรับการจัดเก็บตำแหน่งรูปร่างและคุณลักษณะของคุณลักษณะทางภูมิศาสตร์ มักเรียกว่า 'ไฟล์รูปร่างของ ESRI' เช่นเดียวกับที่ ESRI พัฒนาขึ้น


6
วิธีปรับปรุงประสิทธิภาพการเรนเดอร์ของไฟล์รูปร่างที่มีขนาดใหญ่มาก?
ฉันมีรูปหลายเหลี่ยมรูปร่างที่มีองค์ประกอบไฟล์. 100MB .dbf และ 500MB .shp เหตุผลที่มันมีขนาดใหญ่มากก็คือมันถูกจัดเป็นฐานที่ดินสำหรับทั้งอำเภอ ทุกครั้งที่ฉันดูไฟล์ใน ArcCatalog หรือ ArcMap และย้ายหน้าต่างมุมมองออกไปเล็กน้อยไฟล์ทั้งหมดจำเป็นต้องวาดใหม่ทั้งหมดตั้งแต่เริ่มต้น ฉันได้ลองการจัดทำดัชนีเชิงพื้นที่และนำเข้าสู่ฐานข้อมูลภูมิศาสตร์ - ทั้งสองวิธีไม่ได้ให้การปรับปรุงประสิทธิภาพที่น่าทึ่งใด ๆ เกี่ยวกับการเรนเดอร์ หน้าความช่วยเหลือของ Esri ชี้ให้เห็นว่าเพื่อปรับปรุงประสิทธิภาพการทำงานของ shapefile ผู้ใช้สามารถวางมาตรฐานไฟล์ได้ ในขณะนี้จะทำงานได้อย่างชัดเจนฉันไม่ต้องการสูญเสียข้อมูลใด ๆ การแยกไฟล์ขึ้นนั้นไม่เหมาะเนื่องจากฉันกำลังทำการประมวลผลทางภูมิศาสตร์ / สอบถามจำนวนมากด้วยพื้นที่ทั้งหมด ฉันเดาว่าฉันสามารถหลีกเลี่ยงการดูทั้งพื้นที่ได้ในคราวเดียว แต่บางครั้งตัวอย่างเช่นมันเป็นการดีที่จะดูว่าส่วนใดของไฟล์ที่แบบสอบถามเลือกไว้ มีวิธีอื่นที่ฉันสามารถทำได้เพื่อปรับปรุงประสิทธิภาพการแสดงผลหรือไม่ (ในทางทฤษฎีแล้วการสร้างรูปร่างของ "ปิรามิด" จะเป็นอุดมคติ - ฉันไม่แน่ใจว่าทำไม ArcGIS ไม่เคยสนับสนุนวิธีการดังกล่าว - อย่างน้อยฉันก็รู้ ...

7
ทางเลือกแทน Shapefiles เป็นชุดข้อมูลแบบโอเพนซอร์สและข้ามแพลตฟอร์ม [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ฉันกำลังทำงานกับซอฟต์แวร์ที่มุ่งเน้น ESRI เป็นอย่างมาก แต่เวอร์ชันในอนาคตอาจไม่ได้ใช้ซอฟต์แวร์ ESRI มันใช้ Shapefiles และฐานข้อมูล Geod ฉันวางแผนที่จะรับข้อมูลทั้งหมดของฉันไปยัง Shapefiles โดยคาดหมายสำหรับซอฟต์แวร์รุ่นอนาคตที่น่าจะเป็นบน Android และอุปกรณ์พกพาอื่น ๆ ปรากฏว่า Shapefiles เป็นประเภทข้อมูลที่พบได้บ่อยที่สุดสำหรับคุณสมบัติในโลก GIS แบบโอเพ่นซอร์ส แต่สิ่งอื่น ๆ คืออะไรและมีประโยชน์อะไรบ้าง ฉันคุ้นเคยกับ GeoJSON และ KML แต่ฉันแน่ใจว่ามีคนอื่น ฉันต้องการทราบตัวเลือกทั้งหมด แต่ฉันสนใจเป็นพิเศษกับประเภทของชุดข้อมูลที่เหมาะสมที่สุดสำหรับการจัดเก็บบนอุปกรณ์พกพา (ข้อมูลจะต้องสามารถเข้าถึงได้โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต)

2
การเพิ่มรูปร่างไฟล์หรือคลาสคุณลักษณะเป็นเลเยอร์ใน ArcGIS Desktop โดยใช้ Python / ArcPy?
ฉันพยายามทำให้งานต่าง ๆ ใน ArcGIS Desktop (โดยทั่วไปใช้ ArcMap) กับ Python และฉันต้องการวิธีเพิ่ม Shapefile ลงในแผนที่ปัจจุบัน (แล้วทำสิ่งต่าง ๆ ให้มัน แต่นั่นเป็นอีกเรื่อง) สิ่งที่ดีที่สุดที่ฉันทำได้คือเพิ่มไฟล์เลเยอร์ลงในแผนที่ปัจจุบันโดยใช้สิ่งต่อไปนี้ ("addLayer" เป็นวัตถุไฟล์เลเยอร์): def AddLayerFromLayerFile(addLayer): import arcpy mxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0] arcpy.mapping.AddLayer(df, addLayer, "AUTO_ARRANGE") arcpy.RefreshActiveView() arcpy.RefreshTOC() del mxd, df, addLayer อย่างไรก็ตามข้อมูลดิบของฉันจะเป็นไฟล์รูปร่างเสมอดังนั้นฉันจึงต้องสามารถเปิดได้ (เท่ากับ: แปลง Shapefile เป็นไฟล์เลเยอร์โดยไม่ต้องเปิด แต่ฉันไม่ต้องการทำเช่นนั้น)

2
เอกสารประกอบ API สำหรับ Gdal / Ogr ด้วย C #
ฉันต้องการกำหนดการฉายภาพให้กับ shapefile ในแอปพลิเคชัน C # ของฉันสำหรับสิ่งนี้ฉันกำลังใช้การเชื่อมโยง Gdal / OGR / OSR C # และเพิ่ม osr_csharp.dll และการอ้างอิง ogr_csharp.dll แต่ฉันกำลังเผชิญกับความยากลำบากบางอย่างในขณะที่เขียนรหัสสำหรับการกำหนดการฉายภาพให้กับรูปร่างไฟล์ ฉันต้องการที่จะรู้ว่ามีเอกสาร API สำหรับสิ่งนี้ซึ่งสามารถช่วยให้ฉันเข้าใจชั้นเรียน / วิธีการของห้องสมุดเหล่านี้ หรือถ้าใครมีรหัสบางส่วนสำหรับกำหนดการฉายภาพให้กับรูปร่างไฟล์แล้วมันจะเป็นประโยชน์อย่างมากสำหรับฉัน

5
GeoJSON ใหญ่เกินไป - จะทำอย่างไรดี?
ฉันใช้leaflet.jsเพื่ออนุญาตให้ผู้ใช้เว็บเลือกภูมิภาค ภูมิภาคที่ถูกต้องคือสหรัฐฯ, แคนาดา, แคนาดาและประเทศโลก (ยกเว้นสหรัฐอเมริกาและแคนาดา) ฉันสร้าง shapefile ด้วยตัวเองโดยใช้ Qgis และบันทึกเป็น geojson ฉันทำให้รูปเรขาคณิตง่ายขึ้นเท่าที่จะทำได้ shapefile ที่ได้คือ 400kb แต่ geojson มีขนาดเกินเมกะไบต์ มันใหญ่กว่าที่ฉันต้องการ ฉันต้องลดค่าใช้จ่ายของเครือข่ายที่เกี่ยวข้องในการถ่ายโอนข้อมูลนี้ วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร? ตัวเลือกที่ฉันสามารถจินตนาการได้คือ: ให้บริการไฟล์ geojson gzipped, แกะออกจากไคลเอนต์ แยก Shapefile บนไคลเอนต์เพื่อ geojson สร้างไทล์ของฉันเองจาก shapefile และให้บริการเหล่านั้น หากใครสามารถบอกฉันได้ว่าตัวเลือกใดดีที่สุด (หรือไม่มีข้อใดข้างต้น) ฉันจะขอบคุณมัน

2
แยกพื้นที่สี่แยกใน R
ฉันมีรูปหลายเหลี่ยมสองอัน หนึ่งประกอบด้วยเขตข้อมูล (X, Y, Z) และอื่น ๆ ประกอบด้วยชนิดของดิน (A, B, C, D) ฉันต้องการที่จะรู้ว่าสิ่งที่พื้นที่ของทุกเขตข้อมูลมีชนิดของดิน ฉันพยายามต่อไปนี้: library(rgdal) library(rgeos) Field<-readOGR("./","Field") Soil<-readOGR("./","Soil") Results<-gIntersects(Soil,Field,byid=TRUE) rownames(Results)<-Field@data$FieldName colnames(Results)<-Soil@data$SoilType > Results A B C D Z TRUE FALSE FALSE FALSE Y FALSE TRUE TRUE FALSE X TRUE TRUE TRUE TRUE และได้ผลลัพธ์ที่ดีโดยบอกว่าสนามใดมีดินประเภทใด อย่างไรก็ตามฉันจะหาพื้นที่แทนได้อย่างไร

2
แปลงวัตถุรูปหลายเหลี่ยมเชิงพื้นที่เป็นกรอบข้อมูลโดยใช้ R
เป้าหมายของฉันคือการแก้ไข shapefile ที่มีอยู่โดยการผสานรูปหลายเหลี่ยมบางอย่าง หลังจากนำเข้ารูปร่างไฟล์และใช้คำสั่ง UnionSpatialPolygons ฉันได้รับโครงร่างรูปหลายเหลี่ยมที่ฉันต้องการ อย่างไรก็ตามตอนนี้เป็นวัตถุ SpatialPolygons ไม่ใช่ SpatialPolygonsDataFrame ดังนั้นฉันจึงไม่สามารถส่งออกไปยังรูปร่างไฟล์โดยใช้ writeOGR ฉันจะแก้ไขปัญหานี้ได้อย่างไร
18 shapefile  cartography  r  ogr 

4
การเปิดและแยกข้อมูลจาก Shapefiles
เราต้องการข้อมูลทางหลวงในสหรัฐอเมริกา เราพบว่ามันฟลอริด้าที่ GIS รัฐเว็บไซต์ เราดาวน์โหลดข้อมูลสำหรับทางแยกทางหลวงฟลอริดาจากที่นี่ (นี่คือไฟล์ zip) เราจะใช้ไฟล์เหล่านี้และแยกค่า geocode ของจุดตัด (ออก) จากไฟล์เหล่านั้นได้อย่างไร
18 shapefile  import 

7
วิธีการเปลี่ยนลำดับของคุณสมบัติใน shapefile หรือไม่?
ฉันมีรูปร่างไฟล์และฉันต้องการเปลี่ยนลำดับของคุณสมบัติ เป็นไปได้ไหม ฉันต้องการเรียงลำดับคุณสมบัติใน shapefile เพราะฉันฝัง shapefile นี้ในแอพมือถือ แอปจะแสดงรายการคุณสมบัติและถึงแม้ว่าฉันสามารถเรียงลำดับได้ในขณะโหลด แต่ฉันต้องการเรียงลำดับ
18 qgis  arcmap  shapefile 

4
กำลังรับรายการค่าที่แตกต่างจากฟิลด์รูปร่างไฟล์โดยใช้ QGIS?
ฉันมีรูปร่างไฟล์ที่คุณสมบัติฉันสามารถกรองได้โดยระบุส่วนคำสั่งที่ไหนในกล่องโต้ตอบแบบสอบถาม Fx ฉันมีฟิลด์ชื่อ 'city_name' และโดยระบุ 'city_name = "London"' ในตำแหน่งที่แสดงเฉพาะลอนดอนเท่านั้น สิ่งที่ฉันต้องการทำตอนนี้คือดึงค่าทั้งหมดใน 'city_name' จากตารางคุณลักษณะ อะไรแบบนั้น: select distinct city_name from [attribute table] ฉันพบเครื่องมือหลายอย่างใน QGIS ที่เห็นได้ชัดว่าเกี่ยวข้องกับ SQL และฉันก็ดูที่ปลั๊กอินต่าง ๆ อย่างรวดเร็ว แต่ฉันไม่สามารถเชื่อมต่อกับฐานข้อมูลหรือชื่อตาราง ... ฐานข้อมูลใดหรือตารางใดในกรณีนั้น ในที่สุดฉันต้องการส่งออกรายการผลลัพธ์และใช้เพื่อการประมวลผลเพิ่มเติม ฉันใช้ QGIS 1.8
18 qgis  shapefile  sql 

4
วิธีหยุด writeOGR ไม่ให้ย่อชื่อฟิลด์เมื่อใช้ไดรเวอร์“ ESRI Shapefile”
ขณะนี้ฉันกำลังใช้สคริปต์ต่อไปนี้เพื่อเพิ่มข้อมูลคุณลักษณะจากตารางไปยังรูปร่างหลายไฟล์: library(rgdal) specieslist <- read.csv("SpeciesList1.txt", header=F) attdata <- read.table("TestAtt.csv", sep = ",", header=T) for (n in 1:dim(specieslist)[1]) { speciesname <- specieslist[n,1] shp <- readOGR("Mesoamerica_modified_polygons", speciesname) shp$ENGL_NAME<-attdata[n,2] writeOGR(shp, "PolygonsV2", speciesname, driver="ESRI Shapefile") } ฉันได้รับคำเตือนต่อไปนี้เมื่อสิ้นสุด: 1: In writeOGR(shp, "PolygonsV2", speciesname, driver = "ESRI Shapefile") : Field names abbreviated for ESRI Shapefile driver …

1
ค้นหา OSM สำหรับชายหาดทั้งหมดที่หันหน้าไปทางทิศตะวันตกใช่ไหม - ต้องการ QGIS
ฉันต้องการระบุชายหาดทั้งหมดบนโลกนี้ (หรือเซตย่อยของมัน) ที่หันหน้าไปทางทิศตะวันตก (+/- 20-30 องศา) ความคิดของฉันคือการใช้ OSM เป็นแหล่งข้อมูล การแยกรูปหลายเหลี่ยมทั้งหมดที่มีแท็ก "natural = beach" ให้ชุดข้อมูล / shapefile ของทุกพื้นที่ที่มีสถานะเป็นชายหาด จนถึงตอนนี้ดีมาก ฉันรู้ว่าฉันสามารถใช้ข้อมูลชายฝั่ง (เช่นจาก OSM หรือ Natural Earth) เพื่อระบุใบหน้าของชายหาด การบัฟเฟอร์รูปร่างชายหาดเพื่อแก้ไขความไม่ตรงกันเล็กน้อยและตัดสิ่งเหล่านี้กับแนวชายฝั่งควรให้ข้อมูลกับฉันว่าด้านใดของรูปร่างที่หันหน้าไปทางน้ำ การใช้ค่าสูงสุด / นาทีของจุดตัดกันทั้งหมดควรให้แนวคิดเกี่ยวกับการแบก (90 องศา +/- 20-30 องศาก็โอเค ... ) และนั่นคือสิ่งที่ฉันหลงทาง ... เครื่องมือที่ฉันต้องการจะเป็น QGIS แต่ PostGIS ก็ใช้ได้เช่นกัน มีใครบ้างไหมที่มีความคิดที่ฉลาดในการไขปริศนานี้?

1
การเลือกคุณสมบัติตามคุณสมบัติโดยใช้ ogr2ogr?
ฉันกำลังเขียน shapefile หลังจากประมวลผลบางอย่าง; อย่างไรก็ตามในขั้นตอนสุดท้ายฉันต้องทำการเลือกบางอย่างโดยคุณสมบัติจาก Shapefile ฉันใช้คำสั่งในเชลล์โดยมีวัตถุประสงค์เพื่อใช้ในสคริปต์ Python เมื่อทำงาน ogr2ogr -f "ESRI Shapefile" -select * where ID="1" outfile.shp infile.shp ฉันได้รับข้อความแสดงข้อผิดพลาด: FAILURE: Unable to open datasource `Downloads' with the following drivers. ฉันทำอะไรผิดได้

4
ส่งออกรูปร่างไฟล์ไปยังฐานข้อมูล PostGIS ใน QGIS [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดเมื่อปีที่แล้ว ฉันจะส่งออก vectorfilefile ไปยังฐานข้อมูล PostGIS ได้อย่างไร ฉันกำลังขอให้ส่งออกรูปแบบใด

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