จากมุมมองของความหนาแน่นของประชากร "เขตเมือง" โดยทั่วไปควรจะตอบสนองเพียงไม่กี่เกณฑ์จริง :
ขอบเขตของมันไม่ควรรวมจุดใด ๆ ของ (ค่อนข้าง) ความหนาแน่นสูงเมื่อเทียบกับความหนาแน่นสูงสุดภายในการ
มันควรจะเชื่อมต่อได้ง่าย (ไม่มี "หลุม")
ความหนาแน่นของประชากรโดยเฉลี่ยควรเกินเกณฑ์ที่กำหนดไว้ล่วงหน้า
Axiom (1)เป็นธรรมชาติที่สุด: ถ้าจุดขอบเขตมีความหนาแน่นสูงเราจะย้ายขอบเขตออกไปด้านนอกเพื่อรวมจุดนั้นไว้ในเขตเมือง ฉันอยากจะแนะนำว่า "ญาติ" หมายถึงสัดส่วนของจำนวนสูงสุดเช่นหนึ่งในสิบหรือหนึ่งร้อยหรืออะไรก็ตาม ความจริง (2)หลีกเลี่ยงการยกเว้นสวนสาธารณะและภูมิภาคที่มีความหนาแน่นต่ำอื่น ๆ ที่เกิดขึ้นตามธรรมชาติในเมือง ความจริง (3)ซึ่งเพราะมันขึ้นอยู่กับเกณฑ์ค่อนข้างโดยพลการกำจัดหมู่บ้านเล็ก ๆ ที่มีขนาดกะทัดรัด
ที่จริงแล้วมีอย่างน้อยหนึ่งองค์ประกอบของความเด็ดขาด: แผนที่ gridded ใด ๆ ของความหนาแน่นของประชากรโดยเฉลี่ยค่าเฉลี่ยประชากรทั่วละแวกใกล้เคียงท้องถิ่น (เท่ากับหนึ่งเซลล์ในบางกรณีและเท่ากับรัศมีเคอร์เนลสำหรับการประมาณการความหนาแน่นของเคอร์เนล) มายอมรับขนาดพื้นที่ใกล้เคียงโดยปริยายนี้ (ซึ่งสามารถเปลี่ยนแปลงได้โดยการใช้วิธีการโฟกัสครั้งแรกหรือเคอร์เนลอื่น ๆ ทำให้แผนที่ความหนาแน่นดั้งเดิมราบเรียบ) ขีด จำกัด ประชากรนี้และความรู้สึกของ "ค่อนข้างสูง" ในสัจพจน์ 1 เป็นพารามิเตอร์ที่ผู้ใช้ตั้งค่าได้ผลลัพธ์.
สัจพจน์เหล่านี้นำไปสู่อัลกอริธึมที่ค่อนข้างง่ายโดยธรรมชาติ : เราต้องค้นหาตำแหน่งสูงสุดในท้องถิ่นดูในละแวกใกล้เคียงจนกว่าจะพบขอบเขตเพื่อตอบสนองความจริง (1) เติมหลุมใด ๆ เพื่อตอบสนองความจริง (2) ตาม (3) สิ่งนี้ทำได้ดังนี้:
เลือกแผนที่ความหนาแน่นได้อย่างราบรื่น
ทำอัลกอริทึม "เติม" บนแผนที่ที่เกี่ยวข้องกับความหนาแน่น (ดูด้านล่าง)
RegionGroup ผลลัพธ์
ลบหลุมออกจากรูปหลายเหลี่ยมของ RegionGrouped
ดำเนินการผลบวกความหนาแน่นของประชากรในรูปหลายเหลี่ยม
กำจัดรูปหลายเหลี่ยมใด ๆ ที่มีผลรวม (หรือความหนาแน่นเฉลี่ย) ต่ำกว่าขีด จำกัด ประชากร (ความหนาแน่น)
สิ่งที่เหลืออยู่คือทางออกของคุณ
ให้ฉันพูดเกี่ยวกับขั้นตอนเล็ก ๆ น้อย ๆ (1) ซึ่งเป็นกุญแจสำคัญ อัลกอรึทึมการเติมระบุ "sinks" และ "เติม" ให้สูงกว่าระดับความสูง นี่คือว่าสิ่งที่ความจริง (1) ขอให้เราทำอย่างไรให้ (ก) เราสามารถทำให้ "อ่าง" เล่นบทบาทของ "สูงสุดท้องถิ่น" และ (ข) ให้ "จำนวนคงที่ดังกล่าวข้างต้น" เล่นบทบาทของ "อย่างต่อเนื่องส่วนของ " วิธีที่จะทำคือการเติมลอการิทึมลบของความหนาแน่นมากกว่าความหนาแน่นนั่นเอง (เพิ่มค่าคงที่เล็ก ๆ ก่อนเพื่อความหนาแน่น - พูดประมาณ 0.1 คนต่อตารางกิโลเมตร - ก่อนที่จะบันทึกเพื่อให้เซลล์ใด ๆ ที่มีศูนย์จะไม่ทำให้เกิดปัญหา) "ทะเลสาบ" ในความหนาแน่นของบันทึกเชิงลบระบุผู้สมัคร เขตเมือง คุณยังคงมีสามพารามิเตอร์อิสระที่จะเล่นด้วย (เข้าสู่ขั้นตอนที่ 0, 1 และ 5) การตั้งค่าพวกเขาจะต้องมีความคิดเกี่ยวกับสิ่งที่คุณหมายถึงจริง ๆ โดย "เขตเมือง" เช่นเดียวกับการทดลองบางอย่าง